@vality/matez 19.0.1-pr-423-eca1120.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/vality-matez.mjs +602 -424
- package/fesm2022/vality-matez.mjs.map +1 -1
- package/index.d.ts +1353 -1
- package/package.json +14 -14
- package/src/lib/components/file-upload/file-upload.component.scss +4 -0
- package/src/lib/components/filters/filters.component.scss +7 -6
- package/src/lib/components/table/components/table-info-bar/table-info-bar.component.scss +5 -1
- package/src/lib/components/value/value.component.scss +6 -4
- package/src/lib/services/toast/toast.component.scss +13 -0
- package/lib/components/actions/actions.component.d.ts +0 -5
- package/lib/components/actions/actions.module.d.ts +0 -7
- package/lib/components/actions/index.d.ts +0 -2
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +0 -16
- package/lib/components/confirm-dialog/confirm-dialog.module.d.ts +0 -14
- package/lib/components/confirm-dialog/index.d.ts +0 -2
- package/lib/components/content-loading/content-loading.component.d.ts +0 -8
- package/lib/components/content-loading/index.d.ts +0 -1
- package/lib/components/date-range-field/date-range-field.component.d.ts +0 -16
- package/lib/components/date-range-field/date-range-field.module.d.ts +0 -13
- package/lib/components/date-range-field/index.d.ts +0 -5
- package/lib/components/date-range-field/types/date-range.d.ts +0 -4
- package/lib/components/date-range-field/utils/create-date-range-to-today.d.ts +0 -2
- package/lib/components/date-range-field/utils/is-equal-date-range.d.ts +0 -2
- package/lib/components/datetime-field/datetime-field.component.d.ts +0 -19
- package/lib/components/datetime-field/datetime-field.module.d.ts +0 -11
- package/lib/components/datetime-field/index.d.ts +0 -2
- package/lib/components/dialog/components/dialog-actions/dialog-actions.component.d.ts +0 -5
- package/lib/components/dialog/dialog.component.d.ts +0 -28
- package/lib/components/dialog/dialog.module.d.ts +0 -16
- package/lib/components/dialog/index.d.ts +0 -8
- package/lib/components/dialog/services/dialog.service.d.ts +0 -23
- package/lib/components/dialog/tokens.d.ts +0 -8
- package/lib/components/dialog/types/dialog-response-status.d.ts +0 -5
- package/lib/components/dialog/types/dialog-response.d.ts +0 -6
- package/lib/components/dialog/utils/dialog-superclass.d.ts +0 -13
- package/lib/components/error-page/error-page-routing.module.d.ts +0 -7
- package/lib/components/error-page/error-page.component.d.ts +0 -5
- package/lib/components/error-page/error-page.module.d.ts +0 -9
- package/lib/components/error-page/index.d.ts +0 -2
- package/lib/components/file-upload/file-upload.component.d.ts +0 -14
- package/lib/components/file-upload/file-upload.module.d.ts +0 -9
- package/lib/components/file-upload/index.d.ts +0 -3
- package/lib/components/file-upload/utils/load-file-content.d.ts +0 -3
- package/lib/components/filters/components/filters-dialog/filters-dialog.component.d.ts +0 -10
- package/lib/components/filters/components/main-filters/main-filters.directive.d.ts +0 -8
- package/lib/components/filters/components/more-filters-button/more-filters-button.component.d.ts +0 -7
- package/lib/components/filters/components/other-filters/other-filters.directive.d.ts +0 -8
- package/lib/components/filters/filters.component.d.ts +0 -29
- package/lib/components/filters/filters.module.d.ts +0 -19
- package/lib/components/filters/index.d.ts +0 -5
- package/lib/components/index.d.ts +0 -18
- package/lib/components/input-field/index.d.ts +0 -2
- package/lib/components/input-field/input-field.component.d.ts +0 -14
- package/lib/components/input-field/input-field.module.d.ts +0 -12
- package/lib/components/list-field/index.d.ts +0 -2
- package/lib/components/list-field/list-field.component.d.ts +0 -12
- package/lib/components/list-field/list-field.module.d.ts +0 -10
- package/lib/components/nav/index.d.ts +0 -1
- package/lib/components/nav/nav.component.d.ts +0 -16
- package/lib/components/number-range-field/index.d.ts +0 -2
- package/lib/components/number-range-field/number-range-field.component.d.ts +0 -18
- package/lib/components/number-range-field/number-range-field.module.d.ts +0 -9
- package/lib/components/progress/index.d.ts +0 -3
- package/lib/components/progress/progress.component.d.ts +0 -9
- package/lib/components/progress/progress.module.d.ts +0 -9
- package/lib/components/progress/utils/get-progress-by-count.d.ts +0 -1
- package/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.component.d.ts +0 -23
- package/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.module.d.ts +0 -13
- package/lib/components/select-autocomplete/autocomplete-field/index.d.ts +0 -2
- package/lib/components/select-autocomplete/index.d.ts +0 -3
- package/lib/components/select-autocomplete/select-field/index.d.ts +0 -2
- package/lib/components/select-autocomplete/select-field/select-field.component.d.ts +0 -26
- package/lib/components/select-autocomplete/select-field/select-field.module.d.ts +0 -12
- package/lib/components/select-autocomplete/types/index.d.ts +0 -1
- package/lib/components/select-autocomplete/types/option.d.ts +0 -6
- package/lib/components/select-autocomplete/utils/find-option-by-value.d.ts +0 -2
- package/lib/components/select-autocomplete/utils/get-hint-text.d.ts +0 -5
- package/lib/components/select-autocomplete/utils/index.d.ts +0 -2
- package/lib/components/select-autocomplete/utils/search-options.d.ts +0 -3
- package/lib/components/switch-button/index.d.ts +0 -2
- package/lib/components/switch-button/switch-button.component.d.ts +0 -24
- package/lib/components/switch-button/switch-button.module.d.ts +0 -11
- package/lib/components/table/components/base-column.component.d.ts +0 -17
- package/lib/components/table/components/customize/customize.component.d.ts +0 -17
- package/lib/components/table/components/dnd-column.component.d.ts +0 -7
- package/lib/components/table/components/infinity-scroll.directive.d.ts +0 -12
- package/lib/components/table/components/no-records.component.d.ts +0 -7
- package/lib/components/table/components/select-column.component.d.ts +0 -21
- package/lib/components/table/components/table-actions.component.d.ts +0 -5
- package/lib/components/table/components/table-info-bar/table-info-bar.component.d.ts +0 -33
- package/lib/components/table/components/table-inputs.component.d.ts +0 -5
- package/lib/components/table/components/table-progress-bar.component.d.ts +0 -6
- package/lib/components/table/consts.d.ts +0 -8
- package/lib/components/table/index.d.ts +0 -10
- package/lib/components/table/presets/create-menu-column.d.ts +0 -6
- package/lib/components/table/presets/index.d.ts +0 -1
- package/lib/components/table/table.component.d.ts +0 -81
- package/lib/components/table/table.module.d.ts +0 -34
- package/lib/components/table/tree-data/index.d.ts +0 -2
- package/lib/components/table/tree-data/tree-data-item-to-inline-data-item.d.ts +0 -10
- package/lib/components/table/tree-data/tree-data.d.ts +0 -10
- package/lib/components/table/types/column2.d.ts +0 -34
- package/lib/components/table/types/drag-drop.d.ts +0 -10
- package/lib/components/table/types/index.d.ts +0 -3
- package/lib/components/table/types/update-options.d.ts +0 -3
- package/lib/components/table/utils/cached-head-map.d.ts +0 -2
- package/lib/components/table/utils/correct-priorities.d.ts +0 -5
- package/lib/components/table/utils/create-column.d.ts +0 -6
- package/lib/components/table/utils/create-intersection-observer.d.ts +0 -2
- package/lib/components/table/utils/create-unique-column-def.d.ts +0 -1
- package/lib/components/table/utils/filter-sort.d.ts +0 -14
- package/lib/components/table/utils/normalize-string.d.ts +0 -2
- package/lib/components/table/utils/table-data-source.d.ts +0 -31
- package/lib/components/table/utils/table-to-csv-object.d.ts +0 -3
- package/lib/components/table/utils/to-columns-data.d.ts +0 -26
- package/lib/components/tag/index.d.ts +0 -2
- package/lib/components/tag/tag.component.d.ts +0 -10
- package/lib/components/tag/tag.module.d.ts +0 -10
- package/lib/components/value/components/menu-value.component.d.ts +0 -15
- package/lib/components/value/components/value-list.component.d.ts +0 -7
- package/lib/components/value/index.d.ts +0 -3
- package/lib/components/value/types/base-type.d.ts +0 -19
- package/lib/components/value/types/value.d.ts +0 -9
- package/lib/components/value/utils/currency-amount-value-to-string.d.ts +0 -8
- package/lib/components/value/utils/datetime-value-to-string.d.ts +0 -4
- package/lib/components/value/utils/unknown-to-string.d.ts +0 -1
- package/lib/components/value/utils/value-to-string.d.ts +0 -2
- package/lib/components/value/value.component.d.ts +0 -27
- package/lib/directives/highlight.directive.d.ts +0 -15
- package/lib/directives/index.d.ts +0 -2
- package/lib/directives/tooltip.directive.d.ts +0 -1
- package/lib/index.d.ts +0 -6
- package/lib/pipes/amount-currency.pipe.d.ts +0 -10
- package/lib/pipes/enum-key-values.pipe.d.ts +0 -10
- package/lib/pipes/enum-key.pipe.d.ts +0 -8
- package/lib/pipes/enum-keys.pipe.d.ts +0 -7
- package/lib/pipes/humanized-duration.pipe.d.ts +0 -13
- package/lib/pipes/index.d.ts +0 -8
- package/lib/pipes/inline-json.pipe.d.ts +0 -7
- package/lib/pipes/pipes.module.d.ts +0 -14
- package/lib/pipes/select.pipe.d.ts +0 -12
- package/lib/services/config/config.service.d.ts +0 -12
- package/lib/services/config/index.d.ts +0 -1
- package/lib/services/fetch-superclass/fetch-superclass.d.ts +0 -39
- package/lib/services/fetch-superclass/index.d.ts +0 -1
- package/lib/services/index.d.ts +0 -5
- package/lib/services/log/index.d.ts +0 -2
- package/lib/services/log/log-error.d.ts +0 -12
- package/lib/services/log/log.module.d.ts +0 -7
- package/lib/services/log/notify-log.service.d.ts +0 -17
- package/lib/services/log/types/operation.d.ts +0 -1
- package/lib/services/query-params/index.d.ts +0 -4
- package/lib/services/query-params/query-params.module.d.ts +0 -6
- package/lib/services/query-params/query-params.service.d.ts +0 -37
- package/lib/services/query-params/types/serializer.d.ts +0 -6
- package/lib/services/query-params/utils/date-query-params-serializers.d.ts +0 -2
- package/lib/services/query-params/utils/deserialize-query-param.d.ts +0 -2
- package/lib/services/query-params/utils/index.d.ts +0 -2
- package/lib/services/query-params/utils/query-params-serializers.d.ts +0 -3
- package/lib/services/query-params/utils/serialize-query-param.d.ts +0 -2
- package/lib/services/url.service.d.ts +0 -12
- package/lib/styles/index.d.ts +0 -1
- package/lib/styles/types/color.d.ts +0 -4
- package/lib/types/progressable.d.ts +0 -3
- package/lib/utils/async/async-transform.d.ts +0 -20
- package/lib/utils/async/get-possibly-async-observable.d.ts +0 -3
- package/lib/utils/async/index.d.ts +0 -3
- package/lib/utils/async/is-async.d.ts +0 -4
- package/lib/utils/clean/clean.d.ts +0 -2
- package/lib/utils/clean/index.d.ts +0 -1
- package/lib/utils/compare/compare-different-types.d.ts +0 -4
- package/lib/utils/compare/index.d.ts +0 -1
- package/lib/utils/component/component-changes.d.ts +0 -8
- package/lib/utils/component/index.d.ts +0 -1
- package/lib/utils/csv/create-csv.d.ts +0 -1
- package/lib/utils/csv/index.d.ts +0 -1
- package/lib/utils/currency/format-currency.d.ts +0 -1
- package/lib/utils/currency/get-currency-exponent.d.ts +0 -1
- package/lib/utils/currency/index.d.ts +0 -4
- package/lib/utils/currency/to-major.d.ts +0 -2
- package/lib/utils/currency/to-minor.d.ts +0 -2
- package/lib/utils/date/get-no-time-zone-iso-string.d.ts +0 -2
- package/lib/utils/date/index.d.ts +0 -1
- package/lib/utils/decorators/debounce-time.d.ts +0 -1
- package/lib/utils/decorators/index.d.ts +0 -1
- package/lib/utils/empty/index.d.ts +0 -3
- package/lib/utils/empty/is-empty-primitive.d.ts +0 -1
- package/lib/utils/empty/is-empty.d.ts +0 -1
- package/lib/utils/empty/types/nil.d.ts +0 -1
- package/lib/utils/enum/get-enum-keys.d.ts +0 -10
- package/lib/utils/enum/index.d.ts +0 -2
- package/lib/utils/enum/types/enum.d.ts +0 -2
- package/lib/utils/enum/types/union-enum.d.ts +0 -2
- package/lib/utils/file/download-file.d.ts +0 -8
- package/lib/utils/file/index.d.ts +0 -1
- package/lib/utils/form/create-controls.d.ts +0 -4
- package/lib/utils/form/form-wrappers/abstract-control-superclass.d.ts +0 -17
- package/lib/utils/form/form-wrappers/form-component-superclass.directive.d.ts +0 -14
- package/lib/utils/form/form-wrappers/form-control-superclass.directive.d.ts +0 -8
- package/lib/utils/form/form-wrappers/form-group-superclass.directive.d.ts +0 -11
- package/lib/utils/form/form-wrappers/index.d.ts +0 -5
- package/lib/utils/form/form-wrappers/utils/create-control-providers.d.ts +0 -2
- package/lib/utils/form/form-wrappers/utils/get-errors-tree.d.ts +0 -6
- package/lib/utils/form/form-wrappers/utils/provide-validators.d.ts +0 -2
- package/lib/utils/form/form-wrappers/utils/provide-value-accessor.d.ts +0 -2
- package/lib/utils/form/get-valid-value-changes.d.ts +0 -3
- package/lib/utils/form/get-value-changes.d.ts +0 -3
- package/lib/utils/form/get-value.d.ts +0 -2
- package/lib/utils/form/has-controls.d.ts +0 -2
- package/lib/utils/form/index.d.ts +0 -8
- package/lib/utils/form/set-disabled.d.ts +0 -2
- package/lib/utils/form/types/form-group-by-value.d.ts +0 -4
- package/lib/utils/import/get-import-value.d.ts +0 -2
- package/lib/utils/import/index.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -18
- package/lib/utils/json/index.d.ts +0 -1
- package/lib/utils/json/inline-json.d.ts +0 -1
- package/lib/utils/object/count-changed.d.ts +0 -3
- package/lib/utils/object/count-props.d.ts +0 -1
- package/lib/utils/object/index.d.ts +0 -3
- package/lib/utils/object/select.d.ts +0 -3
- package/lib/utils/operators/async-start-with.d.ts +0 -2
- package/lib/utils/operators/debounce-time-with-first.d.ts +0 -2
- package/lib/utils/operators/fork-join-to-result.d.ts +0 -20
- package/lib/utils/operators/get-observable.d.ts +0 -3
- package/lib/utils/operators/handle-error.d.ts +0 -3
- package/lib/utils/operators/in-progress-from.d.ts +0 -2
- package/lib/utils/operators/index.d.ts +0 -8
- package/lib/utils/operators/pass-error.d.ts +0 -2
- package/lib/utils/operators/progress-to.d.ts +0 -2
- package/lib/utils/operators/switch-combine-with.d.ts +0 -6
- package/lib/utils/string/index.d.ts +0 -1
- package/lib/utils/string/split-by-separators.d.ts +0 -1
- package/lib/utils/transform-attribute/array-attribute.d.ts +0 -3
- package/lib/utils/transform-attribute/index.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vality-matez.mjs","sources":["../../../../libs/matez/src/lib/components/actions/actions.component.ts","../../../../libs/matez/src/lib/components/actions/actions.component.html","../../../../libs/matez/src/lib/components/actions/actions.module.ts","../../../../libs/matez/src/lib/components/progress/progress.component.ts","../../../../libs/matez/src/lib/components/progress/progress.component.html","../../../../libs/matez/src/lib/components/progress/progress.module.ts","../../../../libs/matez/src/lib/components/dialog/components/dialog-actions/dialog-actions.component.ts","../../../../libs/matez/src/lib/components/dialog/components/dialog-actions/dialog-actions.component.html","../../../../libs/matez/src/lib/components/dialog/types/dialog-response-status.ts","../../../../libs/matez/src/lib/components/dialog/dialog.component.ts","../../../../libs/matez/src/lib/components/dialog/dialog.component.html","../../../../libs/matez/src/lib/components/dialog/tokens.ts","../../../../libs/matez/src/lib/components/dialog/services/dialog.service.ts","../../../../libs/matez/src/lib/components/dialog/dialog.module.ts","../../../../libs/matez/src/lib/components/dialog/utils/dialog-superclass.ts","../../../../libs/matez/src/lib/components/content-loading/content-loading.component.ts","../../../../libs/matez/src/lib/components/content-loading/content-loading.component.html","../../../../libs/matez/src/lib/utils/json/inline-json.ts","../../../../libs/matez/src/lib/utils/string/split-by-separators.ts","../../../../libs/matez/src/lib/utils/operators/progress-to.ts","../../../../libs/matez/src/lib/utils/operators/get-observable.ts","../../../../libs/matez/src/lib/utils/operators/in-progress-from.ts","../../../../libs/matez/src/lib/utils/operators/pass-error.ts","../../../../libs/matez/src/lib/components/progress/utils/get-progress-by-count.ts","../../../../libs/matez/src/lib/utils/operators/fork-join-to-result.ts","../../../../libs/matez/src/lib/utils/async/is-async.ts","../../../../libs/matez/src/lib/utils/async/get-possibly-async-observable.ts","../../../../libs/matez/src/lib/utils/async/async-transform.ts","../../../../libs/matez/src/lib/utils/operators/switch-combine-with.ts","../../../../libs/matez/src/lib/utils/operators/debounce-time-with-first.ts","../../../../libs/matez/src/lib/utils/operators/handle-error.ts","../../../../libs/matez/src/lib/utils/operators/async-start-with.ts","../../../../libs/matez/src/lib/utils/form/has-controls.ts","../../../../libs/matez/src/lib/utils/form/get-value.ts","../../../../libs/matez/src/lib/utils/form/get-value-changes.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/utils/get-errors-tree.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/abstract-control-superclass.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/form-group-superclass.directive.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/utils/provide-validators.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/utils/provide-value-accessor.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/utils/create-control-providers.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/form-control-superclass.directive.ts","../../../../libs/matez/src/lib/utils/form/form-wrappers/form-component-superclass.directive.ts","../../../../libs/matez/src/lib/utils/empty/is-empty-primitive.ts","../../../../libs/matez/src/lib/utils/form/get-valid-value-changes.ts","../../../../libs/matez/src/lib/utils/form/set-disabled.ts","../../../../libs/matez/src/lib/utils/form/create-controls.ts","../../../../libs/matez/src/lib/utils/date/get-no-time-zone-iso-string.ts","../../../../libs/matez/src/lib/utils/currency/get-currency-exponent.ts","../../../../libs/matez/src/lib/utils/currency/to-major.ts","../../../../libs/matez/src/lib/utils/currency/to-minor.ts","../../../../libs/matez/src/lib/utils/currency/format-currency.ts","../../../../libs/matez/src/lib/utils/object/select.ts","../../../../libs/matez/src/lib/utils/object/count-props.ts","../../../../libs/matez/src/lib/utils/empty/is-empty.ts","../../../../libs/matez/src/lib/utils/object/count-changed.ts","../../../../libs/matez/src/lib/utils/enum/get-enum-keys.ts","../../../../libs/matez/src/lib/utils/clean/clean.ts","../../../../libs/matez/src/lib/utils/compare/compare-different-types.ts","../../../../libs/matez/src/lib/utils/import/get-import-value.ts","../../../../libs/matez/src/lib/utils/file/download-file.ts","../../../../libs/matez/src/lib/utils/csv/create-csv.ts","../../../../libs/matez/src/lib/utils/transform-attribute/array-attribute.ts","../../../../libs/matez/src/lib/utils/decorators/debounce-time.ts","../../../../libs/matez/src/lib/components/input-field/input-field.component.ts","../../../../libs/matez/src/lib/components/input-field/input-field.component.html","../../../../libs/matez/src/lib/components/input-field/input-field.module.ts","../../../../libs/matez/src/lib/components/tag/tag.component.ts","../../../../libs/matez/src/lib/components/tag/tag.component.html","../../../../libs/matez/src/lib/components/tag/tag.module.ts","../../../../libs/matez/src/lib/components/table/utils/normalize-string.ts","../../../../libs/matez/src/lib/directives/highlight.directive.ts","../../../../libs/matez/src/lib/components/value/components/menu-value.component.ts","../../../../libs/matez/src/lib/components/value/utils/currency-amount-value-to-string.ts","../../../../libs/matez/src/lib/components/value/utils/datetime-value-to-string.ts","../../../../libs/matez/src/lib/components/value/utils/unknown-to-string.ts","../../../../libs/matez/src/lib/components/value/utils/value-to-string.ts","../../../../libs/matez/src/lib/components/value/value.component.ts","../../../../libs/matez/src/lib/components/value/value.component.html","../../../../libs/matez/src/lib/components/value/components/value-list.component.ts","../../../../libs/matez/src/lib/components/table/components/table-inputs.component.ts","../../../../libs/matez/src/lib/components/table/utils/create-unique-column-def.ts","../../../../libs/matez/src/lib/components/table/consts.ts","../../../../libs/matez/src/lib/components/table/types/column2.ts","../../../../libs/matez/src/lib/components/table/utils/filter-sort.ts","../../../../libs/matez/src/lib/components/table/tree-data/tree-data-item-to-inline-data-item.ts","../../../../libs/matez/src/lib/components/table/utils/cached-head-map.ts","../../../../libs/matez/src/lib/components/table/utils/table-data-source.ts","../../../../libs/matez/src/lib/components/table/utils/table-to-csv-object.ts","../../../../libs/matez/src/lib/components/table/utils/to-columns-data.ts","../../../../libs/matez/src/lib/components/table/components/no-records.component.ts","../../../../libs/matez/src/lib/components/table/utils/create-intersection-observer.ts","../../../../libs/matez/src/lib/components/table/components/infinity-scroll.directive.ts","../../../../libs/matez/src/lib/components/table/components/base-column.component.ts","../../../../libs/matez/src/lib/components/table/components/select-column.component.ts","../../../../libs/matez/src/lib/components/table/components/dnd-column.component.ts","../../../../libs/matez/src/lib/components/table/components/table-info-bar/table-info-bar.component.ts","../../../../libs/matez/src/lib/components/table/components/table-info-bar/table-info-bar.component.html","../../../../libs/matez/src/lib/components/table/table.component.ts","../../../../libs/matez/src/lib/components/table/table.component.html","../../../../libs/matez/src/lib/components/table/components/customize/customize.component.ts","../../../../libs/matez/src/lib/components/table/components/customize/customize.component.html","../../../../libs/matez/src/lib/components/table/components/table-actions.component.ts","../../../../libs/matez/src/lib/components/table/components/table-progress-bar.component.ts","../../../../libs/matez/src/lib/components/table/table.module.ts","../../../../libs/matez/src/lib/components/table/utils/correct-priorities.ts","../../../../libs/matez/src/lib/components/table/utils/create-column.ts","../../../../libs/matez/src/lib/components/table/presets/create-menu-column.ts","../../../../libs/matez/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../../libs/matez/src/lib/components/confirm-dialog/confirm-dialog.component.html","../../../../libs/matez/src/lib/components/confirm-dialog/confirm-dialog.module.ts","../../../../libs/matez/src/lib/components/filters/components/filters-dialog/filters-dialog.component.ts","../../../../libs/matez/src/lib/components/filters/components/filters-dialog/filters-dialog.component.html","../../../../libs/matez/src/lib/components/filters/components/main-filters/main-filters.directive.ts","../../../../libs/matez/src/lib/components/filters/components/other-filters/other-filters.directive.ts","../../../../libs/matez/src/lib/components/filters/filters.component.ts","../../../../libs/matez/src/lib/components/filters/filters.component.html","../../../../libs/matez/src/lib/components/filters/components/more-filters-button/more-filters-button.component.ts","../../../../libs/matez/src/lib/components/filters/components/more-filters-button/more-filters-button.component.html","../../../../libs/matez/src/lib/components/filters/filters.module.ts","../../../../libs/matez/src/lib/components/date-range-field/date-range-field.component.ts","../../../../libs/matez/src/lib/components/date-range-field/date-range-field.component.html","../../../../libs/matez/src/lib/components/date-range-field/date-range-field.module.ts","../../../../libs/matez/src/lib/components/date-range-field/utils/is-equal-date-range.ts","../../../../libs/matez/src/lib/components/date-range-field/utils/create-date-range-to-today.ts","../../../../libs/matez/src/lib/components/number-range-field/number-range-field.component.ts","../../../../libs/matez/src/lib/components/number-range-field/number-range-field.component.html","../../../../libs/matez/src/lib/components/number-range-field/number-range-field.module.ts","../../../../libs/matez/src/lib/components/list-field/list-field.component.ts","../../../../libs/matez/src/lib/components/list-field/list-field.component.html","../../../../libs/matez/src/lib/components/list-field/list-field.module.ts","../../../../libs/matez/src/lib/components/error-page/error-page.component.ts","../../../../libs/matez/src/lib/components/error-page/error-page.component.html","../../../../libs/matez/src/lib/components/error-page/error-page-routing.module.ts","../../../../libs/matez/src/lib/components/error-page/error-page.module.ts","../../../../libs/matez/src/lib/components/select-autocomplete/utils/search-options.ts","../../../../libs/matez/src/lib/components/select-autocomplete/utils/find-option-by-value.ts","../../../../libs/matez/src/lib/components/select-autocomplete/utils/get-hint-text.ts","../../../../libs/matez/src/lib/components/select-autocomplete/select-field/select-field.component.ts","../../../../libs/matez/src/lib/components/select-autocomplete/select-field/select-field.component.html","../../../../libs/matez/src/lib/components/select-autocomplete/select-field/select-field.module.ts","../../../../libs/matez/src/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.component.ts","../../../../libs/matez/src/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.component.html","../../../../libs/matez/src/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.module.ts","../../../../libs/matez/src/lib/services/config/config.service.ts","../../../../libs/matez/src/lib/services/log/log-error.ts","../../../../libs/matez/src/lib/services/log/notify-log.service.ts","../../../../libs/matez/src/lib/services/log/log.module.ts","../../../../libs/matez/src/lib/services/fetch-superclass/fetch-superclass.ts","../../../../libs/matez/src/lib/services/query-params/utils/date-query-params-serializers.ts","../../../../libs/matez/src/lib/services/query-params/utils/query-params-serializers.ts","../../../../libs/matez/src/lib/services/query-params/utils/deserialize-query-param.ts","../../../../libs/matez/src/lib/services/query-params/utils/serialize-query-param.ts","../../../../libs/matez/src/lib/services/query-params/query-params.service.ts","../../../../libs/matez/src/lib/services/query-params/query-params.module.ts","../../../../libs/matez/src/lib/services/url.service.ts","../../../../libs/matez/src/lib/components/file-upload/file-upload.component.ts","../../../../libs/matez/src/lib/components/file-upload/file-upload.component.html","../../../../libs/matez/src/lib/components/file-upload/file-upload.module.ts","../../../../libs/matez/src/lib/components/file-upload/utils/load-file-content.ts","../../../../libs/matez/src/lib/components/datetime-field/datetime-field.component.ts","../../../../libs/matez/src/lib/components/datetime-field/datetime-field.component.html","../../../../libs/matez/src/lib/components/datetime-field/datetime-field.module.ts","../../../../libs/matez/src/lib/components/switch-button/switch-button.component.ts","../../../../libs/matez/src/lib/components/switch-button/switch-button.component.html","../../../../libs/matez/src/lib/components/switch-button/switch-button.module.ts","../../../../libs/matez/src/lib/components/nav/nav.component.ts","../../../../libs/matez/src/lib/components/nav/nav.component.html","../../../../libs/matez/src/lib/pipes/amount-currency.pipe.ts","../../../../libs/matez/src/lib/pipes/enum-key-values.pipe.ts","../../../../libs/matez/src/lib/pipes/enum-key.pipe.ts","../../../../libs/matez/src/lib/pipes/enum-keys.pipe.ts","../../../../libs/matez/src/lib/pipes/humanized-duration.pipe.ts","../../../../libs/matez/src/lib/pipes/inline-json.pipe.ts","../../../../libs/matez/src/lib/pipes/select.pipe.ts","../../../../libs/matez/src/lib/pipes/pipes.module.ts","../../../../libs/matez/src/vality-matez.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'v-actions',\n templateUrl: 'actions.component.html',\n styleUrls: ['actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ActionsComponent {}\n","<div class=\"v-actions\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ActionsComponent } from './actions.component';\n\n@NgModule({\n imports: [],\n declarations: [ActionsComponent],\n exports: [ActionsComponent],\n})\nexport class ActionsModule {}\n","import { Component, Input } from '@angular/core';\n\nimport { Progressable } from '../../types/progressable';\n\n@Component({\n selector: 'v-progress',\n templateUrl: './progress.component.html',\n standalone: false,\n})\nexport class ProgressComponent implements Progressable {\n @Input() progress: Progressable['progress'];\n\n get mode() {\n return typeof this.progress === 'number' && this.progress <= 1 && this.progress > 0\n ? 'determinate'\n : !!this.progress || this.progress === ''\n ? 'indeterminate'\n : undefined;\n }\n\n get value(): number {\n return this.mode === 'determinate'\n ? Math.max(Math.min((1 - (this.progress as number)) * 100, 100), 0)\n : (undefined as never);\n }\n}\n","@if (!!mode) {\n <mat-progress-bar [mode]=\"mode\" [value]=\"value\"></mat-progress-bar>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\nimport { ProgressComponent } from './progress.component';\n\n@NgModule({\n declarations: [ProgressComponent],\n imports: [CommonModule, MatProgressBarModule],\n exports: [ProgressComponent],\n})\nexport class ProgressModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'v-dialog-actions',\n templateUrl: './dialog-actions.component.html',\n standalone: false,\n})\nexport class DialogActionsComponent {}\n","<v-actions><ng-content></ng-content></v-actions>\n","export enum DialogResponseStatus {\n Success = 'success',\n Error = 'error',\n Cancelled = 'canceled',\n}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n booleanAttribute,\n} from '@angular/core';\n\nimport { Progressable } from '../../types/progressable';\n\nimport { DialogResponseStatus } from './types/dialog-response-status';\n\n@Component({\n selector: 'v-dialog',\n templateUrl: 'dialog.component.html',\n styleUrls: ['dialog.component.scss'],\n standalone: false,\n})\nexport class DialogComponent implements Progressable {\n @HostBinding('class.v-dialog') hostClass: boolean = true;\n\n @Input() title!: string;\n\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n @Input() progress?: Progressable['progress'];\n\n @Input({ transform: booleanAttribute }) hasDivider: boolean = true;\n\n @Input({ transform: booleanAttribute }) noContent: boolean = false;\n @Input({ transform: booleanAttribute }) noActions: boolean = false;\n @Input({ transform: booleanAttribute }) noCloseButton: boolean = false;\n\n @Input({ transform: booleanAttribute }) fullSize: boolean = false;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() cancel = new EventEmitter<void>();\n\n cancelData = {\n status: DialogResponseStatus.Cancelled,\n };\n\n cancelDialog(): void {\n this.cancel.emit();\n }\n}\n","<div [ngClass]=\"{ 'full-size': fullSize }\" class=\"dialog\">\n <div class=\"dialog-title\">\n <div>\n <h2 class=\"title\">{{ title }}</h2>\n </div>\n @if (!noCloseButton) {\n <mat-icon\n [matDialogClose]=\"cancelData\"\n class=\"dialog-title-close\"\n inline\n (click)=\"cancelDialog()\"\n >clear</mat-icon\n >\n }\n </div>\n\n @if (!noContent) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-content\">\n <ng-content></ng-content>\n </div>\n }\n @if (!noActions) {\n @if (hasDivider) {\n <mat-divider></mat-divider>\n }\n <div class=\"dialog-actions\">\n <ng-content select=\"v-dialog-actions\"></ng-content>\n </div>\n }\n\n <v-progress [progress]=\"progress\"></v-progress>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { MatDialogConfig } from '@angular/material/dialog';\nimport { ValuesType } from 'utility-types';\n\nexport type DialogConfig = Record<'small' | 'medium' | 'large', MatDialogConfig<undefined>>;\n\nexport const DIALOG_CONFIG = new InjectionToken<DialogConfig>('dialogConfig');\n\nexport const BASE_CONFIG: ValuesType<DialogConfig> = {\n maxHeight: '100vh',\n disableClose: true,\n autoFocus: false,\n minWidth: '0',\n maxWidth: 'calc(100vw - 16px)',\n width: '552px',\n};\n\nexport const DEFAULT_DIALOG_CONFIG: DialogConfig = {\n small: {\n ...BASE_CONFIG,\n width: '360px',\n },\n medium: BASE_CONFIG,\n large: {\n ...BASE_CONFIG,\n width: '1000px',\n },\n};\n\nexport const DEFAULT_DIALOG_CONFIG_FULL_HEIGHT = 'calc(90vh - 48px)';\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\n\nimport { DEFAULT_DIALOG_CONFIG, DIALOG_CONFIG, DialogConfig } from '../tokens';\nimport { DialogResponse } from '../types/dialog-response';\nimport { DialogSuperclass } from '../utils/dialog-superclass';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DialogService {\n constructor(\n private dialog: MatDialog,\n @Optional()\n @Inject(DIALOG_CONFIG)\n private readonly dialogConfig: DialogConfig,\n ) {\n if (!dialogConfig) {\n this.dialogConfig = DEFAULT_DIALOG_CONFIG;\n }\n }\n\n open<TDialogComponent, TDialogData, TDialogResponseData, TDialogResponseStatus>(\n dialogComponent: ComponentType<\n DialogSuperclass<\n TDialogComponent,\n TDialogData,\n TDialogResponseData,\n TDialogResponseStatus\n >\n >,\n /**\n * Workaround when both conditions for the 'data' argument must be true:\n * - typing did not require passing when it is optional (for example: {param: number} | void)\n * - typing required to pass when it is required (for example: {param: number})\n */\n ...[data, configOrConfigName]: TDialogData extends void\n ? []\n : [\n data: TDialogData,\n configOrConfigName?:\n | Omit<MatDialogConfig<TDialogData>, 'data'>\n | keyof DialogConfig,\n ]\n ): MatDialogRef<TDialogComponent, DialogResponse<TDialogResponseData, TDialogResponseStatus>> {\n let config: Partial<MatDialogConfig<TDialogData>>;\n if (!configOrConfigName) {\n config = {};\n } else if (typeof configOrConfigName === 'string') {\n config = this.dialogConfig[configOrConfigName];\n } else {\n config = configOrConfigName;\n }\n\n return this.dialog.open(dialogComponent as never, {\n data,\n ...(dialogComponent as typeof DialogSuperclass).defaultDialogConfig,\n ...config,\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\n\nimport { ActionsModule } from '../actions';\nimport { ProgressModule } from '../progress/progress.module';\n\nimport { DialogActionsComponent } from './components/dialog-actions/dialog-actions.component';\nimport { DialogComponent } from './dialog.component';\nimport { DialogService } from './services/dialog.service';\n\n@NgModule({\n imports: [\n CommonModule,\n MatDividerModule,\n MatButtonModule,\n ActionsModule,\n MatIconModule,\n MatProgressBarModule,\n MatDialogModule,\n ProgressModule,\n ],\n providers: [DialogService],\n declarations: [DialogComponent, DialogActionsComponent],\n exports: [DialogComponent, DialogActionsComponent],\n})\nexport class DialogModule {}\n","import { Directive, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { DEFAULT_DIALOG_CONFIG } from '../tokens';\nimport { DialogResponse } from '../types/dialog-response';\nimport { DialogResponseStatus } from '../types/dialog-response-status';\n\n@Directive()\nexport class DialogSuperclass<\n TDialogComponent,\n TDialogData = void,\n TDialogResponseData = void,\n TDialogResponseStatus = void,\n> {\n static defaultDialogConfig = DEFAULT_DIALOG_CONFIG.medium;\n\n dialogData = inject<TDialogData>(MAT_DIALOG_DATA);\n dialogRef =\n inject<\n MatDialogRef<\n TDialogComponent,\n DialogResponse<TDialogResponseData, TDialogResponseStatus>\n >\n >(MatDialogRef);\n\n closeWithCancellation(data?: TDialogResponseData) {\n this.dialogRef.close({\n status: DialogResponseStatus.Cancelled,\n data,\n } as never);\n }\n\n closeWithSuccess(data?: TDialogResponseData) {\n this.dialogRef.close({\n status: DialogResponseStatus.Success,\n data,\n } as never);\n }\n\n closeWithError(data?: TDialogResponseData) {\n this.dialogRef.close({\n status: DialogResponseStatus.Error,\n data,\n } as never);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, numberAttribute } from '@angular/core';\nimport { random } from 'lodash-es';\n\n@Component({\n selector: 'v-content-loading',\n templateUrl: './content-loading.component.html',\n styleUrls: ['./content-loading.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n})\nexport class ContentLoadingComponent {\n width = input(random(35, 80) + '%');\n textSize = input(0, { transform: numberAttribute });\n hiddenText = input<string | undefined | null>();\n}\n","<span\n [ngClass]=\"{ 'content-loading__text': !!hiddenText() }\"\n [style.width]=\"hiddenText() || textSize() ? undefined : width()\"\n class=\"content-loading\"\n >{{ hiddenText() || ' '.repeat(textSize() || 1) }}</span\n>\n","import startCase from 'lodash-es/startCase';\nimport { isPrimitive } from 'utility-types';\n\nfunction renderList<T>(list: T[], renderItem: (v: T, idx: number) => string, isMore: boolean) {\n return list.length ? (isMore ? '…' : list.map(renderItem).join(', ')) : '';\n}\n\nfunction isObject(v: unknown): v is object {\n return (\n typeof v === 'object' &&\n !Array.isArray(v) &&\n !(v instanceof Map) &&\n !(v instanceof Set) &&\n v !== null\n );\n}\n\nexport function inlineJson(\n value: unknown,\n maxReadableLever = 1,\n readableKeys = false,\n level = 0,\n): string {\n const isRoot = (level = 0);\n if (isPrimitive(value)) {\n return String(value);\n }\n if (Array.isArray(value) || value instanceof Map || value instanceof Set) {\n const content = renderList(\n Array.from(value),\n (v) => inlineJson(v, maxReadableLever, readableKeys, level + 1),\n level > maxReadableLever,\n );\n if (value instanceof Set) {\n return `Set(${content})`;\n }\n if (value instanceof Map) {\n return `Map(${content})`;\n }\n return isRoot && content ? content : `[${content}]`;\n }\n const entries = Array.from(Object.entries(value as object));\n if (!entries.length) {\n return '{}';\n }\n const content = renderList(\n entries,\n ([k, v]) =>\n (readableKeys ? startCase(k) : k) +\n (isObject(v) && Object.keys(v).length <= 1 ? '/' : ': ') +\n inlineJson(v, maxReadableLever, readableKeys, level + 1),\n level > maxReadableLever,\n );\n if (isRoot || entries.length === 1) {\n return content;\n }\n return `{${content}}`;\n}\n","const SEPARATORS = ',;';\n\nexport function splitBySeparators(ids: string, separators = SEPARATORS): string[] {\n if (!ids) {\n return [];\n }\n return ids\n .split(new RegExp(`[${separators}\\\\s]`))\n .map((id) => id.trim())\n .filter(Boolean);\n}\n","import { BehaviorSubject, MonoTypeOperatorFunction, defer, isObservable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\n\nexport function progressTo<T>(\n subject$: BehaviorSubject<number> | (() => BehaviorSubject<number>),\n): MonoTypeOperatorFunction<T> {\n const getSub = () => (isObservable(subject$) ? subject$ : subject$());\n return (src$) =>\n defer(() => {\n getSub().next(getSub().getValue() + 1);\n return src$.pipe(finalize(() => getSub().next(getSub().getValue() - 1)));\n });\n}\n","import { Observable, defer } from 'rxjs';\n\nexport type ObservableOrFn<T = unknown> = (() => Observable<T>) | Observable<T>;\n\nexport function getObservable<T>(obsOrFn: ObservableOrFn<T>): Observable<T> {\n return typeof obsOrFn === 'function' ? defer(obsOrFn) : obsOrFn;\n}\n","import { EMPTY, combineLatest, merge, mergeMap } from 'rxjs';\nimport { delay, distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators';\n\nimport { ObservableOrFn, getObservable } from './get-observable';\n\nexport function inProgressFrom(\n progress: ObservableOrFn<number | boolean> | ObservableOrFn<number | boolean>[],\n main?: ObservableOrFn,\n init = true,\n) {\n const progresses = (Array.isArray(progress) ? progress : [progress]).map((p) =>\n getObservable(p),\n );\n return merge(\n combineLatest(progresses),\n main ? getObservable(main).pipe(mergeMap(() => EMPTY)) : EMPTY,\n ).pipe(\n map((ps) => ps.some((p) => !!p)),\n // make async to bypass angular detect changes\n delay(0),\n startWith(init),\n distinctUntilChanged(),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n}\n","import { EMPTY, MonoTypeOperatorFunction, catchError, of } from 'rxjs';\n\nexport function passError<T>(\n handler: (err: unknown) => void,\n value?: T,\n): MonoTypeOperatorFunction<T> {\n return (source) =>\n source.pipe(\n catchError((err) => {\n handler(err);\n if (arguments.length >= 2) {\n return of(value as T);\n }\n return EMPTY;\n }),\n );\n}\n","export function getProgressByCount(count: number, completedCount: number = Number.MIN_VALUE) {\n return 1 - completedCount / count;\n}\n","import { Observable, Subject, catchError, merge, of, scan, takeLast } from 'rxjs';\nimport { finalize, map } from 'rxjs/operators';\nimport { Overwrite } from 'utility-types';\n\nimport { getProgressByCount } from '../../components/progress';\n\nexport interface ForkJoinResult<T, D = never> {\n index: number;\n data: D;\n hasError: boolean;\n\n result?: T;\n error?: unknown;\n}\n\nexport type ForkJoinSucceededResult<T, D = never> = Omit<\n Overwrite<ForkJoinResult<T, D>, { hasError: false; result: T }>,\n 'error'\n>;\nexport type ForkJoinErrorResult<D = never> = Omit<\n Overwrite<ForkJoinResult<never, D>, { hasError: true; error: unknown }>,\n 'result'\n>;\n\nexport function forkJoinToResult<T, D = never>(\n sources: Observable<T>[],\n progress$?: Subject<number>,\n dataItems: D[] = [],\n concurrency = 4,\n): Observable<ForkJoinResult<T, D>[]> {\n let completed = 0;\n if (progress$) {\n progress$.next(getProgressByCount(sources.length));\n }\n return merge(\n ...sources.map((source, index) =>\n source.pipe(\n map(\n (result): ForkJoinResult<T, D> => ({\n result,\n hasError: false,\n index,\n data: dataItems[index],\n }),\n ),\n catchError((error) => {\n return of<ForkJoinResult<T, D>>({\n error,\n hasError: true,\n index,\n data: dataItems[index],\n });\n }),\n finalize(() => {\n completed += 1;\n if (progress$) {\n progress$.next(getProgressByCount(sources.length, completed));\n }\n }),\n ),\n ),\n concurrency,\n ).pipe(\n scan(\n (acc, value) => {\n acc.push(value);\n return acc;\n },\n [] as ForkJoinResult<T, D>[],\n ),\n takeLast(1),\n map((r) => r.sort((a, b) => a.index - b.index)),\n );\n}\n\nexport function isResultsHasError<T, D>(res: ForkJoinResult<T, D>[]): boolean {\n return res.some((r) => r.hasError);\n}\n\nexport function splitResultsErrors<T, D>(\n res: ForkJoinResult<T, D>[],\n): [succeeded: ForkJoinSucceededResult<T, D>[], errors: ForkJoinErrorResult<D>[]] {\n return res.reduce(\n (acc, r) => {\n acc[r.hasError ? 1 : 0].push(r as never);\n return acc;\n },\n [[], []] as [succeeded: ForkJoinSucceededResult<T, D>[], errors: ForkJoinErrorResult<D>[]],\n );\n}\n","import { Observable, isObservable } from 'rxjs';\nimport { isPromise } from 'rxjs/internal/util/isPromise';\n\nexport type Async<T> = Observable<T> | Promise<T>;\nexport type PossiblyAsync<T> = Async<T> | T;\n\nexport function isAsync<T>(value: PossiblyAsync<T>): value is Async<T> {\n return isObservable(value) || isPromise(value);\n}\n","import { Observable, from, of } from 'rxjs';\n\nimport { PossiblyAsync, isAsync } from './is-async';\n\nexport function getPossiblyAsyncObservable<T>(possiblyAsync: PossiblyAsync<T>): Observable<T> {\n return isAsync(possiblyAsync) ? from(possiblyAsync) : of(possiblyAsync);\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, Injectable, OnDestroy, inject } from '@angular/core';\nimport { Observable, ReplaySubject, combineLatest, defer, of, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { getPossiblyAsyncObservable } from './get-possibly-async-observable';\nimport { PossiblyAsync } from './is-async';\n\nexport type AsyncTransformParameters<TValue = unknown, TParams extends unknown[] = []> = [\n PossiblyAsync<TValue>,\n ...TParams,\n];\n\n@Injectable()\nexport abstract class AsyncTransform<\n TValue = unknown,\n TParams extends unknown[] = [],\n TResult = string | null,\n> implements OnDestroy\n{\n protected abstract result$: Observable<TResult>;\n\n protected params$: Observable<[TValue, ...TParams]> = defer(() => this.args$).pipe(\n switchMap((args) =>\n combineLatest([\n getPossiblyAsyncObservable(args[0] as TValue),\n of(args.slice(1) as TParams),\n ]),\n ),\n map(([value, params]) => [value, ...params] as [TValue, ...TParams]),\n );\n\n private asyncPipe!: AsyncPipe;\n private cdr = inject(ChangeDetectorRef);\n private args$ = new ReplaySubject<[PossiblyAsync<TValue>, ...TParams]>(1);\n\n constructor() {\n this.asyncPipe = new AsyncPipe(this.cdr);\n }\n\n ngOnDestroy() {\n this.asyncPipe.ngOnDestroy();\n }\n\n protected asyncTransform(args: AsyncTransformParameters<TValue, TParams>): TResult | null {\n this.args$.next(args);\n return this.asyncPipe.transform(this.result$);\n }\n}\n","import { Observable, combineLatest, of, switchMap } from 'rxjs';\n\nimport { PossiblyAsync, getPossiblyAsyncObservable } from '../async';\n\nexport type ProjectInputs<R extends readonly unknown[]> = {\n [K in keyof R]: PossiblyAsync<R[K]>;\n};\n\nexport function switchCombineWith<T, R extends readonly unknown[]>(\n project: (value: T, index: number) => readonly [...ProjectInputs<R>],\n) {\n return (src$: Observable<T>) =>\n src$.pipe(\n switchMap((value, index) => {\n const res = project(value, index);\n return combineLatest([\n of(value),\n ...(Array.isArray(res) ? res : [res]).map((r) => getPossiblyAsyncObservable(r)),\n ]);\n }),\n ) as Observable<[T, ...R]>;\n}\n","import { MonoTypeOperatorFunction, debounce, interval } from 'rxjs';\n\nexport function debounceTimeWithFirst<T>(duration: number): MonoTypeOperatorFunction<T> {\n return (source) => {\n let isFirst = true;\n return source.pipe(\n debounce(() => {\n if (isFirst) {\n isFirst = false;\n return interval(0);\n }\n return interval(duration);\n }),\n );\n };\n}\n","import { EMPTY, MonoTypeOperatorFunction } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { PossiblyAsync, getPossiblyAsyncObservable } from '../async';\n\nexport function handleError<T>(\n handler: (err: unknown) => void,\n result: PossiblyAsync<T> = EMPTY,\n): MonoTypeOperatorFunction<T> {\n return (source) =>\n source.pipe(\n catchError((err, _caught) => {\n handler(err);\n return getPossiblyAsyncObservable(result);\n }),\n );\n}\n","import { Observable, concat, of, switchMap, timer } from 'rxjs';\n\nexport function asyncStartWith<V = never>(value?: V, timerMs = 0) {\n return <T>(src$: Observable<T>): Observable<T | V> =>\n concat(...((value ? [of(value)] : []) as []), timer(timerMs).pipe(switchMap(() => src$)));\n}\n","import { AbstractControl, FormArray, FormGroup } from '@angular/forms';\n\nexport function hasControls(control: AbstractControl): control is FormGroup | FormArray {\n return 'controls' in control;\n}\n","import { AbstractControl } from '@angular/forms';\n\nimport { hasControls } from './has-controls';\n\nexport function getValue<T>(control: AbstractControl<T>): T {\n if (!hasControls(control)) {\n return control.value;\n }\n if (Array.isArray(control.controls)) {\n const result: unknown[] = [];\n for (const v of control.controls) {\n result.push(getValue(v) as T);\n }\n return result as T;\n }\n const result: Record<PropertyKey, unknown> = {};\n for (const [k, v] of Object.entries(control.controls)) {\n result[k as keyof T] = getValue(v);\n }\n return result as T;\n}\n","import { AbstractControl, FormControlState } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\nimport { getValue } from './get-value';\n\nexport function getValueChanges<T>(form: AbstractControl<FormControlState<T> | T>): Observable<T> {\n return form.valueChanges.pipe(\n startWith(form.value),\n map(() => getValue(form)),\n ) as Observable<T>;\n}\n","import { AbstractControl, ValidationErrors } from '@angular/forms';\n\nimport { hasControls } from '../../has-controls';\n\n/**\n * FormGroup/FormArray don't return internal control errors,\n * so you need to get internal errors manually\n */\nexport function getErrorsTree(control: AbstractControl): ValidationErrors | null {\n if (control.valid) {\n return null;\n }\n const errors: ValidationErrors = Object.assign({}, control.errors);\n if (hasControls(control)) {\n if (Array.isArray(control.controls)) {\n errors['formArrayErrors'] = control.controls\n .map((c: AbstractControl) => getErrorsTree(c))\n .filter(Boolean);\n } else {\n errors['formGroupErrors'] = Object.fromEntries(\n Array.from(Object.entries(control.controls))\n .map(([k, c]) => [k, getErrorsTree(c)])\n .filter(([, v]) => !!v),\n ) as ValidationErrors;\n }\n }\n return errors;\n}\n","import { ChangeDetectorRef, DestroyRef, Directive, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, ValidationErrors, Validator } from '@angular/forms';\nimport { WrappedControlSuperclass } from '@s-libs/ng-core';\nimport { EMPTY, Observable, concat, take, timer } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { getErrorsTree } from './utils/get-errors-tree';\n\n@Directive()\nexport abstract class AbstractControlSuperclass<OuterType, InnerType = OuterType>\n extends WrappedControlSuperclass<OuterType, InnerType>\n implements Validator, OnInit\n{\n private _cdr = inject(ChangeDetectorRef);\n private _destroyRef = inject(DestroyRef);\n\n override ngOnInit() {\n super.ngOnInit();\n concat(timer(0), timer(100))\n .pipe(\n filter(() => this.control.invalid),\n take(1),\n takeUntilDestroyed(this._destroyRef),\n )\n .subscribe(() => {\n this.onValidatorChange();\n this._cdr.markForCheck();\n });\n }\n\n validate(_control: AbstractControl): ValidationErrors | null {\n return getErrorsTree(this.control); //|| getErrorsTree(_control);\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n protected override setUpInnerToOuterErrors$(): Observable<ValidationErrors> {\n return EMPTY;\n }\n\n protected override setUpOuterToInnerErrors$(): Observable<ValidationErrors> {\n return EMPTY;\n }\n\n private onValidatorChange: () => void = () => undefined;\n}\n","import { Directive, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\n\nimport { getValue } from '../get-value';\nimport { hasControls } from '../has-controls';\n\nimport { AbstractControlSuperclass } from './abstract-control-superclass';\n\n@Directive()\nexport abstract class FormGroupSuperclass<OuterType, InnerType = OuterType>\n extends AbstractControlSuperclass<OuterType, InnerType>\n implements OnInit\n{\n protected emptyValue!: InnerType;\n\n override setDisabledState(_isDisabled: boolean): void {\n return;\n }\n\n override ngOnInit() {\n this.emptyValue = getValue(this.control) as InnerType;\n super.ngOnInit();\n }\n\n protected override outerToInnerValue(outer: OuterType): InnerType {\n if (hasControls(this.control)) {\n if (!outer) {\n return this.emptyValue;\n }\n if (\n Object.keys(outer).length < Object.keys((this.control as FormGroup).controls).length\n ) {\n return Object.assign({}, this.emptyValue, outer);\n }\n }\n return outer as never;\n }\n}\n","import { Provider, Type, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS } from '@angular/forms';\n\nexport const provideValidators = (component: () => Type<unknown>): Provider => ({\n provide: NG_VALIDATORS,\n useExisting: forwardRef(component),\n multi: true,\n});\n","import { Provider, Type, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const provideValueAccessor = (component: () => Type<unknown>): Provider => ({\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(component),\n multi: true,\n});\n","import { Provider, Type } from '@angular/core';\n\nimport { provideValidators } from './provide-validators';\nimport { provideValueAccessor } from './provide-value-accessor';\n\nexport const createControlProviders = (component: () => Type<unknown>): Provider[] => [\n provideValueAccessor(component),\n provideValidators(component),\n];\n","import { Directive } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nimport { AbstractControlSuperclass } from './abstract-control-superclass';\n\n@Directive()\nexport class FormControlSuperclass<\n OuterType,\n InnerType = OuterType,\n> extends AbstractControlSuperclass<OuterType, InnerType> {\n control = new FormControl() as FormControl<InnerType>;\n}\n","import { ChangeDetectorRef, DestroyRef, Directive, OnInit, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { AbstractControl, ValidationErrors, Validator } from '@angular/forms';\nimport { FormComponentSuperclass as BaseFormComponentSuperclass } from '@s-libs/ng-core';\nimport { concat, timer } from 'rxjs';\n\n@Directive()\nexport abstract class FormComponentSuperclass<OuterType>\n extends BaseFormComponentSuperclass<OuterType>\n implements Validator, OnInit\n{\n private _cdr = inject(ChangeDetectorRef);\n private _destroyRef = inject(DestroyRef);\n\n validate(_control: AbstractControl): ValidationErrors | null {\n return null;\n }\n\n ngOnInit() {\n concat(timer(0), timer(100))\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.onValidatorChange();\n this._cdr.markForCheck();\n });\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.onValidatorChange = fn;\n }\n\n private onValidatorChange: () => void = () => undefined;\n}\n","import isNil from 'lodash-es/isNil';\n\nexport function isEmptyPrimitive(value: unknown): boolean {\n return isNil(value) || value === '';\n}\n","import { AbstractControl } from '@angular/forms';\nimport omitBy from 'lodash-es/omitBy';\nimport { filter, map } from 'rxjs/operators';\n\nimport { isEmptyPrimitive } from '../empty/is-empty-primitive';\n\nimport { getValueChanges } from './get-value-changes';\n\nexport function getValidValueChanges(control: AbstractControl, predicate = isEmptyPrimitive) {\n return getValueChanges(control).pipe(\n filter(() => control.valid),\n map((value) => omitBy(value, predicate)),\n );\n}\n","import { AbstractControl } from '@angular/forms';\n\nexport function setDisabled(\n control?: AbstractControl,\n disabled: boolean = true,\n options: Parameters<AbstractControl['disable']>[0] = {},\n) {\n if (!control || control.disabled === disabled) {\n return;\n }\n if (disabled) {\n control.disable(options);\n } else {\n control.enable(options);\n }\n}\n","import { FormControl } from '@angular/forms';\n\nexport function createControls<T extends object>(values: T): { [K in keyof T]: FormControl<T[K]> } {\n return Object.fromEntries(\n Object.entries(values).map(([k, v]) => [k, new FormControl(v, { nonNullable: true })]),\n ) as never;\n}\n","function getTimeZoneOffset(date: Date) {\n return date.getTimezoneOffset() * 60_000;\n}\n\nexport function getNoTimeZoneIsoString(date?: Date | null): string {\n return date ? new Date(date.valueOf() - getTimeZoneOffset(date)).toISOString() : '';\n}\n\nexport function createDateFromNoTimeZoneString(dateStr: string): Date {\n const date = new Date(dateStr);\n return new Date(date.valueOf() + getTimeZoneOffset(date));\n}\n","import * as currencies from '@dinero.js/currencies';\n\nexport const getCurrencyExponent = (currencyCode: string): number =>\n currencies[currencyCode as keyof typeof currencies]?.exponent;\n","import round from 'lodash-es/round';\n\nimport { getCurrencyExponent } from './get-currency-exponent';\n\nexport const toMajorByExponent = (amount: number, exponent: number): number =>\n round(amount / 10 ** exponent, exponent);\n\nexport const toMajor = (amount: number, currencyCode: string): number =>\n toMajorByExponent(amount, getCurrencyExponent(currencyCode));\n","import { getCurrencyExponent } from './get-currency-exponent';\n\nexport const toMinorByExponent = (amount: number, exponent: number): number =>\n Math.round(amount * 10 ** exponent);\n\nexport const toMinor = (amount: number, currencyCode: string): number =>\n toMinorByExponent(amount, getCurrencyExponent(currencyCode));\n","import { getCurrencySymbol, formatCurrency as ngFormatCurrency } from '@angular/common';\n\nimport { getCurrencyExponent } from './get-currency-exponent';\nimport { toMajorByExponent } from './to-major';\n\nexport function formatCurrency(\n amount: number,\n currencyCode: string = 'USD',\n format: 'short' | 'long' = 'long',\n locale = 'en-GB',\n exponent?: number,\n isMajor: boolean = false,\n): string {\n if (typeof exponent !== 'number') {\n exponent = getCurrencyExponent(currencyCode) || 0;\n }\n return ngFormatCurrency(\n isMajor ? amount : toMajorByExponent(amount, exponent),\n locale,\n getCurrencySymbol(currencyCode, 'narrow', locale),\n currencyCode,\n format === 'short' ? `1.0-${exponent}` : `1.${exponent}-${exponent}`,\n );\n}\n","import { get as _get } from 'lodash-es';\nimport { Observable } from 'rxjs';\n\nexport type SelectFn<\n TObject extends object = object,\n TResult = unknown,\n TParams extends Array<unknown> = [],\n> = string | ((obj: TObject, ...params: TParams) => Observable<TResult> | TResult);\n\nexport function select<TObject extends object, TResult, TParams extends Array<unknown> = []>(\n obj: TObject,\n selectFn: SelectFn<TObject, TResult, TParams>,\n defaultValue?: TResult,\n restParams: TParams[] = [],\n): TResult | Observable<TResult> {\n if (typeof selectFn === 'string') {\n return _get(obj, selectFn, defaultValue) as TResult;\n }\n return selectFn(obj, ...(restParams as never));\n}\n\n// export function selectAsObservable<TObject extends object, TResult, TParams extends Array<unknown> = []>(\n// obj: TObject,\n// selectFn: SelectFn<TObject, TResult, TParams>,\n// defaultValue?: TResult,\n// restParams: TParams[] = [],\n// ): TResult | Observable<TResult> {\n// const res = select(obj, selectFn, defaultValue, restParams);\n// return isObservable(res) ? res : of(res);\n// }\n","export function countProps(...objects: object[]): number {\n return objects.reduce((acc, obj) => acc + (obj ? Object.keys(obj).length : 0), 0);\n}\n","import lodashIsEmpty from 'lodash-es/isEmpty';\nimport isObject from 'lodash-es/isObject';\n\nimport { isEmptyPrimitive } from './is-empty-primitive';\n\nexport function isEmpty(value: unknown): boolean {\n return isObject(value)\n ? value.constructor === Object ||\n Array.isArray(value) ||\n value instanceof Set ||\n value instanceof Map\n ? lodashIsEmpty(value)\n : false\n : isEmptyPrimitive(value);\n}\n","import { difference } from 'lodash-es';\nimport isEqual from 'lodash-es/isEqual';\n\nimport { isEmpty } from '../empty';\n\nexport function countChanged<T extends object>(\n a: T,\n b: T,\n // is equal boolean or count number\n predicates: { [K in keyof T]?: (a: T[K], b: T[K]) => number | boolean } = {},\n): number {\n const aKeys: (keyof T)[] = Object.keys(a) as never;\n const bKeys: (keyof T)[] = Object.keys(b) as never;\n const diffKeys = difference(aKeys, bKeys);\n const sameKeys = difference(aKeys, diffKeys);\n return sameKeys\n .map((k) => {\n if (k in predicates) {\n const res = predicates[k]?.(a[k], b[k]);\n return typeof res === 'boolean' ? +!res : Number(res);\n }\n return (isEmpty(a[k]) && isEmpty(b[k])) || isEqual(a[k], b[k]) ? 0 : 1;\n })\n .reduce((sum, v) => sum + v, diffKeys.length);\n}\n","import { ValuesType } from 'utility-types';\n\nexport function getEnumEntries<E extends Record<PropertyKey, unknown>>(\n srcEnum: E,\n): [key: keyof E, value: ValuesType<E>][] {\n if (!srcEnum) {\n return [];\n }\n const entries = Object.entries(srcEnum);\n if (!entries.length) {\n return [];\n }\n const isValueNumberEnum = entries.some(([, v]) => typeof v === 'number');\n if (isValueNumberEnum) {\n return entries.filter(([, v]) => typeof v === 'number') as never;\n }\n return entries as never;\n}\n\nexport function getEnumKeyValues<E extends Record<PropertyKey, unknown>>(\n srcEnum: E,\n): { key: keyof E; value: ValuesType<E> }[] {\n return getEnumEntries(srcEnum).map(([key, value]) => ({ key, value }));\n}\n\nexport function getEnumKeys<E extends Record<PropertyKey, unknown>>(srcEnum: E): (keyof E)[] {\n return getEnumEntries(srcEnum).map(([k]) => k);\n}\n\nexport function getEnumValues<E extends Record<PropertyKey, unknown>>(srcEnum: E): ValuesType<E>[] {\n return getEnumEntries(srcEnum).map(([, v]) => v);\n}\n\nexport function getEnumKey<E extends Record<PropertyKey, unknown>>(\n srcEnum: E,\n value: ValuesType<E>,\n): keyof E {\n return getEnumKeyValues(srcEnum).find((e) => String(e.value) === String(value))?.key as keyof E;\n}\n\nexport function enumHasValue<E extends Record<PropertyKey, unknown>>(\n srcEnum: E,\n value: ValuesType<E> | string,\n): value is ValuesType<E> {\n return getEnumValues(srcEnum).includes(value as ValuesType<E>);\n}\n","import { ValuesType } from 'utility-types';\n\nimport { isEmpty } from '../empty/is-empty';\nimport { isEmptyPrimitive } from '../empty/is-empty-primitive';\n\nexport function clean<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends ReadonlyArray<any> | ArrayLike<any> | Record<any, any>,\n TAllowRootRemoval extends boolean = false,\n>(\n obj: T,\n allowRootRemoval: TAllowRootRemoval = false as TAllowRootRemoval,\n isNotDeep = false,\n filterPredicate: (v: unknown, k?: PropertyKey) => boolean = (v) => !isEmpty(v),\n): TAllowRootRemoval extends true ? T | null : T {\n if (allowRootRemoval && !filterPredicate(obj)) {\n return null as never;\n }\n const cleanChild = (v: unknown) =>\n isNotDeep ? v : clean(v as never, true, isNotDeep, filterPredicate);\n if (Array.isArray(obj)) {\n return (obj as ValuesType<T>[])\n .map((v) => cleanChild(v))\n .filter((v, idx) => filterPredicate(v, idx)) as never;\n }\n if (obj?.constructor === Object) {\n return Object.fromEntries(\n (Object.entries(obj) as [keyof T, ValuesType<T>][])\n .map(([k, v]) => [k, cleanChild(v)] as const)\n .filter(([k, v]) => filterPredicate(v, k)),\n ) as never;\n }\n return obj;\n}\n\nexport function cleanPrimitiveProps<T extends object>(\n obj: T,\n allowRootRemoval = false,\n isNotDeep = false,\n) {\n return clean(obj, allowRootRemoval, isNotDeep, (v) => !isEmptyPrimitive(v));\n}\n","function isNumber(v: unknown): boolean {\n return !!v && (typeof v === 'number' || /^-?\\d+.*$/.test(String(v).trim()));\n}\n\nfunction toNumber(v: unknown): number {\n return typeof v === 'string'\n ? parseFloat(v.replace(',', '.').replace(/[^0-9.-]+/g, ''))\n : Number(v);\n}\n\n/**\n * Use with sorting (arr.sort(fn))\n */\nexport function compareDifferentTypes<T>(a: T, b: T): number {\n const aIsNum = isNumber(a);\n const bIsNum = isNumber(b);\n if (aIsNum || bIsNum) {\n if (aIsNum && bIsNum) {\n return toNumber(a) - toNumber(b);\n } else if (aIsNum) {\n return -1;\n } else {\n return 1;\n }\n }\n return String(a).localeCompare(String(b));\n}\n","import { get } from 'lodash-es';\nimport { Observable, from } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport function getImportValue<T>(imp: Promise<unknown>, prop: string = 'default'): Observable<T> {\n return from(imp).pipe(\n map((module) => {\n if (!prop) {\n return module as T;\n }\n return get(module, prop, null) as T;\n }),\n );\n}\n","interface FileType {\n type: string;\n format: string;\n}\n\nconst FILE_TYPES = {\n csv: {\n type: 'text/csv',\n format: 'csv',\n },\n} satisfies Record<string, FileType>;\n\nexport function downloadFile(\n data: string,\n type: keyof typeof FILE_TYPES,\n filename: string = 'data',\n): void {\n const blob = new Blob([data], { type: FILE_TYPES[type].type });\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `${filename}.${FILE_TYPES[type].format}`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n}\n","import * as papaparse from 'papaparse';\n\nexport function createCsv(data: unknown[]) {\n return papaparse.unparse(data);\n}\n","import { Nil } from '../empty';\n\nexport function arrayAttribute<T>(value: ArrayAttributeTransform<T>): T[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value;\n}\n\nexport type ArrayAttributeTransform<T> = T[] | Nil;\n","export function DebounceTime(ms: number = 500) {\n return function (target: object, propertyKey: PropertyKey, descriptor: PropertyDescriptor) {\n let timer: number | null = null;\n const method = descriptor.value;\n\n descriptor.value = function () {\n if (timer !== null) {\n window.clearTimeout(timer);\n }\n timer = window.setTimeout(() => {\n // eslint-disable-next-line prefer-rest-params\n method.apply(this, arguments);\n timer = null;\n }, ms);\n };\n };\n}\n","import { Component, Input, booleanAttribute, input } from '@angular/core';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\n\nimport { FormControlSuperclass, createControlProviders } from '../../utils';\n\n@Component({\n selector: 'v-input-field',\n templateUrl: './input-field.component.html',\n providers: createControlProviders(() => InputFieldComponent),\n styleUrl: 'input-field.component.scss',\n standalone: false,\n})\nexport class InputFieldComponent<T> extends FormControlSuperclass<T> {\n @Input() label?: string;\n @Input() placeholder: string = '';\n @Input() type: 'string' | 'number' = 'string';\n @Input() appearance: MatFormFieldAppearance = 'fill';\n @Input() size?: 'small' | '';\n cleanButton = input(false, { transform: booleanAttribute });\n icon = input<string>();\n}\n","<mat-form-field\n [appearance]=\"appearance\"\n [ngClass]=\"{\n 'v-input-field__small': size === 'small',\n 'v-input-field__outline': appearance === 'outline',\n }\"\n class=\"v-input-field\"\n>\n @if (icon()) {\n <div class=\"prefix\" matPrefix>\n <mat-icon>{{ icon() }}</mat-icon>\n </div>\n }\n <mat-label>{{ label }}</mat-label>\n <input\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n autocomplete=\"false\"\n matInput\n />\n <div class=\"postfix\" matSuffix>\n @if (cleanButton()) {\n <button\n [disabled]=\"!control.value\"\n [style.visibility]=\"control.value ? '' : 'hidden'\"\n mat-icon-button\n (click)=\"control.reset()\"\n >\n <mat-icon>clear</mat-icon>\n </button>\n }\n </div>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { InputFieldComponent } from './input-field.component';\n\n@NgModule({\n declarations: [InputFieldComponent],\n exports: [InputFieldComponent],\n imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton],\n})\nexport class InputFieldModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n booleanAttribute,\n input,\n} from '@angular/core';\n\nimport { Color } from '../../styles';\n\n@Component({\n selector: 'v-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TagComponent {\n @HostBinding('class.v-tag') hostClass: boolean = true;\n\n @Input() color?: Color;\n icon = input<string>();\n\n progress = input(false, { transform: booleanAttribute });\n}\n","<mat-chip-row\n [disabled]=\"progress()\"\n [ngClass]=\"{ loading: progress(), action: !!icon() }\"\n class=\"tag {{ 'color-' + color }}\"\n disableRipple\n>\n @if (icon()) {\n <button matChipRemove>\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\n </button>\n }\n <ng-content></ng-content>\n</mat-chip-row>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TagComponent } from './tag.component';\n\n@NgModule({\n declarations: [TagComponent],\n imports: [CommonModule, MatChipsModule, MatIconModule],\n exports: [TagComponent],\n})\nexport class TagModule {}\n","export const SPACES = /[\\s\\u00A0]/g;\n\nexport function normalizeString(str: string) {\n return (str || '').replace(SPACES, ' ');\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Injector,\n OnInit,\n Renderer2,\n input,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\n\nimport { SPACES } from '../components/table/utils/normalize-string';\n\n@Directive({\n standalone: true,\n selector: '[vHighlight]',\n})\nexport class HighlightDirective implements OnInit {\n vHighlightText = input('', { transform: (v) => String(v || '') });\n vHighlightSearch = input('', { transform: (v) => String(v || '') });\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private dr: DestroyRef,\n private injector: Injector,\n ) {}\n\n ngOnInit() {\n combineLatest([\n toObservable(this.vHighlightText, { injector: this.injector }).pipe(\n distinctUntilChanged(),\n map((text) => this.escapeHtml(text)),\n ),\n toObservable(this.vHighlightSearch, { injector: this.injector }).pipe(\n distinctUntilChanged(),\n map((text) => this.escapeHtml(text)),\n ),\n ])\n .pipe(\n map(([text, search]) => {\n if (!search) {\n return text;\n }\n const re = new RegExp(`(${search.replace(SPACES, '\\\\s')})`, 'gi');\n return text.replace(re, `<mark>$1</mark>`);\n }),\n distinctUntilChanged(),\n takeUntilDestroyed(this.dr),\n )\n .subscribe((text) => {\n this.renderer.setProperty(this.el.nativeElement, 'innerHTML', text);\n });\n }\n\n private escapeHtml(html: string): string {\n return html\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n }\n}\n","import { Component, input } from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\n\nimport { TypedParamsValue } from '../types/base-type';\n\nexport interface MenuItem {\n label: string;\n click?: (event: MouseEvent) => void;\n disabled?: boolean;\n}\n\nexport type MenuValue = TypedParamsValue<'menu', { items: MenuItem[] }>;\n\n@Component({\n selector: 'v-menu-value',\n imports: [MatIcon, MatIconButton, MatMenu, MatMenuItem, MatMenuTrigger],\n template: ` @if (value(); as v) {\n <button [matMenuTriggerFor]=\"menu\" class=\"button\" mat-icon-button>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n @for (item of v.params.items; track item; let index = $index) {\n <button [disabled]=\"!!item?.disabled\" mat-menu-item (click)=\"item?.click?.($event)\">\n {{ item.label }}\n </button>\n }\n </mat-menu>\n }`,\n styles: ``,\n})\nexport class MenuValueComponent {\n value = input.required<MenuValue>();\n}\n","import { LOCALE_ID, inject } from '@angular/core';\n\nimport { formatCurrency } from '../../../utils';\nimport { TypedParamsValue } from '../types/base-type';\n\nexport type CurrencyAmountValue = TypedParamsValue<\n 'currency',\n { code: string; exponent?: number; major?: boolean },\n Parameters<typeof formatCurrency>[0]\n>;\n\nexport function currencyAmountValueToString(value: CurrencyAmountValue) {\n if (typeof value?.value !== 'number') {\n return '';\n }\n const locale = inject(LOCALE_ID);\n return formatCurrency(\n value.value,\n value.params.code,\n 'long',\n locale,\n value.params.exponent,\n !!value.params.major,\n );\n}\n","import { formatDate } from '@angular/common';\nimport { LOCALE_ID, inject } from '@angular/core';\n\nimport { TypedValue } from '../types/base-type';\n\nexport type DatetimeValue = TypedValue<'datetime', Parameters<typeof formatDate>[0]>;\n\nexport function datetimeValueToString(value: DatetimeValue) {\n if (!value?.value) {\n return '';\n }\n const locale = inject(LOCALE_ID);\n return formatDate(value.value, 'dd.MM.yyyy HH:mm:ss', locale, '+0000');\n}\n","import isNil from 'lodash-es/isNil';\n\nexport function unknownToString(value: unknown): string {\n if (isNil(value)) {\n return '';\n }\n return String(value);\n}\n","import { Value } from '../types/value';\n\nimport { currencyAmountValueToString } from './currency-amount-value-to-string';\nimport { datetimeValueToString } from './datetime-value-to-string';\nimport { unknownToString } from './unknown-to-string';\n\nexport function valueToString(value?: Value | null): string {\n switch (value?.type) {\n case 'currency':\n return currencyAmountValueToString(value);\n case 'datetime':\n return datetimeValueToString(value);\n }\n return unknownToString(value?.value)?.trim?.();\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Injector,\n Input,\n booleanAttribute,\n input,\n model,\n runInInjectionContext,\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { Router } from '@angular/router';\nimport { Observable, combineLatest, isObservable, of, switchMap } from 'rxjs';\nimport { filter, first, map, shareReplay } from 'rxjs/operators';\n\nimport { HighlightDirective } from '../../directives';\nimport { Nil } from '../../utils';\nimport { ContentLoadingComponent } from '../content-loading';\nimport { TagModule } from '../tag';\n\nimport { MenuValueComponent } from './components/menu-value.component';\nimport { Value } from './types/value';\nimport { valueToString } from './utils/value-to-string';\n\n@Component({\n selector: 'v-value',\n imports: [\n CommonModule,\n MatIcon,\n MatIconButton,\n TagModule,\n MatTooltip,\n MenuValueComponent,\n ContentLoadingComponent,\n HighlightDirective,\n ],\n templateUrl: './value.component.html',\n styleUrl: './value.component.scss',\n host: {\n '[class.inline]': 'inline',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ValueComponent {\n value = input<Value | Nil>();\n lazyValue = input<Observable<Value> | Nil>();\n lazyVisible = model<boolean>(false);\n\n progress = input(false, { transform: booleanAttribute });\n @Input({ transform: booleanAttribute }) inline = false;\n @Input({\n transform: (v: unknown): string => (v === false ? '' : typeof v === 'string' ? v : '―'),\n })\n emptySymbol = '―';\n\n @Input() highlight?: string | null;\n\n value$ = combineLatest([toObservable(this.value), toObservable(this.lazyValue)]).pipe(\n switchMap(([value, lazyValue]) => (isObservable(lazyValue) ? lazyValue : of(value))),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n valueText$ = this.value$.pipe(\n map((value) => runInInjectionContext(this.injector, () => valueToString(value))),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n inProgress$ = combineLatest([\n toObservable(this.progress),\n this.value$.pipe(map((v) => v?.inProgress ?? false)),\n ]).pipe(\n map(([compProgress, valueProgress]) => compProgress || valueProgress),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n constructor(\n private injector: Injector,\n private router: Router,\n ) {}\n\n makeLazyVisible() {\n this.lazyVisible.set(true);\n }\n\n click(event: MouseEvent) {\n this.value$.pipe(first(), filter(Boolean)).subscribe((value) => {\n runInInjectionContext(this.injector, () => {\n if (value?.click) {\n value.click(event);\n } else if (typeof value?.link === 'function') {\n const linkArgs = value.link(event);\n if (typeof linkArgs === 'string') {\n this.router.navigateByUrl(linkArgs);\n return;\n }\n this.router.navigate(...linkArgs);\n }\n });\n });\n }\n}\n","@if (!value() && lazyValue() && !lazyVisible()) {\n <button class=\"button\" mat-icon-button (click)=\"lazyVisible.set(true)\">\n <mat-icon>sync</mat-icon>\n </button>\n} @else {\n @if (value$ | async; as v) {\n @if (v.template) {\n <ng-container *ngTemplateOutlet=\"v.template; context: {}\"></ng-container>\n } @else {\n @if (v.color) {\n <v-tag [color]=\"v.color\">\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n </v-tag>\n } @else {\n <ng-container *ngTemplateOutlet=\"tooltipTemplate\"></ng-container>\n }\n\n <ng-template #tooltipTemplate>\n @if (v.tooltip) {\n <span [matTooltip]=\"v.tooltip\" class=\"tooltip\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n } @else {\n <span [title]=\"v.value\">\n <ng-container *ngTemplateOutlet=\"valueTemplate\"></ng-container>\n </span>\n }\n </ng-template>\n\n <ng-template #valueTemplate>\n @switch (v.type) {\n @case ('menu') {\n <v-menu-value [value]=\"v\"></v-menu-value>\n }\n @default {\n @let valueText = valueText$ | async;\n @if (inProgress$ | async) {\n <v-content-loading [hiddenText]=\"valueText\"></v-content-loading>\n } @else if (valueText) {\n <span\n [ngClass]=\"{ value__click: v.click, value__link: v.link }\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"valueText\"\n vHighlight\n (click)=\"click($event)\"\n ></span>\n } @else if (emptySymbol) {\n <span style=\"color: #ccc\">{{ emptySymbol }}</span>\n }\n }\n }\n </ng-template>\n }\n\n @if (v.description) {\n <div\n [title]=\"v.description\"\n [vHighlightSearch]=\"highlight\"\n [vHighlightText]=\"v.description\"\n class=\"description mat-label-medium mat-secondary-text\"\n vHighlight\n ></div>\n }\n } @else {\n <v-content-loading></v-content-loading>\n }\n}\n","import { Component, input } from '@angular/core';\n\nimport { Value } from '../types/value';\nimport { ValueComponent } from '../value.component';\n\n@Component({\n selector: 'v-value-list',\n imports: [ValueComponent],\n template: `\n @if (list(); as items) {\n @if (items.length > 1) {\n <div class=\"list\">\n @for (item of items; track item) {\n <v-value [value]=\"item\" inline></v-value>\n }\n </div>\n } @else {\n <v-value [value]=\"items[0]\" inline></v-value>\n }\n } @else {\n <v-value [progress]=\"true\" inline></v-value>\n }\n `,\n styles: `\n .list {\n display: flex;\n flex-direction: column;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n min-height: 20px;\n }\n }\n `,\n})\nexport class ValueListComponent {\n list = input<Value[] | undefined | null>();\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'v-table-inputs',\n template: `<ng-content></ng-content>`,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TableInputsComponent {}\n","import isNil from 'lodash-es/isNil';\n\nexport function createUniqueColumnDef(name?: unknown) {\n return `___$$${\n typeof name === 'object' || isNil(name) ? 'column' : String(name)\n }_${Math.random().toString()}`;\n}\n","import { Sort } from '@angular/material/sort';\n\nimport { createUniqueColumnDef } from './utils/create-unique-column-def';\n\nexport const DEFAULT_SORT: Sort = { active: '', direction: '' };\nexport const DEBOUNCE_TIME_MS = 500;\nexport const DEFAULT_LOADED_LAZY_ROWS_COUNT = 3;\nexport const COLUMN_DEFS = {\n select: createUniqueColumnDef('select'),\n drag: createUniqueColumnDef('drag'),\n};\n","import { get } from 'lodash-es';\nimport isNil from 'lodash-es/isNil';\nimport startCase from 'lodash-es/startCase';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { Async, PossiblyAsync, getPossiblyAsyncObservable } from '../../../utils';\nimport { Value } from '../../value';\n\nexport type Fn<R, P extends Array<unknown> = []> = (...args: P) => R;\nexport type PossiblyFn<R, P extends Array<unknown> = []> = Fn<R, P> | R;\n\nexport type CellFnArgs<T extends object> = [data: T, index: number];\n\ninterface ColumnParams {\n sticky?: 'start' | 'end';\n style?: Record<string, unknown>;\n}\n\nexport type CellValue = 'string' | Value;\n\nexport interface Column<T extends object, C extends object = object> extends ColumnParams {\n field: string;\n\n header?: PossiblyAsync<Partial<Value> | string>;\n\n cell?: PossiblyFn<PossiblyAsync<CellValue>, CellFnArgs<T>>;\n lazyCell?: PossiblyFn<Async<CellValue>, CellFnArgs<T>>;\n child?: PossiblyFn<PossiblyAsync<CellValue>, CellFnArgs<C>>;\n\n hidden?: PossiblyAsync<boolean>;\n sort?: PossiblyAsync<boolean>;\n}\n\nexport function normalizePossiblyFn<R, P extends Array<unknown>>(fn: PossiblyFn<R, P>): Fn<R, P> {\n return typeof fn === 'function' ? (fn as Fn<R, P>) : () => fn;\n}\n\nexport function normalizeCell<T extends object, C extends object>(\n field: string,\n cell: Column<T, C>['cell'],\n hasChild: boolean = false,\n): Fn<Observable<Value>, CellFnArgs<T>> {\n const cellFn = normalizePossiblyFn(cell);\n return (...args) =>\n getPossiblyAsyncObservable(cellFn(...args)).pipe(\n map((value) => {\n const defaultValue = hasChild ? { value: '' } : { value: get(args[0], field) };\n if (isNil(value)) {\n return defaultValue;\n }\n return typeof value === 'object' ? { ...defaultValue, ...value } : { value };\n }),\n );\n}\n\nexport class NormColumn<T extends object, C extends object = object> {\n field!: string;\n header!: Observable<Value>;\n cell?: Fn<Observable<Value>, CellFnArgs<T>>;\n lazyCell?: Fn<Observable<Value>, CellFnArgs<T>>;\n child?: Fn<Observable<Value>, CellFnArgs<C>>;\n hidden!: Observable<boolean>;\n sort!: Observable<boolean | null>;\n params!: ColumnParams;\n\n constructor(\n { field, header, cell, child, hidden, sort, lazyCell, ...params }: Column<T, C>,\n commonParams: ColumnParams = {},\n ) {\n this.field = field ?? (typeof header === 'string' ? header : String(Math.random()));\n const defaultHeaderValue = startCase((field || '').split('.').at(-1));\n this.header = getPossiblyAsyncObservable(header).pipe(\n map((value) =>\n typeof value === 'object'\n ? ({ value: defaultHeaderValue, ...value } as Value)\n : { value: value ?? defaultHeaderValue },\n ),\n );\n if (cell || !lazyCell) {\n this.cell = normalizeCell(this.field, cell, !!child);\n }\n if (lazyCell) {\n this.lazyCell = normalizeCell(this.field, lazyCell, !!child);\n }\n if (child) {\n this.child = normalizeCell(this.field, child);\n }\n this.params = {\n ...commonParams,\n ...params,\n style: Object.assign({}, commonParams?.style, params?.style),\n };\n this.hidden = isNil(hidden) ? of(false) : getPossiblyAsyncObservable(hidden);\n this.sort = isNil(sort) ? of(null) : getPossiblyAsyncObservable(sort);\n }\n}\n","import { Injector, inject, runInInjectionContext } from '@angular/core';\nimport { Sort } from '@angular/material/sort';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { compareDifferentTypes } from '../../../utils';\nimport { valueToString } from '../../value/utils/value-to-string';\nimport { NormColumn } from '../types';\nimport { ColumnData, DisplayedData, DisplayedDataItem } from '../utils/to-columns-data';\n\nimport { normalizeString } from './normalize-string';\n\nexport type FilterSearchData<T extends object, C extends object> = Map<\n DisplayedDataItem<T, C>,\n { byColumns: string[][]; byRow: string }\n>;\n\nexport function columnsDataToFilterSearchData<T extends object, C extends object>(\n src$: Observable<Map<DisplayedDataItem<T, C>, ColumnData>>,\n) {\n const injector = inject(Injector);\n return src$.pipe(\n map(\n (data) =>\n new Map(\n Array.from(data.entries()).map(([item, value]) => [\n item,\n {\n byColumns: value.map((el) => [\n runInInjectionContext(injector, () =>\n normalizeString(valueToString(el?.value)),\n ),\n normalizeString(String(el?.value?.description ?? '')),\n ]),\n byRow: JSON.stringify(item),\n },\n ]),\n ),\n ),\n );\n}\n\nfunction getWeight(\n searchValue: string,\n search: string,\n lowerCaseSearch: string,\n unimportance: number = 0,\n) {\n if (searchValue === search) {\n return 1000000 - unimportance;\n } else if (searchValue.includes(search)) {\n return 10000 - unimportance;\n } else if (searchValue.toLowerCase().includes(lowerCaseSearch)) {\n return 100 - unimportance;\n }\n return 0;\n}\n\nexport function filterData<T extends object, C extends object>(\n data: FilterSearchData<T, C>,\n search: string,\n) {\n const lowerCaseSearch = search.toLowerCase();\n return Array.from(data.entries())\n .map(([value, searchValuesCols]) => ({\n value,\n priority:\n searchValuesCols.byColumns.reduce(\n (priority, searchValues) =>\n searchValues.reduce(\n (colPriority, searchValue, idx) =>\n colPriority + getWeight(searchValue, search, lowerCaseSearch, idx),\n priority,\n ),\n 0,\n ) + getWeight(searchValuesCols.byRow, search, lowerCaseSearch, 1),\n }))\n .filter((v) => v.priority)\n .sort((a, b) => b.priority - a.priority)\n .map((v) => v.value);\n}\n\nexport function sortData<T extends object, C extends object>(\n source: DisplayedData<T, C>,\n data: FilterSearchData<T, C>,\n columns: NormColumn<T, C>[],\n sort: Sort,\n) {\n if (!sort?.active || !sort?.direction) {\n return source;\n }\n const colIdx = columns.findIndex((c) => c.field === sort.active);\n const sortedData = source\n .slice()\n .sort((a, b) =>\n compareDifferentTypes(\n (data.get(a)?.byColumns ?? [])[colIdx]?.[0],\n (data.get(b)?.byColumns ?? [])[colIdx]?.[0],\n ),\n );\n return sort.direction === 'desc' ? sortedData.reverse() : sortedData;\n}\n","import { TreeDataItem } from './tree-data';\n\nexport function treeDataItemToInlineDataItem<T extends object, C extends object>(\n item: TreeDataItem<T, C>,\n) {\n const children = item.children ?? [];\n return [\n children.length ? { value: item.value, child: children[0] } : { value: item.value },\n ...children.slice(1).map((child) => ({ child })),\n ];\n}\n","import { Observable, scan } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport function cachedHeadMap<T extends object, R>(fn: (el: T, idx: number) => R) {\n return (src$: Observable<T[] | undefined>) => {\n return src$.pipe(\n scan(\n (acc, v) => {\n return {\n prev: v ?? [],\n res: (v ?? []).map((el, idx) =>\n acc.prev[idx] === el ? acc.res[idx] : fn(el, idx),\n ),\n };\n },\n { prev: [], res: [] } as { prev: T[]; res: R[] },\n ),\n map(({ res }) => res),\n );\n };\n}\n","import { DestroyRef, EventEmitter, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { BehaviorSubject, Observable, switchMap } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\nimport {\n TreeData,\n TreeInlineData,\n TreeInlineDataItem,\n treeDataItemToInlineDataItem,\n} from '../tree-data';\n\nimport { cachedHeadMap } from './cached-head-map';\n\nexport class TableDataSource<T extends object, C extends object = never> extends MatTableDataSource<\n T | TreeInlineDataItem<T, C>,\n OnePageTableDataSourcePaginator & MatPaginator\n> {\n isTreeData$ = new BehaviorSubject(false);\n sourceData$ = new BehaviorSubject<T[] | TreeData<T, C>>([]);\n data$: Observable<T[] | TreeInlineData<T, C>> = this.isTreeData$.pipe(\n switchMap((isTreeData) =>\n isTreeData\n ? (this.sourceData$ as Observable<TreeData<T, C>>).pipe(\n cachedHeadMap(treeDataItemToInlineDataItem),\n map((v) => v.flat()),\n )\n : this.sourceData$,\n ),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n override get paginator() {\n return this.__paginator as OnePageTableDataSourcePaginator & MatPaginator;\n }\n\n private __paginator = new OnePageTableDataSourcePaginator();\n\n constructor() {\n super();\n this.data$.pipe(takeUntilDestroyed(inject(DestroyRef))).subscribe((data) => {\n this.data = data;\n });\n }\n\n setData(data: T[]) {\n this.sourceData$.next(data);\n if (this.isTreeData$.value) {\n this.isTreeData$.next(false);\n }\n }\n\n setTreeData(data: TreeData<T, C>) {\n this.sourceData$.next(data);\n if (!this.isTreeData$.value) {\n this.isTreeData$.next(true);\n }\n }\n}\n\nclass OnePageTableDataSourcePaginator implements Partial<MatPaginator> {\n pageIndex = 0;\n pageSize = 0;\n page = new EventEmitter<PageEvent>();\n initialized = new BehaviorSubject(undefined);\n\n get length() {\n return this.pageSize;\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n set length(_length) {}\n\n get displayedPages() {\n return this.pageSize / this.partSize;\n }\n\n private partSize!: number;\n\n constructor(partSize?: number) {\n this.setSize(partSize);\n }\n\n setSize(partSize = 25) {\n if (partSize !== this.partSize) {\n this.pageSize = this.partSize = partSize;\n this.reload();\n }\n }\n\n reload() {\n this.pageSize = this.partSize;\n this.update();\n }\n\n more() {\n this.pageSize += this.partSize;\n this.update();\n }\n\n private update() {\n this.page.next({\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n length: this.length,\n });\n }\n}\n","import { Value } from '../../value';\nimport { unknownToString } from '../../value/utils/unknown-to-string';\nimport { valueToString } from '../../value/utils/value-to-string';\nimport { ColumnData, DisplayedDataItem } from '../utils/to-columns-data';\n\nexport function tableToCsvObject<T extends object, C extends object>(\n cols: Value[],\n displayedData: Map<DisplayedDataItem<T, C>, ColumnData>,\n): string[][] {\n const data = Array.from(displayedData.values()).map((columnData) =>\n columnData.map((v) => v.value),\n );\n\n const res = [\n cols\n .map((v) => {\n const res = valueToString(v);\n return [res, `${res} (description)`];\n })\n .flat(),\n ...data.map((r) =>\n r.map((c) => [valueToString(c), unknownToString(c?.description)]).flat(),\n ),\n ];\n // Removing empty description columns (every second column)\n let emptyCols = [];\n for (\n let i = 1;\n i < res[0].length;\n i += 2 // description - every second column\n ) {\n let isEmpty = true;\n for (\n let j = 1; // ignore header row\n j < res.length;\n ++j\n ) {\n if (res[j][i]) {\n isEmpty = false;\n break;\n }\n }\n if (isEmpty) {\n emptyCols.push(i);\n }\n }\n emptyCols = emptyCols.reverse();\n for (const i of emptyCols) {\n for (let j = 0; j < res.length; ++j) {\n res[j].splice(i, 1);\n }\n }\n return res;\n}\n","import { isEqual } from 'lodash-es';\nimport { Observable, combineLatest, of, scan, switchMap, timer } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\nimport { Overwrite } from 'utility-types';\n\nimport { Value } from '../../value';\nimport { TreeInlineData, TreeInlineDataItem } from '../tree-data';\nimport { CellFnArgs, Fn, NormColumn } from '../types';\n\nexport type DisplayedDataItem<T extends object, C extends object> = TreeInlineDataItem<T, C> | T;\nexport type DisplayedData<T extends object, C extends object> = TreeInlineData<T, C> | T[];\n\nexport type ColumnDataItem = {\n value: Value | null;\n lazyValue?: Observable<Value>;\n isChild?: boolean;\n isNextChild?: boolean;\n};\nexport type ColumnData = ColumnDataItem[];\n\ntype ScanColumnDataItem = Overwrite<ColumnDataItem, { value: Observable<Value | null> }>;\ntype ScanColumnData<T extends object, C extends object> = Map<NormColumn<T, C>, ScanColumnDataItem>;\ntype ColumnDataMap<T extends object, C extends object> = Map<\n DisplayedDataItem<T, C>,\n ScanColumnData<T, C>\n>;\n\nfunction getValue<T extends object>(\n cellFn: Fn<Observable<Value>, CellFnArgs<T>> | undefined,\n ...[value, idx]: CellFnArgs<T>\n) {\n return cellFn ? cellFn(value, idx).pipe(toScannedValue) : of(null);\n}\n\nfunction toScannedValue(src$: Observable<Value>) {\n return src$.pipe(\n shareReplay({\n bufferSize: 1,\n refCount: true,\n }),\n );\n}\n\nexport function toObservableColumnsData<T extends object, C extends object>(\n src$: Observable<{ isTree: boolean; data: DisplayedData<T, C>; cols: NormColumn<T, C>[] }>,\n): Observable<ColumnDataMap<T, C>> {\n return src$.pipe(\n scan(\n (acc, { isTree, data, cols }) => {\n const isColsNotChanged = acc.cols === cols;\n return {\n res: new Map<TreeInlineDataItem<T, C> | T, ScanColumnData<T, C>>(\n isTree\n ? (data as TreeInlineData<T, C>).map((d, idx) => [\n d,\n isColsNotChanged &&\n d === acc.data[idx] &&\n // This is not the last value, because we need to calculate isNextChild\n idx !== acc.data.length - 1\n ? (acc.res.get(d) as ScanColumnData<T, C>)\n : new Map(\n cols.map((c) => [\n c,\n {\n value:\n d.child && c.child\n ? getValue(c.child, d.child, idx)\n : d.value\n ? getValue(c.cell, d.value, idx)\n : of({ value: '' }),\n // TODO add support of lazyValue\n isChild: !d.value,\n isNextChild: !(data as TreeInlineData<T, C>)[\n idx + 1\n ]?.value,\n },\n ]),\n ),\n ])\n : (data as T[]).map((d, idx) => [\n d,\n isColsNotChanged && d === acc.data[idx]\n ? (acc.res.get(d) as ScanColumnData<T, C>)\n : new Map(\n cols.map((c) => [\n c,\n {\n value: getValue(c.cell, d, idx),\n lazyValue: c.lazyCell\n ? c.lazyCell(d, idx).pipe(toScannedValue)\n : undefined,\n },\n ]),\n ),\n ]),\n ),\n data,\n cols,\n };\n },\n { data: [], cols: [], res: new Map() } as {\n data: DisplayedData<T, C>;\n cols: NormColumn<T, C>[];\n res: ColumnDataMap<T, C>;\n },\n ),\n map(({ res }) => res),\n );\n}\n\nexport function toColumnsData<T extends object, C extends object>(\n src$: Observable<ColumnDataMap<T, C>>,\n): Observable<Map<DisplayedDataItem<T, C>, ColumnData>> {\n return src$.pipe(\n switchMap((columnsData) => {\n if (!columnsData.size) {\n return of(new Map());\n }\n return combineLatest(\n Array.from(columnsData.values()).map((v) =>\n combineLatest(\n Array.from(v.values()).map((cell) =>\n timer(0).pipe(\n switchMap(() => cell.value),\n distinctUntilChanged(isEqual),\n ),\n ),\n ).pipe(debounceTime(0)),\n ),\n ).pipe(\n debounceTime(0),\n map(\n (res) =>\n new Map(\n Array.from(columnsData.entries()).map(([k, v], idx) => [\n k,\n Array.from(v.values()).map((cell, colIdx) => ({\n ...cell,\n value: res[idx][colIdx],\n })),\n ]),\n ),\n ),\n );\n }),\n );\n}\n","import { ChangeDetectionStrategy, Component, booleanAttribute, input } from '@angular/core';\n\n@Component({\n selector: 'v-no-records',\n template: `\n @if (noRecords()) {\n <div class=\"no-records mat-body-large\">\n {{ progress() ? 'Loading...' : 'No records' }}\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n styles: `\n .no-records {\n position: absolute;\n z-index: 999;\n top: calc(50% + (56px / 2));\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n }\n `,\n})\nexport class NoRecordsComponent {\n noRecords = input(false, { transform: booleanAttribute });\n progress = input(false, { transform: booleanAttribute });\n}\n","import { Observable } from 'rxjs';\n\nexport function createIntersectionObserver(el: HTMLElement) {\n return new Observable<IntersectionObserverEntry>((subscriber) => {\n const observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n subscriber.next(entry);\n }\n }\n });\n observer.observe(el);\n return {\n unsubscribe() {\n observer.disconnect();\n },\n };\n });\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n OnInit,\n booleanAttribute,\n input,\n output,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\n\nimport { createIntersectionObserver } from '../utils/create-intersection-observer';\n\n@Directive({\n selector: '[vInfinityScroll]',\n standalone: true,\n})\nexport class InfinityScrollDirective implements OnInit {\n vInfinityScroll = input(false, { transform: booleanAttribute });\n vInfinityScrollMore = output();\n\n constructor(\n private elementRef: ElementRef,\n private dr: DestroyRef,\n ) {}\n\n ngOnInit() {\n createIntersectionObserver(this.elementRef.nativeElement)\n .pipe(\n filter(() => this.vInfinityScroll()),\n takeUntilDestroyed(this.dr),\n )\n .subscribe(() => {\n this.vInfinityScrollMore.emit();\n });\n }\n}\n","import { Directive, OnDestroy, OnInit, inject, input, viewChild } from '@angular/core';\nimport {\n MatCellDef,\n MatColumnDef,\n MatFooterCellDef,\n MatHeaderCellDef,\n MatTable,\n} from '@angular/material/table';\n\n@Directive()\nexport class BaseColumnComponent implements OnDestroy, OnInit {\n name = input.required<string>();\n table = inject(MatTable);\n\n columnDef = viewChild(MatColumnDef);\n cellDef = viewChild(MatCellDef);\n headerCellDef = viewChild(MatHeaderCellDef);\n footerCellDef = viewChild(MatFooterCellDef);\n\n addedColumnDef?: MatColumnDef;\n\n ngOnInit() {\n const columnDef = this.columnDef();\n if (columnDef) {\n columnDef.name = this.name();\n columnDef.cell = this.cellDef() as never;\n columnDef.headerCell = this.headerCellDef() as never;\n columnDef.footerCell = this.footerCellDef() as never;\n this.removeColumnDef();\n this.table.addColumnDef(columnDef);\n this.addedColumnDef = columnDef;\n }\n }\n\n ngOnDestroy() {\n this.removeColumnDef();\n }\n\n private removeColumnDef() {\n if (this.table && this.addedColumnDef) {\n this.table.removeColumnDef(this.addedColumnDef);\n }\n }\n}\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n OnChanges,\n OnDestroy,\n OnInit,\n input,\n model,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTableModule } from '@angular/material/table';\nimport { combineLatest } from 'rxjs';\nimport { map, shareReplay, startWith } from 'rxjs/operators';\n\nimport { ArrayAttributeTransform, ComponentChanges, arrayAttribute } from '../../../utils';\n\nimport { BaseColumnComponent } from './base-column.component';\n\n@Component({\n selector: 'v-select-column',\n template: `\n <ng-container [matColumnDef]=\"name()\" [sticky]=\"true\">\n @let columnClasses = 'column';\n <th *matHeaderCellDef [class]=\"columnClasses\" mat-header-cell>\n <mat-checkbox\n [checked]=\"selection.hasValue() && (isAllSelected$ | async)\"\n [disabled]=\"!!progress() || !data()?.length\"\n [indeterminate]=\"selection.hasValue() && !(isAllSelected$ | async)\"\n (change)=\"$event ? toggleAllRows() : null\"\n >\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let row\" [class]=\"columnClasses\" mat-cell>\n <mat-checkbox\n [checked]=\"selection.isSelected(row)\"\n [disabled]=\"!!progress()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n (click)=\"$event.stopPropagation()\"\n >\n </mat-checkbox>\n </td>\n <td *matFooterCellDef [class]=\"columnClasses\" mat-footer-cell>\n <mat-checkbox disabled></mat-checkbox>\n </td>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, MatTableModule, MatCheckboxModule],\n styles: `\n .column {\n padding-left: 4px;\n padding-right: 4px;\n width: 48px;\n border-right: 1px solid;\n text-overflow: clip;\n }\n `,\n})\nexport class SelectColumnComponent<T>\n extends BaseColumnComponent\n implements OnInit, OnDestroy, OnChanges\n{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n selected = model<any[]>([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data = input<T[], ArrayAttributeTransform<any>>([], { transform: arrayAttribute });\n progress = input<boolean | number | null | undefined>(false);\n\n selection = new SelectionModel<T>(true, []);\n isAllSelected$ = combineLatest([\n this.selection.changed.pipe(startWith(null)),\n toObservable(this.data),\n ]).pipe(\n map(() => this.getIsAllSelected()),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n constructor(private dr: DestroyRef) {\n super();\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.selection.changed.pipe(takeUntilDestroyed(this.dr)).subscribe(() => {\n this.selected.set(this.selection.selected);\n });\n }\n\n ngOnChanges(changes: ComponentChanges<SelectColumnComponent<T>>) {\n if (changes.data || changes.selected) {\n this.updateSelection();\n }\n }\n\n toggleAllRows() {\n if (this.getIsAllSelected()) {\n this.selection.clear(true);\n return;\n }\n this.selection.select(...this.data());\n }\n\n private getIsAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.data().length;\n return numSelected === numRows;\n }\n\n private updateSelection() {\n const newSelected = (this.selected() || []).filter((d) => !!this.data()?.includes?.(d));\n this.selection.deselect(...this.selection.selected.filter((s) => !newSelected.includes(s)));\n this.selection.select(...newSelected);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { BaseColumnComponent } from './base-column.component';\n\n@Component({\n selector: 'v-dnd-column',\n template: `\n <ng-container [matColumnDef]=\"name()\" [sticky]=\"true\">\n @let columnClasses = 'column';\n <th *matHeaderCellDef [class]=\"columnClasses\" mat-header-cell></th>\n <td *matCellDef=\"let row\" [class]=\"columnClasses\" mat-cell>\n <div class=\"position\">\n <mat-icon class=\"dragCursor\" (mousedown)=\"dragged.emit()\">reorder</mat-icon>\n <!-- <span>{{ index + 1 }}</span>-->\n </div>\n </td>\n <td *matFooterCellDef [class]=\"columnClasses\" mat-footer-cell>\n <div class=\"position\">\n <mat-icon class=\"dragCursor\">reorder</mat-icon>\n </div>\n </td>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, MatTableModule, MatIconModule],\n styles: `\n .column {\n .position {\n display: flex;\n align-items: center;\n gap: 8px;\n\n .dragCursor {\n cursor: move;\n }\n }\n }\n `,\n})\nexport class DndColumnComponent extends BaseColumnComponent {\n dragged = output();\n}\n","import {\n Component,\n DestroyRef,\n OnInit,\n booleanAttribute,\n computed,\n input,\n numberAttribute,\n output,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\n\nimport { NormColumn } from '../../types';\n\n@Component({\n selector: 'v-table-info-bar',\n templateUrl: 'table-info-bar.component.html',\n styleUrl: 'table-info-bar.component.scss',\n standalone: false,\n})\nexport class TableInfoBarComponent<T extends object, C extends object> implements OnInit {\n progress = input(false, { transform: booleanAttribute });\n hasMore = input(false, { transform: booleanAttribute });\n hasLoad = input(false, { transform: booleanAttribute });\n isPreload = input(false, { transform: booleanAttribute });\n noDownload = input(false, { transform: booleanAttribute });\n noToolbar = input(false, { transform: booleanAttribute });\n dataProgress = input(false, { transform: booleanAttribute });\n columns = input<NormColumn<T, C>[]>([]);\n\n size = input(0, { transform: numberAttribute });\n preloadSize = input(0, { transform: numberAttribute });\n\n count = input<number | undefined | null>(undefined);\n filteredCount = input<number | undefined | null>(0);\n selectedCount = input<number | undefined | null>(0);\n\n filter = input<string>('');\n standaloneFilter = input(false, { transform: booleanAttribute });\n hasInputs = input(false, { transform: booleanAttribute });\n filterChange = output<string>();\n filterControl = new FormControl('', { nonNullable: true });\n\n downloadCsv = output();\n // eslint-disable-next-line @angular-eslint/no-output-native\n load = output();\n preload = output();\n\n countText = computed(() =>\n this.count()\n ? (this.filter() && this.filteredCount() !== this.count()\n ? this.filteredCount() + '/'\n : '') +\n (this.hasMore() ? '>' : '') +\n this.count()\n : this.progress() || this.count() !== 0\n ? '...'\n : '0',\n );\n\n constructor(private dr: DestroyRef) {}\n\n ngOnInit() {\n this.filterControl.valueChanges.pipe(takeUntilDestroyed(this.dr)).subscribe((v) => {\n this.filterChange.emit(v);\n });\n }\n\n // tune() {\n // this.dialogService.open(CustomizeComponent, { columns: this.columns() });\n // }\n}\n","<div class=\"wrapper\">\n @if (standaloneFilter()) {\n <div class=\"header-wrapper\">\n @if (hasInputs()) {\n <ng-content select=\"v-table-inputs\"></ng-content>\n }\n <v-input-field\n [formControl]=\"filterControl\"\n class=\"filter__standalone filter\"\n cleanButton\n label=\"Search\"\n ></v-input-field>\n </div>\n }\n <v-actions>\n <v-actions>\n @if (!noToolbar()) {\n @if (!standaloneFilter()) {\n <div>\n <v-input-field\n [formControl]=\"filterControl\"\n appearance=\"outline\"\n class=\"filter filter__extended\"\n cleanButton\n icon=\"manage_search\"\n label=\"Search\"\n size=\"small\"\n ></v-input-field>\n </div>\n }\n <div class=\"details\">\n @if (hasLoad() || hasMore()) {\n <button\n [disabled]=\"progress() || !hasMore()\"\n mat-icon-button\n matTooltip=\"Preload {{ preloadSize() }}{{\n isPreload() && hasMore() ? ' more' : ''\n }} elements\"\n (click)=\"preload.emit()\"\n >\n <mat-icon>\n {{\n hasMore()\n ? isPreload()\n ? 'downloading'\n : 'download'\n : 'download_done'\n }}\n </mat-icon>\n </button>\n }\n @if (!noDownload()) {\n <button\n [disabled]=\"progress() || !count()\"\n mat-icon-button\n matTooltip=\"Download CSV\"\n (click)=\"downloadCsv.emit()\"\n >\n <mat-icon>file_save</mat-icon>\n </button>\n }\n <!-- <button mat-icon-button matTooltip=\"Customize table\" (click)=\"tune()\">\n <mat-icon>tune</mat-icon>\n </button> -->\n </div>\n }\n <div\n [matBadge]=\"selectedCount() || ''\"\n [matBadgeDisabled]=\"progress() || dataProgress()\"\n [matTooltip]=\"\n dataProgress()\n ? 'Preparing data for sorting, filtering and downloading...'\n : progress()\n ? 'Loading...'\n : 'Reload ' + size() + ' elements'\n \"\n class=\"count\"\n (click)=\"hasLoad() ? load.emit() : undefined\"\n >\n <v-tag\n [icon]=\"hasLoad() ? 'refresh' : undefined\"\n [progress]=\"progress() || dataProgress()\"\n >\n {{ countText() }}\n </v-tag>\n </div>\n </v-actions>\n <v-actions>\n <ng-content></ng-content>\n </v-actions>\n </v-actions>\n</div>\n","import { CdkDragDrop } from '@angular/cdk/drag-drop';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n Injector,\n OnInit,\n ViewChild,\n booleanAttribute,\n computed,\n input,\n model,\n numberAttribute,\n output,\n runInInjectionContext,\n signal,\n} from '@angular/core';\nimport { outputFromObservable, takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatRow, MatTable } from '@angular/material/table';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n combineLatest,\n debounceTime,\n defer,\n first,\n forkJoin,\n merge,\n switchMap,\n take,\n tap,\n} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n share,\n shareReplay,\n startWith,\n} from 'rxjs/operators';\n\nimport { ArrayAttributeTransform, arrayAttribute, createCsv, downloadFile } from '../../utils';\n\nimport { TableInputsComponent } from './components/table-inputs.component';\nimport {\n COLUMN_DEFS,\n DEBOUNCE_TIME_MS,\n DEFAULT_LOADED_LAZY_ROWS_COUNT,\n DEFAULT_SORT,\n} from './consts';\nimport { TreeData } from './tree-data';\nimport { Column, DragDrop, NormColumn, UpdateOptions } from './types';\nimport { columnsDataToFilterSearchData, filterData, sortData } from './utils/filter-sort';\nimport { TableDataSource } from './utils/table-data-source';\nimport { tableToCsvObject } from './utils/table-to-csv-object';\nimport {\n DisplayedData,\n DisplayedDataItem,\n toColumnsData,\n toObservableColumnsData,\n} from './utils/to-columns-data';\n\n@Component({\n selector: 'v-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TableComponent<T extends object, C extends object> implements OnInit {\n data = input<T[], ArrayAttributeTransform<T>>([], { transform: arrayAttribute });\n treeData = input<TreeData<T, C>>();\n columns = input<Column<T, C>[], ArrayAttributeTransform<Column<T, C>>>([], {\n transform: arrayAttribute,\n });\n progress = input(false, { transform: Boolean });\n hasMore = input(false, { transform: booleanAttribute });\n size = input(25, { transform: numberAttribute });\n maxSize = input(1000, { transform: numberAttribute });\n noDownload = input(false, { transform: booleanAttribute });\n noToolbar = input(false, { transform: booleanAttribute });\n\n // Filter\n filter = model('');\n filter$ = toObservable(this.filter).pipe(\n map((v) => (v || '').trim()),\n distinctUntilChanged(),\n debounceTime(DEBOUNCE_TIME_MS),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n standaloneFilter = input(false, { transform: booleanAttribute });\n externalFilter = input(false, { transform: booleanAttribute });\n filteredSortData$ = new BehaviorSubject<DisplayedData<T, C> | null>(null);\n displayedData$ = combineLatest([\n defer(() => this.dataSource.data$),\n this.filteredSortData$.pipe(distinctUntilChanged()),\n defer(() => this.columnsDataProgress$),\n ]).pipe(\n map(\n ([data, filteredSortData, columnsDataProgress]) =>\n (filteredSortData && !columnsDataProgress ? filteredSortData : data) || [],\n ),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n displayedCount$ = this.displayedData$.pipe(\n map((data) => data.length),\n distinctUntilChanged(),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n // Select\n rowSelectable = input(false, { transform: booleanAttribute });\n rowSelected = model<DisplayedData<T, C>>([]);\n\n // Sort\n sort = model<Sort>(DEFAULT_SORT);\n @ViewChild(MatSort) sortComponent!: MatSort;\n\n // Drag & drop\n rowDragDrop = input(false, {\n transform: (v: boolean | string[]) => {\n if (Array.isArray(v)) {\n return v;\n }\n return booleanAttribute(v);\n },\n });\n rowDropped = output<DragDrop<DisplayedDataItem<T, C>>>();\n dragDisabled = true;\n\n update$ = new Subject<UpdateOptions>();\n update = outputFromObservable(this.update$);\n more = output<UpdateOptions>();\n\n loadedLazyItems = new WeakMap<DisplayedDataItem<T, C>, boolean>();\n\n dataSource = new TableDataSource<T, C>();\n normColumns = computed<NormColumn<T, C>[]>(() => this.columns().map((c) => new NormColumn(c)));\n displayedNormColumns$ = toObservable(this.normColumns).pipe(\n switchMap((cols) =>\n combineLatest(cols.map((c) => c.hidden)).pipe(\n map((c) => cols.filter((_, idx) => !c[idx])),\n ),\n ),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n columnsData$$ = combineLatest({\n isTree: this.dataSource.isTreeData$,\n data: this.dataSource.data$,\n cols: toObservable(this.normColumns),\n }).pipe(toObservableColumnsData, shareReplay({ refCount: true, bufferSize: 1 }));\n columnsDataProgress$ = new BehaviorSubject(false);\n columnsData$ = this.columnsData$$.pipe(\n tap(() => {\n this.columnsDataProgress$.next(true);\n }),\n toColumnsData,\n tap(() => {\n this.columnsDataProgress$.next(false);\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n isPreload = signal(false);\n loadSize = computed(() => (this.isPreload() ? this.maxSize() : this.size()));\n hasAutoShowMore$ = combineLatest([\n toObservable(this.hasMore),\n this.dataSource.data$.pipe(map((d) => d?.length)),\n this.displayedCount$,\n this.dataSource.paginator.page.pipe(\n startWith(null),\n map(() => this.dataSource.paginator.pageSize),\n ),\n ]).pipe(\n map(\n ([hasMore, dataCount, displayedDataCount, size]) =>\n (hasMore && displayedDataCount !== 0 && displayedDataCount >= dataCount) ||\n displayedDataCount > size,\n ),\n distinctUntilChanged(),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n displayedColumns$ = combineLatest([\n this.displayedNormColumns$,\n toObservable(this.rowSelectable),\n toObservable(this.sort),\n toObservable(this.rowDragDrop),\n ]).pipe(\n map(([normColumns, rowSelectable, sort, rowDragDrop]) => [\n ...((\n Array.isArray(rowDragDrop)\n ? sort?.direction && rowDragDrop.includes(sort?.active)\n : rowDragDrop\n )\n ? [this.columnDefs.drag]\n : []),\n ...(rowSelectable ? [this.columnDefs.select] : []),\n ...normColumns.map((c) => c.field),\n ]),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n columnDefs = COLUMN_DEFS;\n\n @ViewChild('scrollViewport', { read: ElementRef }) scrollViewport!: ElementRef;\n @ViewChild('matTable', { static: false }) table!: MatTable<T>;\n @ContentChild(TableInputsComponent, { read: ElementRef }) tableInputsContent!: ElementRef;\n @ViewChild(MatRow, { static: false }) tableRow!: ElementRef;\n\n constructor(\n private dr: DestroyRef,\n private injector: Injector,\n private cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n const sort$ = toObservable(this.sort, { injector: this.injector }).pipe(\n distinctUntilChanged(),\n share(),\n );\n\n toObservable(this.data, { injector: this.injector })\n .pipe(filter(Boolean), takeUntilDestroyed(this.dr))\n .subscribe((data) => {\n this.dataSource.setData(data);\n });\n toObservable(this.treeData, { injector: this.injector })\n .pipe(filter(Boolean), takeUntilDestroyed(this.dr))\n .subscribe((data) => {\n this.dataSource.setTreeData(data);\n });\n combineLatest([\n this.filter$,\n sort$,\n this.dataSource.data$,\n runInInjectionContext(this.injector, () =>\n this.columnsData$.pipe(columnsDataToFilterSearchData),\n ),\n this.dataSource.isTreeData$,\n toObservable(this.normColumns, { injector: this.injector }),\n toObservable(this.externalFilter, { injector: this.injector }),\n ])\n .pipe(\n map(([search, sort, source, data, isTreeData, columns, isExternalFilter]) => {\n if (isTreeData) {\n return source;\n }\n const filteredData: DisplayedData<T, C> =\n !isExternalFilter && search ? filterData(data, search) : source;\n return sortData(filteredData, data, columns, sort);\n }),\n takeUntilDestroyed(this.dr),\n )\n .subscribe((filtered) => {\n this.updateSortFilter(filtered);\n this.updateLoadedLazyItems(filtered);\n this.cdr.markForCheck();\n });\n merge(\n this.filter$.pipe(filter(Boolean)),\n toObservable(this.hasMore, { injector: this.injector }).pipe(filter(Boolean)),\n )\n .pipe(takeUntilDestroyed(this.dr))\n .subscribe(() => {\n this.sort.set(DEFAULT_SORT);\n });\n merge(this.filter$, sort$)\n .pipe(takeUntilDestroyed(this.dr))\n .subscribe(() => {\n this.reset();\n });\n // TODO: 2, 3 column is torn away from the previous one, fixed by calling update\n this.dataSource.data$\n .pipe(\n filter((v) => !!v?.length),\n first(),\n delay(100),\n takeUntilDestroyed(this.dr),\n )\n .subscribe(() => {\n this.table.updateStickyColumnStyles();\n });\n }\n\n load() {\n if (this.isPreload()) {\n this.isPreload.set(false);\n }\n this.reload();\n }\n\n preload() {\n if (!this.isPreload()) {\n this.isPreload.set(true);\n this.reload();\n } else if (this.hasMore()) {\n this.more.emit({ size: this.loadSize() });\n }\n }\n\n showMore() {\n this.dataSource.paginator.more();\n if (this.hasMore() && this.dataSource.paginator.pageSize > this.dataSource.data.length) {\n this.more.emit({ size: this.loadSize() });\n }\n this.refreshTable();\n }\n\n downloadCsv() {\n this.generateCsvData()\n .pipe(takeUntilDestroyed(this.dr))\n .subscribe((csvData) => {\n downloadFile(csvData, 'csv');\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n drop(event: CdkDragDrop<any>) {\n this.dragDisabled = true;\n this.filteredSortData$.pipe(filter(Boolean), first()).subscribe((data) => {\n const item = event.item.data;\n const { previousIndex, currentIndex } = event;\n const previousData = data;\n const currentData = previousData.slice();\n let currentDataIndex = 0;\n if (previousIndex > currentIndex) {\n currentData.splice(previousIndex, 1);\n currentData.splice(currentIndex, 0, event.item.data);\n currentDataIndex = currentIndex;\n } else {\n currentData.splice(currentIndex, 0, event.item.data);\n currentData.splice(previousIndex, 1);\n currentDataIndex = currentIndex - 1;\n }\n this.rowDropped.emit({\n previousIndex,\n currentIndex,\n item,\n previousData,\n currentData,\n currentDataIndex,\n sort: this?.sortComponent,\n });\n });\n }\n\n private generateCsvData(): Observable<string> {\n return combineLatest([\n this.displayedNormColumns$.pipe(\n switchMap((cols) => forkJoin(cols.map((c) => c.header.pipe(take(1))))),\n ),\n this.columnsData$.pipe(take(1)),\n ]).pipe(\n map(([cols, data]) =>\n createCsv(runInInjectionContext(this.injector, () => tableToCsvObject(cols, data))),\n ),\n );\n }\n\n private reload() {\n this.update$.next({ size: this.loadSize() });\n this.reset();\n }\n\n private updateSortFilter(filtered: DisplayedData<T, C>) {\n this.filteredSortData$.next(filtered);\n this.dataSource.sortData = () => filtered;\n this.dataSource.sort = this.sortComponent;\n }\n\n private reset() {\n (this.scrollViewport?.nativeElement as HTMLElement)?.scrollTo?.({ top: 0 });\n this.dataSource.paginator.reload();\n this.refreshTable();\n }\n\n // TODO: Refresh table when pagination is updated\n private refreshTable() {\n // eslint-disable-next-line no-self-assign\n this.dataSource.data = this.dataSource.data;\n }\n\n private updateLoadedLazyItems(items: DisplayedData<T, C>) {\n const lazyLoadedItems = items.slice(0, DEFAULT_LOADED_LAZY_ROWS_COUNT);\n for (const item of lazyLoadedItems) {\n this.loadedLazyItems.set(item, true);\n }\n }\n}\n","@let columnsData = columnsData$$ | async;\n\n<div class=\"wrapper\">\n <v-table-info-bar\n [(filter)]=\"filter\"\n [columns]=\"normColumns()\"\n [count]=\"(dataSource.data$ | async)?.length\"\n [dataProgress]=\"!!(columnsDataProgress$ | async) && !hasMore()\"\n [filteredCount]=\"displayedCount$ | async\"\n [hasInputs]=\"!!tableInputsContent?.nativeElement\"\n [hasLoad]=\"update$.observed\"\n [hasMore]=\"hasMore()\"\n [isPreload]=\"isPreload()\"\n [noDownload]=\"noDownload()\"\n [noToolbar]=\"noToolbar()\"\n [preloadSize]=\"maxSize()\"\n [progress]=\"progress()\"\n [selectedCount]=\"rowSelected()?.length\"\n [size]=\"size()\"\n [standaloneFilter]=\"standaloneFilter()\"\n (downloadCsv)=\"downloadCsv()\"\n (load)=\"load()\"\n (preload)=\"preload()\"\n >\n <ng-content select=\"v-table-actions\"></ng-content>\n <v-table-inputs><ng-content select=\"v-table-inputs\"></ng-content></v-table-inputs>\n </v-table-info-bar>\n <mat-card #scrollViewport class=\"card\">\n <v-no-records\n [noRecords]=\"!(displayedCount$ | async)\"\n [progress]=\"progress()\"\n ></v-no-records>\n <table\n #matTable\n [cdkDropListDisabled]=\"dragDisabled\"\n [dataSource]=\"dataSource\"\n [matSortActive]=\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\"\n [matSortDirection]=\"sort().direction\"\n cdkDropList\n cdkDropListData=\"dataSource\"\n mat-table\n matSort\n (cdkDropListDropped)=\"drop($event)\"\n (matSortChange)=\"sort.set($event)\"\n >\n @let displayedColumns = (displayedColumns$ | async) || [];\n\n @if (displayedColumns.includes(columnDefs.drag)) {\n <v-dnd-column\n [name]=\"columnDefs.drag\"\n (dragged)=\"dragDisabled = false\"\n ></v-dnd-column>\n }\n @if (displayedColumns.includes(columnDefs.select)) {\n <v-select-column\n [(selected)]=\"rowSelected\"\n [data]=\"displayedData$ | async\"\n [name]=\"columnDefs.select\"\n [progress]=\"progress()\"\n ></v-select-column>\n }\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\n @let stickyStart = col.params.sticky === 'start';\n @let stickyEnd = col.params.sticky === 'end';\n @let columnClasses =\n {\n column: true,\n 'column__sticky-start': stickyStart,\n 'column__sticky-end': stickyEnd,\n };\n <ng-container\n [matColumnDef]=\"col.field\"\n [sticky]=\"stickyStart\"\n [stickyEnd]=\"stickyEnd\"\n >\n <th\n *matHeaderCellDef\n [disabled]=\"(col.sort | async) === false || hasMore() || progress()\"\n [mat-sort-header]=\"col.field\"\n [ngClass]=\"columnClasses\"\n mat-header-cell\n >\n <v-value [value]=\"col?.header | async\" emptySymbol=\"\" inline></v-value>\n </th>\n\n <ng-template let-element let-rowIndex=\"index\" matCellDef>\n @let cell = columnsData?.get?.(element)?.get(col);\n <td\n [ngClass]=\"columnClasses\"\n [ngStyle]=\"col?.params?.style\"\n [style.border-bottom]=\"cell?.isNextChild && !col.child ? 'none' : ''\"\n mat-cell\n >\n <v-value\n [emptySymbol]=\"!(cell?.isChild && !col?.child)\"\n [highlight]=\"filter$ | async\"\n [lazyValue]=\"cell?.lazyValue\"\n [lazyVisible]=\"loadedLazyItems.has(element)\"\n [value]=\"cell?.value | async\"\n inline\n (lazyVisibleChange)=\"loadedLazyItems.set(element, true)\"\n ></v-value>\n </td>\n </ng-template>\n <td *matFooterCellDef [ngClass]=\"columnClasses\" mat-footer-cell>\n <v-content-loading></v-content-loading>\n </td>\n </ng-container>\n }\n\n <tr *matHeaderRowDef=\"displayedColumns$ | async; sticky: true\" mat-header-row></tr>\n <tr\n *matRowDef=\"let row; columns: displayedColumns$ | async\"\n [cdkDragData]=\"row\"\n cdkDrag\n mat-row\n ></tr>\n <tr\n *matFooterRowDef=\"displayedColumns$ | async\"\n [ngClass]=\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\"\n [vInfinityScroll]=\"!progress()\"\n mat-footer-row\n (vInfinityScrollMore)=\"showMore()\"\n ></tr>\n </table>\n </mat-card>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { DialogSuperclass } from '../../../dialog';\nimport { Column, NormColumn } from '../../types';\n\ninterface CustomizedColumn {\n priority: number;\n name: string;\n hidden: boolean;\n}\n\n@Component({\n selector: 'v-customize',\n templateUrl: './customize.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CustomizeComponent extends DialogSuperclass<\n CustomizeComponent,\n { columns: NormColumn<object>[] }\n> {\n columns: Column<CustomizedColumn>[] = [\n { field: 'priority', header: 'Number' },\n { field: 'name' },\n { field: 'hidden' },\n ];\n\n data: CustomizedColumn[] = this.dialogData.columns.map((c, idx) => ({\n priority: idx + 1,\n name: c.field,\n hidden: false,\n }));\n}\n","<v-dialog title=\"Customize table\">\n <v-table [columns]=\"columns\" [data]=\"data\" [rowDragDrop]=\"['priority']\" noToolbar></v-table>\n <v-dialog-actions>\n <button mat-button>Save</button>\n </v-dialog-actions>\n</v-dialog>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'v-table-actions',\n template: `\n <v-actions>\n <ng-content></ng-content>\n </v-actions>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class TableActionsComponent {}\n","import { Component, booleanAttribute, input } from '@angular/core';\nimport { MatProgressBar } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'v-table-progress-bar',\n imports: [MatProgressBar],\n template: `\n @if (progress()) {\n <mat-progress-bar class=\"progress-bar\" mode=\"indeterminate\"></mat-progress-bar>\n }\n `,\n styles: `\n .progress-bar {\n position: absolute;\n z-index: 999;\n }\n `,\n})\nexport class TableProgressBarComponent {\n progress = input(false, { transform: booleanAttribute });\n}\n","import { CdkDrag, CdkDropList } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButton, MatButtonModule, MatIconButton } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltip } from '@angular/material/tooltip';\n\nimport { ActionsModule } from '../actions';\nimport { ContentLoadingComponent } from '../content-loading';\nimport { DialogModule } from '../dialog/dialog.module';\nimport { InputFieldModule } from '../input-field';\nimport { ProgressModule } from '../progress';\nimport { TagModule } from '../tag';\nimport { ValueComponent, ValueListComponent } from '../value';\n\nimport { CustomizeComponent } from './components/customize/customize.component';\nimport { DndColumnComponent } from './components/dnd-column.component';\nimport { InfinityScrollDirective } from './components/infinity-scroll.directive';\nimport { NoRecordsComponent } from './components/no-records.component';\nimport { SelectColumnComponent } from './components/select-column.component';\nimport { TableActionsComponent } from './components/table-actions.component';\nimport { TableInfoBarComponent } from './components/table-info-bar/table-info-bar.component';\nimport { TableInputsComponent } from './components/table-inputs.component';\nimport { TableProgressBarComponent } from './components/table-progress-bar.component';\nimport { TableComponent } from './table.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatTableModule,\n MatCardModule,\n ValueComponent,\n TableProgressBarComponent,\n NoRecordsComponent,\n ContentLoadingComponent,\n MatIcon,\n MatTooltip,\n MatIconButton,\n InfinityScrollDirective,\n ValueListComponent,\n SelectColumnComponent,\n ProgressModule,\n MatSortModule,\n MatButton,\n CdkDrag,\n CdkDropList,\n DialogModule,\n MatButtonModule,\n InputFieldModule,\n ActionsModule,\n MatBadgeModule,\n ReactiveFormsModule,\n TagModule,\n DndColumnComponent,\n ],\n declarations: [\n CustomizeComponent,\n TableComponent,\n TableInfoBarComponent,\n TableInputsComponent,\n TableActionsComponent,\n ],\n exports: [TableComponent, TableInputsComponent, TableActionsComponent],\n})\nexport class TableModule {}\n","export function correctPriorities(\n priorities: number[],\n opts: {\n step: number;\n maxStep: number;\n start: number;\n } = {\n step: 1000,\n maxStep: 1000,\n start: 0,\n },\n): number[] {\n if (!priorities.length) {\n return [];\n }\n const res: number[] = [opts.start];\n for (let i = 1; i < priorities.length; ++i) {\n const last = res.at(-1) ?? opts.start;\n if (priorities[i] === priorities[i - 1]) {\n res.push(last);\n } else if (priorities[i] <= last || priorities[i] > last + opts.maxStep) {\n res.push(last + opts.step);\n } else {\n res.push(priorities[i]);\n }\n }\n return res;\n}\n","import { Injector, inject, runInInjectionContext } from '@angular/core';\nimport { combineLatest, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { PossiblyAsync, getPossiblyAsyncObservable } from '../../../utils';\nimport { Value } from '../../value';\nimport { CellFnArgs, Column, normalizeCell } from '../types';\n\nimport { createUniqueColumnDef } from './create-unique-column-def';\n\nexport function createColumn<P, A extends object>(\n createCell: (cellParams: P, ...args: CellFnArgs<A>) => PossiblyAsync<Value>,\n columnObject: Partial<Column<A>> = {},\n) {\n return <T extends A>(\n getCellParams: (...args: CellFnArgs<T>) => PossiblyAsync<P>,\n { isLazyCell, ...column }: Partial<Column<T>> & { isLazyCell?: boolean } = {},\n ): Column<T> => {\n const injector = inject(Injector);\n const field = column?.field ?? createUniqueColumnDef(column?.header);\n const cellKey = isLazyCell ? 'lazyCell' : 'cell';\n return {\n field,\n ...columnObject,\n ...column,\n [cellKey]: (...cellArgs: CellFnArgs<T>) => {\n const cellValue$ = getPossiblyAsyncObservable(getCellParams(...cellArgs)).pipe(\n switchMap((cellParams) =>\n getPossiblyAsyncObservable(\n runInInjectionContext(injector, () =>\n createCell(cellParams, ...cellArgs),\n ),\n ),\n ),\n );\n if (column[cellKey]) {\n const columnCellValue$ = normalizeCell(\n field,\n column[cellKey],\n !!column?.child,\n )(...cellArgs);\n return combineLatest([cellValue$, columnCellValue$]).pipe(\n map(([a, b]) => Object.assign({}, a, b, { value: b?.value || a?.value })),\n );\n }\n return cellValue$;\n },\n };\n };\n}\n","import { MenuValue } from '../../value/components/menu-value.component';\n// TODO: hack\n// eslint-disable-next-line\nimport { Column } from '../types/column2';\nimport { createColumn } from '../utils/create-column';\n\nexport const createMenuColumn = createColumn(\n (params: MenuValue['params']) => {\n return {\n type: 'menu',\n params,\n };\n },\n {\n field: 'menu',\n header: '',\n sticky: 'end',\n style: {\n padding: 0,\n width: '0',\n },\n },\n);\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormControl } from '@angular/forms';\n\nimport { DialogSuperclass } from '../dialog';\n\n@Component({\n selector: 'v-action-dialog',\n templateUrl: 'confirm-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class ConfirmDialogComponent extends DialogSuperclass<\n ConfirmDialogComponent,\n { title?: string; confirmLabel?: string; hasReason?: boolean; description?: string } | void,\n { reason?: string }\n> {\n control = new FormControl<string>('', { nonNullable: true });\n\n confirm() {\n this.closeWithSuccess(\n this.dialogData && this.dialogData?.hasReason\n ? { reason: this.control.value }\n : undefined,\n );\n }\n}\n","<v-dialog\n [noContent]=\"!(dialogData && (dialogData.hasReason || dialogData.description))\"\n [title]=\"dialogData?.['title'] ?? 'Confirm this action?'\"\n noCloseButton\n>\n @if (dialogData && dialogData.description) {\n <div class=\"mat-body-large\">\n {{ dialogData.description }}\n </div>\n }\n @if (dialogData && dialogData.hasReason) {\n <mat-form-field style=\"width: 100%\">\n <mat-label>Reason</mat-label>\n <input [formControl]=\"control\" matInput />\n </mat-form-field>\n }\n <v-dialog-actions>\n <button mat-button (click)=\"closeWithCancellation()\">Cancel</button>\n <button mat-flat-button (click)=\"confirm()\">\n {{ dialogData?.['confirmLabel'] || 'Confirm' }}\n </button>\n </v-dialog-actions>\n</v-dialog>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { DialogModule } from '../dialog';\n\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\n\n@NgModule({\n imports: [\n MatDialogModule,\n MatButtonModule,\n DialogModule,\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule,\n ],\n declarations: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n})\nexport class ConfirmDialogModule {}\n","import { Component } from '@angular/core';\n\nimport { DialogSuperclass } from '../../../dialog';\nimport { FiltersComponent } from '../../filters.component';\n\n@Component({\n selector: 'v-filters-dialog',\n templateUrl: './filters-dialog.component.html',\n styleUrls: ['./filters-dialog.component.scss'],\n standalone: false,\n})\nexport class FiltersDialogComponent extends DialogSuperclass<\n FiltersDialogComponent,\n { filters: FiltersComponent }\n> {\n get isShowMainFilters() {\n return (\n !this.dialogData.filters.otherFiltersDirective?.templateRef ||\n this.dialogData.filters.merge\n );\n }\n}\n","<v-dialog noActions title=\"Filters\">\n <div\n [ngClass]=\"[\n 'v-filters-dialog-cols-' +\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\n 'filters',\n ]\"\n >\n @if (isShowMainFilters) {\n <ng-container *ngTemplateOutlet=\"dialogData.filters.mainFiltersTemplate\"></ng-container>\n }\n @if (dialogData.filters.otherFiltersTemplate) {\n <div class=\"other-filters\">\n <ng-container\n *ngTemplateOutlet=\"dialogData.filters.otherFiltersTemplate\"\n ></ng-container>\n </div>\n }\n </div>\n</v-dialog>\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[vMainFilters]',\n standalone: false,\n})\nexport class MainFiltersDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[vOtherFilters]',\n standalone: false,\n})\nexport class OtherFiltersDirective {\n constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n booleanAttribute,\n signal,\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { DialogService } from '../dialog';\n\nimport { FiltersDialogComponent } from './components/filters-dialog/filters-dialog.component';\nimport { MainFiltersDirective } from './components/main-filters/main-filters.directive';\nimport { OtherFiltersDirective } from './components/other-filters/other-filters.directive';\n\n@Component({\n selector: 'v-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss'],\n standalone: false,\n})\nexport class FiltersComponent {\n @Input() active = 0;\n @Input({ transform: booleanAttribute }) merge = false;\n // TODO: to change from outside you need to change the logic and set $rows in two SCSS\n rows = signal(1);\n\n @Output() clear = new EventEmitter<void>();\n\n @ContentChild(TemplateRef, { static: true }) filtersTemplate!: TemplateRef<unknown>;\n @ContentChild(OtherFiltersDirective, { static: true })\n otherFiltersDirective!: OtherFiltersDirective;\n @ContentChild(MainFiltersDirective, { static: true })\n mainFiltersDirective!: MainFiltersDirective;\n\n @ViewChild('content') set content(content: ElementRef<HTMLElement>) {\n this.filtersCount$.next(content?.nativeElement?.children?.length ?? 0);\n }\n\n get mainFiltersTemplate() {\n return this.mainFiltersDirective?.templateRef ?? this.filtersTemplate;\n }\n\n get otherFiltersTemplate() {\n return this.otherFiltersDirective?.templateRef;\n }\n\n repeat$ = this.breakpointObserver.observe(Object.values(Breakpoints)).pipe(\n map((b) => {\n if (b.breakpoints[Breakpoints.XLarge]) {\n return 5;\n }\n if (b.breakpoints[Breakpoints.Large]) {\n return 4;\n }\n if (b.breakpoints[Breakpoints.Medium]) {\n return 3;\n }\n if (b.breakpoints[Breakpoints.Small]) {\n return 2;\n }\n return 1;\n }),\n );\n\n displayedFiltersCount$ = combineLatest([this.repeat$, toObservable(this.rows)]).pipe(\n map(([repeat, rows]) => repeat * rows),\n );\n filtersCount$ = new BehaviorSubject(0);\n\n constructor(\n private dialog: DialogService,\n private breakpointObserver: BreakpointObserver,\n ) {}\n\n open() {\n this.dialog.open(FiltersDialogComponent, { filters: this });\n }\n}\n","<mat-card>\n <mat-card-content #content [ngClass]=\"['v-filters-cols-' + (repeat$ | async), 'filters']\">\n <ng-container *ngTemplateOutlet=\"mainFiltersTemplate\"></ng-container>\n </mat-card-content>\n</mat-card>\n","import { Component, Input } from '@angular/core';\n\nimport { FiltersComponent } from '../../filters.component';\n\n@Component({\n selector: 'v-more-filters-button',\n templateUrl: './more-filters-button.component.html',\n styleUrls: ['./more-filters-button.component.scss'],\n standalone: false,\n})\nexport class MoreFiltersButtonComponent {\n @Input() filters!: FiltersComponent;\n}\n","<v-actions>\n @if (filters.active && filters.clear.observed) {\n <button mat-icon-button (click)=\"filters.clear.emit()\">\n <mat-icon [matBadge]=\"filters.active || undefined\" matBadgeColor=\"accent\"\n >restart_alt</mat-icon\n >\n </button>\n }\n @if (\n filters.otherFiltersDirective ||\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\n ) {\n <button mat-icon-button (click)=\"filters.open()\">\n <mat-icon>filter_alt</mat-icon>\n </button>\n }\n</v-actions>\n","import { LayoutModule } from '@angular/cdk/layout';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ActionsModule } from '../actions';\nimport { DialogModule } from '../dialog';\n\nimport { FiltersDialogComponent } from './components/filters-dialog/filters-dialog.component';\nimport { MainFiltersDirective } from './components/main-filters/main-filters.directive';\nimport { MoreFiltersButtonComponent } from './components/more-filters-button/more-filters-button.component';\nimport { OtherFiltersDirective } from './components/other-filters/other-filters.directive';\nimport { FiltersComponent } from './filters.component';\n\n@NgModule({\n declarations: [\n FiltersComponent,\n MoreFiltersButtonComponent,\n FiltersDialogComponent,\n OtherFiltersDirective,\n MainFiltersDirective,\n ],\n exports: [\n FiltersComponent,\n MoreFiltersButtonComponent,\n OtherFiltersDirective,\n MainFiltersDirective,\n ],\n imports: [\n CommonModule,\n MatCardModule,\n MatButtonModule,\n MatIconModule,\n DialogModule,\n LayoutModule,\n ActionsModule,\n MatBadgeModule,\n ],\n})\nexport class FiltersModule {}\n","import { Component, Input, booleanAttribute } from '@angular/core';\nimport { NonNullableFormBuilder } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter';\nimport { enGB } from 'date-fns/locale';\n\nimport { FormGroupSuperclass, createControlProviders } from '../../utils';\n\nimport { DateRange } from './types/date-range';\n\n@Component({\n selector: 'v-date-range-field',\n templateUrl: './date-range-field.component.html',\n styleUrls: ['./date-range-field.component.scss'],\n providers: [\n ...createControlProviders(() => DateRangeFieldComponent),\n { provide: MAT_DATE_LOCALE, useValue: enGB },\n { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n ],\n standalone: false,\n})\nexport class DateRangeFieldComponent extends FormGroupSuperclass<Partial<DateRange>> {\n @Input({ transform: booleanAttribute }) required: boolean = false;\n\n control = this.fb.group<Partial<DateRange>>({\n start: undefined,\n end: undefined,\n });\n\n constructor(private fb: NonNullableFormBuilder) {\n super();\n }\n}\n","<mat-form-field>\n <mat-label>Date range</mat-label>\n <mat-date-range-input\n [formGroup]=\"control\"\n [rangePicker]=\"picker\"\n [required]=\"required || false\"\n >\n <input formControlName=\"start\" matStartDate placeholder=\"Start date\" />\n <input formControlName=\"end\" matEndDate placeholder=\"End date\" />\n </mat-date-range-input>\n <mat-datepicker-toggle [for]=\"picker\" matIconSuffix></mat-datepicker-toggle>\n <mat-date-range-picker #picker>\n <mat-date-range-picker-actions>\n <v-actions class=\"actions\">\n @if (!required) {\n <button\n [disabled]=\"!control.value?.start && !control.value?.end\"\n mat-button\n (click)=\"control.reset(); picker.close()\"\n >\n Reset\n </button>\n }\n <button mat-flat-button matDateRangePickerApply>Apply</button>\n </v-actions>\n </mat-date-range-picker-actions>\n </mat-date-range-picker>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { ActionsModule } from '../actions';\n\nimport { DateRangeFieldComponent } from './date-range-field.component';\n\n@NgModule({\n declarations: [DateRangeFieldComponent],\n imports: [\n CommonModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n MatButtonModule,\n ActionsModule,\n ],\n exports: [DateRangeFieldComponent],\n})\nexport class DateRangeFieldModule {}\n","import { isEqual } from 'date-fns';\n\nimport { DateRange } from '../types/date-range';\n\nexport function isEqualDateRange(a: DateRange, b: DateRange) {\n if (!a || !b) {\n return a === b;\n }\n return isEqual(a.start, b.start) && isEqual(a.end, b.end);\n}\n","import { endOfDay, startOfDay, subDays } from 'date-fns';\n\nimport { DateRange } from '../types/date-range';\n\nexport function createDateRangeToToday(minDays: number = 1): DateRange {\n return {\n /**\n * If we take the beginning of the previous day to the end of the current one,\n * then it is guaranteed that there will be an interval of one day,\n * as a maximum of two days\n */\n start: subDays(startOfDay(new Date()), minDays),\n end: endOfDay(new Date()),\n };\n}\n","import { Component, Input } from '@angular/core';\nimport { NonNullableFormBuilder } from '@angular/forms';\n\nimport { FormGroupSuperclass, createControlProviders } from '../../utils';\n\nexport type NumberRange = {\n start?: number;\n end?: number;\n};\n\n@Component({\n selector: 'v-number-range-field',\n templateUrl: './number-range-field.component.html',\n styleUrls: ['./number-range-field.component.scss'],\n providers: createControlProviders(() => NumberRangeFieldComponent),\n standalone: false,\n})\nexport class NumberRangeFieldComponent extends FormGroupSuperclass<NumberRange> {\n @Input() label!: string;\n\n control = this.fb.group<NumberRange>({\n start: undefined,\n end: undefined,\n });\n\n constructor(private fb: NonNullableFormBuilder) {\n super();\n }\n}\n","<div [formGroup]=\"control\" class=\"wrapper\">\n <mat-form-field>\n <mat-label>{{ label }} from</mat-label>\n <input formControlName=\"start\" matInput type=\"number\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>{{ label }} to</mat-label>\n <input formControlName=\"end\" matInput type=\"number\" />\n </mat-form-field>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { NumberRangeFieldComponent } from './number-range-field.component';\n\n@NgModule({\n declarations: [NumberRangeFieldComponent],\n imports: [ReactiveFormsModule, MatInputModule],\n exports: [NumberRangeFieldComponent],\n})\nexport class NumberRangeFieldModule {}\n","import { Component, Input } from '@angular/core';\nimport { map, shareReplay } from 'rxjs/operators';\n\nimport {\n FormControlSuperclass,\n createControlProviders,\n getValueChanges,\n splitBySeparators,\n} from '../../utils';\n\n@Component({\n selector: 'v-list-field',\n templateUrl: './list-field.component.html',\n providers: createControlProviders(() => ListFieldComponent),\n standalone: false,\n})\nexport class ListFieldComponent extends FormControlSuperclass<string[], string> {\n @Input() label?: string;\n @Input() focusedHint?: string;\n\n items$ = getValueChanges(this.control).pipe(\n map((v) => this.getValue(v)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n protected override innerToOuterValue(inner: string): string[] {\n return this.getValue(inner);\n }\n\n protected override outerToInnerValue(outer: string[]): string {\n return (outer || []).join(', ');\n }\n\n private getValue(inner: string = this.control.value) {\n return splitBySeparators(inner || '');\n }\n}\n","<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n <input #input=\"matInput\" [formControl]=\"control\" autocomplete=\"false\" matInput type=\"string\" />\n <mat-hint class=\"mat-secondary-text\">{{\n (items$ | async)?.length\n ? (items$ | async)?.length === 1\n ? '1 item'\n : (items$ | async)?.length + ' items'\n : input.focused\n ? focusedHint || 'item_1, item_2'\n : ''\n }}</mat-hint>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { ListFieldComponent } from './list-field.component';\n\n@NgModule({\n declarations: [ListFieldComponent],\n exports: [ListFieldComponent],\n imports: [CommonModule, MatInputModule, ReactiveFormsModule],\n})\nexport class ListFieldModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n templateUrl: 'error-page.component.html',\n styleUrls: ['error-page.component.scss'],\n standalone: false,\n})\nexport class ErrorPageComponent {}\n","<div class=\"error\">\n <div class=\"mat-display-small title\">\n <mat-icon>error</mat-icon>\n <div>Page not found</div>\n </div>\n <h2 class=\"mat-headline-small mat-secondary-text\">\n This page doesn't exist<br />or no permission to access this page\n </h2>\n</div>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ErrorPageComponent } from './error-page.component';\n\nconst ROUTES: Routes = [{ path: '', component: ErrorPageComponent }];\n\n@NgModule({\n imports: [RouterModule.forChild(ROUTES)],\n exports: [RouterModule],\n})\nexport class ErrorPageRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { ErrorPageRoutingModule } from './error-page-routing.module';\nimport { ErrorPageComponent } from './error-page.component';\n\n@NgModule({\n imports: [ErrorPageRoutingModule, MatIconModule],\n declarations: [ErrorPageComponent],\n})\nexport class ErrorPageModule {}\n","import { Option } from '../types';\n\nexport function isSearchOption<T>(option: Option<T>, termLowerCase: string) {\n return (\n !!String(option.value)?.toLowerCase().includes?.(termLowerCase) ||\n !!option.label?.toLowerCase()?.includes(termLowerCase) ||\n !!option.description?.toLowerCase().includes?.(termLowerCase)\n );\n}\n\nexport function searchOptions<T>(options: Option<T>[], term: string) {\n const termLowerCase = term.toLowerCase();\n return options?.filter?.((option) => isSearchOption(option, termLowerCase));\n}\n","import { Option } from '../types';\n\nexport function findOptionByValue<T>(options: Option<T>[], value: T) {\n return options?.find?.((o) => o.value === value);\n}\n","import isNil from 'lodash-es/isNil';\n\nimport { Option } from '../types';\n\nimport { findOptionByValue } from './find-option-by-value';\n\nexport function getHintText<T>(\n options: Option<T>[],\n selected: T[],\n hint?: string,\n opts: { multiple?: boolean; showLabel?: boolean } = {},\n) {\n if (!isNil(hint)) {\n return hint;\n }\n if (opts.multiple && options?.length > 1) {\n return (selected?.length || 0) + '/' + options.length;\n }\n if (!selected?.length) {\n return '';\n }\n const option = findOptionByValue(options, selected[0]);\n return opts.showLabel ? option?.label : option?.description;\n}\n","import { Component, EventEmitter, Input, Output, booleanAttribute } from '@angular/core';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\n\nimport { FormControlSuperclass, createControlProviders } from '../../../utils';\nimport { Option } from '../types';\nimport { isSearchOption } from '../utils';\nimport { getHintText } from '../utils/get-hint-text';\n\n@Component({\n selector: 'v-select-field',\n templateUrl: './select-field.component.html',\n styleUrls: ['./select-field.component.scss'],\n providers: createControlProviders(() => SelectFieldComponent),\n standalone: false,\n})\nexport class SelectFieldComponent<T = unknown> extends FormControlSuperclass<T[]> {\n @Input() options: Option<T>[] = [];\n @Output() searchChange = new EventEmitter<string>();\n\n @Input() appearance: MatFormFieldAppearance = 'fill';\n\n @Input() label?: string;\n @Input() hint?: string;\n @Input() error?: string;\n @Input() progress = false;\n\n @Input({ transform: booleanAttribute }) externalSearch = false;\n @Input({ transform: booleanAttribute }) multiple = false;\n @Input({ transform: booleanAttribute }) required = false;\n\n @Input() size?: 'small' | '';\n\n searchStr: string = '';\n\n get hintText() {\n return getHintText(\n this.options,\n this.multiple ? this.control.value : [this.control.value as T],\n this.hint,\n {\n multiple: this.multiple,\n },\n );\n }\n\n search = (term: string, item: Option<T>) => {\n return this.externalSearch || isSearchOption(item, term.toLowerCase());\n };\n}\n","<mat-form-field [appearance]=\"appearance\" [ngClass]=\"{ 'v-input-field__small': size === 'small' }\">\n <mat-label>{{ label }}</mat-label>\n\n <mtx-select\n [closeOnSelect]=\"!multiple\"\n [formControl]=\"control\"\n [items]=\"options\"\n [loading]=\"progress\"\n [markFirst]=\"true\"\n [multiple]=\"multiple\"\n [notFoundText]=\"externalSearch && !searchStr ? 'Enter your search term' : 'No items found'\"\n [required]=\"required\"\n [searchable]=\"true\"\n [searchFn]=\"search\"\n [selectableGroup]=\"true\"\n [selectableGroupAsModel]=\"false\"\n bindLabel=\"label\"\n bindValue=\"value\"\n groupBy=\"type\"\n (clear)=\"searchChange.emit(''); searchStr = ''\"\n (search)=\"searchChange.emit($event.term); searchStr = $event.term\"\n >\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-optgroup-tmp>\n <mat-checkbox\n *ngIf=\"multiple; else text\"\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n {{ item.type | uppercase }}\n </mat-checkbox>\n <ng-template #text>\n {{ item.type | uppercase }}\n </ng-template>\n </ng-template>\n <ng-template let-index=\"index\" let-item=\"item\" let-item$=\"item$\" ng-option-tmp>\n <mat-checkbox\n *ngIf=\"multiple; else text\"\n [ngModel]=\"item$.selected\"\n class=\"checkbox-option\"\n id=\"item-{{ index }}\"\n >\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </mat-checkbox>\n <ng-template #text>\n <div class=\"label\">{{ item.label }}</div>\n <div\n *ngIf=\"item.description\"\n class=\"description mat-label-medium mat-secondary-text\"\n >\n {{ item.description }}\n </div>\n </ng-template>\n </ng-template>\n </mtx-select>\n\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{ error }}</mat-error>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatInputModule } from '@angular/material/input';\nimport { MtxSelectModule } from '@ng-matero/extensions/select';\n\nimport { SelectFieldComponent } from './select-field.component';\n\n@NgModule({\n declarations: [SelectFieldComponent],\n exports: [SelectFieldComponent],\n imports: [\n CommonModule,\n MatInputModule,\n MtxSelectModule,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n ],\n})\nexport class SelectFieldModule {}\n","import { Component, Input, OnChanges, booleanAttribute } from '@angular/core';\nimport { BehaviorSubject, merge } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\nimport { ComponentChanges, FormControlSuperclass, createControlProviders } from '../../../utils';\nimport { Option } from '../types';\nimport { searchOptions } from '../utils';\nimport { getHintText } from '../utils/get-hint-text';\n\n@Component({\n selector: 'v-autocomplete-field',\n templateUrl: './autocomplete-field.component.html',\n styleUrls: ['./autocomplete-field.component.scss'],\n providers: createControlProviders(() => AutocompleteFieldComponent),\n standalone: false,\n})\nexport class AutocompleteFieldComponent<T> extends FormControlSuperclass<T> implements OnChanges {\n @Input() options: Option<T>[] = [];\n\n @Input() label?: string;\n @Input() hint?: string;\n @Input() error?: string;\n @Input() type = 'text';\n\n @Input({ transform: booleanAttribute }) mono = false;\n @Input({ transform: booleanAttribute }) required = false;\n\n get hintText() {\n return getHintText(this.options, [this.control.value], this.hint, { showLabel: true });\n }\n\n options$ = new BehaviorSubject<Option<T>[]>([]);\n selected$ = merge(this.control.valueChanges, this.options$).pipe(\n map(() => (this.options || []).find((o) => o.value === this.control.value)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n filteredOptions$ = merge(this.control.valueChanges, this.options$).pipe(\n map(() => String(this.control.value ?? '').toLowerCase()),\n map((filter) => searchOptions(this.options, filter)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n override ngOnChanges(changes: ComponentChanges<AutocompleteFieldComponent<T>>) {\n super.ngOnChanges(changes);\n if (changes.options) {\n this.options$.next(this.options || []);\n }\n }\n}\n","<mat-form-field style=\"width: 100%\">\n <mat-label>{{ label }}</mat-label>\n\n <input\n #trigger=\"matAutocompleteTrigger\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n [ngClass]=\"{ 'mat-mono': mono }\"\n [required]=\"required\"\n [type]=\"options?.length ? 'text' : type\"\n matInput\n />\n\n <mat-autocomplete #auto=\"matAutocomplete\" autoActiveFirstOption>\n @for (option of filteredOptions$ | async; track option) {\n <mat-option [value]=\"option.value\">\n <div [ngClass]=\"{ 'mat-mono': mono }\" class=\"label\">{{ option.label }}</div>\n @if (option.description) {\n <div\n [ngClass]=\"{ 'mat-mono': mono }\"\n class=\"description mat-label-medium mat-secondary-text\"\n >\n {{ option.description }}\n </div>\n }\n </mat-option>\n }\n </mat-autocomplete>\n\n <div matSuffix style=\"display: flex; gap: 4px\">\n @if (control.value) {\n <button mat-icon-button (click)=\"control.reset(); $event.stopPropagation()\">\n <mat-icon>clear</mat-icon>\n </button>\n }\n @if (options?.length) {\n <button\n mat-icon-button\n (click)=\"\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\n $event.stopPropagation()\n \"\n >\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\n </button>\n }\n </div>\n <mat-hint>{{ hintText }}</mat-hint>\n <mat-error>{{\n error ??\n ((selected$ | async) ? (selected$ | async)?.label + (hint ? ' | ' + hint : '') : hint)\n }}</mat-error>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { AutocompleteFieldComponent } from './autocomplete-field.component';\n\n@NgModule({\n declarations: [AutocompleteFieldComponent],\n exports: [AutocompleteFieldComponent],\n imports: [\n CommonModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule,\n ],\n})\nexport class AutocompleteFieldModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\n\n@Injectable()\nexport class ConfigServiceSuperclass<T> {\n config!: T;\n\n constructor(private http: HttpClient) {}\n\n async init({ configUrl }: { configUrl: string }): Promise<void> {\n this.config = await lastValueFrom(this.http.get<T>(configUrl));\n }\n}\n","import isObject from 'lodash-es/isObject';\n\nexport const DEFAULT_ERROR_NAME = 'Unknown error';\n\nexport class LogError {\n source!: Record<PropertyKey, unknown>;\n\n get name() {\n return String(this.source?.['name'] || DEFAULT_ERROR_NAME);\n }\n\n get message() {\n return String(this.source?.['message'] || this.name);\n }\n\n get cause() {\n return this.source?.['cause'];\n }\n\n get details() {\n return Object.fromEntries(\n Object.entries(this.source).filter(([k, v]) => k !== 'name' && k !== 'message' && v),\n );\n }\n\n constructor(error: unknown) {\n this.source = (isObject(error)\n ? error\n : new Error(\n error ? String(error) : DEFAULT_ERROR_NAME,\n )) as unknown as LogError['source'];\n }\n\n getLogMessage(message?: string) {\n return [\n message && `Caught error: ${message}`,\n this.name && `Name: ${this.name}`,\n this.message && `Message: ${this.message}`,\n Object.keys(this.details).length && JSON.stringify(this.details, null, 2),\n ]\n .filter(Boolean)\n .join('\\n');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { capitalize } from 'lodash-es';\nimport { Observer, first, timeout } from 'rxjs';\n\nimport { PossiblyAsync, getPossiblyAsyncObservable } from '../../utils';\n\nimport { DEFAULT_ERROR_NAME, LogError } from './log-error';\nimport { Operation } from './types/operation';\n\nconst DEFAULT_DURATION_MS = 3_000;\nconst DEFAULT_ERROR_DURATION_MS = 10_000;\nconst DEFAULT_TIMEOUT_MS = 10_000;\n\n@Injectable({ providedIn: 'root' })\nexport class NotifyLogService {\n constructor(private snackBar: MatSnackBar) {}\n\n success = (message: PossiblyAsync<string> = 'Completed successfully'): void => {\n this.notify(message);\n };\n\n error = (errors: unknown | unknown[], message?: PossiblyAsync<string>): void => {\n const logErrors = (Array.isArray(errors) ? errors : [errors]).map((e) => new LogError(e));\n message = message || (logErrors.length === 1 ? logErrors[0].message : DEFAULT_ERROR_NAME);\n this.subscribeWithTimeout(message, (msg) => {\n console.warn(\n [`Caught error: ${msg}.`, ...logErrors.map((e) => e.getLogMessage())].join('\\n'),\n );\n });\n this.notify(message, DEFAULT_ERROR_DURATION_MS);\n };\n\n createErrorOperation(operation: Operation, objectName: string) {\n return (err: unknown) => this.errorOperation(err, operation, objectName);\n }\n\n successOperation(operation: Operation, objectName: string): void {\n let message!: string;\n switch (operation) {\n case 'create':\n message = `${capitalize(objectName)} created successfully`;\n break;\n case 'receive':\n message = `${capitalize(objectName)} received successfully`;\n break;\n case 'update':\n message = `${capitalize(objectName)} updated successfully`;\n break;\n case 'delete':\n message = `${capitalize(objectName)} deleted successfully`;\n break;\n }\n this.success(message);\n }\n\n errorOperation(errors: unknown | unknown[], operation: Operation, objectName: string) {\n let message!: string;\n switch (operation) {\n case 'create':\n message = `Error creating ${objectName}`;\n break;\n case 'receive':\n message = `Error retrieving ${objectName}`;\n break;\n case 'update':\n message = `Error updating ${objectName}`;\n break;\n case 'delete':\n message = `Error deleting ${objectName}`;\n break;\n }\n this.error(errors, message);\n }\n\n private notify(message: PossiblyAsync<string>, duration = DEFAULT_DURATION_MS) {\n this.subscribeWithTimeout(message, {\n next: (msg) => {\n this.snackBar.open(msg, 'OK', {\n duration,\n });\n },\n error: () => {\n // TODO: Default message\n },\n });\n }\n\n private subscribeWithTimeout<T>(\n possiblyAsync: PossiblyAsync<T>,\n subscribe: Partial<Observer<T>> | Observer<T>['next'],\n ) {\n getPossiblyAsyncObservable(possiblyAsync)\n .pipe(first(), timeout(DEFAULT_TIMEOUT_MS))\n .subscribe(subscribe);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\nimport { NotifyLogService } from './notify-log.service';\n\n@NgModule({\n imports: [MatSnackBarModule],\n providers: [NotifyLogService],\n})\nexport class LogModule {}\n","import {\n BehaviorSubject,\n Observable,\n Subject,\n concat,\n defer,\n map,\n mergeScan,\n race,\n skip,\n skipWhile,\n take,\n takeUntil,\n tap,\n} from 'rxjs';\nimport { delay, shareReplay, startWith } from 'rxjs/operators';\n\nimport { inProgressFrom, progressTo } from '../../utils';\n\nexport interface Action<TParams> {\n type: 'load' | 'reload' | 'more' | 'init';\n params?: TParams;\n size?: number;\n}\n\nexport interface FetchResult<TResultItem, TContinuationToken = string> {\n result: TResultItem[];\n continuationToken?: TContinuationToken;\n}\n\nexport interface FetchOptions<TContinuationToken = string> {\n size: number;\n continuationToken?: TContinuationToken;\n}\n\nexport interface LoadOptions {\n size?: number;\n}\n\nexport interface Accumulator<TResultItem, TParams, TContinuationToken> {\n result: TResultItem[];\n size: number;\n params?: TParams;\n continuationToken?: TContinuationToken;\n}\n\nconst DEFAULT_SIZE = 25;\n\nexport abstract class FetchSuperclass<TResultItem, TParams = void, TContinuationToken = string> {\n result$ = defer(() => this.state$).pipe(map(({ result }) => result));\n hasMore$ = defer(() => this.state$).pipe(map(({ continuationToken }) => !!continuationToken));\n isLoading$ = inProgressFrom(\n () => this.progress$,\n () => this.state$,\n );\n\n private fetch$ = new BehaviorSubject<Action<TParams>>({ type: 'init' });\n private progress$ = new BehaviorSubject(0);\n private state$ = defer(() => {\n const resAction$ = this.fetch$.pipe(skipWhile((action) => action.type !== 'load'));\n return race(\n concat(resAction$.pipe(take(1), delay(1000)), resAction$),\n resAction$.pipe(skip(1)),\n );\n }).pipe(\n tap((action) => {\n if (action.type === 'load') {\n this.skipPrevious$.next(true);\n }\n }),\n mergeScan<Action<TParams>, Accumulator<TResultItem, TParams, TContinuationToken>>(\n (acc, action) => {\n const params = (action.type === 'load' ? action.params : acc.params) as TParams;\n const size = action.size ?? acc.size;\n const continuationToken =\n action.type === 'more' ? acc.continuationToken : undefined;\n return this.fetch(params, { size, continuationToken }).pipe(\n ...((action.type === 'load'\n ? ([\n startWith({\n params,\n result: [],\n size,\n continuationToken: undefined,\n }),\n ] as unknown)\n : []) as []),\n map(({ result, continuationToken }) => ({\n params,\n result:\n action.type === 'load' || action.type === 'reload'\n ? result\n : [...(acc.result ?? []), ...result],\n size,\n continuationToken,\n })),\n progressTo(this.progress$),\n takeUntil(this.skipPrevious$),\n );\n },\n {\n size: DEFAULT_SIZE,\n result: [],\n },\n 1,\n ),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n private skipPrevious$ = new Subject<boolean>();\n\n load(params: TParams, options: LoadOptions = {}): void {\n this.fetch$.next({ type: 'load', params, size: options.size });\n }\n\n reload(options: LoadOptions = {}): void {\n this.fetch$.next({ type: 'reload', size: options.size });\n }\n\n more(): void {\n this.fetch$.next({ type: 'more' });\n }\n\n protected abstract fetch(\n params: TParams,\n options: FetchOptions<TContinuationToken>,\n ): Observable<FetchResult<TResultItem, TContinuationToken>>;\n}\n\nexport abstract class SingleFetchSuperclass<TResultItem, TParams = void> extends FetchSuperclass<\n TResultItem,\n TParams,\n never\n> {\n override more: () => never = () => undefined as never;\n}\n","import { DateRange } from '@angular/material/datepicker';\n\nimport { Serializer } from '../types/serializer';\n\nexport const DATE_QUERY_PARAMS_SERIALIZERS: Serializer[] = [\n {\n id: 'date',\n serialize: (date: Date) => date?.toISOString(),\n deserialize: (value) => new Date(value),\n recognize: (value) => value instanceof Date,\n },\n {\n id: 'dateRange',\n serialize: ({ start, end }: DateRange<Date>) =>\n `${start?.toISOString()}|${end?.toISOString()}`,\n deserialize: (value) => {\n const [start, end] = value.split('|').map((p) => (p ? new Date(p) : null));\n return { start, end };\n },\n recognize: (value) => {\n if (typeof value !== 'object') {\n return false;\n }\n const { start, end, ...other } = value as DateRange<Date>;\n if (Object.keys(other).length) {\n return false;\n }\n return start instanceof Date || end instanceof Date;\n },\n },\n] as Serializer[];\n","import { InjectionToken } from '@angular/core';\n\nimport { Serializer } from '../types/serializer';\n\nexport const QUERY_PARAMS_SERIALIZERS = new InjectionToken<Serializer[]>(\n 'query params serializers',\n);\n","import { Serializer } from '../types/serializer';\n\nexport function deserializeQueryParam<P>(value: string, serializers: Serializer[] = []): P {\n const serializer = serializers\n .sort((a, b) => b.id.length - a.id.length)\n .find((s) => value.startsWith(s.id));\n return (\n serializer\n ? serializer.deserialize(value.slice(serializer.id.length))\n : JSON.parse(value || '')\n ) as P;\n}\n","import { Serializer } from '../types/serializer';\n\nexport function serializeQueryParam(value: unknown, serializers: Serializer[] = []): string {\n const serializer = serializers\n .sort((a, b) => b.id.length - a.id.length)\n .find((s) => s.recognize(value));\n return serializer ? serializer.id + serializer.serialize(value) : JSON.stringify(value);\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport isEqual from 'lodash-es/isEqual';\nimport negate from 'lodash-es/negate';\nimport { Observable, concat, defer, skipWhile, take } from 'rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators';\n\nimport { isEmpty } from '../../utils';\n\nimport { Serializer } from './types/serializer';\nimport { QUERY_PARAMS_SERIALIZERS } from './utils';\nimport { deserializeQueryParam } from './utils/deserialize-query-param';\nimport { serializeQueryParam } from './utils/serialize-query-param';\n\ninterface SerializeOptions {\n filter?: (param: unknown, key: string) => boolean;\n}\n\ninterface SetOptions extends SerializeOptions {\n isPatch?: boolean;\n}\n\ninterface SourceParams {\n main: Params;\n namespaces: Record<string, string>;\n}\n\ninterface BaseQueryParams<T extends object> {\n params$: Observable<Partial<T>>;\n params: Partial<T>;\n set: (params: T, options?: SerializeOptions) => Promise<boolean>;\n patch: (params: Partial<T>, options?: SerializeOptions) => Promise<boolean>;\n}\n\nexport interface QueryParamsNamespace<T extends object> extends BaseQueryParams<T> {\n destroy: () => void;\n}\n\nconst NS_PARAM_PREFIX = '__';\n\n@Injectable({ providedIn: 'root' })\nexport class QueryParamsService<P extends object = NonNullable<unknown>>\n implements BaseQueryParams<P>\n{\n params$: Observable<P> = defer(() => this.sourceParams$).pipe(\n map(({ main }) => main),\n distinctUntilChanged(isEqual),\n map((params) => this.deserialize(params)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n get params(): P {\n return this.deserialize(this.getSourceParams().main);\n }\n\n private sourceParams$: Observable<SourceParams> = concat(\n this.router.events.pipe(\n startWith(null),\n skipWhile(() => !this.router.navigated),\n map(() => this.route.snapshot.queryParams),\n take(1),\n ),\n this.route.queryParams,\n ).pipe(\n distinctUntilChanged(isEqual),\n map((p) => this.getSourceParams(p)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n @Optional() @Inject(QUERY_PARAMS_SERIALIZERS) private readonly serializers?: Serializer[],\n ) {\n if (!this.serializers) {\n this.serializers = [];\n }\n }\n\n async set(params: P, options: SerializeOptions = {}): Promise<boolean> {\n return await this.setParams(params, undefined, options);\n }\n\n async patch(params: Partial<P>, options: SerializeOptions = {}): Promise<boolean> {\n return await this.setParams(params, undefined, { ...options, isPatch: true });\n }\n\n createNamespace<TNamespaceParams extends object>(\n ns: string,\n ): QueryParamsNamespace<TNamespaceParams> {\n const getNamespaceSourceParams = (sourceParams = this.getSourceParams()): Partial<string> =>\n sourceParams.namespaces[NS_PARAM_PREFIX + ns];\n const getNamespaceParams = (): Partial<TNamespaceParams> =>\n this.deserializeNamespace(getNamespaceSourceParams());\n return {\n params$: this.sourceParams$.pipe(\n map((sourceParams) => getNamespaceSourceParams(sourceParams)),\n distinctUntilChanged(isEqual),\n map((params) => this.deserializeNamespace(params)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n ),\n get params() {\n return getNamespaceParams();\n },\n set: async (params, options = {}): Promise<boolean> => {\n return await this.setParams(params, ns, options);\n },\n patch: async (params, options = {}): Promise<boolean> => {\n return await this.setParams(params, ns, { ...options, isPatch: true });\n },\n destroy: async () => {\n await this.setParams({}, ns);\n },\n };\n }\n\n private async setParams<TParams extends object>(\n params: Partial<TParams>,\n ns?: string,\n options: SetOptions = {},\n ): Promise<boolean> {\n const sourceParams = this.getSourceParams();\n let queryParams: Params;\n if (ns) {\n const nsKey = NS_PARAM_PREFIX + ns;\n const serializedNamespace = this.serializeNamespace(\n Object.assign(\n {},\n options.isPatch && this.deserializeNamespace(sourceParams.namespaces[nsKey]),\n params,\n ),\n );\n const otherNamespaces = sourceParams.namespaces;\n delete otherNamespaces[nsKey];\n queryParams = Object.assign(\n {},\n sourceParams.main,\n otherNamespaces,\n !!serializedNamespace && { [nsKey]: serializedNamespace },\n );\n } else {\n queryParams = Object.assign(\n {},\n options.isPatch && sourceParams.main,\n this.serialize(params),\n sourceParams.namespaces,\n );\n }\n return await this.router.navigate([], { queryParams });\n }\n\n private getSourceParams(source: Params = this.route.snapshot.queryParams): SourceParams {\n return Object.entries(source).reduce(\n (acc, [k, v]) => {\n if (k.startsWith(NS_PARAM_PREFIX)) {\n acc.namespaces[k] = v;\n } else {\n acc.main[k] = v;\n }\n return acc;\n },\n { main: {}, namespaces: {} } as SourceParams,\n );\n }\n\n private serialize(params: object, options: SerializeOptions = {}): Params {\n const filter = options.filter ?? negate(isEmpty);\n return Object.entries(params).reduce((acc, [k, v]) => {\n if (filter(v, k)) {\n acc[k] = serializeQueryParam(v, this.serializers);\n }\n return acc;\n }, {} as Params);\n }\n\n private deserialize(params: Params): P {\n if (!params) {\n return {} as P;\n }\n return Object.entries(params).reduce((acc, [k, v]) => {\n try {\n acc[k as keyof P] = deserializeQueryParam<P[keyof P]>(v, this.serializers);\n } catch (err) {\n console.error(err);\n }\n return acc;\n }, {} as P);\n }\n\n private serializeNamespace<TNamespaceParams extends object>(params?: TNamespaceParams): string {\n return params && Object.keys(params).length ? JSON.stringify(params) : '';\n }\n\n private deserializeNamespace<TNamespaceParams extends object>(\n strParams?: string,\n ): TNamespaceParams {\n return strParams ? JSON.parse(strParams) : {};\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { QueryParamsService } from './query-params.service';\nimport { DATE_QUERY_PARAMS_SERIALIZERS } from './utils/date-query-params-serializers';\nimport { QUERY_PARAMS_SERIALIZERS } from './utils/query-params-serializers';\n\n@NgModule({\n providers: [\n { provide: QUERY_PARAMS_SERIALIZERS, useValue: DATE_QUERY_PARAMS_SERIALIZERS },\n QueryParamsService,\n ],\n})\nexport class QueryParamsModule {}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { distinctUntilChanged, filter, map, shareReplay, startWith } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UrlService {\n url$ = this.router.events.pipe(\n startWith(null),\n map(() => this.url),\n filter((url) => this.router.navigated || (!!url && url !== '/')),\n distinctUntilChanged(),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n path$ = this.url$.pipe(\n map(() => this.path),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n get url() {\n return this.router.url && this.router.url !== '/'\n ? this.router.url.split('?', 1)[0].split('#', 1)[0]\n : window.location.pathname;\n }\n\n get path() {\n return this.url?.split('/')?.slice(1) ?? [];\n }\n\n constructor(private router: Router) {}\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { NotifyLogService } from '../../services';\n\nfunction hasExtension(fileName: string, extensions: string[]) {\n return (\n !extensions?.length ||\n new RegExp('(' + extensions.join('|').replace(/\\./g, '\\\\.') + ')$').test(fileName)\n );\n}\n\n@Component({\n selector: 'v-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n standalone: false,\n})\nexport class FileUploadComponent {\n @Input() label?: string;\n @Input() extensions: string[] = [];\n\n @Output() upload = new EventEmitter<File | null>();\n\n protected file?: File | null;\n\n constructor(private log: NotifyLogService) {}\n\n loadFile(event: Event) {\n const file = (event.target as HTMLInputElement)?.files?.[0] ?? null;\n if (!file) {\n this.log.error(new Error('File upload error'));\n return;\n }\n if (!hasExtension(file.name, this.extensions)) {\n this.log.error(new Error(`Supported file types: ${this.extensions.join(', ')}`));\n return;\n }\n this.file = file;\n this.upload.emit(this.file);\n }\n}\n","<div class=\"wrapper\">\n <button mat-button type=\"button\" (click)=\"fileInput.click()\">\n {{ label ?? 'Choose File' }}\n </button>\n\n <div class=\"mat-body-medium mat-secondary-text mat-no-margin\">\n {{ file?.name }}\n </div>\n</div>\n\n<input #fileInput hidden type=\"file\" (change)=\"loadFile($event)\" />\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { FileUploadComponent } from './file-upload.component';\n\n@NgModule({\n declarations: [FileUploadComponent],\n exports: [FileUploadComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class FileUploadModule {}\n","import { Observable } from 'rxjs';\n\nimport { Nil } from '../../../utils';\n\nexport function loadFileContent(file: File | Nil, encoding = 'utf-8'): Observable<string> {\n return new Observable((subscriber) => {\n if (!file) {\n return undefined;\n }\n const read = new FileReader();\n read.readAsText(file, encoding);\n read.onloadend = function () {\n if (read.error) {\n return subscriber.error(read.error);\n } else {\n subscriber.next((read.result as string) || '');\n }\n subscriber.complete();\n };\n });\n}\n","import { Component, Input, booleanAttribute } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter';\nimport { FormComponentSuperclass } from '@s-libs/ng-core';\nimport { format, isValid } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\n\nimport {\n createControlProviders,\n createDateFromNoTimeZoneString,\n getNoTimeZoneIsoString,\n} from '../../utils';\n\n@Component({\n selector: 'v-datetime-field',\n templateUrl: './datetime-field.component.html',\n styleUrls: ['datetime-field.component.scss'],\n providers: [\n ...createControlProviders(() => DatetimeFieldComponent),\n { provide: MAT_DATE_LOCALE, useValue: enGB },\n { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n ],\n standalone: false,\n})\nexport class DatetimeFieldComponent extends FormComponentSuperclass<string> {\n @Input() label?: string;\n @Input({ transform: booleanAttribute }) required = false;\n @Input() hint?: string;\n\n datetime?: Date | null;\n\n get time() {\n return this.datetime ? format(this.datetime, 'HH:mm') : '';\n }\n\n handleIncomingValue(value: string) {\n this.datetime = value ? createDateFromNoTimeZoneString(value) : null;\n }\n\n timeChanged(event: Event) {\n const [hours, minutes] = (event.target as HTMLInputElement).value.split(':');\n if (!this.datetime) {\n this.datetime = new Date();\n }\n this.datetime.setHours(Number(hours));\n this.datetime.setMinutes(Number(minutes));\n this.datetime.setSeconds(0);\n this.datetime.setMilliseconds(0);\n this.emitValue();\n }\n\n dateChanged(date: MatDatepickerInputEvent<Date>) {\n const v = date.target.value || new Date();\n if (this.datetime) {\n this.datetime.setDate(v.getDate());\n this.datetime.setMonth(v.getMonth());\n this.datetime.setFullYear(v.getFullYear());\n } else {\n this.datetime = v;\n }\n this.emitValue();\n }\n\n validate(): ValidationErrors | null {\n return !this.datetime || isValid(this.datetime) ? null : { invalidDatetime: true };\n }\n\n private emitValue() {\n return this.emitOutgoingValue(getNoTimeZoneIsoString(this.datetime));\n }\n}\n","<div class=\"wrapper\">\n <mat-form-field class=\"date\">\n <mat-label>\n {{ label }}\n </mat-label>\n <mat-hint>{{ hint }}</mat-hint>\n <input\n [matDatepicker]=\"picker\"\n [required]=\"required\"\n [value]=\"datetime\"\n matInput\n (dateInput)=\"dateChanged($event)\"\n />\n <mat-datepicker-toggle [for]=\"picker\" matSuffix></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n @if (datetime) {\n <mat-form-field class=\"time\">\n <input [value]=\"time\" matInput type=\"time\" (input)=\"timeChanged($event)\" />\n </mat-form-field>\n }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { DatetimeFieldComponent } from './datetime-field.component';\n\n@NgModule({\n declarations: [DatetimeFieldComponent],\n exports: [DatetimeFieldComponent],\n imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule],\n})\nexport class DatetimeFieldModule {}\n","import { Component, Input, OnChanges } from '@angular/core';\nimport { lowerFirst } from 'lodash-es';\nimport isNil from 'lodash-es/isNil';\n\nimport { ComponentChanges, FormControlSuperclass, createControlProviders } from '../../utils';\n\nexport interface State<T = unknown> {\n icon?: string;\n label?: string;\n value?: T;\n}\n\n@Component({\n selector: 'v-switch-button',\n templateUrl: './switch-button.component.html',\n styles: [],\n providers: createControlProviders(() => SwitchButtonComponent),\n standalone: false,\n})\nexport class SwitchButtonComponent<T = number>\n extends FormControlSuperclass<T>\n implements OnChanges\n{\n @Input() states: State<T>[] = [];\n\n private hasChangeValue = false;\n\n get index() {\n return this.getIndex(this.control.value);\n }\n\n get nextIndex() {\n const nextIdx = this.index + 1;\n return nextIdx === this.states.length ? 0 : nextIdx;\n }\n\n get value(): T {\n return this.getValue(this.getIndex(this.control.value));\n }\n\n get state() {\n return this.states[this.index];\n }\n\n get nextState() {\n return this.states[this.nextIndex];\n }\n\n get tooltip() {\n const nextState = this.states[this.nextIndex];\n return nextState.label ? `Switch to ${lowerFirst(nextState.label)}` : '';\n }\n\n change() {\n this.control.setValue(this.getValue(this.nextIndex));\n }\n\n override ngOnChanges(changes: ComponentChanges<SwitchButtonComponent<T>>) {\n super.ngOnChanges(changes);\n if (changes.states && this.states.length) {\n if (!isNil(this.states?.[0]?.value)) {\n this.hasChangeValue = true;\n }\n if (isNil(this.control.value)) {\n this.control.setValue(this.value);\n }\n }\n }\n\n private getIndex(value: T) {\n return (\n (this.hasChangeValue\n ? this.states.findIndex((s) => s.value === value)\n : (value as number)) ?? 0\n );\n }\n\n private getValue(index: number) {\n return this.hasChangeValue ? (this.states[index]?.value as T) : (index as T);\n }\n}\n","<button [matTooltip]=\"tooltip\" class=\"button\" mat-icon-button (click)=\"change()\">\n <mat-icon class=\"icon\">{{ state?.icon }}</mat-icon>\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { SwitchButtonComponent } from './switch-button.component';\n\n@NgModule({\n declarations: [SwitchButtonComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule],\n exports: [SwitchButtonComponent],\n})\nexport class SwitchButtonModule {}\n","import { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, ViewEncapsulation, booleanAttribute, input } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { MatDivider } from '@angular/material/divider';\nimport { RouterLink } from '@angular/router';\nimport { isArray } from 'lodash-es';\nimport { combineLatest } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\nimport { UrlService } from '../../services';\n\nexport interface Link {\n label: string;\n url: string;\n}\n\n@Component({\n selector: 'v-nav',\n styleUrls: ['./nav.component.scss'],\n templateUrl: './nav.component.html',\n imports: [RouterLink, NgClass, AsyncPipe, MatDivider],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NavComponent {\n type = input<'secondary' | undefined>();\n links = input<Link[][], Link[] | Link[][]>([], {\n transform: (v) => (isArray(v[0]) ? (v as never) : [v as never]),\n });\n exact = input(false, { transform: booleanAttribute });\n\n activeLink$ = combineLatest([\n this.urlService.url$,\n toObservable(this.links),\n toObservable(this.exact),\n ]).pipe(\n map(\n ([url, links, exact]) =>\n links.flat().reduce(\n (res, link) => {\n const index = url.indexOf(link.url);\n if (index !== -1 && (exact ? index === 0 : index < res.index)) {\n return { index, link };\n }\n return res;\n },\n { index: Infinity, link: null as never as Link },\n )?.link,\n ),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n\n constructor(private urlService: UrlService) {}\n}\n","<div [ngClass]=\"{ 'v-nav__secondary': type() === 'secondary' }\" class=\"v-nav\">\n @for (linksGroup of links(); track linksGroup; let index = $index) {\n @if (index !== 0) {\n <mat-divider></mat-divider>\n }\n @for (link of linksGroup; track link) {\n <div\n [ngClass]=\"{ item__active: (activeLink$ | async) === link }\"\n [routerLink]=\"link.url\"\n [title]=\"link.label\"\n class=\"mat-body-large item mat-no-margin\"\n >\n {{ link.label }}\n </div>\n }\n }\n</div>\n","import { DEFAULT_CURRENCY_CODE, Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\nimport { formatCurrency } from '../utils';\n\n@Pipe({\n standalone: true,\n name: 'amountCurrency',\n})\nexport class AmountCurrencyPipe implements PipeTransform {\n constructor(\n @Inject(LOCALE_ID) private _locale: string,\n @Inject(DEFAULT_CURRENCY_CODE) private _defaultCurrencyCode: string = 'USD',\n ) {}\n\n transform(\n amount: unknown,\n currencyCode: string = this._defaultCurrencyCode,\n format: 'short' | 'long' = 'long',\n exponent?: number,\n isMajor = false,\n ): unknown {\n if (typeof amount === 'number') {\n return formatCurrency(amount, currencyCode, format, this._locale, exponent, isMajor);\n }\n return amount;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { getEnumKeyValues } from '../utils/enum';\n\n@Pipe({\n standalone: true,\n name: 'enumKeyValues',\n})\nexport class EnumKeyValuesPipe implements PipeTransform {\n transform<E extends Record<PropertyKey, unknown>>(value: E) {\n return getEnumKeyValues(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport isNil from 'lodash-es/isNil';\nimport { ValuesType } from 'utility-types';\n\nimport { getEnumKey } from '../utils/enum';\n\n@Pipe({\n standalone: true,\n name: 'enumKey',\n})\nexport class EnumKeyPipe implements PipeTransform {\n transform<E extends Record<PropertyKey, unknown>>(value: ValuesType<E>, enumObj: E) {\n return !isNil(value) && enumObj ? getEnumKey(enumObj, value) : '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { getEnumKeys } from '../utils/enum';\n\n@Pipe({\n standalone: true,\n name: 'enumKeys',\n})\nexport class EnumKeysPipe implements PipeTransform {\n transform<E extends Record<PropertyKey, unknown>>(value: E): (keyof E)[] {\n return getEnumKeys(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { formatDistanceToNow } from 'date-fns';\nimport { combineLatest, throttleTime, timer } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\n\nimport { AsyncTransform, AsyncTransformParameters } from '../utils';\n\nexport type HumanizedDurationValue = ConstructorParameters<DateConstructor>[0];\n\nexport interface HumanizedDurationConfig {\n hasAgoEnding?: boolean;\n}\n\nconst DEFAULT_TIMER = 7500;\n\n@Pipe({\n standalone: true,\n name: 'humanizedDuration',\n pure: false,\n})\nexport class HumanizedDurationPipe\n extends AsyncTransform<HumanizedDurationValue, [HumanizedDurationConfig]>\n implements PipeTransform\n{\n protected result$ = combineLatest([this.params$, timer(0, DEFAULT_TIMER)]).pipe(\n throttleTime(DEFAULT_TIMER),\n map(\n ([[value, config]]) =>\n formatDistanceToNow(new Date(value), { includeSeconds: true }) +\n (config.hasAgoEnding ? ' ago' : ''),\n ),\n distinctUntilChanged(),\n );\n\n transform(\n ...params: AsyncTransformParameters<HumanizedDurationValue, [HumanizedDurationConfig]>\n ) {\n return super.asyncTransform(params);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { inlineJson } from '../utils';\n\n@Pipe({\n name: 'inlineJson',\n standalone: false,\n})\nexport class InlineJsonPipe implements PipeTransform {\n transform(value: unknown, maxReadableLever: number | false = 1): string {\n return inlineJson(value, maxReadableLever === false ? Infinity : maxReadableLever);\n }\n}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { Observable, isObservable } from 'rxjs';\n\nimport { SelectFn, select } from '../utils';\n\n@Pipe({\n standalone: true,\n name: 'vSelect',\n pure: false,\n})\nexport class VSelectPipe<TObject extends object, TResult, TParams extends Array<unknown> = []>\n implements PipeTransform, OnDestroy\n{\n private asyncPipe?: AsyncPipe;\n\n constructor(private ref: ChangeDetectorRef) {}\n\n transform(\n obj: TObject,\n selectFn: SelectFn<TObject, TResult, TParams>,\n defaultValue?: TResult,\n rest: TParams[] = [],\n ): TResult | null {\n const res = obj && selectFn ? select(obj, selectFn, defaultValue, rest) : null;\n if (isObservable(res) && !this.asyncPipe) {\n this.asyncPipe = new AsyncPipe(this.ref);\n }\n if (this.asyncPipe) {\n return this.asyncPipe.transform(res as Observable<TResult>);\n }\n return res as TResult;\n }\n\n ngOnDestroy() {\n this.asyncPipe?.ngOnDestroy?.();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AmountCurrencyPipe } from './amount-currency.pipe';\nimport { EnumKeyValuesPipe } from './enum-key-values.pipe';\nimport { EnumKeyPipe } from './enum-key.pipe';\nimport { EnumKeysPipe } from './enum-keys.pipe';\nimport { HumanizedDurationPipe } from './humanized-duration.pipe';\nimport { InlineJsonPipe } from './inline-json.pipe';\nimport { VSelectPipe } from './select.pipe';\n\n@NgModule({\n declarations: [InlineJsonPipe],\n exports: [\n InlineJsonPipe,\n EnumKeyPipe,\n EnumKeysPipe,\n EnumKeyValuesPipe,\n AmountCurrencyPipe,\n VSelectPipe,\n HumanizedDurationPipe,\n ],\n imports: [\n CommonModule,\n EnumKeyPipe,\n EnumKeysPipe,\n EnumKeyValuesPipe,\n AmountCurrencyPipe,\n VSelectPipe,\n HumanizedDurationPipe,\n ],\n})\nexport class PipesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ActionsComponent","i1","i3","i4","i5.ProgressComponent","catchError","getValue","BaseFormComponentSuperclass","ngFormatCurrency","_get","isObject","i2","i5","i6","i3.TagComponent","isEqual","i4.InputFieldComponent","i5.ActionsComponent","i7","i8.TagComponent","debounceTime","first","i4.ValueComponent","i5.NoRecordsComponent","i6.ContentLoadingComponent","i7.InfinityScrollDirective","i8.SelectColumnComponent","i11.DndColumnComponent","i12.TableInfoBarComponent","i13.TableInputsComponent","i2.DialogComponent","i3.DialogActionsComponent","i4.TableComponent","i1.DialogService","i3.ActionsComponent","i8","map","i1.NotifyLogService","FormComponentSuperclass","i1.UrlService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vality-matez.mjs","sources":["../tmp-esm2022/lib/components/actions/actions.component.js","../tmp-esm2022/lib/components/actions/actions.module.js","../tmp-esm2022/lib/components/progress/progress.component.js","../tmp-esm2022/lib/components/progress/progress.module.js","../tmp-esm2022/lib/components/dialog/components/dialog-actions/dialog-actions.component.js","../tmp-esm2022/lib/components/dialog/types/dialog-response-status.js","../tmp-esm2022/lib/components/dialog/dialog.component.js","../tmp-esm2022/lib/components/dialog/tokens.js","../tmp-esm2022/lib/components/dialog/services/dialog.service.js","../tmp-esm2022/lib/components/dialog/dialog.module.js","../tmp-esm2022/lib/components/dialog/utils/dialog-superclass.js","../tmp-esm2022/lib/components/content-loading/content-loading.component.js","../tmp-esm2022/lib/utils/json/inline-json.js","../tmp-esm2022/lib/utils/string/split-by-separators.js","../tmp-esm2022/lib/utils/operators/progress-to.js","../tmp-esm2022/lib/utils/operators/get-observable.js","../tmp-esm2022/lib/utils/operators/in-progress-from.js","../tmp-esm2022/lib/utils/operators/pass-error.js","../tmp-esm2022/lib/components/progress/utils/get-progress-by-count.js","../tmp-esm2022/lib/utils/operators/fork-join-to-result.js","../tmp-esm2022/lib/utils/async/is-async.js","../tmp-esm2022/lib/utils/async/get-possibly-async-observable.js","../tmp-esm2022/lib/utils/async/async-transform.js","../tmp-esm2022/lib/utils/operators/switch-combine-with.js","../tmp-esm2022/lib/utils/operators/debounce-time-with-first.js","../tmp-esm2022/lib/utils/operators/handle-error.js","../tmp-esm2022/lib/utils/operators/async-start-with.js","../tmp-esm2022/lib/utils/form/has-controls.js","../tmp-esm2022/lib/utils/form/get-value.js","../tmp-esm2022/lib/utils/form/get-value-changes.js","../tmp-esm2022/lib/utils/form/form-wrappers/utils/get-errors-tree.js","../tmp-esm2022/lib/utils/form/form-wrappers/abstract-control-superclass.js","../tmp-esm2022/lib/utils/form/form-wrappers/form-group-superclass.directive.js","../tmp-esm2022/lib/utils/form/form-wrappers/utils/provide-validators.js","../tmp-esm2022/lib/utils/form/form-wrappers/utils/provide-value-accessor.js","../tmp-esm2022/lib/utils/form/form-wrappers/utils/create-control-providers.js","../tmp-esm2022/lib/utils/form/form-wrappers/form-control-superclass.directive.js","../tmp-esm2022/lib/utils/form/form-wrappers/form-component-superclass.directive.js","../tmp-esm2022/lib/utils/empty/is-empty-primitive.js","../tmp-esm2022/lib/utils/form/get-valid-value-changes.js","../tmp-esm2022/lib/utils/form/set-disabled.js","../tmp-esm2022/lib/utils/form/create-controls.js","../tmp-esm2022/lib/utils/date/get-no-time-zone-iso-string.js","../tmp-esm2022/lib/utils/currency/get-currency-exponent.js","../tmp-esm2022/lib/utils/currency/to-major.js","../tmp-esm2022/lib/utils/currency/to-minor.js","../tmp-esm2022/lib/utils/currency/format-currency.js","../tmp-esm2022/lib/utils/object/select.js","../tmp-esm2022/lib/utils/object/count-props.js","../tmp-esm2022/lib/utils/empty/is-empty.js","../tmp-esm2022/lib/utils/object/count-changed.js","../tmp-esm2022/lib/utils/enum/get-enum-keys.js","../tmp-esm2022/lib/utils/clean/clean.js","../tmp-esm2022/lib/utils/compare/compare-different-types.js","../tmp-esm2022/lib/utils/import/get-import-value.js","../tmp-esm2022/lib/utils/file/download-file.js","../tmp-esm2022/lib/utils/csv/create-csv.js","../tmp-esm2022/lib/utils/csv/utils/remove-line-breaks.js","../tmp-esm2022/lib/utils/csv/parse-csv.js","../tmp-esm2022/lib/utils/csv/utils/unify-csv-items.js","../tmp-esm2022/lib/utils/transform-attribute/array-attribute.js","../tmp-esm2022/lib/utils/decorators/debounce-time.js","../tmp-esm2022/lib/utils/create-storage-value.js","../tmp-esm2022/lib/utils/subscribe-return.js","../tmp-esm2022/lib/components/input-field/input-field.component.js","../tmp-esm2022/lib/components/input-field/input-field.module.js","../tmp-esm2022/lib/components/tag/tag.component.js","../tmp-esm2022/lib/components/tag/tag.module.js","../tmp-esm2022/lib/components/table/utils/normalize-string.js","../tmp-esm2022/lib/directives/highlight.directive.js","../tmp-esm2022/lib/components/value/components/menu-value.component.js","../tmp-esm2022/lib/components/value/components/toggle-value.component.js","../tmp-esm2022/lib/components/value/utils/currency-amount-value-to-string.js","../tmp-esm2022/lib/components/value/utils/datetime-value-to-string.js","../tmp-esm2022/lib/components/value/utils/unknown-to-string.js","../tmp-esm2022/lib/components/value/utils/value-to-string.js","../tmp-esm2022/lib/components/value/value.component.js","../tmp-esm2022/lib/components/value/components/value-list.component.js","../tmp-esm2022/lib/components/table/components/table-inputs.component.js","../tmp-esm2022/lib/components/table/utils/create-unique-column-def.js","../tmp-esm2022/lib/components/table/consts.js","../tmp-esm2022/lib/components/table/types/column.js","../tmp-esm2022/lib/components/table/utils/filter-sort.js","../tmp-esm2022/lib/components/table/tree-data/tree-data-item-to-inline-data-item.js","../tmp-esm2022/lib/components/table/utils/cached-head-map.js","../tmp-esm2022/lib/components/table/utils/table-data-source.js","../tmp-esm2022/lib/components/table/utils/table-to-csv-object.js","../tmp-esm2022/lib/components/table/utils/to-columns-data.js","../tmp-esm2022/lib/components/table/components/no-records.component.js","../tmp-esm2022/lib/components/table/utils/create-intersection-observer.js","../tmp-esm2022/lib/components/table/components/infinity-scroll.directive.js","../tmp-esm2022/lib/components/table/components/base-column.component.js","../tmp-esm2022/lib/components/table/components/select-column.component.js","../tmp-esm2022/lib/components/table/components/dnd-column.component.js","../tmp-esm2022/lib/components/table/components/table-info-bar/table-info-bar.component.js","../tmp-esm2022/lib/components/table/table.component.js","../tmp-esm2022/lib/components/table/components/customize/customize.component.js","../tmp-esm2022/lib/components/table/components/table-actions.component.js","../tmp-esm2022/lib/components/table/components/table-progress-bar.component.js","../tmp-esm2022/lib/components/table/table.module.js","../tmp-esm2022/lib/components/table/utils/correct-priorities.js","../tmp-esm2022/lib/components/table/utils/create-column.js","../tmp-esm2022/lib/components/table/presets/create-menu-column.js","../tmp-esm2022/lib/components/confirm-dialog/confirm-dialog.component.js","../tmp-esm2022/lib/components/confirm-dialog/confirm-dialog.module.js","../tmp-esm2022/lib/components/filters/components/filters-dialog/filters-dialog.component.js","../tmp-esm2022/lib/components/filters/components/main-filters/main-filters.directive.js","../tmp-esm2022/lib/components/filters/components/other-filters/other-filters.directive.js","../tmp-esm2022/lib/components/filters/filters.component.js","../tmp-esm2022/lib/components/filters/components/more-filters-button/more-filters-button.component.js","../tmp-esm2022/lib/components/filters/filters.module.js","../tmp-esm2022/lib/components/date-range-field/date-range-field.component.js","../tmp-esm2022/lib/components/date-range-field/date-range-field.module.js","../tmp-esm2022/lib/components/date-range-field/utils/is-equal-date-range.js","../tmp-esm2022/lib/components/date-range-field/utils/create-date-range-to-today.js","../tmp-esm2022/lib/components/number-range-field/number-range-field.component.js","../tmp-esm2022/lib/components/number-range-field/number-range-field.module.js","../tmp-esm2022/lib/components/list-field/list-field.component.js","../tmp-esm2022/lib/components/list-field/list-field.module.js","../tmp-esm2022/lib/components/error-page/error-page.component.js","../tmp-esm2022/lib/components/error-page/error-page-routing.module.js","../tmp-esm2022/lib/components/error-page/error-page.module.js","../tmp-esm2022/lib/components/select-autocomplete/utils/search-options.js","../tmp-esm2022/lib/components/select-autocomplete/utils/find-option-by-value.js","../tmp-esm2022/lib/components/select-autocomplete/utils/get-hint-text.js","../tmp-esm2022/lib/components/select-autocomplete/select-field/select-field.component.js","../tmp-esm2022/lib/components/select-autocomplete/select-field/select-field.module.js","../tmp-esm2022/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.component.js","../tmp-esm2022/lib/components/select-autocomplete/autocomplete-field/autocomplete-field.module.js","../tmp-esm2022/lib/services/config/config.service.js","../tmp-esm2022/lib/services/log/log-error.js","../tmp-esm2022/lib/services/log/notify-log.service.js","../tmp-esm2022/lib/services/log/log.module.js","../tmp-esm2022/lib/services/fetch-superclass/fetch-superclass.js","../tmp-esm2022/lib/services/query-params/utils/date-query-params-serializers.js","../tmp-esm2022/lib/services/query-params/utils/query-params-serializers.js","../tmp-esm2022/lib/services/query-params/utils/serialize-query-params.js","../tmp-esm2022/lib/services/query-params/utils/deserialize-query-param.js","../tmp-esm2022/lib/services/query-params/query-params.service.js","../tmp-esm2022/lib/services/query-params/query-params.module.js","../tmp-esm2022/lib/services/url.service.js","../tmp-esm2022/lib/services/toast/toast.component.js","../tmp-esm2022/lib/services/toast/toast.service.js","../tmp-esm2022/lib/components/file-upload/file-upload.component.js","../tmp-esm2022/lib/components/file-upload/file-upload.module.js","../tmp-esm2022/lib/components/file-upload/utils/load-file-content.js","../tmp-esm2022/lib/components/datetime-field/datetime-field.component.js","../tmp-esm2022/lib/components/datetime-field/datetime-field.module.js","../tmp-esm2022/lib/components/switch-button/switch-button.component.js","../tmp-esm2022/lib/components/switch-button/switch-button.module.js","../tmp-esm2022/lib/components/nav/nav.component.js","../tmp-esm2022/lib/pipes/amount-currency.pipe.js","../tmp-esm2022/lib/pipes/enum-key-values.pipe.js","../tmp-esm2022/lib/pipes/enum-key.pipe.js","../tmp-esm2022/lib/pipes/enum-keys.pipe.js","../tmp-esm2022/lib/pipes/humanized-duration.pipe.js","../tmp-esm2022/lib/pipes/inline-json.pipe.js","../tmp-esm2022/lib/pipes/select.pipe.js","../tmp-esm2022/lib/pipes/pipes.module.js","../tmp-esm2022/vality-matez.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: ActionsComponent, isStandalone: false, selector: \"v-actions\", ngImport: i0, template: \"<div class=\\\"v-actions\\\">\\n <ng-content></ng-content>\\n</div>\\n\", styles: [\"::ng-deep .v-actions{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px}::ng-deep .v-actions>*:first-child:not(:last-child){margin-right:auto}::ng-deep .v-actions>*:first-child:last-child{margin-left:auto}@media screen and (max-width: 600px){::ng-deep .v-actions>*{margin-left:auto!important;margin-right:auto!important}}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ActionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: \"<div class=\\\"v-actions\\\">\\n <ng-content></ng-content>\\n</div>\\n\", styles: [\"::ng-deep .v-actions{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:16px}::ng-deep .v-actions>*:first-child:not(:last-child){margin-right:auto}::ng-deep .v-actions>*:first-child:last-child{margin-left:auto}@media screen and (max-width: 600px){::ng-deep .v-actions>*{margin-left:auto!important;margin-right:auto!important}}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU25FLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHNFQ1Q3QixvRUFHQTs7MkZETWEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNJLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtYWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICdhY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25zQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwidi1hY3Rpb25zXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { ActionsComponent } from './actions.component';\nimport * as i0 from \"@angular/core\";\nexport class ActionsModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ActionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: ActionsModule, declarations: [ActionsComponent], exports: [ActionsComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ActionsModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ActionsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n declarations: [ActionsComponent],\n exports: [ActionsComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb25zL2FjdGlvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxpQkFIUCxnQkFBZ0IsYUFDckIsZ0JBQWdCOytHQUVqQixhQUFhOzsyRkFBYixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbQWN0aW9uc0NvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0FjdGlvbnNDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25zTW9kdWxlIHt9XG4iXX0=","import { Component, Input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/progress-bar\";\nexport class ProgressComponent {\n get mode() {\n return typeof this.progress === 'number' && this.progress <= 1 && this.progress > 0\n ? 'determinate'\n : !!this.progress || this.progress === ''\n ? 'indeterminate'\n : undefined;\n }\n get value() {\n return this.mode === 'determinate'\n ? Math.max(Math.min((1 - this.progress) * 100, 100), 0)\n : undefined;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: ProgressComponent, isStandalone: false, selector: \"v-progress\", inputs: { progress: \"progress\" }, ngImport: i0, template: \"@if (!!mode) {\\n <mat-progress-bar [mode]=\\\"mode\\\" [value]=\\\"value\\\"></mat-progress-bar>\\n}\\n\", dependencies: [{ kind: \"component\", type: i1.MatProgressBar, selector: \"mat-progress-bar\", inputs: [\"color\", \"value\", \"bufferValue\", \"mode\"], outputs: [\"animationEnd\"], exportAs: [\"matProgressBar\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProgressComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-progress', standalone: false, template: \"@if (!!mode) {\\n <mat-progress-bar [mode]=\\\"mode\\\" [value]=\\\"value\\\"></mat-progress-bar>\\n}\\n\" }]\n }], propDecorators: { progress: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVNqRCxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLElBQUksSUFBSTtRQUNKLE9BQU8sT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUM7WUFDL0UsQ0FBQyxDQUFDLGFBQWE7WUFDZixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxFQUFFO2dCQUN2QyxDQUFDLENBQUMsZUFBZTtnQkFDakIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGFBQWE7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBSSxJQUFJLENBQUMsUUFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQyxDQUFFLFNBQW1CLENBQUM7SUFDL0IsQ0FBQzs4R0FmUSxpQkFBaUI7a0dBQWpCLGlCQUFpQix5R0NUOUIsa0dBR0E7OzJGRE1hLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxZQUFZLGNBRVYsS0FBSzs4QkFHUixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm9ncmVzc2FibGUgfSBmcm9tICcuLi8uLi90eXBlcy9wcm9ncmVzc2FibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtcHJvZ3Jlc3MnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzQ29tcG9uZW50IGltcGxlbWVudHMgUHJvZ3Jlc3NhYmxlIHtcbiAgICBASW5wdXQoKSBwcm9ncmVzczogUHJvZ3Jlc3NhYmxlWydwcm9ncmVzcyddO1xuXG4gICAgZ2V0IG1vZGUoKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5wcm9ncmVzcyA9PT0gJ251bWJlcicgJiYgdGhpcy5wcm9ncmVzcyA8PSAxICYmIHRoaXMucHJvZ3Jlc3MgPiAwXG4gICAgICAgICAgICA/ICdkZXRlcm1pbmF0ZSdcbiAgICAgICAgICAgIDogISF0aGlzLnByb2dyZXNzIHx8IHRoaXMucHJvZ3Jlc3MgPT09ICcnXG4gICAgICAgICAgICAgID8gJ2luZGV0ZXJtaW5hdGUnXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnZGV0ZXJtaW5hdGUnXG4gICAgICAgICAgICA/IE1hdGgubWF4KE1hdGgubWluKCgxIC0gKHRoaXMucHJvZ3Jlc3MgYXMgbnVtYmVyKSkgKiAxMDAsIDEwMCksIDApXG4gICAgICAgICAgICA6ICh1bmRlZmluZWQgYXMgbmV2ZXIpO1xuICAgIH1cbn1cbiIsIkBpZiAoISFtb2RlKSB7XG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgW21vZGVdPVwibW9kZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiPjwvbWF0LXByb2dyZXNzLWJhcj5cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { ProgressComponent } from './progress.component';\nimport * as i0 from \"@angular/core\";\nexport class ProgressModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: ProgressModule, declarations: [ProgressComponent], imports: [CommonModule, MatProgressBarModule], exports: [ProgressComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProgressModule, imports: [CommonModule, MatProgressBarModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ProgressModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [ProgressComponent],\n imports: [CommonModule, MatProgressBarModule],\n exports: [ProgressComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU96RCxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsaUJBSlIsaUJBQWlCLGFBQ3RCLFlBQVksRUFBRSxvQkFBb0IsYUFDbEMsaUJBQWlCOytHQUVsQixjQUFjLFlBSGIsWUFBWSxFQUFFLG9CQUFvQjs7MkZBR25DLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5cbmltcG9ydCB7IFByb2dyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1Byb2dyZXNzQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZV0sXG4gICAgZXhwb3J0czogW1Byb2dyZXNzQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NNb2R1bGUge31cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../../../actions/actions.component\";\nexport class DialogActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: DialogActionsComponent, isStandalone: false, selector: \"v-dialog-actions\", ngImport: i0, template: \"<v-actions><ng-content></ng-content></v-actions>\\n\", dependencies: [{ kind: \"component\", type: i1.ActionsComponent, selector: \"v-actions\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogActionsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-dialog-actions', standalone: false, template: \"<v-actions><ng-content></ng-content></v-actions>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLWFjdGlvbnMvZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFDLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDZFQ1BuQyxvREFDQTs7MkZETWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLGtCQUFrQixjQUVoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1kaWFsb2ctYWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQWN0aW9uc0NvbXBvbmVudCB7fVxuIiwiPHYtYWN0aW9ucz48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC92LWFjdGlvbnM+XG4iXX0=","export var DialogResponseStatus;\n(function (DialogResponseStatus) {\n DialogResponseStatus[\"Success\"] = \"success\";\n DialogResponseStatus[\"Error\"] = \"error\";\n DialogResponseStatus[\"Cancelled\"] = \"canceled\";\n})(DialogResponseStatus || (DialogResponseStatus = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlc3BvbnNlLXN0YXR1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2RpYWxvZy90eXBlcy9kaWFsb2ctcmVzcG9uc2Utc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG9CQUlYO0FBSkQsV0FBWSxvQkFBb0I7SUFDNUIsMkNBQW1CLENBQUE7SUFDbkIsdUNBQWUsQ0FBQTtJQUNmLDhDQUFzQixDQUFBO0FBQzFCLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRGlhbG9nUmVzcG9uc2VTdGF0dXMge1xuICAgIFN1Y2Nlc3MgPSAnc3VjY2VzcycsXG4gICAgRXJyb3IgPSAnZXJyb3InLFxuICAgIENhbmNlbGxlZCA9ICdjYW5jZWxlZCcsXG59XG4iXX0=","import { Component, EventEmitter, HostBinding, Input, Output, booleanAttribute, } from '@angular/core';\nimport { DialogResponseStatus } from './types/dialog-response-status';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/divider\";\nimport * as i3 from \"@angular/material/icon\";\nimport * as i4 from \"@angular/material/dialog\";\nimport * as i5 from \"../progress/progress.component\";\nexport class DialogComponent {\n constructor() {\n this.hostClass = true;\n this.disabled = false;\n this.hasDivider = true;\n this.noContent = false;\n this.noActions = false;\n this.noCloseButton = false;\n this.fullSize = false;\n // eslint-disable-next-line @angular-eslint/no-output-native\n this.cancel = new EventEmitter();\n this.cancelData = {\n status: DialogResponseStatus.Cancelled,\n };\n }\n cancelDialog() {\n this.cancel.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: DialogComponent, isStandalone: false, selector: \"v-dialog\", inputs: { title: \"title\", disabled: [\"disabled\", \"disabled\", booleanAttribute], progress: \"progress\", hasDivider: [\"hasDivider\", \"hasDivider\", booleanAttribute], noContent: [\"noContent\", \"noContent\", booleanAttribute], noActions: [\"noActions\", \"noActions\", booleanAttribute], noCloseButton: [\"noCloseButton\", \"noCloseButton\", booleanAttribute], fullSize: [\"fullSize\", \"fullSize\", booleanAttribute] }, outputs: { cancel: \"cancel\" }, host: { properties: { \"class.v-dialog\": \"this.hostClass\" } }, ngImport: i0, template: \"<div [ngClass]=\\\"{ 'full-size': fullSize }\\\" class=\\\"dialog\\\">\\n <div class=\\\"dialog-title\\\">\\n <div>\\n <h2 class=\\\"title\\\">{{ title }}</h2>\\n </div>\\n @if (!noCloseButton) {\\n <mat-icon\\n [matDialogClose]=\\\"cancelData\\\"\\n class=\\\"dialog-title-close\\\"\\n inline\\n (click)=\\\"cancelDialog()\\\"\\n >clear</mat-icon\\n >\\n }\\n </div>\\n\\n @if (!noContent) {\\n @if (hasDivider) {\\n <mat-divider></mat-divider>\\n }\\n <div class=\\\"dialog-content\\\">\\n <ng-content></ng-content>\\n </div>\\n }\\n @if (!noActions) {\\n @if (hasDivider) {\\n <mat-divider></mat-divider>\\n }\\n <div class=\\\"dialog-actions\\\">\\n <ng-content select=\\\"v-dialog-actions\\\"></ng-content>\\n </div>\\n }\\n\\n <v-progress [progress]=\\\"progress\\\"></v-progress>\\n</div>\\n\", styles: [\":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.dialog{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 100%;max-height:calc(90vh - 48px)!important}@media screen and (max-width: 959px){.dialog{max-height:calc(100vh - 48px)!important}}.dialog.full-size{min-height:calc(90vh - 48px)!important}@media screen and (max-width: 959px){.dialog.full-size{min-height:calc(100vh - 48px)!important}}.dialog-title{flex-direction:row;box-sizing:border-box;display:flex;place-content:center space-between;align-items:center;padding:24px}.dialog-title h1,.dialog-title h2,.dialog-title h3,.dialog-title h4,.dialog-title h5,.dialog-title h6{margin:0}.dialog-title-close.dialog-title-close{cursor:pointer;font-size:24px}.dialog-title-close.dialog-title-close:hover{opacity:.5}.dialog-content{flex:1 1 100%;box-sizing:border-box;padding:24px;overflow:auto;display:grid}.dialog-actions{padding:24px}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"component\", type: i2.MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"directive\", type: i4.MatDialogClose, selector: \"[mat-dialog-close], [matDialogClose]\", inputs: [\"aria-label\", \"type\", \"mat-dialog-close\", \"matDialogClose\"], exportAs: [\"matDialogClose\"] }, { kind: \"component\", type: i5.ProgressComponent, selector: \"v-progress\", inputs: [\"progress\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-dialog', standalone: false, template: \"<div [ngClass]=\\\"{ 'full-size': fullSize }\\\" class=\\\"dialog\\\">\\n <div class=\\\"dialog-title\\\">\\n <div>\\n <h2 class=\\\"title\\\">{{ title }}</h2>\\n </div>\\n @if (!noCloseButton) {\\n <mat-icon\\n [matDialogClose]=\\\"cancelData\\\"\\n class=\\\"dialog-title-close\\\"\\n inline\\n (click)=\\\"cancelDialog()\\\"\\n >clear</mat-icon\\n >\\n }\\n </div>\\n\\n @if (!noContent) {\\n @if (hasDivider) {\\n <mat-divider></mat-divider>\\n }\\n <div class=\\\"dialog-content\\\">\\n <ng-content></ng-content>\\n </div>\\n }\\n @if (!noActions) {\\n @if (hasDivider) {\\n <mat-divider></mat-divider>\\n }\\n <div class=\\\"dialog-actions\\\">\\n <ng-content select=\\\"v-dialog-actions\\\"></ng-content>\\n </div>\\n }\\n\\n <v-progress [progress]=\\\"progress\\\"></v-progress>\\n</div>\\n\", styles: [\":host{display:flex;flex-direction:column;flex-grow:1;height:100%}.dialog{flex-direction:column;box-sizing:border-box;display:flex;flex:1 1 100%;max-height:calc(90vh - 48px)!important}@media screen and (max-width: 959px){.dialog{max-height:calc(100vh - 48px)!important}}.dialog.full-size{min-height:calc(90vh - 48px)!important}@media screen and (max-width: 959px){.dialog.full-size{min-height:calc(100vh - 48px)!important}}.dialog-title{flex-direction:row;box-sizing:border-box;display:flex;place-content:center space-between;align-items:center;padding:24px}.dialog-title h1,.dialog-title h2,.dialog-title h3,.dialog-title h4,.dialog-title h5,.dialog-title h6{margin:0}.dialog-title-close.dialog-title-close{cursor:pointer;font-size:24px}.dialog-title-close.dialog-title-close:hover{opacity:.5}.dialog-content{flex:1 1 100%;box-sizing:border-box;padding:24px;overflow:auto;display:grid}.dialog-actions{padding:24px}\\n\"] }]\n }], propDecorators: { hostClass: [{\n type: HostBinding,\n args: ['class.v-dialog']\n }], title: [{\n type: Input\n }], disabled: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], progress: [{\n type: Input\n }], hasDivider: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], noContent: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], noActions: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], noCloseButton: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], fullSize: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], cancel: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFDTixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFRdEUsTUFBTSxPQUFPLGVBQWU7SUFONUI7UUFPbUMsY0FBUyxHQUFZLElBQUksQ0FBQztRQUlqQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbEUsNERBQTREO1FBQ2xELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTVDLGVBQVUsR0FBRztZQUNULE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxTQUFTO1NBQ3pDLENBQUM7S0FLTDtJQUhHLFlBQVk7UUFDUixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBekJRLGVBQWU7a0dBQWYsZUFBZSwwR0FLSixnQkFBZ0Isa0VBR2hCLGdCQUFnQix5Q0FFaEIsZ0JBQWdCLHlDQUNoQixnQkFBZ0IscURBQ2hCLGdCQUFnQixzQ0FFaEIsZ0JBQWdCLDBIQ2pDeEMsazlCQW1DQTs7MkZEaEJhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0ksVUFBVSxjQUdSLEtBQUs7OEJBR2MsU0FBUztzQkFBdkMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBRXBCLEtBQUs7c0JBQWIsS0FBSztnQkFFa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFFa0MsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUc1QixNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm9ncmVzc2FibGUgfSBmcm9tICcuLi8uLi90eXBlcy9wcm9ncmVzc2FibGUnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZXNwb25zZVN0YXR1cyB9IGZyb20gJy4vdHlwZXMvZGlhbG9nLXJlc3BvbnNlLXN0YXR1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFByb2dyZXNzYWJsZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy52LWRpYWxvZycpIGhvc3RDbGFzczogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSB0aXRsZSE6IHN0cmluZztcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHByb2dyZXNzPzogUHJvZ3Jlc3NhYmxlWydwcm9ncmVzcyddO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0RpdmlkZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG5vQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBub0FjdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbm9DbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGZ1bGxTaXplOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgY2FuY2VsRGF0YSA9IHtcbiAgICAgICAgc3RhdHVzOiBEaWFsb2dSZXNwb25zZVN0YXR1cy5DYW5jZWxsZWQsXG4gICAgfTtcblxuICAgIGNhbmNlbERpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwieyAnZnVsbC1zaXplJzogZnVsbFNpemUgfVwiIGNsYXNzPVwiZGlhbG9nXCI+XG4gICAgPGRpdiBjbGFzcz1cImRpYWxvZy10aXRsZVwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwidGl0bGVcIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKCFub0Nsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBbbWF0RGlhbG9nQ2xvc2VdPVwiY2FuY2VsRGF0YVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkaWFsb2ctdGl0bGUtY2xvc2VcIlxuICAgICAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWxEaWFsb2coKVwiXG4gICAgICAgICAgICAgICAgPmNsZWFyPC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKCFub0NvbnRlbnQpIHtcbiAgICAgICAgQGlmIChoYXNEaXZpZGVyKSB7XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoIW5vQWN0aW9ucykge1xuICAgICAgICBAaWYgKGhhc0RpdmlkZXIpIHtcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICB9XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctYWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidi1kaWFsb2ctYWN0aW9uc1wiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPHYtcHJvZ3Jlc3MgW3Byb2dyZXNzXT1cInByb2dyZXNzXCI+PC92LXByb2dyZXNzPlxuPC9kaXY+XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const DIALOG_CONFIG = new InjectionToken('dialogConfig');\nexport const BASE_CONFIG = {\n maxHeight: '100vh',\n disableClose: true,\n autoFocus: false,\n minWidth: '0',\n maxWidth: 'calc(100vw - 16px)',\n width: '552px',\n};\nexport const DEFAULT_DIALOG_CONFIG = {\n small: {\n ...BASE_CONFIG,\n width: '360px',\n },\n medium: BASE_CONFIG,\n large: {\n ...BASE_CONFIG,\n width: '1000px',\n },\n};\nexport const DEFAULT_DIALOG_CONFIG_FULL_HEIGHT = 'calc(90vh - 48px)';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBZSxjQUFjLENBQUMsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTZCO0lBQ2pELFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFFBQVEsRUFBRSxHQUFHO0lBQ2IsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixLQUFLLEVBQUUsT0FBTztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWlCO0lBQy9DLEtBQUssRUFBRTtRQUNILEdBQUcsV0FBVztRQUNkLEtBQUssRUFBRSxPQUFPO0tBQ2pCO0lBQ0QsTUFBTSxFQUFFLFdBQVc7SUFDbkIsS0FBSyxFQUFFO1FBQ0gsR0FBRyxXQUFXO1FBQ2QsS0FBSyxFQUFFLFFBQVE7S0FDbEI7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFZhbHVlc1R5cGUgfSBmcm9tICd1dGlsaXR5LXR5cGVzJztcblxuZXhwb3J0IHR5cGUgRGlhbG9nQ29uZmlnID0gUmVjb3JkPCdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScsIE1hdERpYWxvZ0NvbmZpZzx1bmRlZmluZWQ+PjtcblxuZXhwb3J0IGNvbnN0IERJQUxPR19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGlhbG9nQ29uZmlnPignZGlhbG9nQ29uZmlnJyk7XG5cbmV4cG9ydCBjb25zdCBCQVNFX0NPTkZJRzogVmFsdWVzVHlwZTxEaWFsb2dDb25maWc+ID0ge1xuICAgIG1heEhlaWdodDogJzEwMHZoJyxcbiAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXG4gICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICBtaW5XaWR0aDogJzAnLFxuICAgIG1heFdpZHRoOiAnY2FsYygxMDB2dyAtIDE2cHgpJyxcbiAgICB3aWR0aDogJzU1MnB4Jyxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RJQUxPR19DT05GSUc6IERpYWxvZ0NvbmZpZyA9IHtcbiAgICBzbWFsbDoge1xuICAgICAgICAuLi5CQVNFX0NPTkZJRyxcbiAgICAgICAgd2lkdGg6ICczNjBweCcsXG4gICAgfSxcbiAgICBtZWRpdW06IEJBU0VfQ09ORklHLFxuICAgIGxhcmdlOiB7XG4gICAgICAgIC4uLkJBU0VfQ09ORklHLFxuICAgICAgICB3aWR0aDogJzEwMDBweCcsXG4gICAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RJQUxPR19DT05GSUdfRlVMTF9IRUlHSFQgPSAnY2FsYyg5MHZoIC0gNDhweCknO1xuIl19","import { Injectable, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DEFAULT_DIALOG_CONFIG, DIALOG_CONFIG } from '../tokens';\nimport * as i0 from \"@angular/core\";\nexport class DialogService {\n constructor() {\n this.dialog = inject(MatDialog);\n this.dialogConfig = inject(DIALOG_CONFIG, { optional: true }) || DEFAULT_DIALOG_CONFIG;\n }\n open(dialogComponent, \n /**\n * Workaround when both conditions for the 'data' argument must be true:\n * - typing did not require passing when it is optional (for example: {param: number} | void)\n * - typing required to pass when it is required (for example: {param: number})\n */\n ...[data, configOrConfigName]) {\n let config;\n if (!configOrConfigName) {\n config = {};\n }\n else if (typeof configOrConfigName === 'string') {\n config = this.dialogConfig[configOrConfigName];\n }\n else {\n config = configOrConfigName;\n }\n return this.dialog.open(dialogComponent, {\n data,\n ...dialogComponent.defaultDialogConfig,\n ...config,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFnQixNQUFNLFdBQVcsQ0FBQzs7QUFPL0UsTUFBTSxPQUFPLGFBQWE7SUFIMUI7UUFJWSxXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xCLGlCQUFZLEdBQ3pCLE1BQU0sQ0FBZSxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQztLQXdDeEY7SUF0Q0csSUFBSSxDQUNBLGVBT0M7SUFDRDs7OztPQUlHO0lBQ0gsR0FBRyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FPckI7UUFFUCxJQUFJLE1BQTZDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdEIsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxPQUFPLGtCQUFrQixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hELE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLEdBQUcsa0JBQWtCLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBd0IsRUFBRTtZQUM5QyxJQUFJO1lBQ0osR0FBSSxlQUEyQyxDQUFDLG1CQUFtQjtZQUNuRSxHQUFHLE1BQU07U0FDWixDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTFDUSxhQUFhO2tIQUFiLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBERUZBVUxUX0RJQUxPR19DT05GSUcsIERJQUxPR19DT05GSUcsIERpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL3Rva2Vucyc7XG5pbXBvcnQgeyBEaWFsb2dSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzL2RpYWxvZy1yZXNwb25zZSc7XG5pbXBvcnQgeyBEaWFsb2dTdXBlcmNsYXNzIH0gZnJvbSAnLi4vdXRpbHMvZGlhbG9nLXN1cGVyY2xhc3MnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nQ29uZmlnID1cbiAgICAgICAgaW5qZWN0PERpYWxvZ0NvbmZpZz4oRElBTE9HX0NPTkZJRywgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCBERUZBVUxUX0RJQUxPR19DT05GSUc7XG5cbiAgICBvcGVuPFREaWFsb2dDb21wb25lbnQsIFREaWFsb2dEYXRhLCBURGlhbG9nUmVzcG9uc2VEYXRhLCBURGlhbG9nUmVzcG9uc2VTdGF0dXM+KFxuICAgICAgICBkaWFsb2dDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8XG4gICAgICAgICAgICBEaWFsb2dTdXBlcmNsYXNzPFxuICAgICAgICAgICAgICAgIFREaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgVERpYWxvZ0RhdGEsXG4gICAgICAgICAgICAgICAgVERpYWxvZ1Jlc3BvbnNlRGF0YSxcbiAgICAgICAgICAgICAgICBURGlhbG9nUmVzcG9uc2VTdGF0dXNcbiAgICAgICAgICAgID5cbiAgICAgICAgPixcbiAgICAgICAgLyoqXG4gICAgICAgICAqICBXb3JrYXJvdW5kIHdoZW4gYm90aCBjb25kaXRpb25zIGZvciB0aGUgJ2RhdGEnIGFyZ3VtZW50IG11c3QgYmUgdHJ1ZTpcbiAgICAgICAgICogIC0gdHlwaW5nIGRpZCBub3QgcmVxdWlyZSBwYXNzaW5nIHdoZW4gaXQgaXMgb3B0aW9uYWwgKGZvciBleGFtcGxlOiB7cGFyYW06IG51bWJlcn0gfCB2b2lkKVxuICAgICAgICAgKiAgLSB0eXBpbmcgcmVxdWlyZWQgdG8gcGFzcyB3aGVuIGl0IGlzIHJlcXVpcmVkIChmb3IgZXhhbXBsZToge3BhcmFtOiBudW1iZXJ9KVxuICAgICAgICAgKi9cbiAgICAgICAgLi4uW2RhdGEsIGNvbmZpZ09yQ29uZmlnTmFtZV06IFREaWFsb2dEYXRhIGV4dGVuZHMgdm9pZFxuICAgICAgICAgICAgPyBbXVxuICAgICAgICAgICAgOiBbXG4gICAgICAgICAgICAgICAgICBkYXRhOiBURGlhbG9nRGF0YSxcbiAgICAgICAgICAgICAgICAgIGNvbmZpZ09yQ29uZmlnTmFtZT86XG4gICAgICAgICAgICAgICAgICAgICAgfCBPbWl0PE1hdERpYWxvZ0NvbmZpZzxURGlhbG9nRGF0YT4sICdkYXRhJz5cbiAgICAgICAgICAgICAgICAgICAgICB8IGtleW9mIERpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgICAgXVxuICAgICk6IE1hdERpYWxvZ1JlZjxURGlhbG9nQ29tcG9uZW50LCBEaWFsb2dSZXNwb25zZTxURGlhbG9nUmVzcG9uc2VEYXRhLCBURGlhbG9nUmVzcG9uc2VTdGF0dXM+PiB7XG4gICAgICAgIGxldCBjb25maWc6IFBhcnRpYWw8TWF0RGlhbG9nQ29uZmlnPFREaWFsb2dEYXRhPj47XG4gICAgICAgIGlmICghY29uZmlnT3JDb25maWdOYW1lKSB7XG4gICAgICAgICAgICBjb25maWcgPSB7fTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZmlnT3JDb25maWdOYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uZmlnID0gdGhpcy5kaWFsb2dDb25maWdbY29uZmlnT3JDb25maWdOYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbmZpZyA9IGNvbmZpZ09yQ29uZmlnTmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKGRpYWxvZ0NvbXBvbmVudCBhcyBuZXZlciwge1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIC4uLihkaWFsb2dDb21wb25lbnQgYXMgdHlwZW9mIERpYWxvZ1N1cGVyY2xhc3MpLmRlZmF1bHREaWFsb2dDb25maWcsXG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { ActionsModule } from '../actions';\nimport { ProgressModule } from '../progress/progress.module';\nimport { DialogActionsComponent } from './components/dialog-actions/dialog-actions.component';\nimport { DialogComponent } from './dialog.component';\nimport { DialogService } from './services/dialog.service';\nimport * as i0 from \"@angular/core\";\nexport class DialogModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogModule, declarations: [DialogComponent, DialogActionsComponent], imports: [CommonModule,\n MatDividerModule,\n MatButtonModule,\n ActionsModule,\n MatIconModule,\n MatProgressBarModule,\n MatDialogModule,\n ProgressModule], exports: [DialogComponent, DialogActionsComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogModule, providers: [DialogService], imports: [CommonModule,\n MatDividerModule,\n MatButtonModule,\n ActionsModule,\n MatIconModule,\n MatProgressBarModule,\n MatDialogModule,\n ProgressModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n MatDividerModule,\n MatButtonModule,\n ActionsModule,\n MatIconModule,\n MatProgressBarModule,\n MatDialogModule,\n ProgressModule,\n ],\n providers: [DialogService],\n declarations: [DialogComponent, DialogActionsComponent],\n exports: [DialogComponent, DialogActionsComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBaUIxRCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBSE4sZUFBZSxFQUFFLHNCQUFzQixhQVZsRCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsY0FBYyxhQUlSLGVBQWUsRUFBRSxzQkFBc0I7K0dBRXhDLFlBQVksYUFKVixDQUFDLGFBQWEsQ0FBQyxZQVR0QixZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsY0FBYzs7MkZBTVQsWUFBWTtrQkFmeEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixjQUFjO3FCQUNqQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQzFCLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztvQkFDdkQsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5cbmltcG9ydCB7IEFjdGlvbnNNb2R1bGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IFByb2dyZXNzTW9kdWxlIH0gZnJvbSAnLi4vcHJvZ3Jlc3MvcHJvZ3Jlc3MubW9kdWxlJztcblxuaW1wb3J0IHsgRGlhbG9nQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2ctYWN0aW9ucy9kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBBY3Rpb25zTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBQcm9ncmVzc01vZHVsZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW0RpYWxvZ1NlcnZpY2VdLFxuICAgIGRlY2xhcmF0aW9uczogW0RpYWxvZ0NvbXBvbmVudCwgRGlhbG9nQWN0aW9uc0NvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0RpYWxvZ0NvbXBvbmVudCwgRGlhbG9nQWN0aW9uc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ01vZHVsZSB7fVxuIl19","import { Directive, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { DEFAULT_DIALOG_CONFIG } from '../tokens';\nimport { DialogResponseStatus } from '../types/dialog-response-status';\nimport * as i0 from \"@angular/core\";\nexport class DialogSuperclass {\n constructor() {\n this.dialogData = inject(MAT_DIALOG_DATA);\n this.dialogRef = inject(MatDialogRef);\n }\n static { this.defaultDialogConfig = DEFAULT_DIALOG_CONFIG.medium; }\n closeWithCancellation(data) {\n this.dialogRef.close({\n status: DialogResponseStatus.Cancelled,\n data,\n });\n }\n closeWithSuccess(data) {\n this.dialogRef.close({\n status: DialogResponseStatus.Success,\n data,\n });\n }\n closeWithError(data) {\n this.dialogRef.close({\n status: DialogResponseStatus.Error,\n data,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogSuperclass, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: DialogSuperclass, isStandalone: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DialogSuperclass, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXN1cGVyY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9kaWFsb2cvdXRpbHMvZGlhbG9nLXN1cGVyY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBR3ZFLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFTSSxlQUFVLEdBQUcsTUFBTSxDQUFjLGVBQWUsQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FDTCxNQUFNLENBS0osWUFBWSxDQUFDLENBQUM7S0FzQnZCO2FBL0JVLHdCQUFtQixHQUFHLHFCQUFxQixDQUFDLE1BQU0sQUFBL0IsQ0FBZ0M7SUFXMUQscUJBQXFCLENBQUMsSUFBMEI7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDakIsTUFBTSxFQUFFLG9CQUFvQixDQUFDLFNBQVM7WUFDdEMsSUFBSTtTQUNFLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBMEI7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDakIsTUFBTSxFQUFFLG9CQUFvQixDQUFDLE9BQU87WUFDcEMsSUFBSTtTQUNFLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQTBCO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxLQUFLO1lBQ2xDLElBQUk7U0FDRSxDQUFDLENBQUM7SUFDaEIsQ0FBQzs4R0FwQ1EsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBERUZBVUxUX0RJQUxPR19DT05GSUcgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHsgRGlhbG9nUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcy9kaWFsb2ctcmVzcG9uc2UnO1xuaW1wb3J0IHsgRGlhbG9nUmVzcG9uc2VTdGF0dXMgfSBmcm9tICcuLi90eXBlcy9kaWFsb2ctcmVzcG9uc2Utc3RhdHVzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgRGlhbG9nU3VwZXJjbGFzczxcbiAgICBURGlhbG9nQ29tcG9uZW50LFxuICAgIFREaWFsb2dEYXRhID0gdm9pZCxcbiAgICBURGlhbG9nUmVzcG9uc2VEYXRhID0gdm9pZCxcbiAgICBURGlhbG9nUmVzcG9uc2VTdGF0dXMgPSB2b2lkLFxuPiB7XG4gICAgc3RhdGljIGRlZmF1bHREaWFsb2dDb25maWcgPSBERUZBVUxUX0RJQUxPR19DT05GSUcubWVkaXVtO1xuXG4gICAgZGlhbG9nRGF0YSA9IGluamVjdDxURGlhbG9nRGF0YT4oTUFUX0RJQUxPR19EQVRBKTtcbiAgICBkaWFsb2dSZWYgPVxuICAgICAgICBpbmplY3Q8XG4gICAgICAgICAgICBNYXREaWFsb2dSZWY8XG4gICAgICAgICAgICAgICAgVERpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBEaWFsb2dSZXNwb25zZTxURGlhbG9nUmVzcG9uc2VEYXRhLCBURGlhbG9nUmVzcG9uc2VTdGF0dXM+XG4gICAgICAgICAgICA+XG4gICAgICAgID4oTWF0RGlhbG9nUmVmKTtcblxuICAgIGNsb3NlV2l0aENhbmNlbGxhdGlvbihkYXRhPzogVERpYWxvZ1Jlc3BvbnNlRGF0YSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICAgICAgICBzdGF0dXM6IERpYWxvZ1Jlc3BvbnNlU3RhdHVzLkNhbmNlbGxlZCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0gYXMgbmV2ZXIpO1xuICAgIH1cblxuICAgIGNsb3NlV2l0aFN1Y2Nlc3MoZGF0YT86IFREaWFsb2dSZXNwb25zZURhdGEpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgICAgICAgc3RhdHVzOiBEaWFsb2dSZXNwb25zZVN0YXR1cy5TdWNjZXNzLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgfSBhcyBuZXZlcik7XG4gICAgfVxuXG4gICAgY2xvc2VXaXRoRXJyb3IoZGF0YT86IFREaWFsb2dSZXNwb25zZURhdGEpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2Uoe1xuICAgICAgICAgICAgc3RhdHVzOiBEaWFsb2dSZXNwb25zZVN0YXR1cy5FcnJvcixcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0gYXMgbmV2ZXIpO1xuICAgIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, numberAttribute } from '@angular/core';\nimport { random } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class ContentLoadingComponent {\n constructor() {\n this.width = input(random(35, 80) + '%');\n this.textSize = input(0, { transform: numberAttribute });\n this.hiddenText = input();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContentLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.5\", type: ContentLoadingComponent, isStandalone: true, selector: \"v-content-loading\", inputs: { width: { classPropertyName: \"width\", publicName: \"width\", isSignal: true, isRequired: false, transformFunction: null }, textSize: { classPropertyName: \"textSize\", publicName: \"textSize\", isSignal: true, isRequired: false, transformFunction: null }, hiddenText: { classPropertyName: \"hiddenText\", publicName: \"hiddenText\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<span\\n [ngClass]=\\\"{ 'content-loading__text': !!hiddenText() }\\\"\\n [style.width]=\\\"hiddenText() || textSize() ? undefined : width()\\\"\\n class=\\\"content-loading\\\"\\n >{{ hiddenText() || ' '.repeat(textSize() || 1) }}</span\\n>\\n\", styles: [\"@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.content-loading{color:transparent;display:inline-block;line-height:100%;background-color:#00000014;animation:content-loading-animation 1.5s ease-in-out infinite}.content-loading__text{color:inherit;background-color:transparent}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ContentLoadingComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-content-loading', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: \"<span\\n [ngClass]=\\\"{ 'content-loading__text': !!hiddenText() }\\\"\\n [style.width]=\\\"hiddenText() || textSize() ? undefined : width()\\\"\\n class=\\\"content-loading\\\"\\n >{{ hiddenText() || ' '.repeat(textSize() || 1) }}</span\\n>\\n\", styles: [\"@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.content-loading{color:transparent;display:inline-block;line-height:100%;background-color:#00000014;animation:content-loading-animation 1.5s ease-in-out infinite}.content-loading__text{color:inherit;background-color:transparent}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1sb2FkaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2NvbnRlbnQtbG9hZGluZy9jb250ZW50LWxvYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvY29udGVudC1sb2FkaW5nL2NvbnRlbnQtbG9hZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQVNuQyxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUUksVUFBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDcEQsZUFBVSxHQUFHLEtBQUssRUFBNkIsQ0FBQztLQUNuRDs4R0FKWSx1QkFBdUI7a0dBQXZCLHVCQUF1Qix5ZENYcEMscVBBTUEsOFdER2MsWUFBWTs7MkZBRWIsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBudW1iZXJBdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmRvbSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1jb250ZW50LWxvYWRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LWxvYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRlbnQtbG9hZGluZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50TG9hZGluZ0NvbXBvbmVudCB7XG4gICAgd2lkdGggPSBpbnB1dChyYW5kb20oMzUsIDgwKSArICclJyk7XG4gICAgdGV4dFNpemUgPSBpbnB1dCgwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICAgIGhpZGRlblRleHQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsPigpO1xufVxuIiwiPHNwYW5cbiAgICBbbmdDbGFzc109XCJ7ICdjb250ZW50LWxvYWRpbmdfX3RleHQnOiAhIWhpZGRlblRleHQoKSB9XCJcbiAgICBbc3R5bGUud2lkdGhdPVwiaGlkZGVuVGV4dCgpIHx8IHRleHRTaXplKCkgPyB1bmRlZmluZWQgOiB3aWR0aCgpXCJcbiAgICBjbGFzcz1cImNvbnRlbnQtbG9hZGluZ1wiXG4gICAgPnt7IGhpZGRlblRleHQoKSB8fCAnJm5ic3A7Jy5yZXBlYXQodGV4dFNpemUoKSB8fCAxKSB9fTwvc3BhblxuPlxuIl19","import startCase from 'lodash-es/startCase';\nimport { isPrimitive } from 'utility-types';\nfunction renderList(list, renderItem, isMore) {\n return list.length ? (isMore ? '…' : list.map(renderItem).join(', ')) : '';\n}\nfunction isObject(v) {\n return (typeof v === 'object' &&\n !Array.isArray(v) &&\n !(v instanceof Map) &&\n !(v instanceof Set) &&\n v !== null);\n}\nexport function inlineJson(value, maxReadableLever = 1, readableKeys = false, level = 0) {\n const isRoot = (level = 0);\n if (isPrimitive(value)) {\n return String(value);\n }\n if (Array.isArray(value) || value instanceof Map || value instanceof Set) {\n const content = renderList(Array.from(value), (v) => inlineJson(v, maxReadableLever, readableKeys, level + 1), level > maxReadableLever);\n if (value instanceof Set) {\n return `Set(${content})`;\n }\n if (value instanceof Map) {\n return `Map(${content})`;\n }\n return isRoot && content ? content : `[${content}]`;\n }\n const entries = Array.from(Object.entries(value));\n if (!entries.length) {\n return '{}';\n }\n const content = renderList(entries, ([k, v]) => (readableKeys ? startCase(k) : k) +\n (isObject(v) && Object.keys(v).length <= 1 ? '/' : ': ') +\n inlineJson(v, maxReadableLever, readableKeys, level + 1), level > maxReadableLever);\n if (isRoot || entries.length === 1) {\n return content;\n }\n return `{${content}}`;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvanNvbi9pbmxpbmUtanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLFNBQVMsVUFBVSxDQUFJLElBQVMsRUFBRSxVQUF5QyxFQUFFLE1BQWU7SUFDeEYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDL0UsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQVU7SUFDeEIsT0FBTyxDQUNILE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQztRQUNuQixDQUFDLEtBQUssSUFBSSxDQUNiLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FDdEIsS0FBYyxFQUNkLGdCQUFnQixHQUFHLENBQUMsRUFDcEIsWUFBWSxHQUFHLEtBQUssRUFDcEIsS0FBSyxHQUFHLENBQUM7SUFFVCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQixJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEdBQUcsSUFBSSxLQUFLLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNqQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUMvRCxLQUFLLEdBQUcsZ0JBQWdCLENBQzNCLENBQUM7UUFDRixJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN2QixPQUFPLE9BQU8sT0FBTyxHQUFHLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksS0FBSyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sT0FBTyxPQUFPLEdBQUcsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxHQUFHLENBQUM7SUFDeEQsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFlLENBQUMsQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FDdEIsT0FBTyxFQUNQLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNQLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hELFVBQVUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsRUFDNUQsS0FBSyxHQUFHLGdCQUFnQixDQUMzQixDQUFDO0lBQ0YsSUFBSSxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsT0FBTyxJQUFJLE9BQU8sR0FBRyxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3RhcnRDYXNlIGZyb20gJ2xvZGFzaC1lcy9zdGFydENhc2UnO1xuaW1wb3J0IHsgaXNQcmltaXRpdmUgfSBmcm9tICd1dGlsaXR5LXR5cGVzJztcblxuZnVuY3Rpb24gcmVuZGVyTGlzdDxUPihsaXN0OiBUW10sIHJlbmRlckl0ZW06ICh2OiBULCBpZHg6IG51bWJlcikgPT4gc3RyaW5nLCBpc01vcmU6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gbGlzdC5sZW5ndGggPyAoaXNNb3JlID8gJ+KApicgOiBsaXN0Lm1hcChyZW5kZXJJdGVtKS5qb2luKCcsICcpKSA6ICcnO1xufVxuXG5mdW5jdGlvbiBpc09iamVjdCh2OiB1bmtub3duKTogdiBpcyBvYmplY3Qge1xuICAgIHJldHVybiAoXG4gICAgICAgIHR5cGVvZiB2ID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheSh2KSAmJlxuICAgICAgICAhKHYgaW5zdGFuY2VvZiBNYXApICYmXG4gICAgICAgICEodiBpbnN0YW5jZW9mIFNldCkgJiZcbiAgICAgICAgdiAhPT0gbnVsbFxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmxpbmVKc29uKFxuICAgIHZhbHVlOiB1bmtub3duLFxuICAgIG1heFJlYWRhYmxlTGV2ZXIgPSAxLFxuICAgIHJlYWRhYmxlS2V5cyA9IGZhbHNlLFxuICAgIGxldmVsID0gMCxcbik6IHN0cmluZyB7XG4gICAgY29uc3QgaXNSb290ID0gKGxldmVsID0gMCk7XG4gICAgaWYgKGlzUHJpbWl0aXZlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlIGluc3RhbmNlb2YgTWFwIHx8IHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSByZW5kZXJMaXN0KFxuICAgICAgICAgICAgQXJyYXkuZnJvbSh2YWx1ZSksXG4gICAgICAgICAgICAodikgPT4gaW5saW5lSnNvbih2LCBtYXhSZWFkYWJsZUxldmVyLCByZWFkYWJsZUtleXMsIGxldmVsICsgMSksXG4gICAgICAgICAgICBsZXZlbCA+IG1heFJlYWRhYmxlTGV2ZXIsXG4gICAgICAgICk7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgICAgcmV0dXJuIGBTZXQoJHtjb250ZW50fSlgO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgcmV0dXJuIGBNYXAoJHtjb250ZW50fSlgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1Jvb3QgJiYgY29udGVudCA/IGNvbnRlbnQgOiBgWyR7Y29udGVudH1dYDtcbiAgICB9XG4gICAgY29uc3QgZW50cmllcyA9IEFycmF5LmZyb20oT2JqZWN0LmVudHJpZXModmFsdWUgYXMgb2JqZWN0KSk7XG4gICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gJ3t9JztcbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IHJlbmRlckxpc3QoXG4gICAgICAgIGVudHJpZXMsXG4gICAgICAgIChbaywgdl0pID0+XG4gICAgICAgICAgICAocmVhZGFibGVLZXlzID8gc3RhcnRDYXNlKGspIDogaykgK1xuICAgICAgICAgICAgKGlzT2JqZWN0KHYpICYmIE9iamVjdC5rZXlzKHYpLmxlbmd0aCA8PSAxID8gJy8nIDogJzogJykgK1xuICAgICAgICAgICAgaW5saW5lSnNvbih2LCBtYXhSZWFkYWJsZUxldmVyLCByZWFkYWJsZUtleXMsIGxldmVsICsgMSksXG4gICAgICAgIGxldmVsID4gbWF4UmVhZGFibGVMZXZlcixcbiAgICApO1xuICAgIGlmIChpc1Jvb3QgfHwgZW50cmllcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuICAgIHJldHVybiBgeyR7Y29udGVudH19YDtcbn1cbiJdfQ==","const SEPARATORS = ',;';\nexport function splitBySeparators(ids, separators = SEPARATORS) {\n if (!ids) {\n return [];\n }\n return ids\n .split(new RegExp(`[${separators}\\\\s]`))\n .map((id) => id.trim())\n .filter(Boolean);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtYnktc2VwYXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9zdHJpbmcvc3BsaXQtYnktc2VwYXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUM7QUFFeEIsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxVQUFVLEdBQUcsVUFBVTtJQUNsRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEdBQUc7U0FDTCxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxVQUFVLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU0VQQVJBVE9SUyA9ICcsOyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdEJ5U2VwYXJhdG9ycyhpZHM6IHN0cmluZywgc2VwYXJhdG9ycyA9IFNFUEFSQVRPUlMpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCFpZHMpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaWRzXG4gICAgICAgIC5zcGxpdChuZXcgUmVnRXhwKGBbJHtzZXBhcmF0b3JzfVxcXFxzXWApKVxuICAgICAgICAubWFwKChpZCkgPT4gaWQudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuIl19","import { isSignal } from '@angular/core';\nimport { defer, isObservable } from 'rxjs';\nimport { finalize } from 'rxjs/operators';\nexport function progressTo(subjectSignal) {\n const getSubjectSignal = () => isObservable(subjectSignal) || isSignal(subjectSignal) ? subjectSignal : subjectSignal();\n return (src$) => defer(() => {\n const subSigRes = getSubjectSignal();\n if (isSignal(subSigRes)) {\n subSigRes.update((prev) => prev + 1);\n return src$.pipe(finalize(() => subSigRes.update((prev) => prev - 1)));\n }\n subSigRes.next(subSigRes.getValue() + 1);\n return src$.pipe(finalize(() => subSigRes.next(subSigRes.getValue() - 1)));\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvb3BlcmF0b3JzL3Byb2dyZXNzLXRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBNkMsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxVQUFVLFVBQVUsQ0FDdEIsYUFHOEQ7SUFFOUQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FDMUIsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3RixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDWixLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ1AsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3RCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsLCBpc1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIGRlZmVyLCBpc09ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvZ3Jlc3NUbzxUPihcbiAgICBzdWJqZWN0U2lnbmFsOlxuICAgICAgICB8IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+XG4gICAgICAgIHwgV3JpdGFibGVTaWduYWw8bnVtYmVyPlxuICAgICAgICB8ICgoKSA9PiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPiB8IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4pLFxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICBjb25zdCBnZXRTdWJqZWN0U2lnbmFsID0gKCkgPT5cbiAgICAgICAgaXNPYnNlcnZhYmxlKHN1YmplY3RTaWduYWwpIHx8IGlzU2lnbmFsKHN1YmplY3RTaWduYWwpID8gc3ViamVjdFNpZ25hbCA6IHN1YmplY3RTaWduYWwoKTtcbiAgICByZXR1cm4gKHNyYyQpID0+XG4gICAgICAgIGRlZmVyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1YlNpZ1JlcyA9IGdldFN1YmplY3RTaWduYWwoKTtcbiAgICAgICAgICAgIGlmIChpc1NpZ25hbChzdWJTaWdSZXMpKSB7XG4gICAgICAgICAgICAgICAgc3ViU2lnUmVzLnVwZGF0ZSgocHJldikgPT4gcHJldiArIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzcmMkLnBpcGUoZmluYWxpemUoKCkgPT4gc3ViU2lnUmVzLnVwZGF0ZSgocHJldikgPT4gcHJldiAtIDEpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdWJTaWdSZXMubmV4dChzdWJTaWdSZXMuZ2V0VmFsdWUoKSArIDEpO1xuICAgICAgICAgICAgcmV0dXJuIHNyYyQucGlwZShmaW5hbGl6ZSgoKSA9PiBzdWJTaWdSZXMubmV4dChzdWJTaWdSZXMuZ2V0VmFsdWUoKSAtIDEpKSk7XG4gICAgICAgIH0pO1xufVxuIl19","import { defer } from 'rxjs';\nexport function getObservable(obsOrFn) {\n return typeof obsOrFn === 'function' ? defer(obsOrFn) : obsOrFn;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvb3BlcmF0b3JzL2dldC1vYnNlcnZhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJekMsTUFBTSxVQUFVLGFBQWEsQ0FBSSxPQUEwQjtJQUN2RCxPQUFPLE9BQU8sT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDcEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGRlZmVyIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIE9ic2VydmFibGVPckZuPFQgPSB1bmtub3duPiA9ICgoKSA9PiBPYnNlcnZhYmxlPFQ+KSB8IE9ic2VydmFibGU8VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPYnNlcnZhYmxlPFQ+KG9ic09yRm46IE9ic2VydmFibGVPckZuPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHR5cGVvZiBvYnNPckZuID09PSAnZnVuY3Rpb24nID8gZGVmZXIob2JzT3JGbikgOiBvYnNPckZuO1xufVxuIl19","import { EMPTY, combineLatest, merge, mergeMap } from 'rxjs';\nimport { delay, distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators';\nimport { getObservable } from './get-observable';\nexport function inProgressFrom(progress, main, init = true) {\n const progresses = (Array.isArray(progress) ? progress : [progress]).map((p) => getObservable(p));\n return merge(combineLatest(progresses), main ? getObservable(main).pipe(mergeMap(() => EMPTY)) : EMPTY).pipe(map((ps) => ps.some((p) => !!p)), \n // make async to bypass angular detect changes\n delay(0), startWith(init), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcHJvZ3Jlc3MtZnJvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9vcGVyYXRvcnMvaW4tcHJvZ3Jlc3MtZnJvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQWtCLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpFLE1BQU0sVUFBVSxjQUFjLENBQzFCLFFBQStFLEVBQy9FLElBQXFCLEVBQ3JCLElBQUksR0FBRyxJQUFJO0lBRVgsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMzRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQ25CLENBQUM7SUFDRixPQUFPLEtBQUssQ0FDUixhQUFhLENBQUMsVUFBVSxDQUFDLEVBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUNqRSxDQUFDLElBQUksQ0FDRixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyw4Q0FBOEM7SUFDOUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNSLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVNUFRZLCBjb21iaW5lTGF0ZXN0LCBtZXJnZSwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlT3JGbiwgZ2V0T2JzZXJ2YWJsZSB9IGZyb20gJy4vZ2V0LW9ic2VydmFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5Qcm9ncmVzc0Zyb20oXG4gICAgcHJvZ3Jlc3M6IE9ic2VydmFibGVPckZuPG51bWJlciB8IGJvb2xlYW4+IHwgT2JzZXJ2YWJsZU9yRm48bnVtYmVyIHwgYm9vbGVhbj5bXSxcbiAgICBtYWluPzogT2JzZXJ2YWJsZU9yRm4sXG4gICAgaW5pdCA9IHRydWUsXG4pIHtcbiAgICBjb25zdCBwcm9ncmVzc2VzID0gKEFycmF5LmlzQXJyYXkocHJvZ3Jlc3MpID8gcHJvZ3Jlc3MgOiBbcHJvZ3Jlc3NdKS5tYXAoKHApID0+XG4gICAgICAgIGdldE9ic2VydmFibGUocCksXG4gICAgKTtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgIGNvbWJpbmVMYXRlc3QocHJvZ3Jlc3NlcyksXG4gICAgICAgIG1haW4gPyBnZXRPYnNlcnZhYmxlKG1haW4pLnBpcGUobWVyZ2VNYXAoKCkgPT4gRU1QVFkpKSA6IEVNUFRZLFxuICAgICkucGlwZShcbiAgICAgICAgbWFwKChwcykgPT4gcHMuc29tZSgocCkgPT4gISFwKSksXG4gICAgICAgIC8vIG1ha2UgYXN5bmMgdG8gYnlwYXNzIGFuZ3VsYXIgZGV0ZWN0IGNoYW5nZXNcbiAgICAgICAgZGVsYXkoMCksXG4gICAgICAgIHN0YXJ0V2l0aChpbml0KSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSxcbiAgICApO1xufVxuIl19","import { EMPTY, catchError, of } from 'rxjs';\nexport function passError(handler, value) {\n return (source) => source.pipe(catchError((err) => {\n handler(err);\n if (arguments.length >= 2) {\n return of(value);\n }\n return EMPTY;\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzcy1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9vcGVyYXRvcnMvcGFzcy1lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUE0QixVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE1BQU0sVUFBVSxTQUFTLENBQ3JCLE9BQStCLEVBQy9CLEtBQVM7SUFFVCxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUNQLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxDQUFDLEtBQVUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FDTCxDQUFDO0FBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVNUFRZLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIGNhdGNoRXJyb3IsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXNzRXJyb3I8VD4oXG4gICAgaGFuZGxlcjogKGVycjogdW5rbm93bikgPT4gdm9pZCxcbiAgICB2YWx1ZT86IFQsXG4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgIHJldHVybiAoc291cmNlKSA9PlxuICAgICAgICBzb3VyY2UucGlwZShcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih2YWx1ZSBhcyBUKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG59XG4iXX0=","export function getProgressByCount(count, completedCount = Number.MIN_VALUE) {\n return 1 - completedCount / count;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByb2dyZXNzLWJ5LWNvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3MvdXRpbHMvZ2V0LXByb2dyZXNzLWJ5LWNvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFhLEVBQUUsaUJBQXlCLE1BQU0sQ0FBQyxTQUFTO0lBQ3ZGLE9BQU8sQ0FBQyxHQUFHLGNBQWMsR0FBRyxLQUFLLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRQcm9ncmVzc0J5Q291bnQoY291bnQ6IG51bWJlciwgY29tcGxldGVkQ291bnQ6IG51bWJlciA9IE51bWJlci5NSU5fVkFMVUUpIHtcbiAgICByZXR1cm4gMSAtIGNvbXBsZXRlZENvdW50IC8gY291bnQ7XG59XG4iXX0=","import { catchError, merge, of, scan, takeLast } from 'rxjs';\nimport { finalize, map } from 'rxjs/operators';\nimport { getProgressByCount } from '../../components/progress';\nexport function forkJoinToResult(sources, progress$, dataItems = [], concurrency = 4) {\n let completed = 0;\n if (progress$) {\n progress$.next(getProgressByCount(sources.length));\n }\n return merge(...sources.map((source, index) => source.pipe(map((result) => ({\n result,\n hasError: false,\n index,\n data: dataItems[index],\n })), catchError((error) => {\n return of({\n error,\n hasError: true,\n index,\n data: dataItems[index],\n });\n }), finalize(() => {\n completed += 1;\n if (progress$) {\n progress$.next(getProgressByCount(sources.length, completed));\n }\n }))), concurrency).pipe(scan((acc, value) => {\n acc.push(value);\n return acc;\n }, []), takeLast(1), map((r) => r.sort((a, b) => a.index - b.index)));\n}\nexport function isResultsHasError(res) {\n return res.some((r) => r.hasError);\n}\nexport function splitResultsErrors(res) {\n return res.reduce((acc, r) => {\n acc[r.hasError ? 1 : 0].push(r);\n return acc;\n }, [[], []]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yay1qb2luLXRvLXJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9vcGVyYXRvcnMvZm9yay1qb2luLXRvLXJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQW9CL0QsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixPQUF3QixFQUN4QixTQUEyQixFQUMzQixZQUFpQixFQUFFLEVBQ25CLFdBQVcsR0FBRyxDQUFDO0lBRWYsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FDUixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDN0IsTUFBTSxDQUFDLElBQUksQ0FDUCxHQUFHLENBQ0MsQ0FBQyxNQUFNLEVBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE1BQU07UUFDTixRQUFRLEVBQUUsS0FBSztRQUNmLEtBQUs7UUFDTCxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQztLQUN6QixDQUFDLENBQ0wsRUFDRCxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNqQixPQUFPLEVBQUUsQ0FBdUI7WUFDNUIsS0FBSztZQUNMLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSztZQUNMLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ3pCLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDVixTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2YsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FDTCxDQUNKLEVBQ0QsV0FBVyxDQUNkLENBQUMsSUFBSSxDQUNGLElBQUksQ0FDQSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDLEVBQ0QsRUFBNEIsQ0FDL0IsRUFDRCxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ1gsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDbEQsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQU8sR0FBMkI7SUFDL0QsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsR0FBMkI7SUFFM0IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUNiLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQVUsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQyxFQUNELENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBbUYsQ0FDN0YsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjYXRjaEVycm9yLCBtZXJnZSwgb2YsIHNjYW4sIHRha2VMYXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3ZlcndyaXRlIH0gZnJvbSAndXRpbGl0eS10eXBlcyc7XG5cbmltcG9ydCB7IGdldFByb2dyZXNzQnlDb3VudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcHJvZ3Jlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcmtKb2luUmVzdWx0PFQsIEQgPSBuZXZlcj4ge1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgZGF0YTogRDtcbiAgICBoYXNFcnJvcjogYm9vbGVhbjtcblxuICAgIHJlc3VsdD86IFQ7XG4gICAgZXJyb3I/OiB1bmtub3duO1xufVxuXG5leHBvcnQgdHlwZSBGb3JrSm9pblN1Y2NlZWRlZFJlc3VsdDxULCBEID0gbmV2ZXI+ID0gT21pdDxcbiAgICBPdmVyd3JpdGU8Rm9ya0pvaW5SZXN1bHQ8VCwgRD4sIHsgaGFzRXJyb3I6IGZhbHNlOyByZXN1bHQ6IFQgfT4sXG4gICAgJ2Vycm9yJ1xuPjtcbmV4cG9ydCB0eXBlIEZvcmtKb2luRXJyb3JSZXN1bHQ8RCA9IG5ldmVyPiA9IE9taXQ8XG4gICAgT3ZlcndyaXRlPEZvcmtKb2luUmVzdWx0PG5ldmVyLCBEPiwgeyBoYXNFcnJvcjogdHJ1ZTsgZXJyb3I6IHVua25vd24gfT4sXG4gICAgJ3Jlc3VsdCdcbj47XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JrSm9pblRvUmVzdWx0PFQsIEQgPSBuZXZlcj4oXG4gICAgc291cmNlczogT2JzZXJ2YWJsZTxUPltdLFxuICAgIHByb2dyZXNzJD86IFN1YmplY3Q8bnVtYmVyPixcbiAgICBkYXRhSXRlbXM6IERbXSA9IFtdLFxuICAgIGNvbmN1cnJlbmN5ID0gNCxcbik6IE9ic2VydmFibGU8Rm9ya0pvaW5SZXN1bHQ8VCwgRD5bXT4ge1xuICAgIGxldCBjb21wbGV0ZWQgPSAwO1xuICAgIGlmIChwcm9ncmVzcyQpIHtcbiAgICAgICAgcHJvZ3Jlc3MkLm5leHQoZ2V0UHJvZ3Jlc3NCeUNvdW50KHNvdXJjZXMubGVuZ3RoKSk7XG4gICAgfVxuICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgLi4uc291cmNlcy5tYXAoKHNvdXJjZSwgaW5kZXgpID0+XG4gICAgICAgICAgICBzb3VyY2UucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIChyZXN1bHQpOiBGb3JrSm9pblJlc3VsdDxULCBEPiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBkYXRhSXRlbXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZjxGb3JrSm9pblJlc3VsdDxULCBEPj4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogZGF0YUl0ZW1zW2luZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZWQgKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2dyZXNzJCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MkLm5leHQoZ2V0UHJvZ3Jlc3NCeUNvdW50KHNvdXJjZXMubGVuZ3RoLCBjb21wbGV0ZWQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgY29uY3VycmVuY3ksXG4gICAgKS5waXBlKFxuICAgICAgICBzY2FuKFxuICAgICAgICAgICAgKGFjYywgdmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBhY2MucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXSBhcyBGb3JrSm9pblJlc3VsdDxULCBEPltdLFxuICAgICAgICApLFxuICAgICAgICB0YWtlTGFzdCgxKSxcbiAgICAgICAgbWFwKChyKSA9PiByLnNvcnQoKGEsIGIpID0+IGEuaW5kZXggLSBiLmluZGV4KSksXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVzdWx0c0hhc0Vycm9yPFQsIEQ+KHJlczogRm9ya0pvaW5SZXN1bHQ8VCwgRD5bXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiByZXMuc29tZSgocikgPT4gci5oYXNFcnJvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFJlc3VsdHNFcnJvcnM8VCwgRD4oXG4gICAgcmVzOiBGb3JrSm9pblJlc3VsdDxULCBEPltdLFxuKTogW3N1Y2NlZWRlZDogRm9ya0pvaW5TdWNjZWVkZWRSZXN1bHQ8VCwgRD5bXSwgZXJyb3JzOiBGb3JrSm9pbkVycm9yUmVzdWx0PEQ+W11dIHtcbiAgICByZXR1cm4gcmVzLnJlZHVjZShcbiAgICAgICAgKGFjYywgcikgPT4ge1xuICAgICAgICAgICAgYWNjW3IuaGFzRXJyb3IgPyAxIDogMF0ucHVzaChyIGFzIG5ldmVyKTtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sXG4gICAgICAgIFtbXSwgW11dIGFzIFtzdWNjZWVkZWQ6IEZvcmtKb2luU3VjY2VlZGVkUmVzdWx0PFQsIEQ+W10sIGVycm9yczogRm9ya0pvaW5FcnJvclJlc3VsdDxEPltdXSxcbiAgICApO1xufVxuIl19","import { isObservable } from 'rxjs';\nimport { isPromise } from 'rxjs/internal/util/isPromise';\nexport function isAsync(value) {\n return isObservable(value) || isPromise(value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvYXN5bmMvaXMtYXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFLekQsTUFBTSxVQUFVLE9BQU8sQ0FBSSxLQUF1QjtJQUM5QyxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNQcm9taXNlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC91dGlsL2lzUHJvbWlzZSc7XG5cbmV4cG9ydCB0eXBlIEFzeW5jPFQ+ID0gT2JzZXJ2YWJsZTxUPiB8IFByb21pc2U8VD47XG5leHBvcnQgdHlwZSBQb3NzaWJseUFzeW5jPFQ+ID0gQXN5bmM8VD4gfCBUO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBc3luYzxUPih2YWx1ZTogUG9zc2libHlBc3luYzxUPik6IHZhbHVlIGlzIEFzeW5jPFQ+IHtcbiAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHZhbHVlKSB8fCBpc1Byb21pc2UodmFsdWUpO1xufVxuIl19","import { from, of } from 'rxjs';\nimport { isAsync } from './is-async';\nexport function getPossiblyAsyncObservable(possiblyAsync) {\n return isAsync(possiblyAsync) ? from(possiblyAsync) : of(possiblyAsync);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBvc3NpYmx5LWFzeW5jLW9ic2VydmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvYXN5bmMvZ2V0LXBvc3NpYmx5LWFzeW5jLW9ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxFQUFpQixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEQsTUFBTSxVQUFVLDBCQUEwQixDQUFJLGFBQStCO0lBQ3pFLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUG9zc2libHlBc3luYywgaXNBc3luYyB9IGZyb20gJy4vaXMtYXN5bmMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9zc2libHlBc3luY09ic2VydmFibGU8VD4ocG9zc2libHlBc3luYzogUG9zc2libHlBc3luYzxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBpc0FzeW5jKHBvc3NpYmx5QXN5bmMpID8gZnJvbShwb3NzaWJseUFzeW5jKSA6IG9mKHBvc3NpYmx5QXN5bmMpO1xufVxuIl19","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, Injectable, inject } from '@angular/core';\nimport { ReplaySubject, combineLatest, defer, of, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { getPossiblyAsyncObservable } from './get-possibly-async-observable';\nimport * as i0 from \"@angular/core\";\nexport class AsyncTransform {\n constructor() {\n this.params$ = defer(() => this.args$).pipe(switchMap((args) => combineLatest([\n getPossiblyAsyncObservable(args[0]),\n of(args.slice(1)),\n ])), map(([value, params]) => [value, ...params]));\n this.cdr = inject(ChangeDetectorRef);\n this.asyncPipe = new AsyncPipe(this.cdr);\n this.args$ = new ReplaySubject(1);\n }\n ngOnDestroy() {\n this.asyncPipe.ngOnDestroy();\n }\n asyncTransform(args) {\n this.args$.next(args);\n return this.asyncPipe.transform(this.result$);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AsyncTransform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AsyncTransform }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AsyncTransform, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2FzeW5jL2FzeW5jLXRyYW5zZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFjLGFBQWEsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVM3RSxNQUFNLE9BQWdCLGNBQWM7SUFEcEM7UUFTYyxZQUFPLEdBQXFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUM5RSxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNmLGFBQWEsQ0FBQztZQUNWLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQVcsQ0FBQztZQUM3QyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVksQ0FBQztTQUMvQixDQUFDLENBQ0wsRUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQXlCLENBQUMsQ0FDdkUsQ0FBQztRQUVNLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBc0MsQ0FBQyxDQUFDLENBQUM7S0FVN0U7SUFSRyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRVMsY0FBYyxDQUFDLElBQStDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7OEdBN0JpQixjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkZWZlciwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBnZXRQb3NzaWJseUFzeW5jT2JzZXJ2YWJsZSB9IGZyb20gJy4vZ2V0LXBvc3NpYmx5LWFzeW5jLW9ic2VydmFibGUnO1xuaW1wb3J0IHsgUG9zc2libHlBc3luYyB9IGZyb20gJy4vaXMtYXN5bmMnO1xuXG5leHBvcnQgdHlwZSBBc3luY1RyYW5zZm9ybVBhcmFtZXRlcnM8VFZhbHVlID0gdW5rbm93biwgVFBhcmFtcyBleHRlbmRzIHVua25vd25bXSA9IFtdPiA9IFtcbiAgICBQb3NzaWJseUFzeW5jPFRWYWx1ZT4sXG4gICAgLi4uVFBhcmFtcyxcbl07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBc3luY1RyYW5zZm9ybTxcbiAgICBUVmFsdWUgPSB1bmtub3duLFxuICAgIFRQYXJhbXMgZXh0ZW5kcyB1bmtub3duW10gPSBbXSxcbiAgICBUUmVzdWx0ID0gc3RyaW5nIHwgbnVsbCxcbj4gaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVzdWx0JDogT2JzZXJ2YWJsZTxUUmVzdWx0PjtcblxuICAgIHByb3RlY3RlZCBwYXJhbXMkOiBPYnNlcnZhYmxlPFtUVmFsdWUsIC4uLlRQYXJhbXNdPiA9IGRlZmVyKCgpID0+IHRoaXMuYXJncyQpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoYXJncykgPT5cbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIGdldFBvc3NpYmx5QXN5bmNPYnNlcnZhYmxlKGFyZ3NbMF0gYXMgVFZhbHVlKSxcbiAgICAgICAgICAgICAgICBvZihhcmdzLnNsaWNlKDEpIGFzIFRQYXJhbXMpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICksXG4gICAgICAgIG1hcCgoW3ZhbHVlLCBwYXJhbXNdKSA9PiBbdmFsdWUsIC4uLnBhcmFtc10gYXMgW1RWYWx1ZSwgLi4uVFBhcmFtc10pLFxuICAgICk7XG5cbiAgICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSBhc3luY1BpcGUgPSBuZXcgQXN5bmNQaXBlKHRoaXMuY2RyKTtcbiAgICBwcml2YXRlIGFyZ3MkID0gbmV3IFJlcGxheVN1YmplY3Q8W1Bvc3NpYmx5QXN5bmM8VFZhbHVlPiwgLi4uVFBhcmFtc10+KDEpO1xuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuYXN5bmNQaXBlLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jVHJhbnNmb3JtKGFyZ3M6IEFzeW5jVHJhbnNmb3JtUGFyYW1ldGVyczxUVmFsdWUsIFRQYXJhbXM+KTogVFJlc3VsdCB8IG51bGwge1xuICAgICAgICB0aGlzLmFyZ3MkLm5leHQoYXJncyk7XG4gICAgICAgIHJldHVybiB0aGlzLmFzeW5jUGlwZS50cmFuc2Zvcm0odGhpcy5yZXN1bHQkKTtcbiAgICB9XG59XG4iXX0=","import { combineLatest, of, switchMap } from 'rxjs';\nimport { getPossiblyAsyncObservable } from '../async';\nexport function switchCombineWith(project) {\n return (src$) => src$.pipe(switchMap((value, index) => {\n const res = project(value, index);\n return combineLatest([\n of(value),\n ...(Array.isArray(res) ? res : [res]).map((r) => getPossiblyAsyncObservable(r)),\n ]);\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNvbWJpbmUtd2l0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9vcGVyYXRvcnMvc3dpdGNoLWNvbWJpbmUtd2l0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsYUFBYSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEUsT0FBTyxFQUFpQiwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU1yRSxNQUFNLFVBQVUsaUJBQWlCLENBQzdCLE9BQW9FO0lBRXBFLE9BQU8sQ0FBQyxJQUFtQixFQUFFLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdkIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxPQUFPLGFBQWEsQ0FBQztZQUNqQixFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ1QsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEYsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQ29CLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUG9zc2libHlBc3luYywgZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUgfSBmcm9tICcuLi9hc3luYyc7XG5cbmV4cG9ydCB0eXBlIFByb2plY3RJbnB1dHM8UiBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPSB7XG4gICAgW0sgaW4ga2V5b2YgUl06IFBvc3NpYmx5QXN5bmM8UltLXT47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoQ29tYmluZVdpdGg8VCwgUiBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gICAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiByZWFkb25seSBbLi4uUHJvamVjdElucHV0czxSPl0sXG4pIHtcbiAgICByZXR1cm4gKHNyYyQ6IE9ic2VydmFibGU8VD4pID0+XG4gICAgICAgIHNyYyQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gcHJvamVjdCh2YWx1ZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgb2YodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAuLi4oQXJyYXkuaXNBcnJheShyZXMpID8gcmVzIDogW3Jlc10pLm1hcCgocikgPT4gZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUocikpLFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxbVCwgLi4uUl0+O1xufVxuIl19","import { debounce, interval } from 'rxjs';\nexport function debounceTimeWithFirst(duration) {\n return (source) => {\n let isFirst = true;\n return source.pipe(debounce(() => {\n if (isFirst) {\n isFirst = false;\n return interval(0);\n }\n return interval(duration);\n }));\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UtdGltZS13aXRoLWZpcnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL29wZXJhdG9ycy9kZWJvdW5jZS10aW1lLXdpdGgtZmlyc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE1BQU0sVUFBVSxxQkFBcUIsQ0FBSSxRQUFnQjtJQUNyRCxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDZCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNkLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNWLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ2hCLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgZGVib3VuY2UsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZVRpbWVXaXRoRmlyc3Q8VD4oZHVyYXRpb246IG51bWJlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gICAgcmV0dXJuIChzb3VyY2UpID0+IHtcbiAgICAgICAgbGV0IGlzRmlyc3QgPSB0cnVlO1xuICAgICAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNGaXJzdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJ2YWwoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcnZhbChkdXJhdGlvbik7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9O1xufVxuIl19","import { EMPTY } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { getPossiblyAsyncObservable } from '../async';\nexport function handleError(handler, result = EMPTY) {\n return (source) => source.pipe(catchError((err, _caught) => {\n handler(err);\n return getPossiblyAsyncObservable(result);\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL29wZXJhdG9ycy9oYW5kbGUtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBaUIsMEJBQTBCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckUsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsT0FBK0IsRUFDL0IsU0FBMkIsS0FBSztJQUVoQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDZCxNQUFNLENBQUMsSUFBSSxDQUNQLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUG9zc2libHlBc3luYywgZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUgfSBmcm9tICcuLi9hc3luYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVFcnJvcjxUPihcbiAgICBoYW5kbGVyOiAoZXJyOiB1bmtub3duKSA9PiB2b2lkLFxuICAgIHJlc3VsdDogUG9zc2libHlBc3luYzxUPiA9IEVNUFRZLFxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgICByZXR1cm4gKHNvdXJjZSkgPT5cbiAgICAgICAgc291cmNlLnBpcGUoXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIsIF9jYXVnaHQpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFBvc3NpYmx5QXN5bmNPYnNlcnZhYmxlKHJlc3VsdCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbn1cbiJdfQ==","import { concat, of, switchMap, timer } from 'rxjs';\nexport function asyncStartWith(value, timerMs = 0) {\n return (src$) => concat(...(value ? [of(value)] : []), timer(timerMs).pipe(switchMap(() => src$)));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtc3RhcnQtd2l0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9vcGVyYXRvcnMvYXN5bmMtc3RhcnQtd2l0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhFLE1BQU0sVUFBVSxjQUFjLENBQVksS0FBUyxFQUFFLE9BQU8sR0FBRyxDQUFDO0lBQzVELE9BQU8sQ0FBSSxJQUFtQixFQUFxQixFQUFFLENBQ2pELE1BQU0sQ0FBQyxHQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGNvbmNhdCwgb2YsIHN3aXRjaE1hcCwgdGltZXIgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFzeW5jU3RhcnRXaXRoPFYgPSBuZXZlcj4odmFsdWU/OiBWLCB0aW1lck1zID0gMCkge1xuICAgIHJldHVybiA8VD4oc3JjJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VCB8IFY+ID0+XG4gICAgICAgIGNvbmNhdCguLi4oKHZhbHVlID8gW29mKHZhbHVlKV0gOiBbXSkgYXMgW10pLCB0aW1lcih0aW1lck1zKS5waXBlKHN3aXRjaE1hcCgoKSA9PiBzcmMkKSkpO1xufVxuIl19","export function hasControls(control) {\n return 'controls' in control;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLWNvbnRyb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vaGFzLWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBd0I7SUFDaEQsT0FBTyxVQUFVLElBQUksT0FBTyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29udHJvbHMoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogY29udHJvbCBpcyBGb3JtR3JvdXAgfCBGb3JtQXJyYXkge1xuICAgIHJldHVybiAnY29udHJvbHMnIGluIGNvbnRyb2w7XG59XG4iXX0=","import { hasControls } from './has-controls';\nexport function getValue(control) {\n if (!hasControls(control)) {\n return control.value;\n }\n if (Array.isArray(control.controls)) {\n const result = [];\n for (const v of control.controls) {\n result.push(getValue(v));\n }\n return result;\n }\n const result = {};\n for (const [k, v] of Object.entries(control.controls)) {\n result[k] = getValue(v);\n }\n return result;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vZ2V0LXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLFVBQVUsUUFBUSxDQUFJLE9BQTJCO0lBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBYyxFQUFFLENBQUM7UUFDN0IsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxNQUFXLENBQUM7SUFDdkIsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFpQyxFQUFFLENBQUM7SUFDaEQsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDcEQsTUFBTSxDQUFDLENBQVksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsT0FBTyxNQUFXLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgaGFzQ29udHJvbHMgfSBmcm9tICcuL2hhcy1jb250cm9scyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZTxUPihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8VD4pOiBUIHtcbiAgICBpZiAoIWhhc0NvbnRyb2xzKGNvbnRyb2wpKSB7XG4gICAgICAgIHJldHVybiBjb250cm9sLnZhbHVlO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb250cm9sLmNvbnRyb2xzKSkge1xuICAgICAgICBjb25zdCByZXN1bHQ6IHVua25vd25bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHYgb2YgY29udHJvbC5jb250cm9scykge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goZ2V0VmFsdWUodikgYXMgVCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdCBhcyBUO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhjb250cm9sLmNvbnRyb2xzKSkge1xuICAgICAgICByZXN1bHRbayBhcyBrZXlvZiBUXSA9IGdldFZhbHVlKHYpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0IGFzIFQ7XG59XG4iXX0=","import { map, startWith } from 'rxjs/operators';\nimport { getValue } from './get-value';\nexport function getValueChanges(form) {\n return form.valueChanges.pipe(startWith(form.value), map(() => getValue(form)));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbHVlLWNoYW5nZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvZm9ybS9nZXQtdmFsdWUtY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsTUFBTSxVQUFVLGVBQWUsQ0FBSSxJQUE4QztJQUM3RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNyQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ1gsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGdldFZhbHVlIH0gZnJvbSAnLi9nZXQtdmFsdWUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsdWVDaGFuZ2VzPFQ+KGZvcm06IEFic3RyYWN0Q29udHJvbDxGb3JtQ29udHJvbFN0YXRlPFQ+IHwgVD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gZm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKGZvcm0udmFsdWUpLFxuICAgICAgICBtYXAoKCkgPT4gZ2V0VmFsdWUoZm9ybSkpLFxuICAgICkgYXMgT2JzZXJ2YWJsZTxUPjtcbn1cbiJdfQ==","import { hasControls } from '../../has-controls';\n/**\n * FormGroup/FormArray don't return internal control errors,\n * so you need to get internal errors manually\n */\nexport function getErrorsTree(control) {\n if (control.valid) {\n return null;\n }\n const errors = Object.assign({}, control.errors);\n if (hasControls(control)) {\n if (Array.isArray(control.controls)) {\n errors['formArrayErrors'] = control.controls\n .map((c) => getErrorsTree(c))\n .filter(Boolean);\n }\n else {\n errors['formGroupErrors'] = Object.fromEntries(Array.from(Object.entries(control.controls))\n .map(([k, c]) => [k, getErrorsTree(c)])\n .filter(([, v]) => !!v));\n }\n }\n return errors;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVycm9ycy10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vZm9ybS13cmFwcGVycy91dGlscy9nZXQtZXJyb3JzLXRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBd0I7SUFDbEQsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFxQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkUsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVE7aUJBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQWtCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDMUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDdkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN0QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDVixDQUFDO1FBQzFCLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgaGFzQ29udHJvbHMgfSBmcm9tICcuLi8uLi9oYXMtY29udHJvbHMnO1xuXG4vKipcbiAqIEZvcm1Hcm91cC9Gb3JtQXJyYXkgZG9uJ3QgcmV0dXJuIGludGVybmFsIGNvbnRyb2wgZXJyb3JzLFxuICogc28geW91IG5lZWQgdG8gZ2V0IGludGVybmFsIGVycm9ycyBtYW51YWxseVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JzVHJlZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wudmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbnRyb2wuZXJyb3JzKTtcbiAgICBpZiAoaGFzQ29udHJvbHMoY29udHJvbCkpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29udHJvbC5jb250cm9scykpIHtcbiAgICAgICAgICAgIGVycm9yc1snZm9ybUFycmF5RXJyb3JzJ10gPSBjb250cm9sLmNvbnRyb2xzXG4gICAgICAgICAgICAgICAgLm1hcCgoYzogQWJzdHJhY3RDb250cm9sKSA9PiBnZXRFcnJvcnNUcmVlKGMpKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvcnNbJ2Zvcm1Hcm91cEVycm9ycyddID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgICAgIEFycmF5LmZyb20oT2JqZWN0LmVudHJpZXMoY29udHJvbC5jb250cm9scykpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtrLCBjXSkgPT4gW2ssIGdldEVycm9yc1RyZWUoYyldKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChbLCB2XSkgPT4gISF2KSxcbiAgICAgICAgICAgICkgYXMgVmFsaWRhdGlvbkVycm9ycztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzO1xufVxuIl19","import { ChangeDetectorRef, DestroyRef, Directive, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { WrappedControlSuperclass } from '@s-libs/ng-core';\nimport { EMPTY, concat, take, timer } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { getErrorsTree } from './utils/get-errors-tree';\nimport * as i0 from \"@angular/core\";\nexport class AbstractControlSuperclass extends WrappedControlSuperclass {\n constructor() {\n super(...arguments);\n this._cdr = inject(ChangeDetectorRef);\n this._destroyRef = inject(DestroyRef);\n this.onValidatorChange = () => undefined;\n }\n ngOnInit() {\n super.ngOnInit();\n concat(timer(0), timer(100))\n .pipe(filter(() => this.control.invalid), take(1), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.onValidatorChange();\n this._cdr.markForCheck();\n });\n }\n validate(_control) {\n return getErrorsTree(this.control); //|| getErrorsTree(_control);\n }\n registerOnValidatorChange(fn) {\n this.onValidatorChange = fn;\n }\n setUpInnerToOuterErrors$() {\n return EMPTY;\n }\n setUpOuterToInnerErrors$() {\n return EMPTY;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AbstractControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: AbstractControlSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AbstractControlSuperclass, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29udHJvbC1zdXBlcmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vZm9ybS13cmFwcGVycy9hYnN0cmFjdC1jb250cm9sLXN1cGVyY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHeEQsTUFBTSxPQUFnQix5QkFDbEIsU0FBUSx3QkFBOEM7SUFGMUQ7O1FBS1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBZ0NqQyxzQkFBaUIsR0FBZSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7S0FDM0Q7SUEvQlksUUFBUTtRQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN2QixJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ2xDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3ZDO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQXlCO1FBQzlCLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtJQUNyRSxDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBYztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFa0Isd0JBQXdCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFa0Isd0JBQXdCO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBbkNpQix5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEOUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEZXN0cm95UmVmLCBEaXJlY3RpdmUsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFdyYXBwZWRDb250cm9sU3VwZXJjbGFzcyB9IGZyb20gJ0BzLWxpYnMvbmctY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgY29uY2F0LCB0YWtlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBnZXRFcnJvcnNUcmVlIH0gZnJvbSAnLi91dGlscy9nZXQtZXJyb3JzLXRyZWUnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENvbnRyb2xTdXBlcmNsYXNzPE91dGVyVHlwZSwgSW5uZXJUeXBlID0gT3V0ZXJUeXBlPlxuICAgIGV4dGVuZHMgV3JhcHBlZENvbnRyb2xTdXBlcmNsYXNzPE91dGVyVHlwZSwgSW5uZXJUeXBlPlxuICAgIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkluaXRcbntcbiAgICBwcml2YXRlIF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgY29uY2F0KHRpbWVyKDApLCB0aW1lcigxMDApKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuY29udHJvbC5pbnZhbGlkKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShfY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICByZXR1cm4gZ2V0RXJyb3JzVHJlZSh0aGlzLmNvbnRyb2wpOyAvL3x8IGdldEVycm9yc1RyZWUoX2NvbnRyb2wpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBzZXRVcElubmVyVG9PdXRlckVycm9ycyQoKTogT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzPiB7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2V0VXBPdXRlclRvSW5uZXJFcnJvcnMkKCk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycz4ge1xuICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblZhbGlkYXRvckNoYW5nZTogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbn1cbiJdfQ==","import { Directive } from '@angular/core';\nimport { getValue } from '../get-value';\nimport { hasControls } from '../has-controls';\nimport { AbstractControlSuperclass } from './abstract-control-superclass';\nimport * as i0 from \"@angular/core\";\nexport class FormGroupSuperclass extends AbstractControlSuperclass {\n setDisabledState(_isDisabled) {\n return;\n }\n ngOnInit() {\n this.emptyValue = getValue(this.control);\n super.ngOnInit();\n }\n outerToInnerValue(outer) {\n if (hasControls(this.control)) {\n if (!outer) {\n return this.emptyValue;\n }\n if (Object.keys(outer).length < Object.keys(this.control.controls).length) {\n return Object.assign({}, this.emptyValue, outer);\n }\n }\n return outer;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FormGroupSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: FormGroupSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FormGroupSuperclass, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1zdXBlcmNsYXNzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9mb3JtL2Zvcm0td3JhcHBlcnMvZm9ybS1ncm91cC1zdXBlcmNsYXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUcxRSxNQUFNLE9BQWdCLG1CQUNsQixTQUFRLHlCQUErQztJQUs5QyxnQkFBZ0IsQ0FBQyxXQUFvQjtRQUMxQyxPQUFPO0lBQ1gsQ0FBQztJQUVRLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFjLENBQUM7UUFDdEQsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFa0IsaUJBQWlCLENBQUMsS0FBZ0I7UUFDakQsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUMzQixDQUFDO1lBQ0QsSUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxPQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFDdEYsQ0FBQztnQkFDQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQWMsQ0FBQztJQUMxQixDQUFDOzhHQTNCaUIsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRHhDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBnZXRWYWx1ZSB9IGZyb20gJy4uL2dldC12YWx1ZSc7XG5pbXBvcnQgeyBoYXNDb250cm9scyB9IGZyb20gJy4uL2hhcy1jb250cm9scyc7XG5cbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbFN1cGVyY2xhc3MgfSBmcm9tICcuL2Fic3RyYWN0LWNvbnRyb2wtc3VwZXJjbGFzcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1Hcm91cFN1cGVyY2xhc3M8T3V0ZXJUeXBlLCBJbm5lclR5cGUgPSBPdXRlclR5cGU+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2xTdXBlcmNsYXNzPE91dGVyVHlwZSwgSW5uZXJUeXBlPlxuICAgIGltcGxlbWVudHMgT25Jbml0XG57XG4gICAgcHJvdGVjdGVkIGVtcHR5VmFsdWUhOiBJbm5lclR5cGU7XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKF9pc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5lbXB0eVZhbHVlID0gZ2V0VmFsdWUodGhpcy5jb250cm9sKSBhcyBJbm5lclR5cGU7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG91dGVyVG9Jbm5lclZhbHVlKG91dGVyOiBPdXRlclR5cGUpOiBJbm5lclR5cGUge1xuICAgICAgICBpZiAoaGFzQ29udHJvbHModGhpcy5jb250cm9sKSkge1xuICAgICAgICAgICAgaWYgKCFvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVtcHR5VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMob3V0ZXIpLmxlbmd0aCA8IE9iamVjdC5rZXlzKCh0aGlzLmNvbnRyb2wgYXMgRm9ybUdyb3VwKS5jb250cm9scykubGVuZ3RoXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5lbXB0eVZhbHVlLCBvdXRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dGVyIGFzIG5ldmVyO1xuICAgIH1cbn1cbiJdfQ==","import { forwardRef } from '@angular/core';\nimport { NG_VALIDATORS } from '@angular/forms';\nexport const provideValidators = (component) => ({\n provide: NG_VALIDATORS,\n useExisting: forwardRef(component),\n multi: true,\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS12YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vZm9ybS13cmFwcGVycy91dGlscy9wcm92aWRlLXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBOEIsRUFBWSxFQUFFLENBQUMsQ0FBQztJQUM1RSxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUNsQyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBUeXBlLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgY29uc3QgcHJvdmlkZVZhbGlkYXRvcnMgPSAoY29tcG9uZW50OiAoKSA9PiBUeXBlPHVua25vd24+KTogUHJvdmlkZXIgPT4gKHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKGNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWUsXG59KTtcbiJdfQ==","import { forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nexport const provideValueAccessor = (component) => ({\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(component),\n multi: true,\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9mb3JtL2Zvcm0td3JhcHBlcnMvdXRpbHMvcHJvdmlkZS12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQThCLEVBQVksRUFBRSxDQUFDLENBQUM7SUFDL0UsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUNsQyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBUeXBlLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVWYWx1ZUFjY2Vzc29yID0gKGNvbXBvbmVudDogKCkgPT4gVHlwZTx1bmtub3duPik6IFByb3ZpZGVyID0+ICh7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoY29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZSxcbn0pO1xuIl19","import { provideValidators } from './provide-validators';\nimport { provideValueAccessor } from './provide-value-accessor';\nexport const createControlProviders = (component) => [\n provideValueAccessor(component),\n provideValidators(component),\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbnRyb2wtcHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vZm9ybS13cmFwcGVycy91dGlscy9jcmVhdGUtY29udHJvbC1wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUE4QixFQUFjLEVBQUUsQ0FBQztJQUNsRixvQkFBb0IsQ0FBQyxTQUFTLENBQUM7SUFDL0IsaUJBQWlCLENBQUMsU0FBUyxDQUFDO0NBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBwcm92aWRlVmFsaWRhdG9ycyB9IGZyb20gJy4vcHJvdmlkZS12YWxpZGF0b3JzJztcbmltcG9ydCB7IHByb3ZpZGVWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9wcm92aWRlLXZhbHVlLWFjY2Vzc29yJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMgPSAoY29tcG9uZW50OiAoKSA9PiBUeXBlPHVua25vd24+KTogUHJvdmlkZXJbXSA9PiBbXG4gICAgcHJvdmlkZVZhbHVlQWNjZXNzb3IoY29tcG9uZW50KSxcbiAgICBwcm92aWRlVmFsaWRhdG9ycyhjb21wb25lbnQpLFxuXTtcbiJdfQ==","import { Directive } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { AbstractControlSuperclass } from './abstract-control-superclass';\nimport * as i0 from \"@angular/core\";\nexport class FormControlSuperclass extends AbstractControlSuperclass {\n constructor() {\n super(...arguments);\n this.control = new FormControl();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FormControlSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: FormControlSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FormControlSuperclass, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLXN1cGVyY2xhc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vZm9ybS13cmFwcGVycy9mb3JtLWNvbnRyb2wtc3VwZXJjbGFzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRzFFLE1BQU0sT0FBTyxxQkFHWCxTQUFRLHlCQUErQztJQUp6RDs7UUFLSSxZQUFPLEdBQUcsSUFBSSxXQUFXLEVBQTRCLENBQUM7S0FDekQ7OEdBTFkscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2xTdXBlcmNsYXNzIH0gZnJvbSAnLi9hYnN0cmFjdC1jb250cm9sLXN1cGVyY2xhc3MnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBGb3JtQ29udHJvbFN1cGVyY2xhc3M8XG4gICAgT3V0ZXJUeXBlLFxuICAgIElubmVyVHlwZSA9IE91dGVyVHlwZSxcbj4gZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2xTdXBlcmNsYXNzPE91dGVyVHlwZSwgSW5uZXJUeXBlPiB7XG4gICAgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpIGFzIEZvcm1Db250cm9sPElubmVyVHlwZT47XG59XG4iXX0=","import { ChangeDetectorRef, DestroyRef, Directive, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormComponentSuperclass as BaseFormComponentSuperclass } from '@s-libs/ng-core';\nimport { concat, timer } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class FormComponentSuperclass extends BaseFormComponentSuperclass {\n constructor() {\n super(...arguments);\n this._cdr = inject(ChangeDetectorRef);\n this._destroyRef = inject(DestroyRef);\n this.onValidatorChange = () => undefined;\n }\n validate(_control) {\n return null;\n }\n ngOnInit() {\n concat(timer(0), timer(100))\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.onValidatorChange();\n this._cdr.markForCheck();\n });\n }\n registerOnValidatorChange(fn) {\n this.onValidatorChange = fn;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FormComponentSuperclass, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: FormComponentSuperclass, isStandalone: true, usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FormComponentSuperclass, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb21wb25lbnQtc3VwZXJjbGFzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvZm9ybS9mb3JtLXdyYXBwZXJzL2Zvcm0tY29tcG9uZW50LXN1cGVyY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsdUJBQXVCLElBQUksMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHckMsTUFBTSxPQUFnQix1QkFDbEIsU0FBUSwyQkFBc0M7SUFGbEQ7O1FBS1ksU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBbUJqQyxzQkFBaUIsR0FBZSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUM7S0FDM0Q7SUFsQkcsUUFBUSxDQUFDLFFBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs4R0F0QmlCLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybUNvbXBvbmVudFN1cGVyY2xhc3MgYXMgQmFzZUZvcm1Db21wb25lbnRTdXBlcmNsYXNzIH0gZnJvbSAnQHMtbGlicy9uZy1jb3JlJztcbmltcG9ydCB7IGNvbmNhdCwgdGltZXIgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUNvbXBvbmVudFN1cGVyY2xhc3M8T3V0ZXJUeXBlPlxuICAgIGV4dGVuZHMgQmFzZUZvcm1Db21wb25lbnRTdXBlcmNsYXNzPE91dGVyVHlwZT5cbiAgICBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25Jbml0XG57XG4gICAgcHJpdmF0ZSBfY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgdmFsaWRhdGUoX2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbmNhdCh0aW1lcigwKSwgdGltZXIoMTAwKSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkID0gKCkgPT4gdW5kZWZpbmVkO1xufVxuIl19","import isNil from 'lodash-es/isNil';\nexport function isEmptyPrimitive(value) {\n return isNil(value) || value === '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZW1wdHktcHJpbWl0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2VtcHR5L2lzLWVtcHR5LXByaW1pdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUVwQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYztJQUMzQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNOaWwgZnJvbSAnbG9kYXNoLWVzL2lzTmlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlQcmltaXRpdmUodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOaWwodmFsdWUpIHx8IHZhbHVlID09PSAnJztcbn1cbiJdfQ==","import omitBy from 'lodash-es/omitBy';\nimport { filter, map } from 'rxjs/operators';\nimport { isEmptyPrimitive } from '../empty/is-empty-primitive';\nimport { getValueChanges } from './get-value-changes';\nexport function getValidValueChanges(control, predicate = isEmptyPrimitive) {\n return getValueChanges(control).pipe(filter(() => control.valid), map((value) => omitBy(value, predicate)));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXZhbGlkLXZhbHVlLWNoYW5nZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvZm9ybS9nZXQtdmFsaWQtdmFsdWUtY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBd0IsRUFBRSxTQUFTLEdBQUcsZ0JBQWdCO0lBQ3ZGLE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDM0IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQzNDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IG9taXRCeSBmcm9tICdsb2Rhc2gtZXMvb21pdEJ5JztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBpc0VtcHR5UHJpbWl0aXZlIH0gZnJvbSAnLi4vZW1wdHkvaXMtZW1wdHktcHJpbWl0aXZlJztcblxuaW1wb3J0IHsgZ2V0VmFsdWVDaGFuZ2VzIH0gZnJvbSAnLi9nZXQtdmFsdWUtY2hhbmdlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWxpZFZhbHVlQ2hhbmdlcyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIHByZWRpY2F0ZSA9IGlzRW1wdHlQcmltaXRpdmUpIHtcbiAgICByZXR1cm4gZ2V0VmFsdWVDaGFuZ2VzKGNvbnRyb2wpLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiBjb250cm9sLnZhbGlkKSxcbiAgICAgICAgbWFwKCh2YWx1ZSkgPT4gb21pdEJ5KHZhbHVlLCBwcmVkaWNhdGUpKSxcbiAgICApO1xufVxuIl19","export function setDisabled(control, disabled = true, options = {}) {\n if (!control || control.disabled === disabled) {\n return;\n }\n if (disabled) {\n control.disable(options);\n }\n else {\n control.enable(options);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWRpc2FibGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vc2V0LWRpc2FibGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxXQUFXLENBQ3ZCLE9BQXlCLEVBQ3pCLFdBQW9CLElBQUksRUFDeEIsVUFBcUQsRUFBRTtJQUV2RCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUMsT0FBTztJQUNYLENBQUM7SUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREaXNhYmxlZChcbiAgICBjb250cm9sPzogQWJzdHJhY3RDb250cm9sLFxuICAgIGRpc2FibGVkOiBib29sZWFuID0gdHJ1ZSxcbiAgICBvcHRpb25zOiBQYXJhbWV0ZXJzPEFic3RyYWN0Q29udHJvbFsnZGlzYWJsZSddPlswXSA9IHt9LFxuKSB7XG4gICAgaWYgKCFjb250cm9sIHx8IGNvbnRyb2wuZGlzYWJsZWQgPT09IGRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgIGNvbnRyb2wuZGlzYWJsZShvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb250cm9sLmVuYWJsZShvcHRpb25zKTtcbiAgICB9XG59XG4iXX0=","import { FormControl } from '@angular/forms';\nexport function createControls(values) {\n return Object.fromEntries(Object.entries(values).map(([k, v]) => [k, new FormControl(v, { nonNullable: true })]));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbnRyb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Zvcm0vY3JlYXRlLWNvbnRyb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLFVBQVUsY0FBYyxDQUFtQixNQUFTO0lBQ3RELE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxXQUFXLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNoRixDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29udHJvbHM8VCBleHRlbmRzIG9iamVjdD4odmFsdWVzOiBUKTogeyBbSyBpbiBrZXlvZiBUXTogRm9ybUNvbnRyb2w8VFtLXT4gfSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgT2JqZWN0LmVudHJpZXModmFsdWVzKS5tYXAoKFtrLCB2XSkgPT4gW2ssIG5ldyBGb3JtQ29udHJvbCh2LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pXSksXG4gICAgKSBhcyBuZXZlcjtcbn1cbiJdfQ==","function getTimeZoneOffset(date) {\n return date.getTimezoneOffset() * 60_000;\n}\nexport function getNoTimeZoneIsoString(date) {\n return date ? new Date(date.valueOf() - getTimeZoneOffset(date)).toISOString() : '';\n}\nexport function createDateFromNoTimeZoneString(dateStr) {\n const date = new Date(dateStr);\n return new Date(date.valueOf() + getTimeZoneOffset(date));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vLXRpbWUtem9uZS1pc28tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2RhdGUvZ2V0LW5vLXRpbWUtem9uZS1pc28tc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsaUJBQWlCLENBQUMsSUFBVTtJQUNqQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQWtCO0lBQ3JELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3hGLENBQUM7QUFFRCxNQUFNLFVBQVUsOEJBQThCLENBQUMsT0FBZTtJQUMxRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBnZXRUaW1lWm9uZU9mZnNldChkYXRlOiBEYXRlKSB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwXzAwMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5vVGltZVpvbmVJc29TdHJpbmcoZGF0ZT86IERhdGUgfCBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZSA/IG5ldyBEYXRlKGRhdGUudmFsdWVPZigpIC0gZ2V0VGltZVpvbmVPZmZzZXQoZGF0ZSkpLnRvSVNPU3RyaW5nKCkgOiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGVGcm9tTm9UaW1lWm9uZVN0cmluZyhkYXRlU3RyOiBzdHJpbmcpOiBEYXRlIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0ZVN0cik7XG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUudmFsdWVPZigpICsgZ2V0VGltZVpvbmVPZmZzZXQoZGF0ZSkpO1xufVxuIl19","import * as currencies from '@dinero.js/currencies';\nexport const getCurrencyExponent = (currencyCode) => currencies[currencyCode]?.exponent;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbmN5LWV4cG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2N1cnJlbmN5L2dldC1jdXJyZW5jeS1leHBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsWUFBb0IsRUFBVSxFQUFFLENBQ2hFLFVBQVUsQ0FBQyxZQUF1QyxDQUFDLEVBQUUsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3VycmVuY2llcyBmcm9tICdAZGluZXJvLmpzL2N1cnJlbmNpZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0Q3VycmVuY3lFeHBvbmVudCA9IChjdXJyZW5jeUNvZGU6IHN0cmluZyk6IG51bWJlciA9PlxuICAgIGN1cnJlbmNpZXNbY3VycmVuY3lDb2RlIGFzIGtleW9mIHR5cGVvZiBjdXJyZW5jaWVzXT8uZXhwb25lbnQ7XG4iXX0=","import round from 'lodash-es/round';\nimport { getCurrencyExponent } from './get-currency-exponent';\nexport const toMajorByExponent = (amount, exponent) => round(amount / 10 ** exponent, exponent);\nexport const toMajor = (amount, currencyCode) => toMajorByExponent(amount, getCurrencyExponent(currencyCode));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tbWFqb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvY3VycmVuY3kvdG8tbWFqb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFFcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBVSxFQUFFLENBQzFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFjLEVBQUUsWUFBb0IsRUFBVSxFQUFFLENBQ3BFLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC1lcy9yb3VuZCc7XG5cbmltcG9ydCB7IGdldEN1cnJlbmN5RXhwb25lbnQgfSBmcm9tICcuL2dldC1jdXJyZW5jeS1leHBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCB0b01ham9yQnlFeHBvbmVudCA9IChhbW91bnQ6IG51bWJlciwgZXhwb25lbnQ6IG51bWJlcik6IG51bWJlciA9PlxuICAgIHJvdW5kKGFtb3VudCAvIDEwICoqIGV4cG9uZW50LCBleHBvbmVudCk7XG5cbmV4cG9ydCBjb25zdCB0b01ham9yID0gKGFtb3VudDogbnVtYmVyLCBjdXJyZW5jeUNvZGU6IHN0cmluZyk6IG51bWJlciA9PlxuICAgIHRvTWFqb3JCeUV4cG9uZW50KGFtb3VudCwgZ2V0Q3VycmVuY3lFeHBvbmVudChjdXJyZW5jeUNvZGUpKTtcbiJdfQ==","import { getCurrencyExponent } from './get-currency-exponent';\nexport const toMinorByExponent = (amount, exponent) => Math.round(amount * 10 ** exponent);\nexport const toMinor = (amount, currencyCode) => toMinorByExponent(amount, getCurrencyExponent(currencyCode));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tbWlub3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvY3VycmVuY3kvdG8tbWlub3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBVSxFQUFFLENBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsSUFBSSxRQUFRLENBQUMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFjLEVBQUUsWUFBb0IsRUFBVSxFQUFFLENBQ3BFLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Q3VycmVuY3lFeHBvbmVudCB9IGZyb20gJy4vZ2V0LWN1cnJlbmN5LWV4cG9uZW50JztcblxuZXhwb3J0IGNvbnN0IHRvTWlub3JCeUV4cG9uZW50ID0gKGFtb3VudDogbnVtYmVyLCBleHBvbmVudDogbnVtYmVyKTogbnVtYmVyID0+XG4gICAgTWF0aC5yb3VuZChhbW91bnQgKiAxMCAqKiBleHBvbmVudCk7XG5cbmV4cG9ydCBjb25zdCB0b01pbm9yID0gKGFtb3VudDogbnVtYmVyLCBjdXJyZW5jeUNvZGU6IHN0cmluZyk6IG51bWJlciA9PlxuICAgIHRvTWlub3JCeUV4cG9uZW50KGFtb3VudCwgZ2V0Q3VycmVuY3lFeHBvbmVudChjdXJyZW5jeUNvZGUpKTtcbiJdfQ==","import { getCurrencySymbol, formatCurrency as ngFormatCurrency } from '@angular/common';\nimport { getCurrencyExponent } from './get-currency-exponent';\nimport { toMajorByExponent } from './to-major';\nexport function formatCurrency(amount, currencyCode = 'USD', format = 'long', locale = 'en-GB', exponent, isMajor = false) {\n if (typeof exponent !== 'number') {\n exponent = getCurrencyExponent(currencyCode) || 0;\n }\n return ngFormatCurrency(isMajor ? amount : toMajorByExponent(amount, exponent), locale, getCurrencySymbol(currencyCode, 'narrow', locale), currencyCode, format === 'short' ? `1.0-${exponent}` : `1.${exponent}-${exponent}`);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWN1cnJlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2N1cnJlbmN5L2Zvcm1hdC1jdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxJQUFJLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE1BQU0sVUFBVSxjQUFjLENBQzFCLE1BQWMsRUFDZCxlQUF1QixLQUFLLEVBQzVCLFNBQTJCLE1BQU0sRUFDakMsTUFBTSxHQUFHLE9BQU8sRUFDaEIsUUFBaUIsRUFDakIsVUFBbUIsS0FBSztJQUV4QixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELE9BQU8sZ0JBQWdCLENBQ25CLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQ3RELE1BQU0sRUFDTixpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUNqRCxZQUFZLEVBQ1osTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksUUFBUSxFQUFFLENBQ3ZFLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Q3VycmVuY3lTeW1ib2wsIGZvcm1hdEN1cnJlbmN5IGFzIG5nRm9ybWF0Q3VycmVuY3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBnZXRDdXJyZW5jeUV4cG9uZW50IH0gZnJvbSAnLi9nZXQtY3VycmVuY3ktZXhwb25lbnQnO1xuaW1wb3J0IHsgdG9NYWpvckJ5RXhwb25lbnQgfSBmcm9tICcuL3RvLW1ham9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEN1cnJlbmN5KFxuICAgIGFtb3VudDogbnVtYmVyLFxuICAgIGN1cnJlbmN5Q29kZTogc3RyaW5nID0gJ1VTRCcsXG4gICAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ2xvbmcnLFxuICAgIGxvY2FsZSA9ICdlbi1HQicsXG4gICAgZXhwb25lbnQ/OiBudW1iZXIsXG4gICAgaXNNYWpvcjogYm9vbGVhbiA9IGZhbHNlLFxuKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIGV4cG9uZW50ICE9PSAnbnVtYmVyJykge1xuICAgICAgICBleHBvbmVudCA9IGdldEN1cnJlbmN5RXhwb25lbnQoY3VycmVuY3lDb2RlKSB8fCAwO1xuICAgIH1cbiAgICByZXR1cm4gbmdGb3JtYXRDdXJyZW5jeShcbiAgICAgICAgaXNNYWpvciA/IGFtb3VudCA6IHRvTWFqb3JCeUV4cG9uZW50KGFtb3VudCwgZXhwb25lbnQpLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIGdldEN1cnJlbmN5U3ltYm9sKGN1cnJlbmN5Q29kZSwgJ25hcnJvdycsIGxvY2FsZSksXG4gICAgICAgIGN1cnJlbmN5Q29kZSxcbiAgICAgICAgZm9ybWF0ID09PSAnc2hvcnQnID8gYDEuMC0ke2V4cG9uZW50fWAgOiBgMS4ke2V4cG9uZW50fS0ke2V4cG9uZW50fWAsXG4gICAgKTtcbn1cbiJdfQ==","import { get as _get } from 'lodash-es';\nexport function select(obj, selectFn, defaultValue, restParams = []) {\n if (typeof selectFn === 'string') {\n return _get(obj, selectFn, defaultValue);\n }\n return selectFn(obj, ...restParams);\n}\n// export function selectAsObservable<TObject extends object, TResult, TParams extends Array<unknown> = []>(\n// obj: TObject,\n// selectFn: SelectFn<TObject, TResult, TParams>,\n// defaultValue?: TResult,\n// restParams: TParams[] = [],\n// ): TResult | Observable<TResult> {\n// const res = select(obj, selectFn, defaultValue, restParams);\n// return isObservable(res) ? res : of(res);\n// }\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL29iamVjdC9zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFTeEMsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsR0FBWSxFQUNaLFFBQTZDLEVBQzdDLFlBQXNCLEVBQ3RCLGFBQXdCLEVBQUU7SUFFMUIsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBWSxDQUFDO0lBQ3hELENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBSSxVQUFvQixDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELDRHQUE0RztBQUM1RyxvQkFBb0I7QUFDcEIscURBQXFEO0FBQ3JELDhCQUE4QjtBQUM5QixrQ0FBa0M7QUFDbEMscUNBQXFDO0FBQ3JDLG1FQUFtRTtBQUNuRSxnREFBZ0Q7QUFDaEQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCBhcyBfZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgU2VsZWN0Rm48XG4gICAgVE9iamVjdCBleHRlbmRzIG9iamVjdCA9IG9iamVjdCxcbiAgICBUUmVzdWx0ID0gdW5rbm93bixcbiAgICBUUGFyYW1zIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4gPSBbXSxcbj4gPSBzdHJpbmcgfCAoKG9iajogVE9iamVjdCwgLi4ucGFyYW1zOiBUUGFyYW1zKSA9PiBPYnNlcnZhYmxlPFRSZXN1bHQ+IHwgVFJlc3VsdCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3Q8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVFJlc3VsdCwgVFBhcmFtcyBleHRlbmRzIEFycmF5PHVua25vd24+ID0gW10+KFxuICAgIG9iajogVE9iamVjdCxcbiAgICBzZWxlY3RGbjogU2VsZWN0Rm48VE9iamVjdCwgVFJlc3VsdCwgVFBhcmFtcz4sXG4gICAgZGVmYXVsdFZhbHVlPzogVFJlc3VsdCxcbiAgICByZXN0UGFyYW1zOiBUUGFyYW1zW10gPSBbXSxcbik6IFRSZXN1bHQgfCBPYnNlcnZhYmxlPFRSZXN1bHQ+IHtcbiAgICBpZiAodHlwZW9mIHNlbGVjdEZuID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gX2dldChvYmosIHNlbGVjdEZuLCBkZWZhdWx0VmFsdWUpIGFzIFRSZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RGbihvYmosIC4uLihyZXN0UGFyYW1zIGFzIG5ldmVyKSk7XG59XG5cbi8vIGV4cG9ydCBmdW5jdGlvbiBzZWxlY3RBc09ic2VydmFibGU8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVFJlc3VsdCwgVFBhcmFtcyBleHRlbmRzIEFycmF5PHVua25vd24+ID0gW10+KFxuLy8gICAgIG9iajogVE9iamVjdCxcbi8vICAgICBzZWxlY3RGbjogU2VsZWN0Rm48VE9iamVjdCwgVFJlc3VsdCwgVFBhcmFtcz4sXG4vLyAgICAgZGVmYXVsdFZhbHVlPzogVFJlc3VsdCxcbi8vICAgICByZXN0UGFyYW1zOiBUUGFyYW1zW10gPSBbXSxcbi8vICk6IFRSZXN1bHQgfCBPYnNlcnZhYmxlPFRSZXN1bHQ+IHtcbi8vICAgICBjb25zdCByZXMgPSBzZWxlY3Qob2JqLCBzZWxlY3RGbiwgZGVmYXVsdFZhbHVlLCByZXN0UGFyYW1zKTtcbi8vICAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHJlcykgPyByZXMgOiBvZihyZXMpO1xuLy8gfVxuIl19","export function countProps(...objects) {\n return objects.reduce((acc, obj) => acc + (obj ? Object.keys(obj).length : 0), 0);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvb2JqZWN0L2NvdW50LXByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBRyxPQUFpQjtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvdW50UHJvcHMoLi4ub2JqZWN0czogb2JqZWN0W10pOiBudW1iZXIge1xuICAgIHJldHVybiBvYmplY3RzLnJlZHVjZSgoYWNjLCBvYmopID0+IGFjYyArIChvYmogPyBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA6IDApLCAwKTtcbn1cbiJdfQ==","import lodashIsEmpty from 'lodash-es/isEmpty';\nimport isObject from 'lodash-es/isObject';\nimport { isEmptyPrimitive } from './is-empty-primitive';\nexport function isEmpty(value) {\n return isObject(value)\n ? value.constructor === Object ||\n Array.isArray(value) ||\n value instanceof Set ||\n value instanceof Map\n ? lodashIsEmpty(value)\n : false\n : isEmptyPrimitive(value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvZW1wdHkvaXMtZW1wdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFjO0lBQ2xDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztRQUNsQixDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxNQUFNO1lBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3BCLEtBQUssWUFBWSxHQUFHO1lBQ3BCLEtBQUssWUFBWSxHQUFHO1lBQ2xCLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxLQUFLO1FBQ1gsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9kYXNoSXNFbXB0eSBmcm9tICdsb2Rhc2gtZXMvaXNFbXB0eSc7XG5pbXBvcnQgaXNPYmplY3QgZnJvbSAnbG9kYXNoLWVzL2lzT2JqZWN0JztcblxuaW1wb3J0IHsgaXNFbXB0eVByaW1pdGl2ZSB9IGZyb20gJy4vaXMtZW1wdHktcHJpbWl0aXZlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpXG4gICAgICAgID8gdmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCB8fFxuICAgICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8XG4gICAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBTZXQgfHxcbiAgICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIE1hcFxuICAgICAgICAgICAgPyBsb2Rhc2hJc0VtcHR5KHZhbHVlKVxuICAgICAgICAgICAgOiBmYWxzZVxuICAgICAgICA6IGlzRW1wdHlQcmltaXRpdmUodmFsdWUpO1xufVxuIl19","import { difference } from 'lodash-es';\nimport isEqual from 'lodash-es/isEqual';\nimport { isEmpty } from '../empty';\nexport function countChanged(a, b, \n// is equal boolean or count number\npredicates = {}) {\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n const diffKeys = difference(aKeys, bKeys);\n const sameKeys = difference(aKeys, diffKeys);\n return sameKeys\n .map((k) => {\n if (k in predicates) {\n const res = predicates[k]?.(a[k], b[k]);\n return typeof res === 'boolean' ? +!res : Number(res);\n }\n return (isEmpty(a[k]) && isEmpty(b[k])) || isEqual(a[k], b[k]) ? 0 : 1;\n })\n .reduce((sum, v) => sum + v, diffKeys.length);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtY2hhbmdlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9vYmplY3QvY291bnQtY2hhbmdlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbkMsTUFBTSxVQUFVLFlBQVksQ0FDeEIsQ0FBSSxFQUNKLENBQUk7QUFDSixtQ0FBbUM7QUFDbkMsYUFBMEUsRUFBRTtJQUU1RSxNQUFNLEtBQUssR0FBZ0IsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVUsQ0FBQztJQUNuRCxNQUFNLEtBQUssR0FBZ0IsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVUsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0MsT0FBTyxRQUFRO1NBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDUCxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNsQixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsT0FBTyxPQUFPLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlmZmVyZW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XG5cbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi9lbXB0eSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3VudENoYW5nZWQ8VCBleHRlbmRzIG9iamVjdD4oXG4gICAgYTogVCxcbiAgICBiOiBULFxuICAgIC8vIGlzIGVxdWFsIGJvb2xlYW4gb3IgY291bnQgbnVtYmVyXG4gICAgcHJlZGljYXRlczogeyBbSyBpbiBrZXlvZiBUXT86IChhOiBUW0tdLCBiOiBUW0tdKSA9PiBudW1iZXIgfCBib29sZWFuIH0gPSB7fSxcbik6IG51bWJlciB7XG4gICAgY29uc3QgYUtleXM6IChrZXlvZiBUKVtdID0gT2JqZWN0LmtleXMoYSkgYXMgbmV2ZXI7XG4gICAgY29uc3QgYktleXM6IChrZXlvZiBUKVtdID0gT2JqZWN0LmtleXMoYikgYXMgbmV2ZXI7XG4gICAgY29uc3QgZGlmZktleXMgPSBkaWZmZXJlbmNlKGFLZXlzLCBiS2V5cyk7XG4gICAgY29uc3Qgc2FtZUtleXMgPSBkaWZmZXJlbmNlKGFLZXlzLCBkaWZmS2V5cyk7XG4gICAgcmV0dXJuIHNhbWVLZXlzXG4gICAgICAgIC5tYXAoKGspID0+IHtcbiAgICAgICAgICAgIGlmIChrIGluIHByZWRpY2F0ZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBwcmVkaWNhdGVzW2tdPy4oYVtrXSwgYltrXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiByZXMgPT09ICdib29sZWFuJyA/ICshcmVzIDogTnVtYmVyKHJlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKGlzRW1wdHkoYVtrXSkgJiYgaXNFbXB0eShiW2tdKSkgfHwgaXNFcXVhbChhW2tdLCBiW2tdKSA/IDAgOiAxO1xuICAgICAgICB9KVxuICAgICAgICAucmVkdWNlKChzdW0sIHYpID0+IHN1bSArIHYsIGRpZmZLZXlzLmxlbmd0aCk7XG59XG4iXX0=","export function getEnumEntries(srcEnum) {\n if (!srcEnum) {\n return [];\n }\n const entries = Object.entries(srcEnum);\n if (!entries.length) {\n return [];\n }\n const isValueNumberEnum = entries.some(([, v]) => typeof v === 'number');\n if (isValueNumberEnum) {\n return entries.filter(([, v]) => typeof v === 'number');\n }\n return entries;\n}\nexport function getEnumKeyValues(srcEnum) {\n return getEnumEntries(srcEnum).map(([key, value]) => ({ key, value }));\n}\nexport function getEnumKeys(srcEnum) {\n return getEnumEntries(srcEnum).map(([k]) => k);\n}\nexport function getEnumValues(srcEnum) {\n return getEnumEntries(srcEnum).map(([, v]) => v);\n}\nexport function getEnumKey(srcEnum, value) {\n return getEnumKeyValues(srcEnum).find((e) => String(e.value) === String(value))?.key;\n}\nexport function enumHasValue(srcEnum, value) {\n return getEnumValues(srcEnum).includes(value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWVudW0ta2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9lbnVtL2dldC1lbnVtLWtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLGNBQWMsQ0FBaUIsT0FBVTtJQUNyRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQztJQUN6RSxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDcEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQVUsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsT0FBTyxPQUFnQixDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQVU7SUFFVixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQWlCLE9BQVU7SUFDbEQsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQWlCLE9BQVU7SUFDcEQsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBaUIsT0FBVSxFQUFFLEtBQW9CO0lBQ3ZFLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQWMsQ0FBQztBQUNwRyxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FDeEIsT0FBVSxFQUNWLEtBQTZCO0lBRTdCLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFzQixDQUFDLENBQUM7QUFDbkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlc1R5cGUgfSBmcm9tICd1dGlsaXR5LXR5cGVzJztcblxuZXhwb3J0IHR5cGUgRW51bSA9IFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnVtRW50cmllczxFIGV4dGVuZHMgRW51bT4oc3JjRW51bTogRSk6IFtrZXk6IGtleW9mIEUsIHZhbHVlOiBWYWx1ZXNUeXBlPEU+XVtdIHtcbiAgICBpZiAoIXNyY0VudW0pIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3JjRW51bSk7XG4gICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGlzVmFsdWVOdW1iZXJFbnVtID0gZW50cmllcy5zb21lKChbLCB2XSkgPT4gdHlwZW9mIHYgPT09ICdudW1iZXInKTtcbiAgICBpZiAoaXNWYWx1ZU51bWJlckVudW0pIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMuZmlsdGVyKChbLCB2XSkgPT4gdHlwZW9mIHYgPT09ICdudW1iZXInKSBhcyBuZXZlcjtcbiAgICB9XG4gICAgcmV0dXJuIGVudHJpZXMgYXMgbmV2ZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnVtS2V5VmFsdWVzPEUgZXh0ZW5kcyBFbnVtPihcbiAgICBzcmNFbnVtOiBFLFxuKTogeyBrZXk6IGtleW9mIEU7IHZhbHVlOiBWYWx1ZXNUeXBlPEU+IH1bXSB7XG4gICAgcmV0dXJuIGdldEVudW1FbnRyaWVzKHNyY0VudW0pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoeyBrZXksIHZhbHVlIH0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1LZXlzPEUgZXh0ZW5kcyBFbnVtPihzcmNFbnVtOiBFKTogKGtleW9mIEUpW10ge1xuICAgIHJldHVybiBnZXRFbnVtRW50cmllcyhzcmNFbnVtKS5tYXAoKFtrXSkgPT4gayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnVtVmFsdWVzPEUgZXh0ZW5kcyBFbnVtPihzcmNFbnVtOiBFKTogVmFsdWVzVHlwZTxFPltdIHtcbiAgICByZXR1cm4gZ2V0RW51bUVudHJpZXMoc3JjRW51bSkubWFwKChbLCB2XSkgPT4gdik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnVtS2V5PEUgZXh0ZW5kcyBFbnVtPihzcmNFbnVtOiBFLCB2YWx1ZTogVmFsdWVzVHlwZTxFPik6IGtleW9mIEUge1xuICAgIHJldHVybiBnZXRFbnVtS2V5VmFsdWVzKHNyY0VudW0pLmZpbmQoKGUpID0+IFN0cmluZyhlLnZhbHVlKSA9PT0gU3RyaW5nKHZhbHVlKSk/LmtleSBhcyBrZXlvZiBFO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUhhc1ZhbHVlPEUgZXh0ZW5kcyBFbnVtPihcbiAgICBzcmNFbnVtOiBFLFxuICAgIHZhbHVlOiBWYWx1ZXNUeXBlPEU+IHwgc3RyaW5nLFxuKTogdmFsdWUgaXMgVmFsdWVzVHlwZTxFPiB7XG4gICAgcmV0dXJuIGdldEVudW1WYWx1ZXMoc3JjRW51bSkuaW5jbHVkZXModmFsdWUgYXMgVmFsdWVzVHlwZTxFPik7XG59XG4iXX0=","import { isEmpty } from '../empty/is-empty';\nimport { isEmptyPrimitive } from '../empty/is-empty-primitive';\nexport function clean(obj, allowRootRemoval = false, isNotDeep = false, filterPredicate = (v) => !isEmpty(v)) {\n if (allowRootRemoval && !filterPredicate(obj)) {\n return null;\n }\n const cleanChild = (v) => isNotDeep ? v : clean(v, true, isNotDeep, filterPredicate);\n if (Array.isArray(obj)) {\n return obj\n .map((v) => cleanChild(v))\n .filter((v, idx) => filterPredicate(v, idx));\n }\n if (obj?.constructor === Object) {\n return Object.fromEntries(Object.entries(obj)\n .map(([k, v]) => [k, cleanChild(v)])\n .filter(([k, v]) => filterPredicate(v, k)));\n }\n return obj;\n}\nexport function cleanPrimitiveProps(obj, allowRootRemoval = false, isNotDeep = false) {\n return clean(obj, allowRootRemoval, isNotDeep, (v) => !isEmptyPrimitive(v));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvY2xlYW4vY2xlYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE1BQU0sVUFBVSxLQUFLLENBS2pCLEdBQU0sRUFDTixtQkFBc0MsS0FBMEIsRUFDaEUsU0FBUyxHQUFHLEtBQUssRUFDakIsa0JBQTRELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFOUUsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sSUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQzlCLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBVSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDeEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBUSxHQUF1QjthQUMxQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFVLENBQUM7SUFDOUQsQ0FBQztJQUNELElBQUksR0FBRyxFQUFFLFdBQVcsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFnQzthQUM5QyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFVLENBQUM7YUFDNUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDeEMsQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQy9CLEdBQU0sRUFDTixnQkFBZ0IsR0FBRyxLQUFLLEVBQ3hCLFNBQVMsR0FBRyxLQUFLO0lBRWpCLE9BQU8sS0FBSyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsdWVzVHlwZSB9IGZyb20gJ3V0aWxpdHktdHlwZXMnO1xuXG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vZW1wdHkvaXMtZW1wdHknO1xuaW1wb3J0IHsgaXNFbXB0eVByaW1pdGl2ZSB9IGZyb20gJy4uL2VtcHR5L2lzLWVtcHR5LXByaW1pdGl2ZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbjxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIFQgZXh0ZW5kcyBSZWFkb25seUFycmF5PGFueT4gfCBBcnJheUxpa2U8YW55PiB8IFJlY29yZDxhbnksIGFueT4sXG4gICAgVEFsbG93Um9vdFJlbW92YWwgZXh0ZW5kcyBib29sZWFuID0gZmFsc2UsXG4+KFxuICAgIG9iajogVCxcbiAgICBhbGxvd1Jvb3RSZW1vdmFsOiBUQWxsb3dSb290UmVtb3ZhbCA9IGZhbHNlIGFzIFRBbGxvd1Jvb3RSZW1vdmFsLFxuICAgIGlzTm90RGVlcCA9IGZhbHNlLFxuICAgIGZpbHRlclByZWRpY2F0ZTogKHY6IHVua25vd24sIGs/OiBQcm9wZXJ0eUtleSkgPT4gYm9vbGVhbiA9ICh2KSA9PiAhaXNFbXB0eSh2KSxcbik6IFRBbGxvd1Jvb3RSZW1vdmFsIGV4dGVuZHMgdHJ1ZSA/IFQgfCBudWxsIDogVCB7XG4gICAgaWYgKGFsbG93Um9vdFJlbW92YWwgJiYgIWZpbHRlclByZWRpY2F0ZShvYmopKSB7XG4gICAgICAgIHJldHVybiBudWxsIGFzIG5ldmVyO1xuICAgIH1cbiAgICBjb25zdCBjbGVhbkNoaWxkID0gKHY6IHVua25vd24pID0+XG4gICAgICAgIGlzTm90RGVlcCA/IHYgOiBjbGVhbih2IGFzIG5ldmVyLCB0cnVlLCBpc05vdERlZXAsIGZpbHRlclByZWRpY2F0ZSk7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgICByZXR1cm4gKG9iaiBhcyBWYWx1ZXNUeXBlPFQ+W10pXG4gICAgICAgICAgICAubWFwKCh2KSA9PiBjbGVhbkNoaWxkKHYpKVxuICAgICAgICAgICAgLmZpbHRlcigodiwgaWR4KSA9PiBmaWx0ZXJQcmVkaWNhdGUodiwgaWR4KSkgYXMgbmV2ZXI7XG4gICAgfVxuICAgIGlmIChvYmo/LmNvbnN0cnVjdG9yID09PSBPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgIChPYmplY3QuZW50cmllcyhvYmopIGFzIFtrZXlvZiBULCBWYWx1ZXNUeXBlPFQ+XVtdKVxuICAgICAgICAgICAgICAgIC5tYXAoKFtrLCB2XSkgPT4gW2ssIGNsZWFuQ2hpbGQodildIGFzIGNvbnN0KVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKFtrLCB2XSkgPT4gZmlsdGVyUHJlZGljYXRlKHYsIGspKSxcbiAgICAgICAgKSBhcyBuZXZlcjtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuUHJpbWl0aXZlUHJvcHM8VCBleHRlbmRzIG9iamVjdD4oXG4gICAgb2JqOiBULFxuICAgIGFsbG93Um9vdFJlbW92YWwgPSBmYWxzZSxcbiAgICBpc05vdERlZXAgPSBmYWxzZSxcbikge1xuICAgIHJldHVybiBjbGVhbihvYmosIGFsbG93Um9vdFJlbW92YWwsIGlzTm90RGVlcCwgKHYpID0+ICFpc0VtcHR5UHJpbWl0aXZlKHYpKTtcbn1cbiJdfQ==","function isNumber(v) {\n return !!v && (typeof v === 'number' || /^-?\\d+.*$/.test(String(v).trim()));\n}\nfunction toNumber(v) {\n return typeof v === 'string'\n ? parseFloat(v.replace(',', '.').replace(/[^0-9.-]+/g, ''))\n : Number(v);\n}\n/**\n * Use with sorting (arr.sort(fn))\n */\nexport function compareDifferentTypes(a, b) {\n const aIsNum = isNumber(a);\n const bIsNum = isNumber(b);\n if (aIsNum || bIsNum) {\n if (aIsNum && bIsNum) {\n return toNumber(a) - toNumber(b);\n }\n else if (aIsNum) {\n return -1;\n }\n else {\n return 1;\n }\n }\n return String(a).localeCompare(String(b));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1kaWZmZXJlbnQtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvY29tcGFyZS9jb21wYXJlLWRpZmZlcmVudC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLFFBQVEsQ0FBQyxDQUFVO0lBQ3hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLENBQVU7SUFDeEIsT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRO1FBQ3hCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBSSxDQUFJLEVBQUUsQ0FBSTtJQUMvQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ25CLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2QsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsQ0FBQztRQUNiLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBpc051bWJlcih2OiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdiAmJiAodHlwZW9mIHYgPT09ICdudW1iZXInIHx8IC9eLT9cXGQrLiokLy50ZXN0KFN0cmluZyh2KS50cmltKCkpKTtcbn1cblxuZnVuY3Rpb24gdG9OdW1iZXIodjogdW5rbm93bik6IG51bWJlciB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSAnc3RyaW5nJ1xuICAgICAgICA/IHBhcnNlRmxvYXQodi5yZXBsYWNlKCcsJywgJy4nKS5yZXBsYWNlKC9bXjAtOS4tXSsvZywgJycpKVxuICAgICAgICA6IE51bWJlcih2KTtcbn1cblxuLyoqXG4gKiBVc2Ugd2l0aCBzb3J0aW5nIChhcnIuc29ydChmbikpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlRGlmZmVyZW50VHlwZXM8VD4oYTogVCwgYjogVCk6IG51bWJlciB7XG4gICAgY29uc3QgYUlzTnVtID0gaXNOdW1iZXIoYSk7XG4gICAgY29uc3QgYklzTnVtID0gaXNOdW1iZXIoYik7XG4gICAgaWYgKGFJc051bSB8fCBiSXNOdW0pIHtcbiAgICAgICAgaWYgKGFJc051bSAmJiBiSXNOdW0pIHtcbiAgICAgICAgICAgIHJldHVybiB0b051bWJlcihhKSAtIHRvTnVtYmVyKGIpO1xuICAgICAgICB9IGVsc2UgaWYgKGFJc051bSkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyhhKS5sb2NhbGVDb21wYXJlKFN0cmluZyhiKSk7XG59XG4iXX0=","import { get } from 'lodash-es';\nimport { from } from 'rxjs';\nimport { map } from 'rxjs/operators';\nexport function getImportValue(imp, prop = 'default') {\n return from(imp).pipe(map((module) => {\n if (!prop) {\n return module;\n }\n return get(module, prop, null);\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWltcG9ydC12YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9pbXBvcnQvZ2V0LWltcG9ydC12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sVUFBVSxjQUFjLENBQUksR0FBcUIsRUFBRSxPQUFlLFNBQVM7SUFDN0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNqQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNYLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE9BQU8sTUFBVyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBTSxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEltcG9ydFZhbHVlPFQ+KGltcDogUHJvbWlzZTx1bmtub3duPiwgcHJvcDogc3RyaW5nID0gJ2RlZmF1bHQnKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGZyb20oaW1wKS5waXBlKFxuICAgICAgICBtYXAoKG1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFwcm9wKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1vZHVsZSBhcyBUO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGdldChtb2R1bGUsIHByb3AsIG51bGwpIGFzIFQ7XG4gICAgICAgIH0pLFxuICAgICk7XG59XG4iXX0=","const FILE_TYPES = {\n csv: {\n type: 'text/csv',\n format: 'csv',\n },\n};\nexport function downloadFile(data, type, filename = 'data') {\n const blob = new Blob([data], { type: FILE_TYPES[type].type });\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `${filename}.${FILE_TYPES[type].format}`;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9maWxlL2Rvd25sb2FkLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLEdBQUc7SUFDZixHQUFHLEVBQUU7UUFDRCxJQUFJLEVBQUUsVUFBVTtRQUNoQixNQUFNLEVBQUUsS0FBSztLQUNoQjtDQUMrQixDQUFDO0FBRXJDLE1BQU0sVUFBVSxZQUFZLENBQ3hCLElBQVksRUFDWixJQUE2QixFQUM3QixXQUFtQixNQUFNO0lBRXpCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3RELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNWLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgRmlsZVR5cGUge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBmb3JtYXQ6IHN0cmluZztcbn1cblxuY29uc3QgRklMRV9UWVBFUyA9IHtcbiAgICBjc3Y6IHtcbiAgICAgICAgdHlwZTogJ3RleHQvY3N2JyxcbiAgICAgICAgZm9ybWF0OiAnY3N2JyxcbiAgICB9LFxufSBzYXRpc2ZpZXMgUmVjb3JkPHN0cmluZywgRmlsZVR5cGU+O1xuXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRGaWxlKFxuICAgIGRhdGE6IHN0cmluZyxcbiAgICB0eXBlOiBrZXlvZiB0eXBlb2YgRklMRV9UWVBFUyxcbiAgICBmaWxlbmFtZTogc3RyaW5nID0gJ2RhdGEnLFxuKTogdm9pZCB7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtkYXRhXSwgeyB0eXBlOiBGSUxFX1RZUEVTW3R5cGVdLnR5cGUgfSk7XG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBhLmhyZWYgPSB1cmw7XG4gICAgYS5kb3dubG9hZCA9IGAke2ZpbGVuYW1lfS4ke0ZJTEVfVFlQRVNbdHlwZV0uZm9ybWF0fWA7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICBhLmNsaWNrKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcbiAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xufVxuIl19","import * as papaparse from 'papaparse';\nexport function createCsv(data) {\n return papaparse.unparse(data);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNzdi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9jc3YvY3JlYXRlLWNzdi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUV2QyxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQWU7SUFDckMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXBhcGFyc2UgZnJvbSAncGFwYXBhcnNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNzdihkYXRhOiB1bmtub3duW10pIHtcbiAgICByZXR1cm4gcGFwYXBhcnNlLnVucGFyc2UoZGF0YSk7XG59XG4iXX0=","export function removeLineBreaks(str) {\n return str.replace(/^[\\r\\n\\s]+|[\\r\\n\\s]+$/g, '');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWxpbmUtYnJlYWtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Nzdi91dGlscy9yZW1vdmUtbGluZS1icmVha3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQVc7SUFDeEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gcmVtb3ZlTGluZUJyZWFrcyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eW1xcclxcblxcc10rfFtcXHJcXG5cXHNdKyQvZywgJycpO1xufVxuIl19","import papa from 'papaparse';\nimport { removeLineBreaks } from './utils/remove-line-breaks';\nexport function parseCsv(content, config) {\n return papa.parse(removeLineBreaks(content), config);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtY3N2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Nzdi9wYXJzZS1jc3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFxQixNQUFNLFdBQVcsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQWUsRUFBRSxNQUFvQjtJQUMxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXBhLCB7IFBhcnNlQ29uZmlnIH0gZnJvbSAncGFwYXBhcnNlJztcblxuaW1wb3J0IHsgcmVtb3ZlTGluZUJyZWFrcyB9IGZyb20gJy4vdXRpbHMvcmVtb3ZlLWxpbmUtYnJlYWtzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ3N2KGNvbnRlbnQ6IHN0cmluZywgY29uZmlnPzogUGFyc2VDb25maWcpIHtcbiAgICByZXR1cm4gcGFwYS5wYXJzZShyZW1vdmVMaW5lQnJlYWtzKGNvbnRlbnQpLCBjb25maWcpO1xufVxuIl19","export function unifyCsvItems(csv, defaultProps) {\n if (!Array.isArray(csv)) {\n return [];\n }\n if (Array.isArray(csv?.[0])) {\n return csv.map((d) => Object.fromEntries(d.map((prop, idx) => [defaultProps[idx], prop])));\n }\n return csv;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pZnktY3N2LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL2Nzdi91dGlscy91bmlmeS1jc3YtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWEsQ0FDekIsR0FBcUIsRUFDckIsWUFBZ0Q7SUFFaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFCLE9BQVEsR0FBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQy9ELENBQUM7SUFDYixDQUFDO0lBQ0QsT0FBTyxHQUFVLENBQUM7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB1bmlmeUNzdkl0ZW1zPFQ+KFxuICAgIGNzdjogVFtdIHwgc3RyaW5nW11bXSxcbiAgICBkZWZhdWx0UHJvcHM6IHJlYWRvbmx5IChrZXlvZiBUKVtdIHwgKGtleW9mIFQpW10sXG4pOiBUW10ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjc3YpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY3N2Py5bMF0pKSB7XG4gICAgICAgIHJldHVybiAoY3N2IGFzIHN0cmluZ1tdW10pLm1hcCgoZCkgPT5cbiAgICAgICAgICAgIE9iamVjdC5mcm9tRW50cmllcyhkLm1hcCgocHJvcCwgaWR4KSA9PiBbZGVmYXVsdFByb3BzW2lkeF0sIHByb3BdKSksXG4gICAgICAgICkgYXMgVFtdO1xuICAgIH1cbiAgICByZXR1cm4gY3N2IGFzIFRbXTtcbn1cbiJdfQ==","export function arrayAttribute(value) {\n if (!Array.isArray(value)) {\n return [];\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktYXR0cmlidXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3V0aWxzL3RyYW5zZm9ybS1hdHRyaWJ1dGUvYXJyYXktYXR0cmlidXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxjQUFjLENBQUksS0FBaUM7SUFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmlsIH0gZnJvbSAnLi4vZW1wdHknO1xuXG5leHBvcnQgZnVuY3Rpb24gYXJyYXlBdHRyaWJ1dGU8VD4odmFsdWU6IEFycmF5QXR0cmlidXRlVHJhbnNmb3JtPFQ+KTogVFtdIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgdHlwZSBBcnJheUF0dHJpYnV0ZVRyYW5zZm9ybTxUPiA9IFRbXSB8IE5pbDtcbiJdfQ==","export function DebounceTime(ms = 500) {\n return function (target, propertyKey, descriptor) {\n let timer = null;\n const method = descriptor.value;\n descriptor.value = function () {\n if (timer !== null) {\n window.clearTimeout(timer);\n }\n timer = window.setTimeout(() => {\n // eslint-disable-next-line prefer-rest-params\n method.apply(this, arguments);\n timer = null;\n }, ms);\n };\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UtdGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9kZWNvcmF0b3JzL2RlYm91bmNlLXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFhLEdBQUc7SUFDekMsT0FBTyxVQUFVLE1BQWMsRUFBRSxXQUF3QixFQUFFLFVBQThCO1FBQ3JGLElBQUksS0FBSyxHQUFrQixJQUFJLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUVoQyxVQUFVLENBQUMsS0FBSyxHQUFHO1lBQ2YsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDM0IsOENBQThDO2dCQUM5QyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDOUIsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNqQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUM7SUFDTixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIERlYm91bmNlVGltZShtczogbnVtYmVyID0gNTAwKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk6IFByb3BlcnR5S2V5LCBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IpIHtcbiAgICAgICAgbGV0IHRpbWVyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcblxuICAgICAgICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHRpbWVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXJlc3QtcGFyYW1zXG4gICAgICAgICAgICAgICAgbWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgdGltZXIgPSBudWxsO1xuICAgICAgICAgICAgfSwgbXMpO1xuICAgICAgICB9O1xuICAgIH07XG59XG4iXX0=","import { DestroyRef, Injector, inject } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { distinctUntilChanged, filter, fromEvent, map, shareReplay, startWith, } from 'rxjs';\nconst DEFAULT_SERIALIZE = (v) => (v === null ? null : String(v));\nexport function createStorageValue(key, { serialize = DEFAULT_SERIALIZE, deserialize, changed$ }) {\n const injector = inject(Injector);\n const value$ = fromEvent(document, 'storage').pipe(filter((v) => v.key === key), map((v) => v.newValue), startWith(localStorage.getItem(key)), map((v) => deserialize(v)), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));\n const value = {\n get() {\n return deserialize(localStorage.getItem(key));\n },\n set(value) {\n const serialized = serialize(value);\n if (serialized === null) {\n return localStorage.removeItem(key);\n }\n return localStorage.setItem(key, serialized);\n },\n value$,\n value: toSignal(value$, { injector }),\n };\n if (changed$) {\n changed$.pipe(takeUntilDestroyed(inject(DestroyRef))).subscribe((v) => {\n value.set(v);\n });\n }\n return value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN0b3JhZ2UtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvdXRpbHMvY3JlYXRlLXN0b3JhZ2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBRUgsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFlZCxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUUsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixHQUFXLEVBQ1gsRUFBRSxTQUFTLEdBQUcsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBMEI7SUFFaEYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBZSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUM1RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQzVCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUN0QixTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNwQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMxQixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQW9CO1FBQzNCLEdBQUc7WUFDQyxPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELEdBQUcsQ0FBQyxLQUFRO1lBQ1IsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN0QixPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE1BQU07UUFDTixLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDO0tBQ3hDLENBQUM7SUFFRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ1gsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdG9yLCBTaWduYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gICAgT2JzZXJ2YWJsZSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgZnJvbUV2ZW50LFxuICAgIG1hcCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMnO1xuXG5pbnRlcmZhY2UgU3RvcmFnZVZhbHVlT3B0aW9uczxUPiB7XG4gICAgc2VyaWFsaXplPzogKHY6IFQpID0+IHN0cmluZyB8IG51bGw7XG4gICAgZGVzZXJpYWxpemU6ICh2OiBzdHJpbmcgfCBudWxsKSA9PiBUO1xuICAgIGNoYW5nZWQkPzogT2JzZXJ2YWJsZTxUPjtcbn1cblxuaW50ZXJmYWNlIFN0b3JhZ2VWYWx1ZTxUPiB7XG4gICAgZ2V0OiAoKSA9PiBUO1xuICAgIHNldDogKHZhbHVlOiBUKSA9PiB2b2lkO1xuICAgIHZhbHVlJDogT2JzZXJ2YWJsZTxUPjtcbiAgICB2YWx1ZTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+O1xufVxuXG5jb25zdCBERUZBVUxUX1NFUklBTElaRSA9ICh2OiB1bmtub3duKSA9PiAodiA9PT0gbnVsbCA/IG51bGwgOiBTdHJpbmcodikpO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3RvcmFnZVZhbHVlPFQ+KFxuICAgIGtleTogc3RyaW5nLFxuICAgIHsgc2VyaWFsaXplID0gREVGQVVMVF9TRVJJQUxJWkUsIGRlc2VyaWFsaXplLCBjaGFuZ2VkJCB9OiBTdG9yYWdlVmFsdWVPcHRpb25zPFQ+LFxuKTogU3RvcmFnZVZhbHVlPFQ+IHtcbiAgICBjb25zdCBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgY29uc3QgdmFsdWUkID0gZnJvbUV2ZW50PFN0b3JhZ2VFdmVudD4oZG9jdW1lbnQsICdzdG9yYWdlJykucGlwZShcbiAgICAgICAgZmlsdGVyKCh2KSA9PiB2LmtleSA9PT0ga2V5KSxcbiAgICAgICAgbWFwKCh2KSA9PiB2Lm5ld1ZhbHVlKSxcbiAgICAgICAgc3RhcnRXaXRoKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpLFxuICAgICAgICBtYXAoKHYpID0+IGRlc2VyaWFsaXplKHYpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSxcbiAgICApO1xuXG4gICAgY29uc3QgdmFsdWU6IFN0b3JhZ2VWYWx1ZTxUPiA9IHtcbiAgICAgICAgZ2V0KCk6IFQge1xuICAgICAgICAgICAgcmV0dXJuIGRlc2VyaWFsaXplKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpO1xuICAgICAgICB9LFxuICAgICAgICBzZXQodmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHNlcmlhbGl6ZWQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHNlcmlhbGl6ZWQpO1xuICAgICAgICB9LFxuICAgICAgICB2YWx1ZSQsXG4gICAgICAgIHZhbHVlOiB0b1NpZ25hbCh2YWx1ZSQsIHsgaW5qZWN0b3IgfSksXG4gICAgfTtcblxuICAgIGlmIChjaGFuZ2VkJCkge1xuICAgICAgICBjaGFuZ2VkJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChpbmplY3QoRGVzdHJveVJlZikpKS5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgICAgICAgIHZhbHVlLnNldCh2KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xufVxuIl19","export function subscribeReturn(observable$, subscription = {}) {\n const externalSubscription = {};\n observable$.subscribe({\n next: (value) => {\n if (subscription.next) {\n subscription.next(value);\n }\n if (externalSubscription.next) {\n externalSubscription.next(value);\n }\n },\n error: (err) => {\n if (subscription.error) {\n subscription.error(err);\n }\n if (externalSubscription.error) {\n externalSubscription.error(err);\n }\n },\n complete: () => {\n if (subscription.complete) {\n subscription.complete();\n }\n if (externalSubscription.complete) {\n externalSubscription.complete();\n }\n },\n });\n return {\n next: (nextFn) => {\n externalSubscription.next = nextFn;\n },\n error: (errorFn) => {\n externalSubscription.error = errorFn;\n },\n complete: (completeFn) => {\n externalSubscription.complete = completeFn;\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaWJlLXJldHVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi91dGlscy9zdWJzY3JpYmUtcmV0dXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxlQUFlLENBQzNCLFdBQTBCLEVBQzFCLGVBQXFDLEVBQUU7SUFFdkMsTUFBTSxvQkFBb0IsR0FBeUIsRUFBRSxDQUFDO0lBQ3RELFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDbEIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEIsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDNUIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWCxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckIsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDN0Isb0JBQW9CLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDO1FBQ0QsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNYLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN4QixZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQyxDQUFDO0lBQ0gsT0FBTztRQUNILElBQUksRUFBRSxDQUFDLE1BQTJCLEVBQUUsRUFBRTtZQUNsQyxvQkFBb0IsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxLQUFLLEVBQUUsQ0FBQyxPQUE2QixFQUFFLEVBQUU7WUFDckMsb0JBQW9CLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUN6QyxDQUFDO1FBQ0QsUUFBUSxFQUFFLENBQUMsVUFBbUMsRUFBRSxFQUFFO1lBQzlDLG9CQUFvQixDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDL0MsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnNjcmliZVJldHVybjxUPihcbiAgICBvYnNlcnZhYmxlJDogT2JzZXJ2YWJsZTxUPixcbiAgICBzdWJzY3JpcHRpb246IFBhcnRpYWw8T2JzZXJ2ZXI8VD4+ID0ge30sXG4pIHtcbiAgICBjb25zdCBleHRlcm5hbFN1YnNjcmlwdGlvbjogUGFydGlhbDxPYnNlcnZlcjxUPj4gPSB7fTtcbiAgICBvYnNlcnZhYmxlJC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24ubmV4dCkge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChleHRlcm5hbFN1YnNjcmlwdGlvbi5uZXh0KSB7XG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxTdWJzY3JpcHRpb24ubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLmVycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZXh0ZXJuYWxTdWJzY3JpcHRpb24uZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBleHRlcm5hbFN1YnNjcmlwdGlvbi5lcnJvcihlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbi5jb21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV4dGVybmFsU3Vic2NyaXB0aW9uLmNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxTdWJzY3JpcHRpb24uY29tcGxldGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBuZXh0OiAobmV4dEZuOiBPYnNlcnZlcjxUPlsnbmV4dCddKSA9PiB7XG4gICAgICAgICAgICBleHRlcm5hbFN1YnNjcmlwdGlvbi5uZXh0ID0gbmV4dEZuO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yRm46IE9ic2VydmVyPFQ+WydlcnJvciddKSA9PiB7XG4gICAgICAgICAgICBleHRlcm5hbFN1YnNjcmlwdGlvbi5lcnJvciA9IGVycm9yRm47XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlOiAoY29tcGxldGVGbjogT2JzZXJ2ZXI8VD5bJ2NvbXBsZXRlJ10pID0+IHtcbiAgICAgICAgICAgIGV4dGVybmFsU3Vic2NyaXB0aW9uLmNvbXBsZXRlID0gY29tcGxldGVGbjtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19","import { Component, Input, booleanAttribute, input } from '@angular/core';\nimport { FormControlSuperclass, createControlProviders } from '../../utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@angular/forms\";\nimport * as i4 from \"@angular/material/icon\";\nimport * as i5 from \"@angular/material/button\";\nexport class InputFieldComponent extends FormControlSuperclass {\n constructor() {\n super(...arguments);\n this.placeholder = '';\n this.type = 'string';\n this.appearance = 'fill';\n this.cleanButton = input(false, { transform: booleanAttribute });\n this.icon = input();\n this.hintText = input();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InputFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: InputFieldComponent, isStandalone: false, selector: \"v-input-field\", inputs: { label: { classPropertyName: \"label\", publicName: \"label\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: \"appearance\", publicName: \"appearance\", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: \"size\", publicName: \"size\", isSignal: false, isRequired: false, transformFunction: null }, cleanButton: { classPropertyName: \"cleanButton\", publicName: \"cleanButton\", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, hintText: { classPropertyName: \"hintText\", publicName: \"hintText\", isSignal: true, isRequired: false, transformFunction: null } }, providers: createControlProviders(() => InputFieldComponent), usesInheritance: true, ngImport: i0, template: \"<mat-form-field\\n [appearance]=\\\"appearance\\\"\\n [ngClass]=\\\"{\\n 'v-input-field__small': size === 'small',\\n 'v-input-field__outline': appearance === 'outline',\\n }\\\"\\n class=\\\"v-input-field\\\"\\n>\\n @if (icon()) {\\n <div class=\\\"prefix\\\" matPrefix>\\n <mat-icon>{{ icon() }}</mat-icon>\\n </div>\\n }\\n <mat-label>{{ label }}</mat-label>\\n <input\\n [formControl]=\\\"control\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [type]=\\\"type\\\"\\n autocomplete=\\\"false\\\"\\n matInput\\n />\\n <div class=\\\"postfix\\\" matSuffix>\\n @if (cleanButton()) {\\n <button\\n [disabled]=\\\"!control.value\\\"\\n [style.visibility]=\\\"control.value ? '' : 'hidden'\\\"\\n mat-icon-button\\n (click)=\\\"control.reset()\\\"\\n >\\n <mat-icon>clear</mat-icon>\\n </button>\\n }\\n </div>\\n @if (hintText()) {\\n <mat-hint>{{ hintText() }}</mat-hint>\\n }\\n</mat-form-field>\\n\", styles: [\".v-input-field .postfix{white-space:nowrap}.v-input-field__small ::ng-deep .mat-icon{transform:scale(.75)!important}.v-input-field__outline .postfix{padding-right:4px}.v-input-field__outline .prefix{padding-left:4px}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i2.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i2.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i2.MatPrefix, selector: \"[matPrefix], [matIconPrefix], [matTextPrefix]\", inputs: [\"matTextPrefix\"] }, { kind: \"directive\", type: i2.MatSuffix, selector: \"[matSuffix], [matIconSuffix], [matTextSuffix]\", inputs: [\"matTextSuffix\"] }, { kind: \"directive\", type: i3.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i3.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"component\", type: i4.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i5.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InputFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-input-field', providers: createControlProviders(() => InputFieldComponent), standalone: false, template: \"<mat-form-field\\n [appearance]=\\\"appearance\\\"\\n [ngClass]=\\\"{\\n 'v-input-field__small': size === 'small',\\n 'v-input-field__outline': appearance === 'outline',\\n }\\\"\\n class=\\\"v-input-field\\\"\\n>\\n @if (icon()) {\\n <div class=\\\"prefix\\\" matPrefix>\\n <mat-icon>{{ icon() }}</mat-icon>\\n </div>\\n }\\n <mat-label>{{ label }}</mat-label>\\n <input\\n [formControl]=\\\"control\\\"\\n [placeholder]=\\\"placeholder\\\"\\n [type]=\\\"type\\\"\\n autocomplete=\\\"false\\\"\\n matInput\\n />\\n <div class=\\\"postfix\\\" matSuffix>\\n @if (cleanButton()) {\\n <button\\n [disabled]=\\\"!control.value\\\"\\n [style.visibility]=\\\"control.value ? '' : 'hidden'\\\"\\n mat-icon-button\\n (click)=\\\"control.reset()\\\"\\n >\\n <mat-icon>clear</mat-icon>\\n </button>\\n }\\n </div>\\n @if (hintText()) {\\n <mat-hint>{{ hintText() }}</mat-hint>\\n }\\n</mat-form-field>\\n\", styles: [\".v-input-field .postfix{white-space:nowrap}.v-input-field__small ::ng-deep .mat-icon{transform:scale(.75)!important}.v-input-field__outline .postfix{padding-right:4px}.v-input-field__outline .prefix{padding-left:4px}\\n\"] }]\n }], propDecorators: { label: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], type: [{\n type: Input\n }], appearance: [{\n type: Input\n }], size: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtZmllbGQvaW5wdXQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtZmllbGQvaW5wdXQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVM1RSxNQUFNLE9BQU8sbUJBQXVCLFNBQVEscUJBQXdCO0lBUHBFOztRQVNhLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLFNBQUksR0FBd0IsUUFBUSxDQUFDO1FBQ3JDLGVBQVUsR0FBMkIsTUFBTSxDQUFDO1FBRXJELGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDNUQsU0FBSSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxLQUFLLEVBQVUsQ0FBQztLQUM5Qjs4R0FUWSxtQkFBbUI7a0dBQW5CLG1CQUFtQixpa0NBSmpCLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGlEQ1JoRSw2aENBcUNBOzsyRkR6QmEsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGVBQWUsYUFFZCxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsY0FFaEQsS0FBSzs4QkFHUixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBib29sZWFuQXR0cmlidXRlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5pbXBvcnQgeyBGb3JtQ29udHJvbFN1cGVyY2xhc3MsIGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1pbnB1dC1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMoKCkgPT4gSW5wdXRGaWVsZENvbXBvbmVudCksXG4gICAgc3R5bGVVcmw6ICdpbnB1dC1maWVsZC5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElucHV0RmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBGb3JtQ29udHJvbFN1cGVyY2xhc3M8VD4ge1xuICAgIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgICBASW5wdXQoKSB0eXBlOiAnc3RyaW5nJyB8ICdudW1iZXInID0gJ3N0cmluZyc7XG4gICAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSA9ICdmaWxsJztcbiAgICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICcnO1xuICAgIGNsZWFuQnV0dG9uID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIGljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgaGludFRleHQgPSBpbnB1dDxzdHJpbmc+KCk7XG59XG4iLCI8bWF0LWZvcm0tZmllbGRcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd2LWlucHV0LWZpZWxkX19zbWFsbCc6IHNpemUgPT09ICdzbWFsbCcsXG4gICAgICAgICd2LWlucHV0LWZpZWxkX19vdXRsaW5lJzogYXBwZWFyYW5jZSA9PT0gJ291dGxpbmUnLFxuICAgIH1cIlxuICAgIGNsYXNzPVwidi1pbnB1dC1maWVsZFwiXG4+XG4gICAgQGlmIChpY29uKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInByZWZpeFwiIG1hdFByZWZpeD5cbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyBpY29uKCkgfX08L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJmYWxzZVwiXG4gICAgICAgIG1hdElucHV0XG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwicG9zdGZpeFwiIG1hdFN1ZmZpeD5cbiAgICAgICAgQGlmIChjbGVhbkJ1dHRvbigpKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFjb250cm9sLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJjb250cm9sLnZhbHVlID8gJycgOiAnaGlkZGVuJ1wiXG4gICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbnRyb2wucmVzZXQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgQGlmIChoaW50VGV4dCgpKSB7XG4gICAgICAgIDxtYXQtaGludD57eyBoaW50VGV4dCgpIH19PC9tYXQtaGludD5cbiAgICB9XG48L21hdC1mb3JtLWZpZWxkPlxuIl19","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { InputFieldComponent } from './input-field.component';\nimport * as i0 from \"@angular/core\";\nexport class InputFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InputFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: InputFieldModule, declarations: [InputFieldComponent], imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton], exports: [InputFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InputFieldModule, imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InputFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [InputFieldComponent],\n exports: [InputFieldComponent],\n imports: [CommonModule, MatInputModule, ReactiveFormsModule, MatIcon, MatIconButton],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtZmllbGQvaW5wdXQtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU85RCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKVixtQkFBbUIsYUFFeEIsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxhQUR6RSxtQkFBbUI7K0dBR3BCLGdCQUFnQixZQUZmLFlBQVksRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLGFBQWE7OzJGQUUxRSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUM7aUJBQ3ZGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgSW5wdXRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZmllbGQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtJbnB1dEZpZWxkQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbSW5wdXRGaWVsZENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEljb24sIE1hdEljb25CdXR0b25dLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEZpZWxkTW9kdWxlIHt9XG4iXX0=","import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute, input, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/chips\";\nimport * as i3 from \"@angular/material/icon\";\nexport class TagComponent {\n constructor() {\n this.hostClass = true;\n this.icon = input();\n this.progress = input(false, { transform: booleanAttribute });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: TagComponent, isStandalone: false, selector: \"v-tag\", inputs: { color: { classPropertyName: \"color\", publicName: \"color\", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: \"icon\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"class.v-tag\": \"this.hostClass\" } }, ngImport: i0, template: \"<mat-chip-row\\n [disabled]=\\\"progress()\\\"\\n [ngClass]=\\\"{ loading: progress(), action: !!icon() }\\\"\\n class=\\\"tag {{ 'color-' + color }}\\\"\\n disableRipple\\n>\\n @if (icon()) {\\n <button matChipRemove>\\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\\n </button>\\n }\\n <ng-content></ng-content>\\n</mat-chip-row>\\n\", styles: [\":host ::ng-deep{pointer-events:none}:host .action ::ng-deep{pointer-events:auto;cursor:pointer}:host .action ::ng-deep button{pointer-events:none}:host ::ng-deep *:before{border:none!important}@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.tag{transition:all .3s ease-in-out}.loading{animation:content-loading-animation 1.5s ease-in-out infinite}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i2.MatChipRemove, selector: \"[matChipRemove]\" }, { kind: \"component\", type: i2.MatChipRow, selector: \"mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]\", inputs: [\"editable\"], outputs: [\"edited\"] }, { kind: \"component\", type: i3.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TagComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-tag', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: \"<mat-chip-row\\n [disabled]=\\\"progress()\\\"\\n [ngClass]=\\\"{ loading: progress(), action: !!icon() }\\\"\\n class=\\\"tag {{ 'color-' + color }}\\\"\\n disableRipple\\n>\\n @if (icon()) {\\n <button matChipRemove>\\n <mat-icon>{{ progress() ? 'autorenew' : icon() }}</mat-icon>\\n </button>\\n }\\n <ng-content></ng-content>\\n</mat-chip-row>\\n\", styles: [\":host ::ng-deep{pointer-events:none}:host .action ::ng-deep{pointer-events:auto;cursor:pointer}:host .action ::ng-deep button{pointer-events:none}:host ::ng-deep *:before{border:none!important}@keyframes content-loading-animation{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.tag{transition:all .3s ease-in-out}.loading{animation:content-loading-animation 1.5s ease-in-out infinite}\\n\"] }]\n }], propDecorators: { hostClass: [{\n type: HostBinding,\n args: ['class.v-tag']\n }], color: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhZy90YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFnL3RhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7Ozs7O0FBV3ZCLE1BQU0sT0FBTyxZQUFZO0lBUHpCO1FBUWdDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFHdEQsU0FBSSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXZCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztLQUM1RDs4R0FQWSxZQUFZO2tHQUFaLFlBQVksd2ZDbEJ6QixxWEFhQTs7MkZES2EsWUFBWTtrQkFQeEIsU0FBUzsrQkFDSSxPQUFPLG1CQUdBLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHVyxTQUFTO3NCQUFwQyxXQUFXO3VCQUFDLGFBQWE7Z0JBRWpCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4uLy4uL3N0eWxlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWdDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mudi10YWcnKSBob3N0Q2xhc3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY29sb3I/OiBDb2xvcjtcbiAgICBpY29uID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gICAgcHJvZ3Jlc3MgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG59XG4iLCI8bWF0LWNoaXAtcm93XG4gICAgW2Rpc2FibGVkXT1cInByb2dyZXNzKClcIlxuICAgIFtuZ0NsYXNzXT1cInsgbG9hZGluZzogcHJvZ3Jlc3MoKSwgYWN0aW9uOiAhIWljb24oKSB9XCJcbiAgICBjbGFzcz1cInRhZyB7eyAnY29sb3ItJyArIGNvbG9yIH19XCJcbiAgICBkaXNhYmxlUmlwcGxlXG4+XG4gICAgQGlmIChpY29uKCkpIHtcbiAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlPlxuICAgICAgICAgICAgPG1hdC1pY29uPnt7IHByb2dyZXNzKCkgPyAnYXV0b3JlbmV3JyA6IGljb24oKSB9fTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L21hdC1jaGlwLXJvdz5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TagComponent } from './tag.component';\nimport * as i0 from \"@angular/core\";\nexport class TagModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: TagModule, declarations: [TagComponent], imports: [CommonModule, MatChipsModule, MatIconModule], exports: [TagComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TagModule, imports: [CommonModule, MatChipsModule, MatIconModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TagModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [TagComponent],\n imports: [CommonModule, MatChipsModule, MatIconModule],\n exports: [TagComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhZy90YWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU8vQyxNQUFNLE9BQU8sU0FBUzs4R0FBVCxTQUFTOytHQUFULFNBQVMsaUJBSkgsWUFBWSxhQUNqQixZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsYUFDM0MsWUFBWTsrR0FFYixTQUFTLFlBSFIsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhOzsyRkFHNUMsU0FBUztrQkFMckIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgVGFnQ29tcG9uZW50IH0gZnJvbSAnLi90YWcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUYWdDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdENoaXBzTW9kdWxlLCBNYXRJY29uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbVGFnQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGFnTW9kdWxlIHt9XG4iXX0=","export const SPACES = /[\\s\\u00A0]/g;\nexport function normalizeString(str) {\n return (str || '').replace(SPACES, ' ');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3V0aWxzL25vcm1hbGl6ZS1zdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQztBQUVwQyxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVc7SUFDdkMsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1BBQ0VTID0gL1tcXHNcXHUwMEEwXS9nO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplU3RyaW5nKHN0cjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChzdHIgfHwgJycpLnJlcGxhY2UoU1BBQ0VTLCAnICcpO1xufVxuIl19","import { DestroyRef, Directive, ElementRef, Injector, Renderer2, inject, input, } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\nimport { SPACES } from '../components/table/utils/normalize-string';\nimport * as i0 from \"@angular/core\";\nexport class HighlightDirective {\n constructor() {\n this.el = inject(ElementRef);\n this.renderer = inject(Renderer2);\n this.dr = inject(DestroyRef);\n this.injector = inject(Injector);\n this.vHighlightText = input('', { transform: (v) => String(v || '') });\n this.vHighlightSearch = input('', { transform: (v) => String(v || '') });\n }\n ngOnInit() {\n combineLatest([\n toObservable(this.vHighlightText, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),\n toObservable(this.vHighlightSearch, { injector: this.injector }).pipe(distinctUntilChanged(), map((text) => this.escapeHtml(text))),\n ])\n .pipe(map(([text, search]) => {\n if (!search) {\n return text;\n }\n const re = new RegExp(`(${search.replace(SPACES, '\\\\s')})`, 'gi');\n return text.replace(re, `<mark>$1</mark>`);\n }), distinctUntilChanged(), takeUntilDestroyed(this.dr))\n .subscribe((text) => {\n this.renderer.setProperty(this.el.nativeElement, 'innerHTML', text);\n });\n }\n escapeHtml(html) {\n return html\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HighlightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: HighlightDirective, isStandalone: true, selector: \"[vHighlight]\", inputs: { vHighlightText: { classPropertyName: \"vHighlightText\", publicName: \"vHighlightText\", isSignal: true, isRequired: false, transformFunction: null }, vHighlightSearch: { classPropertyName: \"vHighlightSearch\", publicName: \"vHighlightSearch\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HighlightDirective, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n selector: '[vHighlight]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9kaXJlY3RpdmVzL2hpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFFUixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQU1wRSxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS1ksT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxtQkFBYyxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLHFCQUFnQixHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBcUN2RTtJQW5DRyxRQUFRO1FBQ0osYUFBYSxDQUFDO1lBQ1YsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMvRCxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkM7WUFDRCxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDakUsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3ZDO1NBQ0osQ0FBQzthQUNHLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDVixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsRUFDRixvQkFBb0IsRUFBRSxFQUN0QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQzlCO2FBQ0EsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sSUFBSTthQUNOLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO2FBQ3JCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO2FBQ3JCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO2FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0ExQ1Esa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxjQUFjO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3RvcixcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNQQUNFUyB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFibGUvdXRpbHMvbm9ybWFsaXplLXN0cmluZyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdkhpZ2hsaWdodF0nLFxufSlcbmV4cG9ydCBjbGFzcyBIaWdobGlnaHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgZHIgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgdkhpZ2hsaWdodFRleHQgPSBpbnB1dCgnJywgeyB0cmFuc2Zvcm06ICh2KSA9PiBTdHJpbmcodiB8fCAnJykgfSk7XG4gICAgdkhpZ2hsaWdodFNlYXJjaCA9IGlucHV0KCcnLCB7IHRyYW5zZm9ybTogKHYpID0+IFN0cmluZyh2IHx8ICcnKSB9KTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnZIaWdobGlnaHRUZXh0LCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBtYXAoKHRleHQpID0+IHRoaXMuZXNjYXBlSHRtbCh0ZXh0KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMudkhpZ2hsaWdodFNlYXJjaCwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KS5waXBlKFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgbWFwKCh0ZXh0KSA9PiB0aGlzLmVzY2FwZUh0bWwodGV4dCkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW3RleHQsIHNlYXJjaF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzZWFyY2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChgKCR7c2VhcmNoLnJlcGxhY2UoU1BBQ0VTLCAnXFxcXHMnKX0pYCwgJ2dpJyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0LnJlcGxhY2UocmUsIGA8bWFyaz4kMTwvbWFyaz5gKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRleHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2lubmVySFRNTCcsIHRleHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlc2NhcGVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBodG1sXG4gICAgICAgICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLzwvZywgJyZsdDsnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLz4vZywgJyZndDsnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLycvZywgJyYjMzk7Jyk7XG4gICAgfVxufVxuIl19","import { Component, input } from '@angular/core';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\nimport * as i0 from \"@angular/core\";\nexport class MenuValueComponent {\n constructor() {\n this.value = input.required();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MenuValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: MenuValueComponent, isStandalone: true, selector: \"v-menu-value\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` @if (value(); as v) {\n <button [matMenuTriggerFor]=\"menu\" class=\"button\" mat-icon-button>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n @for (item of v.params.items; track item; let index = $index) {\n <button [disabled]=\"!!item?.disabled\" mat-menu-item (click)=\"item?.click?.($event)\">\n {{ item.label }}\n </button>\n }\n </mat-menu>\n }`, isInline: true, styles: [\"\"], dependencies: [{ kind: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: MatMenu, selector: \"mat-menu\", inputs: [\"backdropClass\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"xPosition\", \"yPosition\", \"overlapTrigger\", \"hasBackdrop\", \"class\", \"classList\"], outputs: [\"closed\", \"close\"], exportAs: [\"matMenu\"] }, { kind: \"component\", type: MatMenuItem, selector: \"[mat-menu-item]\", inputs: [\"role\", \"disabled\", \"disableRipple\"], exportAs: [\"matMenuItem\"] }, { kind: \"directive\", type: MatMenuTrigger, selector: \"[mat-menu-trigger-for], [matMenuTriggerFor]\", inputs: [\"mat-menu-trigger-for\", \"matMenuTriggerFor\", \"matMenuTriggerData\", \"matMenuTriggerRestoreFocus\"], outputs: [\"menuOpened\", \"onMenuOpen\", \"menuClosed\", \"onMenuClose\"], exportAs: [\"matMenuTrigger\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MenuValueComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-menu-value', imports: [MatIcon, MatIconButton, MatMenu, MatMenuItem, MatMenuTrigger], template: ` @if (value(); as v) {\n <button [matMenuTriggerFor]=\"menu\" class=\"button\" mat-icon-button>\n <mat-icon>more_vert</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n @for (item of v.params.items; track item; let index = $index) {\n <button [disabled]=\"!!item?.disabled\" mat-menu-item (click)=\"item?.click?.($event)\">\n {{ item.label }}\n </button>\n }\n </mat-menu>\n }` }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12YWx1ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy92YWx1ZS9jb21wb25lbnRzL21lbnUtdmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBNkI5RSxNQUFNLE9BQU8sa0JBQWtCO0lBakIvQjtRQWtCSSxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBYSxDQUFDO0tBQ3ZDOzhHQUZZLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDJNQWRqQjs7Ozs7Ozs7Ozs7TUFXUiwwRUFaUSxPQUFPLDJJQUFFLGFBQWEsdUtBQUUsT0FBTywyUUFBRSxXQUFXLHNJQUFFLGNBQWM7OzJGQWU3RCxrQkFBa0I7a0JBakI5QixTQUFTOytCQUNJLGNBQWMsV0FDZixDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsWUFDN0Q7Ozs7Ozs7Ozs7O01BV1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuXG5pbXBvcnQgeyBUeXBlZFBhcmFtc1ZhbHVlIH0gZnJvbSAnLi4vdHlwZXMvYmFzZS10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW51SXRlbSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBjbGljaz86IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIE1lbnVWYWx1ZSA9IFR5cGVkUGFyYW1zVmFsdWU8J21lbnUnLCB7IGl0ZW1zOiBNZW51SXRlbVtdIH0+O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtbWVudS12YWx1ZScsXG4gICAgaW1wb3J0czogW01hdEljb24sIE1hdEljb25CdXR0b24sIE1hdE1lbnUsIE1hdE1lbnVJdGVtLCBNYXRNZW51VHJpZ2dlcl0sXG4gICAgdGVtcGxhdGU6IGAgQGlmICh2YWx1ZSgpOyBhcyB2KSB7XG4gICAgICAgIDxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiB2LnBhcmFtcy5pdGVtczsgdHJhY2sgaXRlbTsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiISFpdGVtPy5kaXNhYmxlZFwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIml0ZW0/LmNsaWNrPy4oJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgfWAsXG4gICAgc3R5bGVzOiBgYCxcbn0pXG5leHBvcnQgY2xhc3MgTWVudVZhbHVlQ29tcG9uZW50IHtcbiAgICB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPE1lbnVWYWx1ZT4oKTtcbn1cbiJdfQ==","import { Component, input } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/slide-toggle\";\nexport class ToggleValueComponent {\n constructor() {\n this.value = input.required();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToggleValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: ToggleValueComponent, isStandalone: true, selector: \"v-toggle-value\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: ` @if (value(); as v) {\n <mat-slide-toggle\n [checked]=\"value().value\"\n (change)=\"$event.source.checked = !!value().value\"\n >\n </mat-slide-toggle>\n }`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: MatSlideToggleModule }, { kind: \"component\", type: i1.MatSlideToggle, selector: \"mat-slide-toggle\", inputs: [\"name\", \"id\", \"labelPosition\", \"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"required\", \"color\", \"disabled\", \"disableRipple\", \"tabIndex\", \"checked\", \"hideIcon\", \"disabledInteractive\"], outputs: [\"change\", \"toggleChange\"], exportAs: [\"matSlideToggle\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToggleValueComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'v-toggle-value',\n imports: [MatSlideToggleModule],\n template: ` @if (value(); as v) {\n <mat-slide-toggle\n [checked]=\"value().value\"\n (change)=\"$event.source.checked = !!value().value\"\n >\n </mat-slide-toggle>\n }`,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3ZhbHVlL2NvbXBvbmVudHMvdG9nZ2xlLXZhbHVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBaUJ0RSxNQUFNLE9BQU8sb0JBQW9CO0lBWGpDO1FBWUksVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztLQUN6Qzs4R0FGWSxvQkFBb0I7a0dBQXBCLG9CQUFvQiw2TUFSbkI7Ozs7OztNQU1SLDJEQVBRLG9CQUFvQjs7MkZBU3JCLG9CQUFvQjtrQkFYaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7TUFNUjtpQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcblxuaW1wb3J0IHsgVHlwZWRQYXJhbXNWYWx1ZSB9IGZyb20gJy4uL3R5cGVzL2Jhc2UtdHlwZSc7XG5cbmV4cG9ydCB0eXBlIFRvZ2dsZVZhbHVlID0gVHlwZWRQYXJhbXNWYWx1ZTwndG9nZ2xlJz47XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi10b2dnbGUtdmFsdWUnLFxuICAgIGltcG9ydHM6IFtNYXRTbGlkZVRvZ2dsZU1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGAgQGlmICh2YWx1ZSgpOyBhcyB2KSB7XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZSgpLnZhbHVlXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50LnNvdXJjZS5jaGVja2VkID0gISF2YWx1ZSgpLnZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgfWAsXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZVZhbHVlQ29tcG9uZW50IHtcbiAgICB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPFRvZ2dsZVZhbHVlPigpO1xufVxuIl19","import { LOCALE_ID, inject } from '@angular/core';\nimport { formatCurrency } from '../../../utils';\nexport function currencyAmountValueToString(value) {\n if (typeof value?.value !== 'number') {\n return '';\n }\n const locale = inject(LOCALE_ID);\n return formatCurrency(value.value, value.params.code, 'long', locale, value.params.exponent, !!value.params.major);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktYW1vdW50LXZhbHVlLXRvLXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3ZhbHVlL3V0aWxzL2N1cnJlbmN5LWFtb3VudC12YWx1ZS10by1zdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU2hELE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxLQUEwQjtJQUNsRSxJQUFJLE9BQU8sS0FBSyxFQUFFLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsT0FBTyxjQUFjLENBQ2pCLEtBQUssQ0FBQyxLQUFLLEVBQ1gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQ2pCLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQ3JCLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDdkIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMT0NBTEVfSUQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFR5cGVkUGFyYW1zVmFsdWUgfSBmcm9tICcuLi90eXBlcy9iYXNlLXR5cGUnO1xuXG5leHBvcnQgdHlwZSBDdXJyZW5jeUFtb3VudFZhbHVlID0gVHlwZWRQYXJhbXNWYWx1ZTxcbiAgICAnY3VycmVuY3knLFxuICAgIHsgY29kZTogc3RyaW5nOyBleHBvbmVudD86IG51bWJlcjsgbWFqb3I/OiBib29sZWFuIH0sXG4gICAgUGFyYW1ldGVyczx0eXBlb2YgZm9ybWF0Q3VycmVuY3k+WzBdXG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gY3VycmVuY3lBbW91bnRWYWx1ZVRvU3RyaW5nKHZhbHVlOiBDdXJyZW5jeUFtb3VudFZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZT8udmFsdWUgIT09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gaW5qZWN0KExPQ0FMRV9JRCk7XG4gICAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5KFxuICAgICAgICB2YWx1ZS52YWx1ZSxcbiAgICAgICAgdmFsdWUucGFyYW1zLmNvZGUsXG4gICAgICAgICdsb25nJyxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICB2YWx1ZS5wYXJhbXMuZXhwb25lbnQsXG4gICAgICAgICEhdmFsdWUucGFyYW1zLm1ham9yLFxuICAgICk7XG59XG4iXX0=","import { formatDate } from '@angular/common';\nimport { LOCALE_ID, inject } from '@angular/core';\nexport function datetimeValueToString(value) {\n if (!value?.value) {\n return '';\n }\n const locale = inject(LOCALE_ID);\n return formatDate(value.value, 'dd.MM.yyyy HH:mm:ss', locale, '+0000');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtdmFsdWUtdG8tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUvdXRpbHMvZGF0ZXRpbWUtdmFsdWUtdG8tc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1sRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBb0I7SUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdERhdGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTE9DQUxFX0lELCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHlwZWRWYWx1ZSB9IGZyb20gJy4uL3R5cGVzL2Jhc2UtdHlwZSc7XG5cbmV4cG9ydCB0eXBlIERhdGV0aW1lVmFsdWUgPSBUeXBlZFZhbHVlPCdkYXRldGltZScsIFBhcmFtZXRlcnM8dHlwZW9mIGZvcm1hdERhdGU+WzBdPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGV0aW1lVmFsdWVUb1N0cmluZyh2YWx1ZTogRGF0ZXRpbWVWYWx1ZSkge1xuICAgIGlmICghdmFsdWU/LnZhbHVlKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gaW5qZWN0KExPQ0FMRV9JRCk7XG4gICAgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUudmFsdWUsICdkZC5NTS55eXl5IEhIOm1tOnNzJywgbG9jYWxlLCAnKzAwMDAnKTtcbn1cbiJdfQ==","import isNil from 'lodash-es/isNil';\nexport function unknownToString(value) {\n if (isNil(value)) {\n return '';\n }\n return String(value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5rbm93bi10by1zdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy92YWx1ZS91dGlscy91bmtub3duLXRvLXN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUVwQyxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQWM7SUFDMUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNOaWwgZnJvbSAnbG9kYXNoLWVzL2lzTmlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIHVua25vd25Ub1N0cmluZyh2YWx1ZTogdW5rbm93bik6IHN0cmluZyB7XG4gICAgaWYgKGlzTmlsKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xufVxuIl19","import { currencyAmountValueToString } from './currency-amount-value-to-string';\nimport { datetimeValueToString } from './datetime-value-to-string';\nimport { unknownToString } from './unknown-to-string';\nexport function valueToString(value) {\n switch (value?.type) {\n case 'currency':\n return currencyAmountValueToString(value);\n case 'datetime':\n return datetimeValueToString(value);\n }\n return unknownToString(value?.value)?.trim?.();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtdG8tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUvdXRpbHMvdmFsdWUtdG8tc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQW9CO0lBQzlDLFFBQVEsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssVUFBVTtZQUNYLE9BQU8sMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsS0FBSyxVQUFVO1lBQ1gsT0FBTyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7QUFDbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlIH0gZnJvbSAnLi4vdHlwZXMvdmFsdWUnO1xuXG5pbXBvcnQgeyBjdXJyZW5jeUFtb3VudFZhbHVlVG9TdHJpbmcgfSBmcm9tICcuL2N1cnJlbmN5LWFtb3VudC12YWx1ZS10by1zdHJpbmcnO1xuaW1wb3J0IHsgZGF0ZXRpbWVWYWx1ZVRvU3RyaW5nIH0gZnJvbSAnLi9kYXRldGltZS12YWx1ZS10by1zdHJpbmcnO1xuaW1wb3J0IHsgdW5rbm93blRvU3RyaW5nIH0gZnJvbSAnLi91bmtub3duLXRvLXN0cmluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWx1ZVRvU3RyaW5nKHZhbHVlPzogVmFsdWUgfCBudWxsKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHZhbHVlPy50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgICAgIHJldHVybiBjdXJyZW5jeUFtb3VudFZhbHVlVG9TdHJpbmcodmFsdWUpO1xuICAgICAgICBjYXNlICdkYXRldGltZSc6XG4gICAgICAgICAgICByZXR1cm4gZGF0ZXRpbWVWYWx1ZVRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHVua25vd25Ub1N0cmluZyh2YWx1ZT8udmFsdWUpPy50cmltPy4oKTtcbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Injector, Input, booleanAttribute, inject, input, model, runInInjectionContext, } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { Router } from '@angular/router';\nimport { combineLatest, isObservable, of, switchMap } from 'rxjs';\nimport { filter, first, map, shareReplay } from 'rxjs/operators';\nimport { HighlightDirective } from '../../directives';\nimport { ContentLoadingComponent } from '../content-loading';\nimport { TagModule } from '../tag';\nimport { MenuValueComponent } from './components/menu-value.component';\nimport { ToggleValueComponent } from './components/toggle-value.component';\nimport { valueToString } from './utils/value-to-string';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"../tag/tag.component\";\nexport class ValueComponent {\n constructor() {\n this.injector = inject(Injector);\n this.router = inject(Router);\n this.value = input();\n this.lazyValue = input();\n this.lazyVisible = model(false);\n this.progress = input(false, { transform: booleanAttribute });\n this.inline = false;\n this.emptySymbol = '―';\n this.value$ = combineLatest([toObservable(this.value), toObservable(this.lazyValue)]).pipe(switchMap(([value, lazyValue]) => (isObservable(lazyValue) ? lazyValue : of(value))), shareReplay({ refCount: true, bufferSize: 1 }));\n this.valueText$ = this.value$.pipe(map((value) => runInInjectionContext(this.injector, () => valueToString(value))), shareReplay({ refCount: true, bufferSize: 1 }));\n this.inProgress$ = combineLatest([\n toObservable(this.progress),\n this.value$.pipe(map((v) => v?.inProgress ?? false)),\n ]).pipe(map(([compProgress, valueProgress]) => compProgress || valueProgress), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n makeLazyVisible() {\n this.lazyVisible.set(true);\n }\n click(event) {\n this.value$.pipe(first(), filter(Boolean)).subscribe((value) => {\n runInInjectionContext(this.injector, () => {\n if (value?.click) {\n value.click(event);\n }\n else if (typeof value?.link === 'function') {\n const linkArgs = value.link(event);\n if (typeof linkArgs === 'string') {\n this.router.navigateByUrl(linkArgs);\n return;\n }\n this.router.navigate(...linkArgs);\n }\n });\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: ValueComponent, isStandalone: true, selector: \"v-value\", inputs: { value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, lazyValue: { classPropertyName: \"lazyValue\", publicName: \"lazyValue\", isSignal: true, isRequired: false, transformFunction: null }, lazyVisible: { classPropertyName: \"lazyVisible\", publicName: \"lazyVisible\", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: \"inline\", publicName: \"inline\", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptySymbol: { classPropertyName: \"emptySymbol\", publicName: \"emptySymbol\", isSignal: false, isRequired: false, transformFunction: (v) => (v === false ? '' : typeof v === 'string' ? v : '―') }, highlight: { classPropertyName: \"highlight\", publicName: \"highlight\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { lazyVisible: \"lazyVisibleChange\" }, host: { properties: { \"class.inline\": \"inline\" } }, ngImport: i0, template: \"@if (!value() && lazyValue() && !lazyVisible()) {\\n <button class=\\\"button\\\" mat-icon-button (click)=\\\"lazyVisible.set(true)\\\">\\n <mat-icon>sync</mat-icon>\\n </button>\\n} @else {\\n @if (value$ | async; as v) {\\n <div\\n [ngClass]=\\\"{ wrapper__action: v.click || v.link }\\\"\\n class=\\\"wrapper\\\"\\n (click)=\\\"click($event)\\\"\\n >\\n @if (v.template) {\\n <ng-container *ngTemplateOutlet=\\\"v.template; context: {}\\\"></ng-container>\\n } @else {\\n @if (v.color) {\\n <v-tag [color]=\\\"v.color\\\">\\n <ng-container *ngTemplateOutlet=\\\"tooltipTemplate\\\"></ng-container>\\n </v-tag>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"tooltipTemplate\\\"></ng-container>\\n }\\n\\n <ng-template #tooltipTemplate>\\n @if (v.tooltip) {\\n <span [matTooltip]=\\\"v.tooltip\\\" class=\\\"tooltip\\\">\\n <ng-container *ngTemplateOutlet=\\\"valueTemplate\\\"></ng-container>\\n </span>\\n } @else {\\n <span [title]=\\\"v.value\\\">\\n <ng-container *ngTemplateOutlet=\\\"valueTemplate\\\"></ng-container>\\n </span>\\n }\\n </ng-template>\\n\\n <ng-template #valueTemplate>\\n @switch (v.type) {\\n @case ('menu') {\\n <v-menu-value [value]=\\\"v\\\"></v-menu-value>\\n }\\n @case ('toggle') {\\n <v-toggle-value [value]=\\\"v\\\"></v-toggle-value>\\n }\\n @default {\\n @let valueText = valueText$ | async;\\n @if (inProgress$ | async) {\\n <v-content-loading [hiddenText]=\\\"valueText\\\"></v-content-loading>\\n } @else if (valueText) {\\n <span\\n [ngClass]=\\\"{ value__click: v.click, value__link: v.link }\\\"\\n [vHighlightSearch]=\\\"highlight\\\"\\n [vHighlightText]=\\\"valueText\\\"\\n vHighlight\\n ></span>\\n } @else if (emptySymbol) {\\n <span style=\\\"color: #ccc\\\">{{ emptySymbol }}</span>\\n }\\n }\\n }\\n </ng-template>\\n }\\n\\n @if (v.description) {\\n <div\\n [title]=\\\"v.description\\\"\\n [vHighlightSearch]=\\\"highlight\\\"\\n [vHighlightText]=\\\"v.description\\\"\\n class=\\\"description mat-label-medium mat-secondary-text\\\"\\n vHighlight\\n ></div>\\n }\\n </div>\\n } @else {\\n <v-content-loading></v-content-loading>\\n }\\n}\\n\", styles: [\":host{cursor:default;text-align:left}::ng-deep .inline,::ng-deep .inline *{white-space:nowrap}.tooltip{text-decoration:underline;text-decoration-style:dotted}.wrapper__action{cursor:pointer}.value__click:hover{text-decoration:underline;text-decoration-style:dashed}.value__link:hover{text-decoration:underline}.description{overflow:hidden;text-overflow:ellipsis}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"component\", type: MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"ngmodule\", type: TagModule }, { kind: \"component\", type: i2.TagComponent, selector: \"v-tag\", inputs: [\"color\", \"icon\", \"progress\"] }, { kind: \"directive\", type: MatTooltip, selector: \"[matTooltip]\", inputs: [\"matTooltipPosition\", \"matTooltipPositionAtOrigin\", \"matTooltipDisabled\", \"matTooltipShowDelay\", \"matTooltipHideDelay\", \"matTooltipTouchGestures\", \"matTooltip\", \"matTooltipClass\"], exportAs: [\"matTooltip\"] }, { kind: \"component\", type: MenuValueComponent, selector: \"v-menu-value\", inputs: [\"value\"] }, { kind: \"component\", type: ContentLoadingComponent, selector: \"v-content-loading\", inputs: [\"width\", \"textSize\", \"hiddenText\"] }, { kind: \"directive\", type: HighlightDirective, selector: \"[vHighlight]\", inputs: [\"vHighlightText\", \"vHighlightSearch\"] }, { kind: \"component\", type: ToggleValueComponent, selector: \"v-toggle-value\", inputs: [\"value\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ValueComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-value', imports: [\n CommonModule,\n MatIcon,\n MatIconButton,\n TagModule,\n MatTooltip,\n MenuValueComponent,\n ContentLoadingComponent,\n HighlightDirective,\n ToggleValueComponent,\n ], host: {\n '[class.inline]': 'inline',\n }, changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (!value() && lazyValue() && !lazyVisible()) {\\n <button class=\\\"button\\\" mat-icon-button (click)=\\\"lazyVisible.set(true)\\\">\\n <mat-icon>sync</mat-icon>\\n </button>\\n} @else {\\n @if (value$ | async; as v) {\\n <div\\n [ngClass]=\\\"{ wrapper__action: v.click || v.link }\\\"\\n class=\\\"wrapper\\\"\\n (click)=\\\"click($event)\\\"\\n >\\n @if (v.template) {\\n <ng-container *ngTemplateOutlet=\\\"v.template; context: {}\\\"></ng-container>\\n } @else {\\n @if (v.color) {\\n <v-tag [color]=\\\"v.color\\\">\\n <ng-container *ngTemplateOutlet=\\\"tooltipTemplate\\\"></ng-container>\\n </v-tag>\\n } @else {\\n <ng-container *ngTemplateOutlet=\\\"tooltipTemplate\\\"></ng-container>\\n }\\n\\n <ng-template #tooltipTemplate>\\n @if (v.tooltip) {\\n <span [matTooltip]=\\\"v.tooltip\\\" class=\\\"tooltip\\\">\\n <ng-container *ngTemplateOutlet=\\\"valueTemplate\\\"></ng-container>\\n </span>\\n } @else {\\n <span [title]=\\\"v.value\\\">\\n <ng-container *ngTemplateOutlet=\\\"valueTemplate\\\"></ng-container>\\n </span>\\n }\\n </ng-template>\\n\\n <ng-template #valueTemplate>\\n @switch (v.type) {\\n @case ('menu') {\\n <v-menu-value [value]=\\\"v\\\"></v-menu-value>\\n }\\n @case ('toggle') {\\n <v-toggle-value [value]=\\\"v\\\"></v-toggle-value>\\n }\\n @default {\\n @let valueText = valueText$ | async;\\n @if (inProgress$ | async) {\\n <v-content-loading [hiddenText]=\\\"valueText\\\"></v-content-loading>\\n } @else if (valueText) {\\n <span\\n [ngClass]=\\\"{ value__click: v.click, value__link: v.link }\\\"\\n [vHighlightSearch]=\\\"highlight\\\"\\n [vHighlightText]=\\\"valueText\\\"\\n vHighlight\\n ></span>\\n } @else if (emptySymbol) {\\n <span style=\\\"color: #ccc\\\">{{ emptySymbol }}</span>\\n }\\n }\\n }\\n </ng-template>\\n }\\n\\n @if (v.description) {\\n <div\\n [title]=\\\"v.description\\\"\\n [vHighlightSearch]=\\\"highlight\\\"\\n [vHighlightText]=\\\"v.description\\\"\\n class=\\\"description mat-label-medium mat-secondary-text\\\"\\n vHighlight\\n ></div>\\n }\\n </div>\\n } @else {\\n <v-content-loading></v-content-loading>\\n }\\n}\\n\", styles: [\":host{cursor:default;text-align:left}::ng-deep .inline,::ng-deep .inline *{white-space:nowrap}.tooltip{text-decoration:underline;text-decoration-style:dotted}.wrapper__action{cursor:pointer}.value__click:hover{text-decoration:underline;text-decoration-style:dashed}.value__link:hover{text-decoration:underline}.description{overflow:hidden;text-overflow:ellipsis}\\n\"] }]\n }], propDecorators: { inline: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], emptySymbol: [{\n type: Input,\n args: [{\n transform: (v) => (v === false ? '' : typeof v === 'string' ? v : '―'),\n }]\n }], highlight: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdmFsdWUvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLHFCQUFxQixHQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBYyxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFB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QyxXQUFXO3NCQUhWLEtBQUs7dUJBQUM7d0JBQ0gsU0FBUyxFQUFFLENBQUMsQ0FBVSxFQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztxQkFDMUY7Z0JBR1EsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0SWNvbkJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgaXNPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBIaWdobGlnaHREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5pbCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnRMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGVudC1sb2FkaW5nJztcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJy4uL3RhZyc7XG5cbmltcG9ydCB7IE1lbnVWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2dnbGVWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b2dnbGUtdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnLi90eXBlcy92YWx1ZSc7XG5pbXBvcnQgeyB2YWx1ZVRvU3RyaW5nIH0gZnJvbSAnLi91dGlscy92YWx1ZS10by1zdHJpbmcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtdmFsdWUnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uLFxuICAgICAgICBNYXRJY29uQnV0dG9uLFxuICAgICAgICBUYWdNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXAsXG4gICAgICAgIE1lbnVWYWx1ZUNvbXBvbmVudCxcbiAgICAgICAgQ29udGVudExvYWRpbmdDb21wb25lbnQsXG4gICAgICAgIEhpZ2hsaWdodERpcmVjdGl2ZSxcbiAgICAgICAgVG9nZ2xlVmFsdWVDb21wb25lbnQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuc2NzcycsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmlubGluZV0nOiAnaW5saW5lJyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBWYWx1ZUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICB2YWx1ZSA9IGlucHV0PFZhbHVlIHwgTmlsPigpO1xuICAgIGxhenlWYWx1ZSA9IGlucHV0PE9ic2VydmFibGU8VmFsdWU+IHwgTmlsPigpO1xuICAgIGxhenlWaXNpYmxlID0gbW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgcHJvZ3Jlc3MgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlubGluZSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7XG4gICAgICAgIHRyYW5zZm9ybTogKHY6IHVua25vd24pOiBzdHJpbmcgPT4gKHYgPT09IGZhbHNlID8gJycgOiB0eXBlb2YgdiA9PT0gJ3N0cmluZycgPyB2IDogJ+KAlScpLFxuICAgIH0pXG4gICAgZW1wdHlTeW1ib2wgPSAn4oCVJztcblxuICAgIEBJbnB1dCgpIGhpZ2hsaWdodD86IHN0cmluZyB8IG51bGw7XG5cbiAgICB2YWx1ZSQgPSBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy52YWx1ZSksIHRvT2JzZXJ2YWJsZSh0aGlzLmxhenlWYWx1ZSldKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKFt2YWx1ZSwgbGF6eVZhbHVlXSkgPT4gKGlzT2JzZXJ2YWJsZShsYXp5VmFsdWUpID8gbGF6eVZhbHVlIDogb2YodmFsdWUpKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcbiAgICB2YWx1ZVRleHQkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgICAgbWFwKCh2YWx1ZSkgPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuaW5qZWN0b3IsICgpID0+IHZhbHVlVG9TdHJpbmcodmFsdWUpKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcbiAgICBpblByb2dyZXNzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0b09ic2VydmFibGUodGhpcy5wcm9ncmVzcyksXG4gICAgICAgIHRoaXMudmFsdWUkLnBpcGUobWFwKCh2KSA9PiB2Py5pblByb2dyZXNzID8/IGZhbHNlKSksXG4gICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbY29tcFByb2dyZXNzLCB2YWx1ZVByb2dyZXNzXSkgPT4gY29tcFByb2dyZXNzIHx8IHZhbHVlUHJvZ3Jlc3MpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG5cbiAgICBtYWtlTGF6eVZpc2libGUoKSB7XG4gICAgICAgIHRoaXMubGF6eVZpc2libGUuc2V0KHRydWUpO1xuICAgIH1cblxuICAgIGNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudmFsdWUkLnBpcGUoZmlyc3QoKSwgZmlsdGVyKEJvb2xlYW4pKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZT8uY2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUuY2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlPy5saW5rID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtBcmdzID0gdmFsdWUubGluayhldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbGlua0FyZ3MgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGxpbmtBcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZSguLi5saW5rQXJncyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIkBpZiAoIXZhbHVlKCkgJiYgbGF6eVZhbHVlKCkgJiYgIWxhenlWaXNpYmxlKCkpIHtcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJsYXp5VmlzaWJsZS5zZXQodHJ1ZSlcIj5cbiAgICAgICAgPG1hdC1pY29uPnN5bmM8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxufSBAZWxzZSB7XG4gICAgQGlmICh2YWx1ZSQgfCBhc3luYzsgYXMgdikge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IHdyYXBwZXJfX2FjdGlvbjogdi5jbGljayB8fCB2LmxpbmsgfVwiXG4gICAgICAgICAgICBjbGFzcz1cIndyYXBwZXJcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKHYudGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidi50ZW1wbGF0ZTsgY29udGV4dDoge31cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiAodi5jb2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8di10YWcgW2NvbG9yXT1cInYuY29sb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0b29sdGlwVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC92LXRhZz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRvb2x0aXBUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHYudG9vbHRpcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW21hdFRvb2x0aXBdPVwidi50b29sdGlwXCIgY2xhc3M9XCJ0b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGl0bGVdPVwidi52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2YWx1ZVRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICBAc3dpdGNoICh2LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnbWVudScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8di1tZW51LXZhbHVlIFt2YWx1ZV09XCJ2XCI+PC92LW1lbnUtdmFsdWU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoJ3RvZ2dsZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8di10b2dnbGUtdmFsdWUgW3ZhbHVlXT1cInZcIj48L3YtdG9nZ2xlLXZhbHVlPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBsZXQgdmFsdWVUZXh0ID0gdmFsdWVUZXh0JCB8IGFzeW5jO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaW5Qcm9ncmVzcyQgfCBhc3luYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8di1jb250ZW50LWxvYWRpbmcgW2hpZGRlblRleHRdPVwidmFsdWVUZXh0XCI+PC92LWNvbnRlbnQtbG9hZGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICh2YWx1ZVRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgdmFsdWVfX2NsaWNrOiB2LmNsaWNrLCB2YWx1ZV9fbGluazogdi5saW5rIH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZIaWdobGlnaHRTZWFyY2hdPVwiaGlnaGxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2SGlnaGxpZ2h0VGV4dF09XCJ2YWx1ZVRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdkhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGVtcHR5U3ltYm9sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICNjY2NcIj57eyBlbXB0eVN5bWJvbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKHYuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ2LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZIaWdobGlnaHRTZWFyY2hdPVwiaGlnaGxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgW3ZIaWdobGlnaHRUZXh0XT1cInYuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlc2NyaXB0aW9uIG1hdC1sYWJlbC1tZWRpdW0gbWF0LXNlY29uZGFyeS10ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgdkhpZ2hsaWdodFxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDx2LWNvbnRlbnQtbG9hZGluZz48L3YtY29udGVudC1sb2FkaW5nPlxuICAgIH1cbn1cbiJdfQ==","import { Component, input } from '@angular/core';\nimport { ValueComponent } from '../value.component';\nimport * as i0 from \"@angular/core\";\nexport class ValueListComponent {\n constructor() {\n this.list = input();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ValueListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: ValueListComponent, isStandalone: true, selector: \"v-value-list\", inputs: { list: { classPropertyName: \"list\", publicName: \"list\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n @if (list(); as items) {\n @if (items.length > 1) {\n <div class=\"list\">\n @for (item of items; track item) {\n <v-value [value]=\"item\" inline></v-value>\n }\n </div>\n } @else {\n <v-value [value]=\"items[0]\" inline></v-value>\n }\n } @else {\n <v-value [progress]=\"true\" inline></v-value>\n }\n `, isInline: true, styles: [\".list{display:flex;flex-direction:column}.list>*{overflow:hidden;text-overflow:ellipsis;min-height:20px}\\n\"], dependencies: [{ kind: \"component\", type: ValueComponent, selector: \"v-value\", inputs: [\"value\", \"lazyValue\", \"lazyVisible\", \"progress\", \"inline\", \"emptySymbol\", \"highlight\"], outputs: [\"lazyVisibleChange\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ValueListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-value-list', imports: [ValueComponent], template: `\n @if (list(); as items) {\n @if (items.length > 1) {\n <div class=\"list\">\n @for (item of items; track item) {\n <v-value [value]=\"item\" inline></v-value>\n }\n </div>\n } @else {\n <v-value [value]=\"items[0]\" inline></v-value>\n }\n } @else {\n <v-value [progress]=\"true\" inline></v-value>\n }\n `, styles: [\".list{display:flex;flex-direction:column}.list>*{overflow:hidden;text-overflow:ellipsis;min-height:20px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy92YWx1ZS9jb21wb25lbnRzL3ZhbHVlLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFpQ3BELE1BQU0sT0FBTyxrQkFBa0I7SUEvQi9CO1FBZ0NJLFNBQUksR0FBRyxLQUFLLEVBQThCLENBQUM7S0FDOUM7OEdBRlksa0JBQWtCO2tHQUFsQixrQkFBa0IseU1BNUJqQjs7Ozs7Ozs7Ozs7Ozs7S0FjVCxvTEFmUyxjQUFjOzsyRkE2QmYsa0JBQWtCO2tCQS9COUIsU0FBUzsrQkFDSSxjQUFjLFdBQ2YsQ0FBQyxjQUFjLENBQUMsWUFDZjs7Ozs7Ozs7Ozs7Ozs7S0FjVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVmFsdWUgfSBmcm9tICcuLi90eXBlcy92YWx1ZSc7XG5pbXBvcnQgeyBWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4uL3ZhbHVlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi12YWx1ZS1saXN0JyxcbiAgICBpbXBvcnRzOiBbVmFsdWVDb21wb25lbnRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAobGlzdCgpOyBhcyBpdGVtcykge1xuICAgICAgICAgICAgQGlmIChpdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHYtdmFsdWUgW3ZhbHVlXT1cIml0ZW1cIiBpbmxpbmU+PC92LXZhbHVlPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8di12YWx1ZSBbdmFsdWVdPVwiaXRlbXNbMF1cIiBpbmxpbmU+PC92LXZhbHVlPlxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDx2LXZhbHVlIFtwcm9ncmVzc109XCJ0cnVlXCIgaW5saW5lPjwvdi12YWx1ZT5cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3R5bGVzOiBgXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgVmFsdWVMaXN0Q29tcG9uZW50IHtcbiAgICBsaXN0ID0gaW5wdXQ8VmFsdWVbXSB8IHVuZGVmaW5lZCB8IG51bGw+KCk7XG59XG4iXX0=","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TableInputsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableInputsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: TableInputsComponent, isStandalone: false, selector: \"v-table-inputs\", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [\":host{display:block}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableInputsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-table-inputs', template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, styles: [\":host{display:block}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaW5wdXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtaW5wdXRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWVuRSxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7a0dBQXBCLG9CQUFvQiwyRUFYbkIsMkJBQTJCOzsyRkFXNUIsb0JBQW9CO2tCQWJoQyxTQUFTOytCQUNJLGdCQUFnQixZQUNoQiwyQkFBMkIsbUJBUXBCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LXRhYmxlLWlucHV0cycsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSW5wdXRzQ29tcG9uZW50IHt9XG4iXX0=","import isNil from 'lodash-es/isNil';\nexport function createUniqueColumnDef(name) {\n return `___$$${typeof name === 'object' || isNil(name) ? 'column' : String(name)}_${Math.random().toString()}`;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVuaXF1ZS1jb2x1bW4tZGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdXRpbHMvY3JlYXRlLXVuaXF1ZS1jb2x1bW4tZGVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBRXBDLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxJQUFjO0lBQ2hELE9BQU8sUUFDSCxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3BFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc05pbCBmcm9tICdsb2Rhc2gtZXMvaXNOaWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVW5pcXVlQ29sdW1uRGVmKG5hbWU/OiB1bmtub3duKSB7XG4gICAgcmV0dXJuIGBfX18kJCR7XG4gICAgICAgIHR5cGVvZiBuYW1lID09PSAnb2JqZWN0JyB8fCBpc05pbChuYW1lKSA/ICdjb2x1bW4nIDogU3RyaW5nKG5hbWUpXG4gICAgfV8ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoKX1gO1xufVxuIl19","import { createUniqueColumnDef } from './utils/create-unique-column-def';\nexport const DEFAULT_SORT = { active: '', direction: '' };\nexport const DEBOUNCE_TIME_MS = 500;\nexport const DEFAULT_LOADED_LAZY_ROWS_COUNT = 3;\nexport const COLUMN_DEFS = {\n select: createUniqueColumnDef('select'),\n drag: createUniqueColumnDef('drag'),\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxDQUFDLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3ZCLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7SUFDdkMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztDQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuXG5pbXBvcnQgeyBjcmVhdGVVbmlxdWVDb2x1bW5EZWYgfSBmcm9tICcuL3V0aWxzL2NyZWF0ZS11bmlxdWUtY29sdW1uLWRlZic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NPUlQ6IFNvcnQgPSB7IGFjdGl2ZTogJycsIGRpcmVjdGlvbjogJycgfTtcbmV4cG9ydCBjb25zdCBERUJPVU5DRV9USU1FX01TID0gNTAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9BREVEX0xBWllfUk9XU19DT1VOVCA9IDM7XG5leHBvcnQgY29uc3QgQ09MVU1OX0RFRlMgPSB7XG4gICAgc2VsZWN0OiBjcmVhdGVVbmlxdWVDb2x1bW5EZWYoJ3NlbGVjdCcpLFxuICAgIGRyYWc6IGNyZWF0ZVVuaXF1ZUNvbHVtbkRlZignZHJhZycpLFxufTtcbiJdfQ==","import { get } from 'lodash-es';\nimport isNil from 'lodash-es/isNil';\nimport startCase from 'lodash-es/startCase';\nimport { of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { getPossiblyAsyncObservable } from '../../../utils';\nexport function normalizePossiblyFn(fn) {\n return typeof fn === 'function' ? fn : () => fn;\n}\nexport function normalizeCell(field, cell, hasChild = false) {\n const cellFn = normalizePossiblyFn(cell);\n return (...args) => getPossiblyAsyncObservable(cellFn(...args)).pipe(map((value) => {\n const defaultValue = hasChild ? { value: '' } : { value: get(args[0], field) };\n if (isNil(value)) {\n return defaultValue;\n }\n return typeof value === 'object' ? { ...defaultValue, ...value } : { value };\n }));\n}\nexport class NormColumn {\n constructor({ field, header, cell, child, hidden, sort, lazyCell, ...params }, commonParams = {}) {\n this.field = field ?? (typeof header === 'string' ? header : String(Math.random()));\n const defaultHeaderValue = startCase((field || '').split('.').at(-1));\n this.header = getPossiblyAsyncObservable(header).pipe(map((value) => typeof value === 'object'\n ? { value: defaultHeaderValue, ...value }\n : { value: value ?? defaultHeaderValue }));\n if (cell || !lazyCell) {\n this.cell = normalizeCell(this.field, cell, !!child);\n }\n if (lazyCell) {\n this.lazyCell = normalizeCell(this.field, lazyCell, !!child);\n }\n if (child) {\n this.child = normalizeCell(this.field, child);\n }\n this.params = {\n ...commonParams,\n ...params,\n style: Object.assign({}, commonParams?.style, params?.style),\n };\n this.hidden = isNil(hidden) ? of(false) : getPossiblyAsyncObservable(hidden);\n this.sort = isNil(sort) ? of(null) : getPossiblyAsyncObservable(sort);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdHlwZXMvY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUF3QiwwQkFBMEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBNEJsRixNQUFNLFVBQVUsbUJBQW1CLENBQThCLEVBQW9CO0lBQ2pGLE9BQU8sT0FBTyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBRSxFQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNsRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDekIsS0FBYSxFQUNiLElBQTBCLEVBQzFCLFdBQW9CLEtBQUs7SUFFekIsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FDZiwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDVixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0UsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNmLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFDVixDQUFDO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFVbkIsWUFDSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sRUFBZ0IsRUFDL0UsZUFBNkIsRUFBRTtRQUUvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRixNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDVixPQUFPLEtBQUssS0FBSyxRQUFRO1lBQ3JCLENBQUMsQ0FBRSxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEtBQUssRUFBWTtZQUNwRCxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLGtCQUFrQixFQUFFLENBQy9DLENBQ0osQ0FBQztRQUNGLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNWLEdBQUcsWUFBWTtZQUNmLEdBQUcsTUFBTTtZQUNULEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FDL0QsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgaXNOaWwgZnJvbSAnbG9kYXNoLWVzL2lzTmlsJztcbmltcG9ydCBzdGFydENhc2UgZnJvbSAnbG9kYXNoLWVzL3N0YXJ0Q2FzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBc3luYywgUG9zc2libHlBc3luYywgZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBWYWx1ZSB9IGZyb20gJy4uLy4uL3ZhbHVlJztcblxuZXhwb3J0IHR5cGUgRm48UiwgUCBleHRlbmRzIEFycmF5PHVua25vd24+ID0gW10+ID0gKC4uLmFyZ3M6IFApID0+IFI7XG5leHBvcnQgdHlwZSBQb3NzaWJseUZuPFIsIFAgZXh0ZW5kcyBBcnJheTx1bmtub3duPiA9IFtdPiA9IEZuPFIsIFA+IHwgUjtcblxuZXhwb3J0IHR5cGUgQ2VsbEZuQXJnczxUIGV4dGVuZHMgb2JqZWN0PiA9IFtkYXRhOiBULCBpbmRleDogbnVtYmVyXTtcblxuaW50ZXJmYWNlIENvbHVtblBhcmFtcyB7XG4gICAgc3RpY2t5PzogJ3N0YXJ0JyB8ICdlbmQnO1xuICAgIHN0eWxlPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbmV4cG9ydCB0eXBlIENlbGxWYWx1ZSA9ICdzdHJpbmcnIHwgVmFsdWU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uPFQgZXh0ZW5kcyBvYmplY3QsIEMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+IGV4dGVuZHMgQ29sdW1uUGFyYW1zIHtcbiAgICBmaWVsZDogc3RyaW5nO1xuXG4gICAgaGVhZGVyPzogUG9zc2libHlBc3luYzxQYXJ0aWFsPFZhbHVlPiB8IHN0cmluZz47XG5cbiAgICBjZWxsPzogUG9zc2libHlGbjxQb3NzaWJseUFzeW5jPENlbGxWYWx1ZT4sIENlbGxGbkFyZ3M8VD4+O1xuICAgIGxhenlDZWxsPzogUG9zc2libHlGbjxBc3luYzxDZWxsVmFsdWU+LCBDZWxsRm5BcmdzPFQ+PjtcbiAgICBjaGlsZD86IFBvc3NpYmx5Rm48UG9zc2libHlBc3luYzxDZWxsVmFsdWU+LCBDZWxsRm5BcmdzPEM+PjtcblxuICAgIGhpZGRlbj86IFBvc3NpYmx5QXN5bmM8Ym9vbGVhbj47XG4gICAgc29ydD86IFBvc3NpYmx5QXN5bmM8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVQb3NzaWJseUZuPFIsIFAgZXh0ZW5kcyBBcnJheTx1bmtub3duPj4oZm46IFBvc3NpYmx5Rm48UiwgUD4pOiBGbjxSLCBQPiB7XG4gICAgcmV0dXJuIHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJyA/IChmbiBhcyBGbjxSLCBQPikgOiAoKSA9PiBmbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUNlbGw8VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdD4oXG4gICAgZmllbGQ6IHN0cmluZyxcbiAgICBjZWxsOiBDb2x1bW48VCwgQz5bJ2NlbGwnXSxcbiAgICBoYXNDaGlsZDogYm9vbGVhbiA9IGZhbHNlLFxuKTogRm48T2JzZXJ2YWJsZTxWYWx1ZT4sIENlbGxGbkFyZ3M8VD4+IHtcbiAgICBjb25zdCBjZWxsRm4gPSBub3JtYWxpemVQb3NzaWJseUZuKGNlbGwpO1xuICAgIHJldHVybiAoLi4uYXJncykgPT5cbiAgICAgICAgZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUoY2VsbEZuKC4uLmFyZ3MpKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGhhc0NoaWxkID8geyB2YWx1ZTogJycgfSA6IHsgdmFsdWU6IGdldChhcmdzWzBdLCBmaWVsZCkgfTtcbiAgICAgICAgICAgICAgICBpZiAoaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8geyAuLi5kZWZhdWx0VmFsdWUsIC4uLnZhbHVlIH0gOiB7IHZhbHVlIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbn1cblxuZXhwb3J0IGNsYXNzIE5vcm1Db2x1bW48VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ge1xuICAgIGZpZWxkITogc3RyaW5nO1xuICAgIGhlYWRlciE6IE9ic2VydmFibGU8VmFsdWU+O1xuICAgIGNlbGw/OiBGbjxPYnNlcnZhYmxlPFZhbHVlPiwgQ2VsbEZuQXJnczxUPj47XG4gICAgbGF6eUNlbGw/OiBGbjxPYnNlcnZhYmxlPFZhbHVlPiwgQ2VsbEZuQXJnczxUPj47XG4gICAgY2hpbGQ/OiBGbjxPYnNlcnZhYmxlPFZhbHVlPiwgQ2VsbEZuQXJnczxDPj47XG4gICAgaGlkZGVuITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzb3J0ITogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD47XG4gICAgcGFyYW1zITogQ29sdW1uUGFyYW1zO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHsgZmllbGQsIGhlYWRlciwgY2VsbCwgY2hpbGQsIGhpZGRlbiwgc29ydCwgbGF6eUNlbGwsIC4uLnBhcmFtcyB9OiBDb2x1bW48VCwgQz4sXG4gICAgICAgIGNvbW1vblBhcmFtczogQ29sdW1uUGFyYW1zID0ge30sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZmllbGQgPSBmaWVsZCA/PyAodHlwZW9mIGhlYWRlciA9PT0gJ3N0cmluZycgPyBoZWFkZXIgOiBTdHJpbmcoTWF0aC5yYW5kb20oKSkpO1xuICAgICAgICBjb25zdCBkZWZhdWx0SGVhZGVyVmFsdWUgPSBzdGFydENhc2UoKGZpZWxkIHx8ICcnKS5zcGxpdCgnLicpLmF0KC0xKSk7XG4gICAgICAgIHRoaXMuaGVhZGVyID0gZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUoaGVhZGVyKS5waXBlKFxuICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgICAgID8gKHsgdmFsdWU6IGRlZmF1bHRIZWFkZXJWYWx1ZSwgLi4udmFsdWUgfSBhcyBWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgOiB7IHZhbHVlOiB2YWx1ZSA/PyBkZWZhdWx0SGVhZGVyVmFsdWUgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIGlmIChjZWxsIHx8ICFsYXp5Q2VsbCkge1xuICAgICAgICAgICAgdGhpcy5jZWxsID0gbm9ybWFsaXplQ2VsbCh0aGlzLmZpZWxkLCBjZWxsLCAhIWNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGF6eUNlbGwpIHtcbiAgICAgICAgICAgIHRoaXMubGF6eUNlbGwgPSBub3JtYWxpemVDZWxsKHRoaXMuZmllbGQsIGxhenlDZWxsLCAhIWNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGQgPSBub3JtYWxpemVDZWxsKHRoaXMuZmllbGQsIGNoaWxkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhcmFtcyA9IHtcbiAgICAgICAgICAgIC4uLmNvbW1vblBhcmFtcyxcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgIHN0eWxlOiBPYmplY3QuYXNzaWduKHt9LCBjb21tb25QYXJhbXM/LnN0eWxlLCBwYXJhbXM/LnN0eWxlKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5oaWRkZW4gPSBpc05pbChoaWRkZW4pID8gb2YoZmFsc2UpIDogZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUoaGlkZGVuKTtcbiAgICAgICAgdGhpcy5zb3J0ID0gaXNOaWwoc29ydCkgPyBvZihudWxsKSA6IGdldFBvc3NpYmx5QXN5bmNPYnNlcnZhYmxlKHNvcnQpO1xuICAgIH1cbn1cbiJdfQ==","import { Injector, inject, runInInjectionContext } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { compareDifferentTypes } from '../../../utils';\nimport { valueToString } from '../../value/utils/value-to-string';\nimport { normalizeString } from './normalize-string';\nexport function columnsDataToFilterSearchData(src$) {\n const injector = inject(Injector);\n return src$.pipe(map((data) => new Map(Array.from(data.entries()).map(([item, value]) => [\n item,\n {\n byColumns: value.map((el) => [\n runInInjectionContext(injector, () => normalizeString(valueToString(el?.value))),\n normalizeString(String(el?.value?.description ?? '')),\n ]),\n byRow: JSON.stringify(item),\n },\n ]))));\n}\nfunction getWeight(searchValue, search, lowerCaseSearch, unimportance = 0) {\n if (searchValue === search) {\n return 1000000 - unimportance;\n }\n else if (searchValue.includes(search)) {\n return 10000 - unimportance;\n }\n else if (searchValue.toLowerCase().includes(lowerCaseSearch)) {\n return 100 - unimportance;\n }\n return 0;\n}\nexport function filterData(data, search) {\n const lowerCaseSearch = search.toLowerCase();\n return Array.from(data.entries())\n .map(([value, searchValuesCols]) => ({\n value,\n priority: searchValuesCols.byColumns.reduce((priority, searchValues) => searchValues.reduce((colPriority, searchValue, idx) => colPriority + getWeight(searchValue, search, lowerCaseSearch, idx), priority), 0) + getWeight(searchValuesCols.byRow, search, lowerCaseSearch, 1),\n }))\n .filter((v) => v.priority)\n .sort((a, b) => b.priority - a.priority)\n .map((v) => v.value);\n}\nexport function sortData(source, data, columns, sort) {\n if (!sort?.active || !sort?.direction) {\n return source;\n }\n const colIdx = columns.findIndex((c) => c.field === sort.active);\n const sortedData = source\n .slice()\n .sort((a, b) => compareDifferentTypes((data.get(a)?.byColumns ?? [])[colIdx]?.[0], (data.get(b)?.byColumns ?? [])[colIdx]?.[0]));\n return sort.direction === 'desc' ? sortedData.reverse() : sortedData;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS91dGlscy9maWx0ZXItc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU9yRCxNQUFNLFVBQVUsNkJBQTZCLENBQ3pDLElBQTBEO0lBRTFELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQ1osR0FBRyxDQUNDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDTCxJQUFJLEdBQUcsQ0FDSCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM5QyxJQUFJO1FBQ0o7WUFDSSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FDakMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDNUM7Z0JBQ0QsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsSUFB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LENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUM5QyxDQUNKLENBQUM7SUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUN6RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIGluamVjdCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGNvbXBhcmVEaWZmZXJlbnRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IHZhbHVlVG9TdHJpbmcgfSBmcm9tICcuLi8uLi92YWx1ZS91dGlscy92YWx1ZS10by1zdHJpbmcnO1xuaW1wb3J0IHsgTm9ybUNvbHVtbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IENvbHVtbkRhdGEsIERpc3BsYXllZERhdGEsIERpc3BsYXllZERhdGFJdGVtIH0gZnJvbSAnLi4vdXRpbHMvdG8tY29sdW1ucy1kYXRhJztcblxuaW1wb3J0IHsgbm9ybWFsaXplU3RyaW5nIH0gZnJvbSAnLi9ub3JtYWxpemUtc3RyaW5nJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyU2VhcmNoRGF0YTxUIGV4dGVuZHMgb2JqZWN0LCBDIGV4dGVuZHMgb2JqZWN0PiA9IE1hcDxcbiAgICBEaXNwbGF5ZWREYXRhSXRlbTxULCBDPixcbiAgICB7IGJ5Q29sdW1uczogc3RyaW5nW11bXTsgYnlSb3c6IHN0cmluZyB9XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gY29sdW1uc0RhdGFUb0ZpbHRlclNlYXJjaERhdGE8VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdD4oXG4gICAgc3JjJDogT2JzZXJ2YWJsZTxNYXA8RGlzcGxheWVkRGF0YUl0ZW08VCwgQz4sIENvbHVtbkRhdGE+Pixcbikge1xuICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICByZXR1cm4gc3JjJC5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgICAoZGF0YSkgPT5cbiAgICAgICAgICAgICAgICBuZXcgTWFwKFxuICAgICAgICAgICAgICAgICAgICBBcnJheS5mcm9tKGRhdGEuZW50cmllcygpKS5tYXAoKFtpdGVtLCB2YWx1ZV0pID0+IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnlDb2x1bW5zOiB2YWx1ZS5tYXAoKGVsKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZVN0cmluZyh2YWx1ZVRvU3RyaW5nKGVsPy52YWx1ZSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVTdHJpbmcoU3RyaW5nKGVsPy52YWx1ZT8uZGVzY3JpcHRpb24gPz8gJycpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBieVJvdzogSlNPTi5zdHJpbmdpZnkoaXRlbSksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICk7XG59XG5cbmZ1bmN0aW9uIGdldFdlaWdodChcbiAgICBzZWFyY2hWYWx1ZTogc3RyaW5nLFxuICAgIHNlYXJjaDogc3RyaW5nLFxuICAgIGxvd2VyQ2FzZVNlYXJjaDogc3RyaW5nLFxuICAgIHVuaW1wb3J0YW5jZTogbnVtYmVyID0gMCxcbikge1xuICAgIGlmIChzZWFyY2hWYWx1ZSA9PT0gc2VhcmNoKSB7XG4gICAgICAgIHJldHVybiAxMDAwMDAwIC0gdW5pbXBvcnRhbmNlO1xuICAgIH0gZWxzZSBpZiAoc2VhcmNoVmFsdWUuaW5jbHVkZXMoc2VhcmNoKSkge1xuICAgICAgICByZXR1cm4gMTAwMDAgLSB1bmltcG9ydGFuY2U7XG4gICAgfSBlbHNlIGlmIChzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyQ2FzZVNlYXJjaCkpIHtcbiAgICAgICAgcmV0dXJuIDEwMCAtIHVuaW1wb3J0YW5jZTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJEYXRhPFQgZXh0ZW5kcyBvYmplY3QsIEMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGRhdGE6IEZpbHRlclNlYXJjaERhdGE8VCwgQz4sXG4gICAgc2VhcmNoOiBzdHJpbmcsXG4pIHtcbiAgICBjb25zdCBsb3dlckNhc2VTZWFyY2ggPSBzZWFyY2gudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRhLmVudHJpZXMoKSlcbiAgICAgICAgLm1hcCgoW3ZhbHVlLCBzZWFyY2hWYWx1ZXNDb2xzXSkgPT4gKHtcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgcHJpb3JpdHk6XG4gICAgICAgICAgICAgICAgc2VhcmNoVmFsdWVzQ29scy5ieUNvbHVtbnMucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAocHJpb3JpdHksIHNlYXJjaFZhbHVlcykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFZhbHVlcy5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbFByaW9yaXR5LCBzZWFyY2hWYWx1ZSwgaWR4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xQcmlvcml0eSArIGdldFdlaWdodChzZWFyY2hWYWx1ZSwgc2VhcmNoLCBsb3dlckNhc2VTZWFyY2gsIGlkeCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAgICkgKyBnZXRXZWlnaHQoc2VhcmNoVmFsdWVzQ29scy5ieVJvdywgc2VhcmNoLCBsb3dlckNhc2VTZWFyY2gsIDEpLFxuICAgICAgICB9KSlcbiAgICAgICAgLmZpbHRlcigodikgPT4gdi5wcmlvcml0eSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIucHJpb3JpdHkgLSBhLnByaW9yaXR5KVxuICAgICAgICAubWFwKCh2KSA9PiB2LnZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnREYXRhPFQgZXh0ZW5kcyBvYmplY3QsIEMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIHNvdXJjZTogRGlzcGxheWVkRGF0YTxULCBDPixcbiAgICBkYXRhOiBGaWx0ZXJTZWFyY2hEYXRhPFQsIEM+LFxuICAgIGNvbHVtbnM6IE5vcm1Db2x1bW48VCwgQz5bXSxcbiAgICBzb3J0OiBTb3J0LFxuKSB7XG4gICAgaWYgKCFzb3J0Py5hY3RpdmUgfHwgIXNvcnQ/LmRpcmVjdGlvbikge1xuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cbiAgICBjb25zdCBjb2xJZHggPSBjb2x1bW5zLmZpbmRJbmRleCgoYykgPT4gYy5maWVsZCA9PT0gc29ydC5hY3RpdmUpO1xuICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3VyY2VcbiAgICAgICAgLnNsaWNlKClcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICAgICAgICBjb21wYXJlRGlmZmVyZW50VHlwZXMoXG4gICAgICAgICAgICAgICAgKGRhdGEuZ2V0KGEpPy5ieUNvbHVtbnMgPz8gW10pW2NvbElkeF0/LlswXSxcbiAgICAgICAgICAgICAgICAoZGF0YS5nZXQoYik/LmJ5Q29sdW1ucyA/PyBbXSlbY29sSWR4XT8uWzBdLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdkZXNjJyA/IHNvcnRlZERhdGEucmV2ZXJzZSgpIDogc29ydGVkRGF0YTtcbn1cbiJdfQ==","export function treeDataItemToInlineDataItem(item) {\n const children = item.children ?? [];\n return [\n children.length ? { value: item.value, child: children[0] } : { value: item.value },\n ...children.slice(1).map((child) => ({ child })),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kYXRhLWl0ZW0tdG8taW5saW5lLWRhdGEtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RyZWUtZGF0YS90cmVlLWRhdGEtaXRlbS10by1pbmxpbmUtZGF0YS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSw0QkFBNEIsQ0FDeEMsSUFBd0I7SUFFeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDckMsT0FBTztRQUNILFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ25GLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ25ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZURhdGFJdGVtIH0gZnJvbSAnLi90cmVlLWRhdGEnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJlZURhdGFJdGVtVG9JbmxpbmVEYXRhSXRlbTxUIGV4dGVuZHMgb2JqZWN0LCBDIGV4dGVuZHMgb2JqZWN0PihcbiAgICBpdGVtOiBUcmVlRGF0YUl0ZW08VCwgQz4sXG4pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW4gPz8gW107XG4gICAgcmV0dXJuIFtcbiAgICAgICAgY2hpbGRyZW4ubGVuZ3RoID8geyB2YWx1ZTogaXRlbS52YWx1ZSwgY2hpbGQ6IGNoaWxkcmVuWzBdIH0gOiB7IHZhbHVlOiBpdGVtLnZhbHVlIH0sXG4gICAgICAgIC4uLmNoaWxkcmVuLnNsaWNlKDEpLm1hcCgoY2hpbGQpID0+ICh7IGNoaWxkIH0pKSxcbiAgICBdO1xufVxuIl19","import { scan } from 'rxjs';\nimport { map } from 'rxjs/operators';\nexport function cachedHeadMap(fn) {\n return (src$) => {\n return src$.pipe(scan((acc, v) => {\n return {\n prev: v ?? [],\n res: (v ?? []).map((el, idx) => acc.prev[idx] === el ? acc.res[idx] : fn(el, idx)),\n };\n }, { prev: [], res: [] }), map(({ res }) => res));\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWhlYWQtbWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdXRpbHMvY2FjaGVkLWhlYWQtbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sVUFBVSxhQUFhLENBQXNCLEVBQTZCO0lBQzVFLE9BQU8sQ0FBQyxJQUFpQyxFQUFFLEVBQUU7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNaLElBQUksQ0FDQSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU87Z0JBQ0gsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFO2dCQUNiLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQ3BEO2FBQ0osQ0FBQztRQUNOLENBQUMsRUFDRCxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBNkIsQ0FDbkQsRUFDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FDeEIsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBzY2FuIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZWRIZWFkTWFwPFQgZXh0ZW5kcyBvYmplY3QsIFI+KGZuOiAoZWw6IFQsIGlkeDogbnVtYmVyKSA9PiBSKSB7XG4gICAgcmV0dXJuIChzcmMkOiBPYnNlcnZhYmxlPFRbXSB8IHVuZGVmaW5lZD4pID0+IHtcbiAgICAgICAgcmV0dXJuIHNyYyQucGlwZShcbiAgICAgICAgICAgIHNjYW4oXG4gICAgICAgICAgICAgICAgKGFjYywgdikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJldjogdiA/PyBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlczogKHYgPz8gW10pLm1hcCgoZWwsIGlkeCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2MucHJldltpZHhdID09PSBlbCA/IGFjYy5yZXNbaWR4XSA6IGZuKGVsLCBpZHgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHsgcHJldjogW10sIHJlczogW10gfSBhcyB7IHByZXY6IFRbXTsgcmVzOiBSW10gfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKHsgcmVzIH0pID0+IHJlcyksXG4gICAgICAgICk7XG4gICAgfTtcbn1cbiJdfQ==","import { DestroyRef, EventEmitter, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { BehaviorSubject, switchMap } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { treeDataItemToInlineDataItem, } from '../tree-data';\nimport { cachedHeadMap } from './cached-head-map';\nexport class TableDataSource extends MatTableDataSource {\n get paginator() {\n return this.__paginator;\n }\n constructor() {\n super();\n this.isTreeData$ = new BehaviorSubject(false);\n this.sourceData$ = new BehaviorSubject([]);\n this.data$ = this.isTreeData$.pipe(switchMap((isTreeData) => isTreeData\n ? this.sourceData$.pipe(cachedHeadMap(treeDataItemToInlineDataItem), map((v) => v.flat()))\n : this.sourceData$), shareReplay({ refCount: true, bufferSize: 1 }));\n this.__paginator = new OnePageTableDataSourcePaginator();\n this.data$.pipe(takeUntilDestroyed(inject(DestroyRef))).subscribe((data) => {\n this.data = data;\n });\n }\n setData(data) {\n this.sourceData$.next(data);\n if (this.isTreeData$.value) {\n this.isTreeData$.next(false);\n }\n }\n setTreeData(data) {\n this.sourceData$.next(data);\n if (!this.isTreeData$.value) {\n this.isTreeData$.next(true);\n }\n }\n}\nclass OnePageTableDataSourcePaginator {\n get length() {\n return this.pageSize;\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n set length(_length) { }\n get displayedPages() {\n return this.pageSize / this.partSize;\n }\n constructor(partSize) {\n this.pageIndex = 0;\n this.pageSize = 0;\n this.page = new EventEmitter();\n this.initialized = new BehaviorSubject(undefined);\n this.setSize(partSize);\n }\n setSize(partSize = 25) {\n if (partSize !== this.partSize) {\n this.pageSize = this.partSize = partSize;\n this.reload();\n }\n }\n reload() {\n this.pageSize = this.partSize;\n this.update();\n }\n more() {\n this.pageSize += this.partSize;\n this.update();\n }\n update() {\n this.page.next({\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n length: this.length,\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS91dGlscy90YWJsZS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBSUgsNEJBQTRCLEdBQy9CLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBNEQsU0FBUSxrQkFHaEY7SUFlRyxJQUFhLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBNkQsQ0FBQztJQUM5RSxDQUFDO0lBSUQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQXJCWixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQzVELFVBQUssR0FBMkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pFLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ3JCLFVBQVU7WUFDTixDQUFDLENBQUUsSUFBSSxDQUFDLFdBQTBDLENBQUMsSUFBSSxDQUNqRCxhQUFhLENBQUMsNEJBQTRCLENBQUMsRUFDM0Ms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J0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yLCBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgVHJlZURhdGEsXG4gICAgVHJlZUlubGluZURhdGEsXG4gICAgVHJlZUlubGluZURhdGFJdGVtLFxuICAgIHRyZWVEYXRhSXRlbVRvSW5saW5lRGF0YUl0ZW0sXG59IGZyb20gJy4uL3RyZWUtZGF0YSc7XG5cbmltcG9ydCB7IGNhY2hlZEhlYWRNYXAgfSBmcm9tICcuL2NhY2hlZC1oZWFkLW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZURhdGFTb3VyY2U8VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdCA9IG5ldmVyPiBleHRlbmRzIE1hdFRhYmxlRGF0YVNvdXJjZTxcbiAgICBUIHwgVHJlZUlubGluZURhdGFJdGVtPFQsIEM+LFxuICAgIE9uZVBhZ2VUYWJsZURhdGFTb3VyY2VQYWdpbmF0b3IgJiBNYXRQYWdpbmF0b3Jcbj4ge1xuICAgIGlzVHJlZURhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgc291cmNlRGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXSB8IFRyZWVEYXRhPFQsIEM+PihbXSk7XG4gICAgZGF0YSQ6IE9ic2VydmFibGU8VFtdIHwgVHJlZUlubGluZURhdGE8VCwgQz4+ID0gdGhpcy5pc1RyZWVEYXRhJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGlzVHJlZURhdGEpID0+XG4gICAgICAgICAgICBpc1RyZWVEYXRhXG4gICAgICAgICAgICAgICAgPyAodGhpcy5zb3VyY2VEYXRhJCBhcyBPYnNlcnZhYmxlPFRyZWVEYXRhPFQsIEM+PikucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRIZWFkTWFwKHRyZWVEYXRhSXRlbVRvSW5saW5lRGF0YUl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICAgIG1hcCgodikgPT4gdi5mbGF0KCkpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdGhpcy5zb3VyY2VEYXRhJCxcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSxcbiAgICApO1xuXG4gICAgb3ZlcnJpZGUgZ2V0IHBhZ2luYXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX19wYWdpbmF0b3IgYXMgT25lUGFnZVRhYmxlRGF0YVNvdXJjZVBhZ2luYXRvciAmIE1hdFBhZ2luYXRvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9fcGFnaW5hdG9yID0gbmV3IE9uZVBhZ2VUYWJsZURhdGFTb3VyY2VQYWdpbmF0b3IoKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRhdGEkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKGluamVjdChEZXN0cm95UmVmKSkpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0RGF0YShkYXRhOiBUW10pIHtcbiAgICAgICAgdGhpcy5zb3VyY2VEYXRhJC5uZXh0KGRhdGEpO1xuICAgICAgICBpZiAodGhpcy5pc1RyZWVEYXRhJC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pc1RyZWVEYXRhJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldFRyZWVEYXRhKGRhdGE6IFRyZWVEYXRhPFQsIEM+KSB7XG4gICAgICAgIHRoaXMuc291cmNlRGF0YSQubmV4dChkYXRhKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzVHJlZURhdGEkLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlzVHJlZURhdGEkLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmNsYXNzIE9uZVBhZ2VUYWJsZURhdGFTb3VyY2VQYWdpbmF0b3IgaW1wbGVtZW50cyBQYXJ0aWFsPE1hdFBhZ2luYXRvcj4ge1xuICAgIHBhZ2VJbmRleCA9IDA7XG4gICAgcGFnZVNpemUgPSAwO1xuICAgIHBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4oKTtcbiAgICBpbml0aWFsaXplZCA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAgIGdldCBsZW5ndGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhZ2VTaXplO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgc2V0IGxlbmd0aChfbGVuZ3RoKSB7fVxuXG4gICAgZ2V0IGRpc3BsYXllZFBhZ2VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZSAvIHRoaXMucGFydFNpemU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJ0U2l6ZSE6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHBhcnRTaXplPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2V0U2l6ZShwYXJ0U2l6ZSk7XG4gICAgfVxuXG4gICAgc2V0U2l6ZShwYXJ0U2l6ZSA9IDI1KSB7XG4gICAgICAgIGlmIChwYXJ0U2l6ZSAhPT0gdGhpcy5wYXJ0U2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFydFNpemUgPSBwYXJ0U2l6ZTtcbiAgICAgICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWxvYWQoKSB7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhcnRTaXplO1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIG1vcmUoKSB7XG4gICAgICAgIHRoaXMucGFnZVNpemUgKz0gdGhpcy5wYXJ0U2l6ZTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5wYWdlLm5leHQoe1xuICAgICAgICAgICAgcGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxuICAgICAgICAgICAgbGVuZ3RoOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { unknownToString } from '../../value/utils/unknown-to-string';\nimport { valueToString } from '../../value/utils/value-to-string';\nexport function tableToCsvObject(cols, displayedData) {\n const data = Array.from(displayedData.values()).map((columnData) => columnData.map((v) => v.value));\n const res = [\n cols\n .map((v) => {\n const res = valueToString(v);\n return [res, `${res} (description)`];\n })\n .flat(),\n ...data.map((r) => r.map((c) => [valueToString(c), unknownToString(c?.description)]).flat()),\n ];\n // Removing empty description columns (every second column)\n let emptyCols = [];\n for (let i = 1; i < res[0].length; i += 2 // description - every second column\n ) {\n let isEmpty = true;\n for (let j = 1; // ignore header row\n j < res.length; ++j) {\n if (res[j][i]) {\n isEmpty = false;\n break;\n }\n }\n if (isEmpty) {\n emptyCols.push(i);\n }\n }\n emptyCols = emptyCols.reverse();\n for (const i of emptyCols) {\n for (let j = 0; j < res.length; ++j) {\n res[j].splice(i, 1);\n }\n }\n return res;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdG8tY3N2LW9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3V0aWxzL3RhYmxlLXRvLWNzdi1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUdsRSxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLElBQWEsRUFDYixhQUF1RDtJQUV2RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQy9ELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FDakMsQ0FBQztJQUVGLE1BQU0sR0FBRyxHQUFHO1FBQ1IsSUFBSTthQUNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1AsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxFQUFFO1FBQ1gsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDZCxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDM0U7S0FDSixDQUFDO0lBQ0YsMkRBQTJEO0lBQzNELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNuQixLQUNJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDVCxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDakIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxvQ0FBb0M7TUFDN0MsQ0FBQztRQUNDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixLQUNJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxvQkFBb0I7U0FDL0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQ2QsRUFBRSxDQUFDLEVBQ0wsQ0FBQztZQUNDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1osT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDaEIsTUFBTTtZQUNWLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hDLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlIH0gZnJvbSAnLi4vLi4vdmFsdWUnO1xuaW1wb3J0IHsgdW5rbm93blRvU3RyaW5nIH0gZnJvbSAnLi4vLi4vdmFsdWUvdXRpbHMvdW5rbm93bi10by1zdHJpbmcnO1xuaW1wb3J0IHsgdmFsdWVUb1N0cmluZyB9IGZyb20gJy4uLy4uL3ZhbHVlL3V0aWxzL3ZhbHVlLXRvLXN0cmluZyc7XG5pbXBvcnQgeyBDb2x1bW5EYXRhLCBEaXNwbGF5ZWREYXRhSXRlbSB9IGZyb20gJy4uL3V0aWxzL3RvLWNvbHVtbnMtZGF0YSc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVRvQ3N2T2JqZWN0PFQgZXh0ZW5kcyBvYmplY3QsIEMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGNvbHM6IFZhbHVlW10sXG4gICAgZGlzcGxheWVkRGF0YTogTWFwPERpc3BsYXllZERhdGFJdGVtPFQsIEM+LCBDb2x1bW5EYXRhPixcbik6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tKGRpc3BsYXllZERhdGEudmFsdWVzKCkpLm1hcCgoY29sdW1uRGF0YSkgPT5cbiAgICAgICAgY29sdW1uRGF0YS5tYXAoKHYpID0+IHYudmFsdWUpLFxuICAgICk7XG5cbiAgICBjb25zdCByZXMgPSBbXG4gICAgICAgIGNvbHNcbiAgICAgICAgICAgIC5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSB2YWx1ZVRvU3RyaW5nKHYpO1xuICAgICAgICAgICAgICAgIHJldHVybiBbcmVzLCBgJHtyZXN9IChkZXNjcmlwdGlvbilgXTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmxhdCgpLFxuICAgICAgICAuLi5kYXRhLm1hcCgocikgPT5cbiAgICAgICAgICAgIHIubWFwKChjKSA9PiBbdmFsdWVUb1N0cmluZyhjKSwgdW5rbm93blRvU3RyaW5nKGM/LmRlc2NyaXB0aW9uKV0pLmZsYXQoKSxcbiAgICAgICAgKSxcbiAgICBdO1xuICAgIC8vIFJlbW92aW5nIGVtcHR5IGRlc2NyaXB0aW9uIGNvbHVtbnMgKGV2ZXJ5IHNlY29uZCBjb2x1bW4pXG4gICAgbGV0IGVtcHR5Q29scyA9IFtdO1xuICAgIGZvciAoXG4gICAgICAgIGxldCBpID0gMTtcbiAgICAgICAgaSA8IHJlc1swXS5sZW5ndGg7XG4gICAgICAgIGkgKz0gMiAvLyBkZXNjcmlwdGlvbiAtIGV2ZXJ5IHNlY29uZCBjb2x1bW5cbiAgICApIHtcbiAgICAgICAgbGV0IGlzRW1wdHkgPSB0cnVlO1xuICAgICAgICBmb3IgKFxuICAgICAgICAgICAgbGV0IGogPSAxOyAvLyBpZ25vcmUgaGVhZGVyIHJvd1xuICAgICAgICAgICAgaiA8IHJlcy5sZW5ndGg7XG4gICAgICAgICAgICArK2pcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAocmVzW2pdW2ldKSB7XG4gICAgICAgICAgICAgICAgaXNFbXB0eSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0VtcHR5KSB7XG4gICAgICAgICAgICBlbXB0eUNvbHMucHVzaChpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbXB0eUNvbHMgPSBlbXB0eUNvbHMucmV2ZXJzZSgpO1xuICAgIGZvciAoY29uc3QgaSBvZiBlbXB0eUNvbHMpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCByZXMubGVuZ3RoOyArK2opIHtcbiAgICAgICAgICAgIHJlc1tqXS5zcGxpY2UoaSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbiJdfQ==","import { isEqual } from 'lodash-es';\nimport { combineLatest, of, scan, switchMap, timer } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\nfunction getValue(cellFn, ...[value, idx]) {\n return cellFn ? cellFn(value, idx).pipe(toScannedValue) : of(null);\n}\nfunction toScannedValue(src$) {\n return src$.pipe(shareReplay({\n bufferSize: 1,\n refCount: true,\n }));\n}\nexport function toObservableColumnsData(src$) {\n return src$.pipe(scan((acc, { isTree, data, cols }) => {\n const isColsNotChanged = acc.cols === cols;\n return {\n res: new Map(isTree\n ? data.map((d, idx) => [\n d,\n isColsNotChanged &&\n d === acc.data[idx] &&\n // This is not the last value, because we need to calculate isNextChild\n idx !== acc.data.length - 1\n ? acc.res.get(d)\n : new Map(cols.map((c) => [\n c,\n {\n value: d.child && c.child\n ? getValue(c.child, d.child, idx)\n : d.value\n ? getValue(c.cell, d.value, idx)\n : of({ value: '' }),\n // TODO add support of lazyValue\n isChild: !d.value,\n isNextChild: !data[idx + 1]?.value,\n },\n ])),\n ])\n : data.map((d, idx) => [\n d,\n isColsNotChanged && d === acc.data[idx]\n ? acc.res.get(d)\n : new Map(cols.map((c) => [\n c,\n {\n value: getValue(c.cell, d, idx),\n lazyValue: c.lazyCell\n ? c.lazyCell(d, idx).pipe(toScannedValue)\n : undefined,\n },\n ])),\n ])),\n data,\n cols,\n };\n }, { data: [], cols: [], res: new Map() }), map(({ res }) => res));\n}\nexport function toColumnsData(src$) {\n return src$.pipe(switchMap((columnsData) => {\n if (!columnsData.size) {\n return of(new Map());\n }\n return combineLatest(Array.from(columnsData.values()).map((v) => combineLatest(Array.from(v.values()).map((cell) => timer(0).pipe(switchMap(() => cell.value), distinctUntilChanged(isEqual)))).pipe(debounceTime(0)))).pipe(debounceTime(0), map((res) => new Map(Array.from(columnsData.entries()).map(([k, v], idx) => [\n k,\n Array.from(v.values()).map((cell, colIdx) => ({\n ...cell,\n value: res[idx][colIdx],\n })),\n ]))));\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tY29sdW1ucy1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdXRpbHMvdG8tY29sdW1ucy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFjLGFBQWEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF5QnRGLFNBQVMsUUFBUSxDQUNiLE1BQXdELEVBQ3hELEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFnQjtJQUU5QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsSUFBdUI7SUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNaLFdBQVcsQ0FBQztRQUNSLFVBQVUsRUFBRSxDQUFDO1FBQ2IsUUFBUSxFQUFFLElBQUk7S0FDakIsQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxJQUEwRjtJQUUxRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQ1osSUFBSSxDQUNBLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENB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Q2hCLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdkMsYUFBYSxDQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDaEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDVCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUMzQixvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FDaEMsQ0FDSixDQUNKLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxQixDQUNKLENBQUMsSUFBSSxDQUNGLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDZixHQUFHLENBQ0MsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNKLElBQUksR0FBRyxDQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxHQUFHLElBQUk7Z0JBQ1AsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDMUIsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUNMLENBQ1IsQ0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mLCBzY2FuLCBzd2l0Y2hNYXAsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3ZlcndyaXRlIH0gZnJvbSAndXRpbGl0eS10eXBlcyc7XG5cbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnLi4vLi4vdmFsdWUnO1xuaW1wb3J0IHsgVHJlZUlubGluZURhdGEsIFRyZWVJbmxpbmVEYXRhSXRlbSB9IGZyb20gJy4uL3RyZWUtZGF0YSc7XG5pbXBvcnQgeyBDZWxsRm5BcmdzLCBGbiwgTm9ybUNvbHVtbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgRGlzcGxheWVkRGF0YUl0ZW08VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdD4gPSBUcmVlSW5saW5lRGF0YUl0ZW08VCwgQz4gfCBUO1xuZXhwb3J0IHR5cGUgRGlzcGxheWVkRGF0YTxUIGV4dGVuZHMgb2JqZWN0LCBDIGV4dGVuZHMgb2JqZWN0PiA9IFRyZWVJbmxpbmVEYXRhPFQsIEM+IHwgVFtdO1xuXG5leHBvcnQgdHlwZSBDb2x1bW5EYXRhSXRlbSA9IHtcbiAgICB2YWx1ZTogVmFsdWUgfCBudWxsO1xuICAgIGxhenlWYWx1ZT86IE9ic2VydmFibGU8VmFsdWU+O1xuICAgIGlzQ2hpbGQ/OiBib29sZWFuO1xuICAgIGlzTmV4dENoaWxkPzogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBDb2x1bW5EYXRhID0gQ29sdW1uRGF0YUl0ZW1bXTtcblxudHlwZSBTY2FuQ29sdW1uRGF0YUl0ZW0gPSBPdmVyd3JpdGU8Q29sdW1uRGF0YUl0ZW0sIHsgdmFsdWU6IE9ic2VydmFibGU8VmFsdWUgfCBudWxsPiB9PjtcbnR5cGUgU2NhbkNvbHVtbkRhdGE8VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdD4gPSBNYXA8Tm9ybUNvbHVtbjxULCBDPiwgU2NhbkNvbHVtbkRhdGFJdGVtPjtcbnR5cGUgQ29sdW1uRGF0YU1hcDxUIGV4dGVuZHMgb2JqZWN0LCBDIGV4dGVuZHMgb2JqZWN0PiA9IE1hcDxcbiAgICBEaXNwbGF5ZWREYXRhSXRlbTxULCBDPixcbiAgICBTY2FuQ29sdW1uRGF0YTxULCBDPlxuPjtcblxuZnVuY3Rpb24gZ2V0VmFsdWU8VCBleHRlbmRzIG9iamVjdD4oXG4gICAgY2VsbEZuOiBGbjxPYnNlcnZhYmxlPFZhbHVlPiwgQ2VsbEZuQXJnczxUPj4gfCB1bmRlZmluZWQsXG4gICAgLi4uW3ZhbHVlLCBpZHhdOiBDZWxsRm5BcmdzPFQ+XG4pIHtcbiAgICByZXR1cm4gY2VsbEZuID8gY2VsbEZuKHZhbHVlLCBpZHgpLnBpcGUodG9TY2FubmVkVmFsdWUpIDogb2YobnVsbCk7XG59XG5cbmZ1bmN0aW9uIHRvU2Nhbm5lZFZhbHVlKHNyYyQ6IE9ic2VydmFibGU8VmFsdWU+KSB7XG4gICAgcmV0dXJuIHNyYyQucGlwZShcbiAgICAgICAgc2hhcmVSZXBsYXkoe1xuICAgICAgICAgICAgYnVmZmVyU2l6ZTogMSxcbiAgICAgICAgICAgIHJlZkNvdW50OiB0cnVlLFxuICAgICAgICB9KSxcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9PYnNlcnZhYmxlQ29sdW1uc0RhdGE8VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdD4oXG4gICAgc3JjJDogT2JzZXJ2YWJsZTx7IGlzVHJlZTogYm9vbGVhbjsgZGF0YTogRGlzcGxheWVkRGF0YTxULCBDPjsgY29sczogTm9ybUNvbHVtbjxULCBDPltdIH0+LFxuKTogT2JzZXJ2YWJsZTxDb2x1bW5EYXRhTWFwPFQsIEM+PiB7XG4gICAgcmV0dXJuIHNyYyQucGlwZShcbiAgICAgICAgc2NhbihcbiAgICAgICAgICAgIChhY2MsIHsgaXNUcmVlLCBkYXRhLCBjb2xzIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0NvbHNOb3RDaGFuZ2VkID0gYWNjLmNvbHMgPT09IGNvbHM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzOiBuZXcgTWFwPFRyZWVJbmxpbmVEYXRhSXRlbTxULCBDPiB8IFQsIFNjYW5Db2x1bW5EYXRhPFQsIEM+PihcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzVHJlZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKGRhdGEgYXMgVHJlZUlubGluZURhdGE8VCwgQz4pLm1hcCgoZCwgaWR4KSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NvbHNOb3RDaGFuZ2VkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9PT0gYWNjLmRhdGFbaWR4XSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgbm90IHRoZSBsYXN0IHZhbHVlLCBiZWNhdXNlIHdlIG5lZWQgdG8gY2FsY3VsYXRlIGlzTmV4dENoaWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4ICE9PSBhY2MuZGF0YS5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gKGFjYy5yZXMuZ2V0KGQpIGFzIFNjYW5Db2x1bW5EYXRhPFQsIEM+KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5ldyBNYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHMubWFwKChjKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLmNoaWxkICYmIGMuY2hpbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZ2V0VmFsdWUoYy5jaGlsZCwgZC5jaGlsZCwgaWR4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBkLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZ2V0VmFsdWUoYy5jZWxsLCBkLnZhbHVlLCBpZHgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogb2YoeyB2YWx1ZTogJycgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETyBhZGQgc3VwcG9ydCBvZiBsYXp5VmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NoaWxkOiAhZC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc05leHRDaGlsZDogIShkYXRhIGFzIFRyZWVJbmxpbmVEYXRhPFQsIEM+KVtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4ICsgMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoZGF0YSBhcyBUW10pLm1hcCgoZCwgaWR4KSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NvbHNOb3RDaGFuZ2VkICYmIGQgPT09IGFjYy5kYXRhW2lkeF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoYWNjLnJlcy5nZXQoZCkgYXMgU2NhbkNvbHVtbkRhdGE8VCwgQz4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbmV3IE1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29scy5tYXAoKGMpID0+IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGdldFZhbHVlKGMuY2VsbCwgZCwgaWR4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXp5VmFsdWU6IGMubGF6eUNlbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBjLmxhenlDZWxsKGQsIGlkeCkucGlwZSh0b1NjYW5uZWRWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICAgIGNvbHMsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGRhdGE6IFtdLCBjb2xzOiBbXSwgcmVzOiBuZXcgTWFwKCkgfSBhcyB7XG4gICAgICAgICAgICAgICAgZGF0YTogRGlzcGxheWVkRGF0YTxULCBDPjtcbiAgICAgICAgICAgICAgICBjb2xzOiBOb3JtQ29sdW1uPFQsIEM+W107XG4gICAgICAgICAgICAgICAgcmVzOiBDb2x1bW5EYXRhTWFwPFQsIEM+O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKCh7IHJlcyB9KSA9PiByZXMpLFxuICAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0NvbHVtbnNEYXRhPFQgZXh0ZW5kcyBvYmplY3QsIEMgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIHNyYyQ6IE9ic2VydmFibGU8Q29sdW1uRGF0YU1hcDxULCBDPj4sXG4pOiBPYnNlcnZhYmxlPE1hcDxEaXNwbGF5ZWREYXRhSXRlbTxULCBDPiwgQ29sdW1uRGF0YT4+IHtcbiAgICByZXR1cm4gc3JjJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGNvbHVtbnNEYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbHVtbnNEYXRhLnNpemUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobmV3IE1hcCgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgICAgIEFycmF5LmZyb20oY29sdW1uc0RhdGEudmFsdWVzKCkpLm1hcCgodikgPT5cbiAgICAgICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LmZyb20odi52YWx1ZXMoKSkubWFwKChjZWxsKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyKDApLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBjZWxsLnZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICkucGlwZShkZWJvdW5jZVRpbWUoMCkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDApLFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKHJlcykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBNYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuZnJvbShjb2x1bW5zRGF0YS5lbnRyaWVzKCkpLm1hcCgoW2ssIHZdLCBpZHgpID0+IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgayxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuZnJvbSh2LnZhbHVlcygpKS5tYXAoKGNlbGwsIGNvbElkeCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNlbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzW2lkeF1bY29sSWR4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgKTtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, booleanAttribute, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class NoRecordsComponent {\n constructor() {\n this.noRecords = input(false, { transform: booleanAttribute });\n this.progress = input(false, { transform: booleanAttribute });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NoRecordsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: NoRecordsComponent, isStandalone: true, selector: \"v-no-records\", inputs: { noRecords: { classPropertyName: \"noRecords\", publicName: \"noRecords\", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n @if (noRecords()) {\n <div class=\"no-records mat-body-large\">\n {{ progress() ? 'Loading...' : 'No records' }}\n </div>\n }\n `, isInline: true, styles: [\".no-records{position:absolute;z-index:999;top:calc(50% + 28px);left:50%;transform:translate(-50%) translateY(-50%)}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NoRecordsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-no-records', template: `\n @if (noRecords()) {\n <div class=\"no-records mat-body-large\">\n {{ progress() ? 'Loading...' : 'No records' }}\n </div>\n }\n `, changeDetection: ChangeDetectionStrategy.OnPush, imports: [], styles: [\".no-records{position:absolute;z-index:999;top:calc(50% + 28px);left:50%;transform:translate(-50%) translateY(-50%)}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcmVjb3Jkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL25vLXJlY29yZHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXVCNUYsTUFBTSxPQUFPLGtCQUFrQjtJQXJCL0I7UUFzQkksY0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztLQUM1RDs4R0FIWSxrQkFBa0I7a0dBQWxCLGtCQUFrQix5VkFuQmpCOzs7Ozs7S0FNVDs7MkZBYVEsa0JBQWtCO2tCQXJCOUIsU0FBUzsrQkFDSSxjQUFjLFlBQ2Q7Ozs7OztLQU1ULG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBib29sZWFuQXR0cmlidXRlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Ytbm8tcmVjb3JkcycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGlmIChub1JlY29yZHMoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vLXJlY29yZHMgbWF0LWJvZHktbGFyZ2VcIj5cbiAgICAgICAgICAgICAgICB7eyBwcm9ncmVzcygpID8gJ0xvYWRpbmcuLi4nIDogJ05vIHJlY29yZHMnIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW10sXG4gICAgc3R5bGVzOiBgXG4gICAgICAgIC5uby1yZWNvcmRzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgKyAoNTZweCAvIDIpKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTm9SZWNvcmRzQ29tcG9uZW50IHtcbiAgICBub1JlY29yZHMgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgcHJvZ3Jlc3MgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG59XG4iXX0=","import { Observable } from 'rxjs';\nexport function createIntersectionObserver(el) {\n return new Observable((subscriber) => {\n const observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n subscriber.next(entry);\n }\n }\n });\n observer.observe(el);\n return {\n unsubscribe() {\n observer.disconnect();\n },\n };\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWludGVyc2VjdGlvbi1vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3V0aWxzL2NyZWF0ZS1pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxNQUFNLFVBQVUsMEJBQTBCLENBQUMsRUFBZTtJQUN0RCxPQUFPLElBQUksVUFBVSxDQUE0QixDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzVELE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUMxQixJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsT0FBTztZQUNILFdBQVc7Z0JBQ1AsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzFCLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZWw6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+KChzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGVudHJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGVsKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iXX0=","import { DestroyRef, Directive, ElementRef, booleanAttribute, inject, input, output, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { filter } from 'rxjs/operators';\nimport { createIntersectionObserver } from '../utils/create-intersection-observer';\nimport * as i0 from \"@angular/core\";\nexport class InfinityScrollDirective {\n constructor() {\n this.elementRef = inject(ElementRef);\n this.dr = inject(DestroyRef);\n this.vInfinityScroll = input(false, { transform: booleanAttribute });\n this.vInfinityScrollMore = output();\n }\n ngOnInit() {\n createIntersectionObserver(this.elementRef.nativeElement)\n .pipe(filter(() => this.vInfinityScroll()), takeUntilDestroyed(this.dr))\n .subscribe(() => {\n this.vInfinityScrollMore.emit();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InfinityScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: InfinityScrollDirective, isStandalone: true, selector: \"[vInfinityScroll]\", inputs: { vInfinityScroll: { classPropertyName: \"vInfinityScroll\", publicName: \"vInfinityScroll\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { vInfinityScrollMore: \"vInfinityScrollMore\" }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InfinityScrollDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[vInfinityScroll]',\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5maW5pdHktc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvaW5maW5pdHktc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBRVYsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFNbkYsTUFBTSxPQUFPLHVCQUF1QjtJQUpwQztRQUtZLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLHdCQUFtQixHQUFHLE1BQU0sRUFBRSxDQUFDO0tBWWxDO0lBVkcsUUFBUTtRQUNKLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO2FBQ3BELElBQUksQ0FDRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLEVBQ3BDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDOUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0FmUSx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGNyZWF0ZUludGVyc2VjdGlvbk9ic2VydmVyIH0gZnJvbSAnLi4vdXRpbHMvY3JlYXRlLWludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZJbmZpbml0eVNjcm9sbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEluZmluaXR5U2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSBkciA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICB2SW5maW5pdHlTY3JvbGwgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgdkluZmluaXR5U2Nyb2xsTW9yZSA9IG91dHB1dCgpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNyZWF0ZUludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMudkluZmluaXR5U2Nyb2xsKCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudkluZmluaXR5U2Nyb2xsTW9yZS5lbWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=","import { Directive, inject, input, viewChild } from '@angular/core';\nimport { MatCellDef, MatColumnDef, MatFooterCellDef, MatHeaderCellDef, MatTable, } from '@angular/material/table';\nimport * as i0 from \"@angular/core\";\nexport class BaseColumnComponent {\n constructor() {\n this.name = input.required();\n this.table = inject(MatTable);\n this.columnDef = viewChild(MatColumnDef);\n this.cellDef = viewChild(MatCellDef);\n this.headerCellDef = viewChild(MatHeaderCellDef);\n this.footerCellDef = viewChild(MatFooterCellDef);\n }\n ngOnInit() {\n const columnDef = this.columnDef();\n if (columnDef) {\n columnDef.name = this.name();\n columnDef.cell = this.cellDef();\n columnDef.headerCell = this.headerCellDef();\n columnDef.footerCell = this.footerCellDef();\n this.removeColumnDef();\n this.table.addColumnDef(columnDef);\n this.addedColumnDef = columnDef;\n }\n }\n ngOnDestroy() {\n this.removeColumnDef();\n }\n removeColumnDef() {\n if (this.table && this.addedColumnDef) {\n this.table.removeColumnDef(this.addedColumnDef);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: BaseColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.5\", type: BaseColumnComponent, isStandalone: true, inputs: { name: { classPropertyName: \"name\", publicName: \"name\", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: \"columnDef\", first: true, predicate: MatColumnDef, descendants: true, isSignal: true }, { propertyName: \"cellDef\", first: true, predicate: MatCellDef, descendants: true, isSignal: true }, { propertyName: \"headerCellDef\", first: true, predicate: MatHeaderCellDef, descendants: true, isSignal: true }, { propertyName: \"footerCellDef\", first: true, predicate: MatFooterCellDef, descendants: true, isSignal: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: BaseColumnComponent, decorators: [{\n type: Directive\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy9iYXNlLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixRQUFRLEdBQ1gsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHakMsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVJLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDaEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QixjQUFTLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsa0JBQWEsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBMEIvQztJQXRCRyxRQUFRO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLElBQUksU0FBUyxFQUFFLENBQUM7WUFDWixTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQVcsQ0FBQztZQUN6QyxTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQVcsQ0FBQztZQUNyRCxTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQVcsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxlQUFlO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDOzhHQWhDUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5TkFJTixZQUFZLDBGQUNkLFVBQVUsZ0dBQ0osZ0JBQWdCLGdHQUNoQixnQkFBZ0I7OzJGQVBqQyxtQkFBbUI7a0JBRC9CLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0LCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTWF0Q2VsbERlZixcbiAgICBNYXRDb2x1bW5EZWYsXG4gICAgTWF0Rm9vdGVyQ2VsbERlZixcbiAgICBNYXRIZWFkZXJDZWxsRGVmLFxuICAgIE1hdFRhYmxlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEJhc2VDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgbmFtZSA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICB0YWJsZSA9IGluamVjdChNYXRUYWJsZSk7XG5cbiAgICBjb2x1bW5EZWYgPSB2aWV3Q2hpbGQoTWF0Q29sdW1uRGVmKTtcbiAgICBjZWxsRGVmID0gdmlld0NoaWxkKE1hdENlbGxEZWYpO1xuICAgIGhlYWRlckNlbGxEZWYgPSB2aWV3Q2hpbGQoTWF0SGVhZGVyQ2VsbERlZik7XG4gICAgZm9vdGVyQ2VsbERlZiA9IHZpZXdDaGlsZChNYXRGb290ZXJDZWxsRGVmKTtcblxuICAgIGFkZGVkQ29sdW1uRGVmPzogTWF0Q29sdW1uRGVmO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGNvbHVtbkRlZiA9IHRoaXMuY29sdW1uRGVmKCk7XG4gICAgICAgIGlmIChjb2x1bW5EZWYpIHtcbiAgICAgICAgICAgIGNvbHVtbkRlZi5uYW1lID0gdGhpcy5uYW1lKCk7XG4gICAgICAgICAgICBjb2x1bW5EZWYuY2VsbCA9IHRoaXMuY2VsbERlZigpIGFzIG5ldmVyO1xuICAgICAgICAgICAgY29sdW1uRGVmLmhlYWRlckNlbGwgPSB0aGlzLmhlYWRlckNlbGxEZWYoKSBhcyBuZXZlcjtcbiAgICAgICAgICAgIGNvbHVtbkRlZi5mb290ZXJDZWxsID0gdGhpcy5mb290ZXJDZWxsRGVmKCkgYXMgbmV2ZXI7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZUNvbHVtbkRlZigpO1xuICAgICAgICAgICAgdGhpcy50YWJsZS5hZGRDb2x1bW5EZWYoY29sdW1uRGVmKTtcbiAgICAgICAgICAgIHRoaXMuYWRkZWRDb2x1bW5EZWYgPSBjb2x1bW5EZWY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDb2x1bW5EZWYoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUNvbHVtbkRlZigpIHtcbiAgICAgICAgaWYgKHRoaXMudGFibGUgJiYgdGhpcy5hZGRlZENvbHVtbkRlZikge1xuICAgICAgICAgICAgdGhpcy50YWJsZS5yZW1vdmVDb2x1bW5EZWYodGhpcy5hZGRlZENvbHVtbkRlZik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { SelectionModel } from '@angular/cdk/collections';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, inject, input, model, } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatTableModule } from '@angular/material/table';\nimport { combineLatest } from 'rxjs';\nimport { map, shareReplay, startWith } from 'rxjs/operators';\nimport { arrayAttribute } from '../../../utils';\nimport { BaseColumnComponent } from './base-column.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/table\";\nimport * as i3 from \"@angular/material/checkbox\";\nexport class SelectColumnComponent extends BaseColumnComponent {\n constructor() {\n super(...arguments);\n this.dr = inject(DestroyRef);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.selected = model([]);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this.data = input([], { transform: arrayAttribute });\n this.progress = input(false);\n this.selection = new SelectionModel(true, []);\n this.isAllSelected$ = combineLatest([\n this.selection.changed.pipe(startWith(null)),\n toObservable(this.data),\n ]).pipe(map(() => this.getIsAllSelected()), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n ngOnInit() {\n super.ngOnInit();\n this.selection.changed.pipe(takeUntilDestroyed(this.dr)).subscribe(() => {\n this.selected.set(this.selection.selected);\n });\n }\n ngOnChanges(changes) {\n if (changes.data || changes.selected) {\n this.updateSelection();\n }\n }\n toggleAllRows() {\n if (this.getIsAllSelected()) {\n this.selection.clear(true);\n return;\n }\n this.selection.select(...this.data());\n }\n getIsAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.data().length;\n return numSelected === numRows;\n }\n updateSelection() {\n const newSelected = (this.selected() || []).filter((d) => !!this.data()?.includes?.(d));\n this.selection.deselect(...this.selection.selected.filter((s) => !newSelected.includes(s)));\n this.selection.select(...newSelected);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.5\", type: SelectColumnComponent, isStandalone: true, selector: \"v-select-column\", inputs: { selected: { classPropertyName: \"selected\", publicName: \"selected\", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: \"selectedChange\" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `\n <ng-container [matColumnDef]=\"name()\" [sticky]=\"true\">\n @let columnClasses = 'column';\n <th *matHeaderCellDef [class]=\"columnClasses\" mat-header-cell>\n <mat-checkbox\n [checked]=\"selection.hasValue() && (isAllSelected$ | async)\"\n [disabled]=\"!!progress() || !data()?.length\"\n [indeterminate]=\"selection.hasValue() && !(isAllSelected$ | async)\"\n (change)=\"$event ? toggleAllRows() : null\"\n >\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let row\" [class]=\"columnClasses\" mat-cell>\n <mat-checkbox\n [checked]=\"selection.isSelected(row)\"\n [disabled]=\"!!progress()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n (click)=\"$event.stopPropagation()\"\n >\n </mat-checkbox>\n </td>\n <td *matFooterCellDef [class]=\"columnClasses\" mat-footer-cell>\n <mat-checkbox disabled></mat-checkbox>\n </td>\n </ng-container>\n `, isInline: true, styles: [\".column{padding-left:4px;padding-right:4px;width:48px;border-right:1px solid;text-overflow:clip}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: MatTableModule }, { kind: \"directive\", type: i2.MatHeaderCellDef, selector: \"[matHeaderCellDef]\" }, { kind: \"directive\", type: i2.MatColumnDef, selector: \"[matColumnDef]\", inputs: [\"matColumnDef\"] }, { kind: \"directive\", type: i2.MatCellDef, selector: \"[matCellDef]\" }, { kind: \"directive\", type: i2.MatFooterCellDef, selector: \"[matFooterCellDef]\" }, { kind: \"directive\", type: i2.MatHeaderCell, selector: \"mat-header-cell, th[mat-header-cell]\" }, { kind: \"directive\", type: i2.MatCell, selector: \"mat-cell, td[mat-cell]\" }, { kind: \"directive\", type: i2.MatFooterCell, selector: \"mat-footer-cell, td[mat-footer-cell]\" }, { kind: \"ngmodule\", type: MatCheckboxModule }, { kind: \"component\", type: i3.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"aria-expanded\", \"aria-controls\", \"aria-owns\", \"id\", \"required\", \"labelPosition\", \"name\", \"value\", \"disableRipple\", \"tabIndex\", \"color\", \"disabledInteractive\", \"checked\", \"disabled\", \"indeterminate\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectColumnComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-select-column', template: `\n <ng-container [matColumnDef]=\"name()\" [sticky]=\"true\">\n @let columnClasses = 'column';\n <th *matHeaderCellDef [class]=\"columnClasses\" mat-header-cell>\n <mat-checkbox\n [checked]=\"selection.hasValue() && (isAllSelected$ | async)\"\n [disabled]=\"!!progress() || !data()?.length\"\n [indeterminate]=\"selection.hasValue() && !(isAllSelected$ | async)\"\n (change)=\"$event ? toggleAllRows() : null\"\n >\n </mat-checkbox>\n </th>\n <td *matCellDef=\"let row\" [class]=\"columnClasses\" mat-cell>\n <mat-checkbox\n [checked]=\"selection.isSelected(row)\"\n [disabled]=\"!!progress()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n (click)=\"$event.stopPropagation()\"\n >\n </mat-checkbox>\n </td>\n <td *matFooterCellDef [class]=\"columnClasses\" mat-footer-cell>\n <mat-checkbox disabled></mat-checkbox>\n </td>\n </ng-container>\n `, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, MatTableModule, MatCheckboxModule], styles: [\".column{padding-left:4px;padding-right:4px;width:48px;border-right:1px solid;text-overflow:clip}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3NlbGVjdC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUlWLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RCxPQUFPLEVBQTZDLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQTBDOUQsTUFBTSxPQUFPLHFCQUNULFNBQVEsbUJBQW1CO0lBekMvQjs7UUE0Q1ksT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyw4REFBOEQ7UUFDOUQsYUFBUSxHQUFHLEtBQUssQ0FBUSxFQUFFLENBQUMsQ0FBQztRQUM1Qiw4REFBOEQ7UUFDOUQsU0FBSSxHQUFHLEtBQUssQ0FBb0MsRUFB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QUN0QyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgbW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBcnJheUF0dHJpYnV0ZVRyYW5zZm9ybSwgQ29tcG9uZW50Q2hhbmdlcywgYXJyYXlBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IEJhc2VDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1zZWxlY3QtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwibmFtZSgpXCIgW3N0aWNreV09XCJ0cnVlXCI+XG4gICAgICAgICAgICBAbGV0IGNvbHVtbkNsYXNzZXMgPSAnY29sdW1uJztcbiAgICAgICAgICAgIDx0aCAqbWF0SGVhZGVyQ2VsbERlZiBbY2xhc3NdPVwiY29sdW1uQ2xhc3Nlc1wiIG1hdC1oZWFkZXItY2VsbD5cbiAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIChpc0FsbFNlbGVjdGVkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIXByb2dyZXNzKCkgfHwgIWRhdGEoKT8ubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIShpc0FsbFNlbGVjdGVkJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gdG9nZ2xlQWxsUm93cygpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0ZCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbY2xhc3NdPVwiY29sdW1uQ2xhc3Nlc1wiIG1hdC1jZWxsPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhIXByb2dyZXNzKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi50b2dnbGUocm93KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkICptYXRGb290ZXJDZWxsRGVmIFtjbGFzc109XCJjb2x1bW5DbGFzc2VzXCIgbWF0LWZvb3Rlci1jZWxsPlxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggZGlzYWJsZWQ+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFRhYmxlTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZV0sXG4gICAgc3R5bGVzOiBgXG4gICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICAgICAgfVxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbHVtbkNvbXBvbmVudDxUPlxuICAgIGV4dGVuZHMgQmFzZUNvbHVtbkNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICAgIHByaXZhdGUgZHIgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzZWxlY3RlZCA9IG1vZGVsPGFueVtdPihbXSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBkYXRhID0gaW5wdXQ8VFtdLCBBcnJheUF0dHJpYnV0ZVRyYW5zZm9ybTxhbnk+PihbXSwgeyB0cmFuc2Zvcm06IGFycmF5QXR0cmlidXRlIH0pO1xuICAgIHByb2dyZXNzID0gaW5wdXQ8Ym9vbGVhbiB8IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ+KGZhbHNlKTtcblxuICAgIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxUPih0cnVlLCBbXSk7XG4gICAgaXNBbGxTZWxlY3RlZCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2hhbmdlZC5waXBlKHN0YXJ0V2l0aChudWxsKSksXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmRhdGEpLFxuICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldElzQWxsU2VsZWN0ZWQoKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZHIpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5zZXQodGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBDb21wb25lbnRDaGFuZ2VzPFNlbGVjdENvbHVtbkNvbXBvbmVudDxUPj4pIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZGF0YSB8fCBjaGFuZ2VzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlQWxsUm93cygpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0SXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcih0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QoLi4udGhpcy5kYXRhKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SXNBbGxTZWxlY3RlZCgpIHtcbiAgICAgICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGEoKS5sZW5ndGg7XG4gICAgICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdGlvbigpIHtcbiAgICAgICAgY29uc3QgbmV3U2VsZWN0ZWQgPSAodGhpcy5zZWxlY3RlZCgpIHx8IFtdKS5maWx0ZXIoKGQpID0+ICEhdGhpcy5kYXRhKCk/LmluY2x1ZGVzPy4oZCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5kZXNlbGVjdCguLi50aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5maWx0ZXIoKHMpID0+ICFuZXdTZWxlY3RlZC5pbmNsdWRlcyhzKSkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QoLi4ubmV3U2VsZWN0ZWQpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, output } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTableModule } from '@angular/material/table';\nimport { BaseColumnComponent } from './base-column.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/table\";\nimport * as i2 from \"@angular/material/icon\";\nexport class DndColumnComponent extends BaseColumnComponent {\n constructor() {\n super(...arguments);\n this.dragged = output();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DndColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: DndColumnComponent, isStandalone: true, selector: \"v-dnd-column\", outputs: { dragged: \"dragged\" }, usesInheritance: true, ngImport: i0, template: `\n <ng-container [matColumnDef]=\"name()\" [sticky]=\"true\">\n @let columnClasses = 'column';\n <th *matHeaderCellDef [class]=\"columnClasses\" mat-header-cell></th>\n <td *matCellDef=\"let row\" [class]=\"columnClasses\" mat-cell>\n <div class=\"position\">\n <mat-icon class=\"dragCursor\" (mousedown)=\"dragged.emit()\">reorder</mat-icon>\n <!-- <span>{{ index + 1 }}</span>-->\n </div>\n </td>\n <td *matFooterCellDef [class]=\"columnClasses\" mat-footer-cell>\n <div class=\"position\">\n <mat-icon class=\"dragCursor\">reorder</mat-icon>\n </div>\n </td>\n </ng-container>\n `, isInline: true, styles: [\".column .position{display:flex;align-items:center;gap:8px}.column .position .dragCursor{cursor:move}\\n\"], dependencies: [{ kind: \"ngmodule\", type: MatTableModule }, { kind: \"directive\", type: i1.MatHeaderCellDef, selector: \"[matHeaderCellDef]\" }, { kind: \"directive\", type: i1.MatColumnDef, selector: \"[matColumnDef]\", inputs: [\"matColumnDef\"] }, { kind: \"directive\", type: i1.MatCellDef, selector: \"[matCellDef]\" }, { kind: \"directive\", type: i1.MatFooterCellDef, selector: \"[matFooterCellDef]\" }, { kind: \"directive\", type: i1.MatHeaderCell, selector: \"mat-header-cell, th[mat-header-cell]\" }, { kind: \"directive\", type: i1.MatCell, selector: \"mat-cell, td[mat-cell]\" }, { kind: \"directive\", type: i1.MatFooterCell, selector: \"mat-footer-cell, td[mat-footer-cell]\" }, { kind: \"ngmodule\", type: MatIconModule }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DndColumnComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-dnd-column', template: `\n <ng-container [matColumnDef]=\"name()\" [sticky]=\"true\">\n @let columnClasses = 'column';\n <th *matHeaderCellDef [class]=\"columnClasses\" mat-header-cell></th>\n <td *matCellDef=\"let row\" [class]=\"columnClasses\" mat-cell>\n <div class=\"position\">\n <mat-icon class=\"dragCursor\" (mousedown)=\"dragged.emit()\">reorder</mat-icon>\n <!-- <span>{{ index + 1 }}</span>-->\n </div>\n </td>\n <td *matFooterCellDef [class]=\"columnClasses\" mat-footer-cell>\n <div class=\"position\">\n <mat-icon class=\"dragCursor\">reorder</mat-icon>\n </div>\n </td>\n </ng-container>\n `, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatTableModule, MatIconModule], styles: [\".column .position{display:flex;align-items:center;gap:8px}.column .position .dragCursor{cursor:move}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL2RuZC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFxQzlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUFuQzNEOztRQW9DSSxZQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7S0FDdEI7OEdBRlksa0JBQWtCO2tHQUFsQixrQkFBa0IsZ0lBakNqQjs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCwrS0FFUyxjQUFjLDJuQkFBRSxhQUFhOzsyRkFlOUIsa0JBQWtCO2tCQW5DOUIsU0FBUzsrQkFDSSxjQUFjLFlBQ2Q7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcblxuaW1wb3J0IHsgQmFzZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LWRuZC1jb2x1bW4nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJuYW1lKClcIiBbc3RpY2t5XT1cInRydWVcIj5cbiAgICAgICAgICAgIEBsZXQgY29sdW1uQ2xhc3NlcyA9ICdjb2x1bW4nO1xuICAgICAgICAgICAgPHRoICptYXRIZWFkZXJDZWxsRGVmIFtjbGFzc109XCJjb2x1bW5DbGFzc2VzXCIgbWF0LWhlYWRlci1jZWxsPjwvdGg+XG4gICAgICAgICAgICA8dGQgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgW2NsYXNzXT1cImNvbHVtbkNsYXNzZXNcIiBtYXQtY2VsbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZHJhZ0N1cnNvclwiIChtb3VzZWRvd24pPVwiZHJhZ2dlZC5lbWl0KClcIj5yZW9yZGVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj57eyBpbmRleCArIDEgfX08L3NwYW4+LS0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkICptYXRGb290ZXJDZWxsRGVmIFtjbGFzc109XCJjb2x1bW5DbGFzc2VzXCIgbWF0LWZvb3Rlci1jZWxsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkcmFnQ3Vyc29yXCI+cmVvcmRlcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtNYXRUYWJsZU1vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXG4gICAgc3R5bGVzOiBgXG4gICAgICAgIC5jb2x1bW4ge1xuICAgICAgICAgICAgLnBvc2l0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZ2FwOiA4cHg7XG5cbiAgICAgICAgICAgICAgICAuZHJhZ0N1cnNvciB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBgLFxufSlcbmV4cG9ydCBjbGFzcyBEbmRDb2x1bW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29sdW1uQ29tcG9uZW50IHtcbiAgICBkcmFnZ2VkID0gb3V0cHV0KCk7XG59XG4iXX0=","import { Component, DestroyRef, booleanAttribute, computed, inject, input, numberAttribute, output, } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormControl } from '@angular/forms';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/icon\";\nimport * as i2 from \"@angular/material/tooltip\";\nimport * as i3 from \"@angular/material/button\";\nimport * as i4 from \"../../../input-field/input-field.component\";\nimport * as i5 from \"../../../actions/actions.component\";\nimport * as i6 from \"@angular/material/badge\";\nimport * as i7 from \"@angular/forms\";\nimport * as i8 from \"../../../tag/tag.component\";\nexport class TableInfoBarComponent {\n constructor() {\n this.dr = inject(DestroyRef);\n this.progress = input(false, { transform: booleanAttribute });\n this.hasMore = input(false, { transform: booleanAttribute });\n this.hasLoad = input(false, { transform: booleanAttribute });\n this.isPreload = input(false, { transform: booleanAttribute });\n this.noDownload = input(false, { transform: booleanAttribute });\n this.noToolbar = input(false, { transform: booleanAttribute });\n this.dataProgress = input(false, { transform: booleanAttribute });\n this.columns = input([]);\n this.size = input(0, { transform: numberAttribute });\n this.preloadSize = input(0, { transform: numberAttribute });\n this.count = input(undefined);\n this.filteredCount = input(0);\n this.selectedCount = input(0);\n this.filter = input('');\n this.filterChange = output();\n this.filterControl = new FormControl('', { nonNullable: true });\n this.standaloneFilter = input(false, { transform: booleanAttribute });\n this.hasInputs = input(false, { transform: booleanAttribute });\n this.downloadCsv = output();\n // eslint-disable-next-line @angular-eslint/no-output-native\n this.load = output();\n this.preload = output();\n this.countText = computed(() => this.count()\n ? (this.filter() && this.filteredCount() !== this.count()\n ? this.filteredCount() + '/'\n : '') +\n (this.hasMore() ? '>' : '') +\n this.count()\n : this.progress() || this.count() !== 0\n ? '...'\n : '0');\n }\n ngOnInit() {\n this.filterControl.valueChanges.pipe(takeUntilDestroyed(this.dr)).subscribe((v) => {\n this.filterChange.emit(v);\n });\n if (this.filterControl.value !== this.filter()) {\n this.filterControl.setValue(this.filter(), { emitEvent: false });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableInfoBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: TableInfoBarComponent, isStandalone: false, selector: \"v-table-info-bar\", inputs: { progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null }, hasMore: { classPropertyName: \"hasMore\", publicName: \"hasMore\", isSignal: true, isRequired: false, transformFunction: null }, hasLoad: { classPropertyName: \"hasLoad\", publicName: \"hasLoad\", isSignal: true, isRequired: false, transformFunction: null }, isPreload: { classPropertyName: \"isPreload\", publicName: \"isPreload\", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: \"noDownload\", publicName: \"noDownload\", isSignal: true, isRequired: false, transformFunction: null }, noToolbar: { classPropertyName: \"noToolbar\", publicName: \"noToolbar\", isSignal: true, isRequired: false, transformFunction: null }, dataProgress: { classPropertyName: \"dataProgress\", publicName: \"dataProgress\", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: \"columns\", publicName: \"columns\", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, preloadSize: { classPropertyName: \"preloadSize\", publicName: \"preloadSize\", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: \"count\", publicName: \"count\", isSignal: true, isRequired: false, transformFunction: null }, filteredCount: { classPropertyName: \"filteredCount\", publicName: \"filteredCount\", isSignal: true, isRequired: false, transformFunction: null }, selectedCount: { classPropertyName: \"selectedCount\", publicName: \"selectedCount\", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: \"filter\", publicName: \"filter\", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: \"standaloneFilter\", publicName: \"standaloneFilter\", isSignal: true, isRequired: false, transformFunction: null }, hasInputs: { classPropertyName: \"hasInputs\", publicName: \"hasInputs\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filterChange: \"filterChange\", downloadCsv: \"downloadCsv\", load: \"load\", preload: \"preload\" }, ngImport: i0, template: \"<div class=\\\"wrapper\\\">\\n @if (standaloneFilter()) {\\n <div class=\\\"header-wrapper\\\">\\n @if (hasInputs()) {\\n <ng-content select=\\\"v-table-inputs\\\"></ng-content>\\n }\\n <v-input-field [formControl]=\\\"filterControl\\\" cleanButton label=\\\"Search\\\"></v-input-field>\\n </div>\\n }\\n <v-actions>\\n <v-actions>\\n @if (!noToolbar()) {\\n @if (!standaloneFilter()) {\\n <div>\\n <v-input-field\\n [formControl]=\\\"filterControl\\\"\\n appearance=\\\"outline\\\"\\n class=\\\"filter filter__extended\\\"\\n cleanButton\\n icon=\\\"manage_search\\\"\\n label=\\\"Search\\\"\\n size=\\\"small\\\"\\n ></v-input-field>\\n </div>\\n }\\n <div class=\\\"details\\\">\\n @if (hasLoad() || hasMore()) {\\n <button\\n [disabled]=\\\"progress() || !hasMore()\\\"\\n mat-icon-button\\n matTooltip=\\\"Preload {{ preloadSize() }}{{\\n isPreload() && hasMore() ? ' more' : ''\\n }} elements\\\"\\n (click)=\\\"preload.emit()\\\"\\n >\\n <mat-icon>\\n {{\\n hasMore()\\n ? isPreload()\\n ? 'downloading'\\n : 'download'\\n : 'download_done'\\n }}\\n </mat-icon>\\n </button>\\n }\\n @if (!noDownload()) {\\n <button\\n [disabled]=\\\"progress() || !count()\\\"\\n mat-icon-button\\n matTooltip=\\\"Download CSV\\\"\\n (click)=\\\"downloadCsv.emit()\\\"\\n >\\n <mat-icon>file_save</mat-icon>\\n </button>\\n }\\n <!-- <button mat-icon-button matTooltip=\\\"Customize table\\\" (click)=\\\"tune()\\\">\\n <mat-icon>tune</mat-icon>\\n </button> -->\\n </div>\\n }\\n <div\\n [matBadge]=\\\"selectedCount() || ''\\\"\\n [matBadgeDisabled]=\\\"progress() || dataProgress()\\\"\\n [matTooltip]=\\\"\\n dataProgress()\\n ? 'Preparing data for sorting, filtering and downloading...'\\n : progress()\\n ? 'Loading...'\\n : hasLoad()\\n ? 'Reload ' + size() + ' elements'\\n : ''\\n \\\"\\n class=\\\"count\\\"\\n (click)=\\\"hasLoad() ? load.emit() : undefined\\\"\\n >\\n <v-tag\\n [icon]=\\\"hasLoad() ? 'refresh' : undefined\\\"\\n [progress]=\\\"progress() || dataProgress()\\\"\\n >\\n {{ countText() }}\\n </v-tag>\\n </div>\\n </v-actions>\\n <v-actions>\\n <ng-content></ng-content>\\n </v-actions>\\n </v-actions>\\n</div>\\n\", styles: [\".wrapper{display:flex;flex-direction:column;gap:24px}.inputs{display:none}.inputs:not(:empty){display:block}.header-wrapper{display:flex;gap:16px}::ng-deep .header-wrapper>*{flex:1}.header-wrapper ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}.details{display:flex;align-items:center}.details ::ng-deep button{margin:-6px 0}.count{align-self:anchor-center}.filter__extended{max-width:200px}.filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\\n\"], dependencies: [{ kind: \"component\", type: i1.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"directive\", type: i2.MatTooltip, selector: \"[matTooltip]\", inputs: [\"matTooltipPosition\", \"matTooltipPositionAtOrigin\", \"matTooltipDisabled\", \"matTooltipShowDelay\", \"matTooltipHideDelay\", \"matTooltipTouchGestures\", \"matTooltip\", \"matTooltipClass\"], exportAs: [\"matTooltip\"] }, { kind: \"component\", type: i3.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i4.InputFieldComponent, selector: \"v-input-field\", inputs: [\"label\", \"placeholder\", \"type\", \"appearance\", \"size\", \"cleanButton\", \"icon\", \"hintText\"] }, { kind: \"component\", type: i5.ActionsComponent, selector: \"v-actions\" }, { kind: \"directive\", type: i6.MatBadge, selector: \"[matBadge]\", inputs: [\"matBadgeColor\", \"matBadgeOverlap\", \"matBadgeDisabled\", \"matBadgePosition\", \"matBadge\", \"matBadgeDescription\", \"matBadgeSize\", \"matBadgeHidden\"] }, { kind: \"directive\", type: i7.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i7.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"component\", type: i8.TagComponent, selector: \"v-tag\", inputs: [\"color\", \"icon\", \"progress\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableInfoBarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-table-info-bar', standalone: false, template: \"<div class=\\\"wrapper\\\">\\n @if (standaloneFilter()) {\\n <div class=\\\"header-wrapper\\\">\\n @if (hasInputs()) {\\n <ng-content select=\\\"v-table-inputs\\\"></ng-content>\\n }\\n <v-input-field [formControl]=\\\"filterControl\\\" cleanButton label=\\\"Search\\\"></v-input-field>\\n </div>\\n }\\n <v-actions>\\n <v-actions>\\n @if (!noToolbar()) {\\n @if (!standaloneFilter()) {\\n <div>\\n <v-input-field\\n [formControl]=\\\"filterControl\\\"\\n appearance=\\\"outline\\\"\\n class=\\\"filter filter__extended\\\"\\n cleanButton\\n icon=\\\"manage_search\\\"\\n label=\\\"Search\\\"\\n size=\\\"small\\\"\\n ></v-input-field>\\n </div>\\n }\\n <div class=\\\"details\\\">\\n @if (hasLoad() || hasMore()) {\\n <button\\n [disabled]=\\\"progress() || !hasMore()\\\"\\n mat-icon-button\\n matTooltip=\\\"Preload {{ preloadSize() }}{{\\n isPreload() && hasMore() ? ' more' : ''\\n }} elements\\\"\\n (click)=\\\"preload.emit()\\\"\\n >\\n <mat-icon>\\n {{\\n hasMore()\\n ? isPreload()\\n ? 'downloading'\\n : 'download'\\n : 'download_done'\\n }}\\n </mat-icon>\\n </button>\\n }\\n @if (!noDownload()) {\\n <button\\n [disabled]=\\\"progress() || !count()\\\"\\n mat-icon-button\\n matTooltip=\\\"Download CSV\\\"\\n (click)=\\\"downloadCsv.emit()\\\"\\n >\\n <mat-icon>file_save</mat-icon>\\n </button>\\n }\\n <!-- <button mat-icon-button matTooltip=\\\"Customize table\\\" (click)=\\\"tune()\\\">\\n <mat-icon>tune</mat-icon>\\n </button> -->\\n </div>\\n }\\n <div\\n [matBadge]=\\\"selectedCount() || ''\\\"\\n [matBadgeDisabled]=\\\"progress() || dataProgress()\\\"\\n [matTooltip]=\\\"\\n dataProgress()\\n ? 'Preparing data for sorting, filtering and downloading...'\\n : progress()\\n ? 'Loading...'\\n : hasLoad()\\n ? 'Reload ' + size() + ' elements'\\n : ''\\n \\\"\\n class=\\\"count\\\"\\n (click)=\\\"hasLoad() ? load.emit() : undefined\\\"\\n >\\n <v-tag\\n [icon]=\\\"hasLoad() ? 'refresh' : undefined\\\"\\n [progress]=\\\"progress() || dataProgress()\\\"\\n >\\n {{ countText() }}\\n </v-tag>\\n </div>\\n </v-actions>\\n <v-actions>\\n <ng-content></ng-content>\\n </v-actions>\\n </v-actions>\\n</div>\\n\", styles: [\".wrapper{display:flex;flex-direction:column;gap:24px}.inputs{display:none}.inputs:not(:empty){display:block}.header-wrapper{display:flex;gap:16px}::ng-deep .header-wrapper>*{flex:1}.header-wrapper ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}.details{display:flex;align-items:center}.details ::ng-deep button{margin:-6px 0}.count{align-self:anchor-center}.filter__extended{max-width:200px}.filter ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaW5mby1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1pbmZvLWJhci90YWJsZS1pbmZvLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWluZm8tYmFyL3RhYmxlLWluZm8tYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUVWLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBQ2YsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVU3QyxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBT1ksT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekQsWUFBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELFlBQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4RCxjQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFB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cUJBQXFCO2tHQUFyQixxQkFBcUIsd3dFQ3RCbEMsMm1IQXlGQTs7MkZEbkVhLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxrQkFBa0IsY0FHaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgT25Jbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgY29tcHV0ZWQsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBvdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5vcm1Db2x1bW4gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi10YWJsZS1pbmZvLWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICd0YWJsZS1pbmZvLWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICd0YWJsZS1pbmZvLWJhci5jb21wb25lbnQuc2NzcycsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlSW5mb0JhckNvbXBvbmVudDxUIGV4dGVuZHMgb2JqZWN0LCBDIGV4dGVuZHMgb2JqZWN0PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBkciA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcm9ncmVzcyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgICBoYXNNb3JlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIGhhc0xvYWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgaXNQcmVsb2FkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIG5vRG93bmxvYWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgbm9Ub29sYmFyID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIGRhdGFQcm9ncmVzcyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgICBjb2x1bW5zID0gaW5wdXQ8Tm9ybUNvbHVtbjxULCBDPltdPihbXSk7XG5cbiAgICBzaXplID0gaW5wdXQoMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgICBwcmVsb2FkU2l6ZSA9IGlucHV0KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgICBjb3VudCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw+KHVuZGVmaW5lZCk7XG4gICAgZmlsdGVyZWRDb3VudCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw+KDApO1xuICAgIHNlbGVjdGVkQ291bnQgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsPigwKTtcblxuICAgIGZpbHRlciA9IGlucHV0PHN0cmluZz4oJycpO1xuICAgIGZpbHRlckNoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG4gICAgZmlsdGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcblxuICAgIHN0YW5kYWxvbmVGaWx0ZXIgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgaGFzSW5wdXRzID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgZG93bmxvYWRDc3YgPSBvdXRwdXQoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgICBsb2FkID0gb3V0cHV0KCk7XG4gICAgcHJlbG9hZCA9IG91dHB1dCgpO1xuXG4gICAgY291bnRUZXh0ID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5jb3VudCgpXG4gICAgICAgICAgICA/ICh0aGlzLmZpbHRlcigpICYmIHRoaXMuZmlsdGVyZWRDb3VudCgpICE9PSB0aGlzLmNvdW50KClcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5maWx0ZXJlZENvdW50KCkgKyAnLydcbiAgICAgICAgICAgICAgICAgIDogJycpICtcbiAgICAgICAgICAgICAgKHRoaXMuaGFzTW9yZSgpID8gJz4nIDogJycpICtcbiAgICAgICAgICAgICAgdGhpcy5jb3VudCgpXG4gICAgICAgICAgICA6IHRoaXMucHJvZ3Jlc3MoKSB8fCB0aGlzLmNvdW50KCkgIT09IDBcbiAgICAgICAgICAgICAgPyAnLi4uJ1xuICAgICAgICAgICAgICA6ICcwJyxcbiAgICApO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcikpLnN1YnNjcmliZSgodikgPT4ge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh2KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlckNvbnRyb2wudmFsdWUgIT09IHRoaXMuZmlsdGVyKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZpbHRlcigpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB0dW5lKCkge1xuICAgIC8vICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihDdXN0b21pemVDb21wb25lbnQsIHsgY29sdW1uczogdGhpcy5jb2x1bW5zKCkgfSk7XG4gICAgLy8gfVxufVxuIiwiPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICBAaWYgKHN0YW5kYWxvbmVGaWx0ZXIoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIEBpZiAoaGFzSW5wdXRzKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ2LXRhYmxlLWlucHV0c1wiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDx2LWlucHV0LWZpZWxkIFtmb3JtQ29udHJvbF09XCJmaWx0ZXJDb250cm9sXCIgY2xlYW5CdXR0b24gbGFiZWw9XCJTZWFyY2hcIj48L3YtaW5wdXQtZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8di1hY3Rpb25zPlxuICAgICAgICA8di1hY3Rpb25zPlxuICAgICAgICAgICAgQGlmICghbm9Ub29sYmFyKCkpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCFzdGFuZGFsb25lRmlsdGVyKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2LWlucHV0LWZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpbHRlckNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZpbHRlciBmaWx0ZXJfX2V4dGVuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJtYW5hZ2Vfc2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3YtaW5wdXQtZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGhhc0xvYWQoKSB8fCBoYXNNb3JlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvZ3Jlc3MoKSB8fCAhaGFzTW9yZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiUHJlbG9hZCB7eyBwcmVsb2FkU2l6ZSgpIH19e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQcmVsb2FkKCkgJiYgaGFzTW9yZSgpID8gJyBtb3JlJyA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX0gZWxlbWVudHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmVsb2FkLmVtaXQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzTW9yZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc1ByZWxvYWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdkb3dubG9hZGluZydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZG93bmxvYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZG93bmxvYWRfZG9uZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmICghbm9Eb3dubG9hZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByb2dyZXNzKCkgfHwgIWNvdW50KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEb3dubG9hZCBDU1ZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZENzdi5lbWl0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX3NhdmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiQ3VzdG9taXplIHRhYmxlXCIgKGNsaWNrKT1cInR1bmUoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnR1bmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gLS0+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW21hdEJhZGdlXT1cInNlbGVjdGVkQ291bnQoKSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgW21hdEJhZGdlRGlzYWJsZWRdPVwicHJvZ3Jlc3MoKSB8fCBkYXRhUHJvZ3Jlc3MoKVwiXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGFQcm9ncmVzcygpXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdQcmVwYXJpbmcgZGF0YSBmb3Igc29ydGluZywgZmlsdGVyaW5nIGFuZCBkb3dubG9hZGluZy4uLidcbiAgICAgICAgICAgICAgICAgICAgICAgIDogcHJvZ3Jlc3MoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdMb2FkaW5nLi4uJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGhhc0xvYWQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ1JlbG9hZCAnICsgc2l6ZSgpICsgJyBlbGVtZW50cydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvdW50XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFzTG9hZCgpID8gbG9hZC5lbWl0KCkgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx2LXRhZ1xuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJoYXNMb2FkKCkgPyAncmVmcmVzaCcgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3MoKSB8fCBkYXRhUHJvZ3Jlc3MoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb3VudFRleHQoKSB9fVxuICAgICAgICAgICAgICAgIDwvdi10YWc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC92LWFjdGlvbnM+XG4gICAgICAgIDx2LWFjdGlvbnM+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvdi1hY3Rpb25zPlxuICAgIDwvdi1hY3Rpb25zPlxuPC9kaXY+XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DestroyRef, ElementRef, Injector, ViewChild, booleanAttribute, computed, inject, input, model, numberAttribute, output, runInInjectionContext, signal, } from '@angular/core';\nimport { outputFromObservable, takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { MatSort } from '@angular/material/sort';\nimport { MatRow, MatTable } from '@angular/material/table';\nimport { BehaviorSubject, Subject, combineLatest, debounceTime, defer, first, forkJoin, merge, switchMap, take, tap, } from 'rxjs';\nimport { delay, distinctUntilChanged, filter, map, share, shareReplay, startWith, } from 'rxjs/operators';\nimport { arrayAttribute, createCsv, downloadFile } from '../../utils';\nimport { TableInputsComponent } from './components/table-inputs.component';\nimport { COLUMN_DEFS, DEBOUNCE_TIME_MS, DEFAULT_LOADED_LAZY_ROWS_COUNT, DEFAULT_SORT, } from './consts';\nimport { NormColumn } from './types';\nimport { columnsDataToFilterSearchData, filterData, sortData } from './utils/filter-sort';\nimport { TableDataSource } from './utils/table-data-source';\nimport { tableToCsvObject } from './utils/table-to-csv-object';\nimport { toColumnsData, toObservableColumnsData, } from './utils/to-columns-data';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/table\";\nimport * as i3 from \"@angular/material/card\";\nimport * as i4 from \"../value/value.component\";\nimport * as i5 from \"./components/no-records.component\";\nimport * as i6 from \"../content-loading/content-loading.component\";\nimport * as i7 from \"./components/infinity-scroll.directive\";\nimport * as i8 from \"./components/select-column.component\";\nimport * as i9 from \"@angular/material/sort\";\nimport * as i10 from \"@angular/cdk/drag-drop\";\nimport * as i11 from \"./components/dnd-column.component\";\nimport * as i12 from \"./components/table-info-bar/table-info-bar.component\";\nimport * as i13 from \"./components/table-inputs.component\";\nexport class TableComponent {\n constructor() {\n this.dr = inject(DestroyRef);\n this.injector = inject(Injector);\n this.cdr = inject(ChangeDetectorRef);\n this.data = input([], { transform: arrayAttribute });\n this.treeData = input();\n this.columns = input([], {\n transform: arrayAttribute,\n });\n this.progress = input(false, { transform: Boolean });\n this.hasMore = input(false, { transform: booleanAttribute });\n this.size = input(25, { transform: numberAttribute });\n this.maxSize = input(1000, { transform: numberAttribute });\n this.noDownload = input(false, { transform: booleanAttribute });\n this.noToolbar = input(false, { transform: booleanAttribute });\n // Filter\n this.filter = model('');\n this.filter$ = toObservable(this.filter).pipe(map((v) => (v || '').trim()), distinctUntilChanged(), debounceTime(DEBOUNCE_TIME_MS), shareReplay({ refCount: true, bufferSize: 1 }));\n this.standaloneFilter = input(false, { transform: booleanAttribute });\n this.externalFilter = input(false, { transform: booleanAttribute });\n this.filteredSortData$ = new BehaviorSubject(null);\n this.displayedData$ = combineLatest([\n defer(() => this.dataSource.data$),\n this.filteredSortData$.pipe(distinctUntilChanged()),\n defer(() => this.columnsDataProgress$),\n ]).pipe(map(([data, filteredSortData, columnsDataProgress]) => (filteredSortData && !columnsDataProgress ? filteredSortData : data) || []), shareReplay({ refCount: true, bufferSize: 1 }));\n this.displayedCount$ = this.displayedData$.pipe(map((data) => data.length), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));\n // Select\n this.rowSelectable = input(false, { transform: booleanAttribute });\n this.rowSelected = model([]);\n // Sort\n this.sort = model(DEFAULT_SORT);\n // Drag & drop\n this.rowDragDrop = input(false, {\n transform: (v) => {\n if (Array.isArray(v)) {\n return v;\n }\n return booleanAttribute(v);\n },\n });\n this.rowDropped = output();\n this.dragDisabled = true;\n this.update$ = new Subject();\n this.update = outputFromObservable(this.update$);\n this.more = output();\n this.loadedLazyItems = new WeakMap();\n this.dataSource = new TableDataSource();\n this.normColumns = computed(() => this.columns().map((c) => new NormColumn(c)));\n this.displayedNormColumns$ = toObservable(this.normColumns).pipe(switchMap((cols) => combineLatest(cols.map((c) => c.hidden)).pipe(map((c) => cols.filter((_, idx) => !c[idx])))), shareReplay({ refCount: true, bufferSize: 1 }));\n this.columnsData$$ = combineLatest({\n isTree: this.dataSource.isTreeData$,\n data: this.dataSource.data$,\n cols: toObservable(this.normColumns),\n }).pipe(toObservableColumnsData, shareReplay({ refCount: true, bufferSize: 1 }));\n this.columnsDataProgress$ = new BehaviorSubject(false);\n this.columnsData$ = this.columnsData$$.pipe(tap(() => {\n this.columnsDataProgress$.next(true);\n }), toColumnsData, tap(() => {\n this.columnsDataProgress$.next(false);\n }), shareReplay({ refCount: true, bufferSize: 1 }));\n this.isPreload = signal(false);\n this.loadSize = computed(() => (this.isPreload() ? this.maxSize() : this.size()));\n this.hasAutoShowMore$ = combineLatest([\n toObservable(this.hasMore),\n this.dataSource.data$.pipe(map((d) => d?.length)),\n this.displayedCount$,\n this.dataSource.paginator.page.pipe(startWith(null), map(() => this.dataSource.paginator.pageSize)),\n ]).pipe(map(([hasMore, dataCount, displayedDataCount, size]) => (hasMore && displayedDataCount !== 0 && displayedDataCount >= dataCount) ||\n displayedDataCount > size), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));\n this.displayedColumns$ = combineLatest([\n this.displayedNormColumns$,\n toObservable(this.rowSelectable),\n toObservable(this.sort),\n toObservable(this.rowDragDrop),\n ]).pipe(map(([normColumns, rowSelectable, sort, rowDragDrop]) => [\n ...((Array.isArray(rowDragDrop)\n ? sort?.direction && rowDragDrop.includes(sort?.active)\n : rowDragDrop)\n ? [this.columnDefs.drag]\n : []),\n ...(rowSelectable ? [this.columnDefs.select] : []),\n ...normColumns.map((c) => c.field),\n ]), shareReplay({ refCount: true, bufferSize: 1 }));\n this.columnDefs = COLUMN_DEFS;\n }\n ngOnInit() {\n const sort$ = toObservable(this.sort, { injector: this.injector }).pipe(distinctUntilChanged(), share());\n toObservable(this.data, { injector: this.injector })\n .pipe(filter(Boolean), takeUntilDestroyed(this.dr))\n .subscribe((data) => {\n this.dataSource.setData(data);\n });\n toObservable(this.treeData, { injector: this.injector })\n .pipe(filter(Boolean), takeUntilDestroyed(this.dr))\n .subscribe((data) => {\n this.dataSource.setTreeData(data);\n });\n combineLatest([\n this.filter$,\n sort$,\n this.dataSource.data$,\n runInInjectionContext(this.injector, () => this.columnsData$.pipe(columnsDataToFilterSearchData)),\n this.dataSource.isTreeData$,\n toObservable(this.normColumns, { injector: this.injector }),\n toObservable(this.externalFilter, { injector: this.injector }),\n ])\n .pipe(map(([search, sort, source, data, isTreeData, columns, isExternalFilter]) => {\n if (isTreeData) {\n return source;\n }\n const filteredData = !isExternalFilter && search ? filterData(data, search) : source;\n return sortData(filteredData, data, columns, sort);\n }), takeUntilDestroyed(this.dr))\n .subscribe((filtered) => {\n this.updateSortFilter(filtered);\n this.updateLoadedLazyItems(filtered);\n this.cdr.markForCheck();\n });\n merge(this.filter$.pipe(filter(Boolean)), toObservable(this.hasMore, { injector: this.injector }).pipe(filter(Boolean)))\n .pipe(takeUntilDestroyed(this.dr))\n .subscribe(() => {\n this.sort.set(DEFAULT_SORT);\n });\n merge(this.filter$, sort$)\n .pipe(takeUntilDestroyed(this.dr))\n .subscribe(() => {\n this.reset();\n });\n // TODO: 2, 3 column is torn away from the previous one, fixed by calling update\n this.dataSource.data$\n .pipe(filter((v) => !!v?.length), first(), delay(100), takeUntilDestroyed(this.dr))\n .subscribe(() => {\n this.table.updateStickyColumnStyles();\n });\n }\n load() {\n if (this.isPreload()) {\n this.isPreload.set(false);\n }\n this.reload();\n }\n preload() {\n if (!this.isPreload()) {\n this.isPreload.set(true);\n this.reload();\n }\n else if (this.hasMore()) {\n this.more.emit({ size: this.loadSize() });\n }\n }\n showMore() {\n this.dataSource.paginator.more();\n if (this.hasMore() && this.dataSource.paginator.pageSize > this.dataSource.data.length) {\n this.more.emit({ size: this.loadSize() });\n }\n this.refreshTable();\n }\n downloadCsv() {\n this.generateCsvData()\n .pipe(takeUntilDestroyed(this.dr))\n .subscribe((csvData) => {\n downloadFile(csvData, 'csv');\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n drop(event) {\n this.dragDisabled = true;\n this.filteredSortData$.pipe(filter(Boolean), first()).subscribe((data) => {\n const item = event.item.data;\n const { previousIndex, currentIndex } = event;\n const previousData = data;\n const currentData = previousData.slice();\n let currentDataIndex = 0;\n if (previousIndex > currentIndex) {\n currentData.splice(previousIndex, 1);\n currentData.splice(currentIndex, 0, event.item.data);\n currentDataIndex = currentIndex;\n }\n else {\n currentData.splice(currentIndex, 0, event.item.data);\n currentData.splice(previousIndex, 1);\n currentDataIndex = currentIndex - 1;\n }\n this.rowDropped.emit({\n previousIndex,\n currentIndex,\n item,\n previousData,\n currentData,\n currentDataIndex,\n sort: this?.sortComponent,\n });\n });\n }\n generateCsvData() {\n return combineLatest([\n this.displayedNormColumns$.pipe(switchMap((cols) => forkJoin(cols.map((c) => c.header.pipe(take(1)))))),\n this.columnsData$.pipe(take(1)),\n ]).pipe(map(([cols, data]) => createCsv(runInInjectionContext(this.injector, () => tableToCsvObject(cols, data)))));\n }\n reload() {\n this.update$.next({ size: this.loadSize() });\n this.reset();\n }\n updateSortFilter(filtered) {\n this.filteredSortData$.next(filtered);\n this.dataSource.sortData = () => filtered;\n this.dataSource.sort = this.sortComponent;\n }\n reset() {\n this.scrollViewport?.nativeElement?.scrollTo?.({ top: 0 });\n this.dataSource.paginator.reload();\n this.refreshTable();\n }\n // TODO: Refresh table when pagination is updated\n refreshTable() {\n // eslint-disable-next-line no-self-assign\n this.dataSource.data = this.dataSource.data;\n }\n updateLoadedLazyItems(items) {\n const lazyLoadedItems = items.slice(0, DEFAULT_LOADED_LAZY_ROWS_COUNT);\n for (const item of lazyLoadedItems) {\n this.loadedLazyItems.set(item, true);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: TableComponent, isStandalone: false, selector: \"v-table\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null }, treeData: { classPropertyName: \"treeData\", publicName: \"treeData\", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: \"columns\", publicName: \"columns\", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null }, hasMore: { classPropertyName: \"hasMore\", publicName: \"hasMore\", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, maxSize: { classPropertyName: \"maxSize\", publicName: \"maxSize\", isSignal: true, isRequired: false, transformFunction: null }, noDownload: { classPropertyName: \"noDownload\", publicName: \"noDownload\", isSignal: true, isRequired: false, transformFunction: null }, noToolbar: { classPropertyName: \"noToolbar\", publicName: \"noToolbar\", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: \"filter\", publicName: \"filter\", isSignal: true, isRequired: false, transformFunction: null }, standaloneFilter: { classPropertyName: \"standaloneFilter\", publicName: \"standaloneFilter\", isSignal: true, isRequired: false, transformFunction: null }, externalFilter: { classPropertyName: \"externalFilter\", publicName: \"externalFilter\", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: \"rowSelectable\", publicName: \"rowSelectable\", isSignal: true, isRequired: false, transformFunction: null }, rowSelected: { classPropertyName: \"rowSelected\", publicName: \"rowSelected\", isSignal: true, isRequired: false, transformFunction: null }, sort: { classPropertyName: \"sort\", publicName: \"sort\", isSignal: true, isRequired: false, transformFunction: null }, rowDragDrop: { classPropertyName: \"rowDragDrop\", publicName: \"rowDragDrop\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filter: \"filterChange\", rowSelected: \"rowSelectedChange\", sort: \"sortChange\", rowDropped: \"rowDropped\", update: \"update\", more: \"more\" }, queries: [{ propertyName: \"tableInputsContent\", first: true, predicate: TableInputsComponent, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: \"sortComponent\", first: true, predicate: MatSort, descendants: true }, { propertyName: \"scrollViewport\", first: true, predicate: [\"scrollViewport\"], descendants: true, read: ElementRef }, { propertyName: \"table\", first: true, predicate: [\"matTable\"], descendants: true }, { propertyName: \"tableRow\", first: true, predicate: MatRow, descendants: true }], ngImport: i0, template: \"@let columnsData = columnsData$$ | async;\\n\\n<div class=\\\"wrapper\\\">\\n <v-table-info-bar\\n [(filter)]=\\\"filter\\\"\\n [columns]=\\\"normColumns()\\\"\\n [count]=\\\"(dataSource.data$ | async)?.length\\\"\\n [dataProgress]=\\\"!!(columnsDataProgress$ | async) && !hasMore()\\\"\\n [filteredCount]=\\\"displayedCount$ | async\\\"\\n [hasInputs]=\\\"!!tableInputsContent?.nativeElement\\\"\\n [hasLoad]=\\\"update$.observed\\\"\\n [hasMore]=\\\"hasMore()\\\"\\n [isPreload]=\\\"isPreload()\\\"\\n [noDownload]=\\\"noDownload()\\\"\\n [noToolbar]=\\\"noToolbar()\\\"\\n [preloadSize]=\\\"maxSize()\\\"\\n [progress]=\\\"progress()\\\"\\n [selectedCount]=\\\"rowSelected()?.length\\\"\\n [size]=\\\"size()\\\"\\n [standaloneFilter]=\\\"standaloneFilter()\\\"\\n (downloadCsv)=\\\"downloadCsv()\\\"\\n (load)=\\\"load()\\\"\\n (preload)=\\\"preload()\\\"\\n >\\n <ng-content select=\\\"v-table-actions\\\"></ng-content>\\n <v-table-inputs><ng-content select=\\\"v-table-inputs\\\"></ng-content></v-table-inputs>\\n </v-table-info-bar>\\n <mat-card #scrollViewport class=\\\"card\\\">\\n <v-no-records\\n [noRecords]=\\\"!(displayedCount$ | async)\\\"\\n [progress]=\\\"progress()\\\"\\n ></v-no-records>\\n <table\\n #matTable\\n [cdkDropListDisabled]=\\\"dragDisabled\\\"\\n [dataSource]=\\\"dataSource\\\"\\n [matSortActive]=\\\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\\\"\\n [matSortDirection]=\\\"sort().direction\\\"\\n cdkDropList\\n cdkDropListData=\\\"dataSource\\\"\\n mat-table\\n matSort\\n (cdkDropListDropped)=\\\"drop($event)\\\"\\n (matSortChange)=\\\"sort.set($event)\\\"\\n >\\n @let displayedColumns = (displayedColumns$ | async) || [];\\n\\n @if (displayedColumns.includes(columnDefs.drag)) {\\n <v-dnd-column\\n [name]=\\\"columnDefs.drag\\\"\\n (dragged)=\\\"dragDisabled = false\\\"\\n ></v-dnd-column>\\n }\\n @if (displayedColumns.includes(columnDefs.select)) {\\n <v-select-column\\n [(selected)]=\\\"rowSelected\\\"\\n [data]=\\\"displayedData$ | async\\\"\\n [name]=\\\"columnDefs.select\\\"\\n [progress]=\\\"progress()\\\"\\n ></v-select-column>\\n }\\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\\n @let stickyStart = col.params.sticky === 'start';\\n @let stickyEnd = col.params.sticky === 'end';\\n @let columnClasses =\\n {\\n column: true,\\n 'column__sticky-start': stickyStart,\\n 'column__sticky-end': stickyEnd,\\n };\\n <ng-container\\n [matColumnDef]=\\\"col.field\\\"\\n [sticky]=\\\"stickyStart\\\"\\n [stickyEnd]=\\\"stickyEnd\\\"\\n >\\n <th\\n *matHeaderCellDef\\n [disabled]=\\\"(col.sort | async) === false || hasMore() || progress()\\\"\\n [mat-sort-header]=\\\"col.field\\\"\\n [ngClass]=\\\"columnClasses\\\"\\n mat-header-cell\\n >\\n <v-value [value]=\\\"col?.header | async\\\" emptySymbol=\\\"\\\" inline></v-value>\\n </th>\\n\\n <ng-template let-element let-rowIndex=\\\"index\\\" matCellDef>\\n @let cell = columnsData?.get?.(element)?.get(col);\\n <td\\n [ngClass]=\\\"columnClasses\\\"\\n [ngStyle]=\\\"col?.params?.style\\\"\\n [style.border-bottom]=\\\"cell?.isNextChild && !col.child ? 'none' : ''\\\"\\n mat-cell\\n >\\n <v-value\\n [emptySymbol]=\\\"!(cell?.isChild && !col?.child)\\\"\\n [highlight]=\\\"filter$ | async\\\"\\n [lazyValue]=\\\"cell?.lazyValue\\\"\\n [lazyVisible]=\\\"loadedLazyItems.has(element)\\\"\\n [value]=\\\"cell?.value | async\\\"\\n inline\\n (lazyVisibleChange)=\\\"loadedLazyItems.set(element, true)\\\"\\n ></v-value>\\n </td>\\n </ng-template>\\n <td *matFooterCellDef [ngClass]=\\\"columnClasses\\\" mat-footer-cell>\\n <v-content-loading></v-content-loading>\\n </td>\\n </ng-container>\\n }\\n\\n <tr *matHeaderRowDef=\\\"displayedColumns$ | async; sticky: true\\\" mat-header-row></tr>\\n <tr\\n *matRowDef=\\\"let row; columns: displayedColumns$ | async\\\"\\n [cdkDragData]=\\\"row\\\"\\n cdkDrag\\n mat-row\\n ></tr>\\n <tr\\n *matFooterRowDef=\\\"displayedColumns$ | async\\\"\\n [ngClass]=\\\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\\\"\\n [vInfinityScroll]=\\\"!progress()\\\"\\n mat-footer-row\\n (vInfinityScrollMore)=\\\"showMore()\\\"\\n ></tr>\\n </table>\\n </mat-card>\\n</div>\\n\", styles: [\":host{min-height:0}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:max-content;gap:24px;height:100%}.wrapper .card{width:100%;height:100%;min-height:300px;overflow:auto;transform:translateZ(0)}.wrapper .card ::ng-deep .mdc-data-table__row:last-child .mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, rgba(0, 0, 0, .12))!important;border-bottom-width:var(--mat-table-row-item-outline-width, 1px)!important;border-bottom-style:solid!important}table ::ng-deep .cdk-drag-placeholder,::ng-deep .cdk-drag-preview ::ng-deep .cdk-drag-placeholder{background:#eee}table .column,::ng-deep .cdk-drag-preview .column{max-width:max(20px,30vw)}table .column__sticky-start,table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-end{width:0}table .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-start{border-right:1px solid}table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-end{border-left:1px solid}table .row__hidden,::ng-deep .cdk-drag-preview .row__hidden{display:none}::ng-deep .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff!important;display:flex!important;align-items:center}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drop-list-dragging ::ng-deep .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drag-preview ::ng-deep td{border:none!important}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { kind: \"component\", type: i2.MatTable, selector: \"mat-table, table[mat-table]\", exportAs: [\"matTable\"] }, { kind: \"directive\", type: i2.MatHeaderCellDef, selector: \"[matHeaderCellDef]\" }, { kind: \"directive\", type: i2.MatHeaderRowDef, selector: \"[matHeaderRowDef]\", inputs: [\"matHeaderRowDef\", \"matHeaderRowDefSticky\"] }, { kind: \"directive\", type: i2.MatColumnDef, selector: \"[matColumnDef]\", inputs: [\"matColumnDef\"] }, { kind: \"directive\", type: i2.MatCellDef, selector: \"[matCellDef]\" }, { kind: \"directive\", type: i2.MatRowDef, selector: \"[matRowDef]\", inputs: [\"matRowDefColumns\", \"matRowDefWhen\"] }, { kind: \"directive\", type: i2.MatFooterCellDef, selector: \"[matFooterCellDef]\" }, { kind: \"directive\", type: i2.MatFooterRowDef, selector: \"[matFooterRowDef]\", inputs: [\"matFooterRowDef\", \"matFooterRowDefSticky\"] }, { kind: \"directive\", type: i2.MatHeaderCell, selector: \"mat-header-cell, th[mat-header-cell]\" }, { kind: \"directive\", type: i2.MatCell, selector: \"mat-cell, td[mat-cell]\" }, { kind: \"directive\", type: i2.MatFooterCell, selector: \"mat-footer-cell, td[mat-footer-cell]\" }, { kind: \"component\", type: i2.MatHeaderRow, selector: \"mat-header-row, tr[mat-header-row]\", exportAs: [\"matHeaderRow\"] }, { kind: \"component\", type: i2.MatRow, selector: \"mat-row, tr[mat-row]\", exportAs: [\"matRow\"] }, { kind: \"component\", type: i2.MatFooterRow, selector: \"mat-footer-row, tr[mat-footer-row]\", exportAs: [\"matFooterRow\"] }, { kind: \"component\", type: i3.MatCard, selector: \"mat-card\", inputs: [\"appearance\"], exportAs: [\"matCard\"] }, { kind: \"component\", type: i4.ValueComponent, selector: \"v-value\", inputs: [\"value\", \"lazyValue\", \"lazyVisible\", \"progress\", \"inline\", \"emptySymbol\", \"highlight\"], outputs: [\"lazyVisibleChange\"] }, { kind: \"component\", type: i5.NoRecordsComponent, selector: \"v-no-records\", inputs: [\"noRecords\", \"progress\"] }, { kind: \"component\", type: i6.ContentLoadingComponent, selector: \"v-content-loading\", inputs: [\"width\", \"textSize\", \"hiddenText\"] }, { kind: \"directive\", type: i7.InfinityScrollDirective, selector: \"[vInfinityScroll]\", inputs: [\"vInfinityScroll\"], outputs: [\"vInfinityScrollMore\"] }, { kind: \"component\", type: i8.SelectColumnComponent, selector: \"v-select-column\", inputs: [\"selected\", \"data\", \"progress\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: i9.MatSort, selector: \"[matSort]\", inputs: [\"matSortActive\", \"matSortStart\", \"matSortDirection\", \"matSortDisableClear\", \"matSortDisabled\"], outputs: [\"matSortChange\"], exportAs: [\"matSort\"] }, { kind: \"component\", type: i9.MatSortHeader, selector: \"[mat-sort-header]\", inputs: [\"mat-sort-header\", \"arrowPosition\", \"start\", \"disabled\", \"sortActionDescription\", \"disableClear\"], exportAs: [\"matSortHeader\"] }, { kind: \"directive\", type: i10.CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: i10.CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"component\", type: i11.DndColumnComponent, selector: \"v-dnd-column\", outputs: [\"dragged\"] }, { kind: \"component\", type: i12.TableInfoBarComponent, selector: \"v-table-info-bar\", inputs: [\"progress\", \"hasMore\", \"hasLoad\", \"isPreload\", \"noDownload\", \"noToolbar\", \"dataProgress\", \"columns\", \"size\", \"preloadSize\", \"count\", \"filteredCount\", \"selectedCount\", \"filter\", \"standaloneFilter\", \"hasInputs\"], outputs: [\"filterChange\", \"downloadCsv\", \"load\", \"preload\"] }, { kind: \"component\", type: i13.TableInputsComponent, selector: \"v-table-inputs\" }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-table', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: \"@let columnsData = columnsData$$ | async;\\n\\n<div class=\\\"wrapper\\\">\\n <v-table-info-bar\\n [(filter)]=\\\"filter\\\"\\n [columns]=\\\"normColumns()\\\"\\n [count]=\\\"(dataSource.data$ | async)?.length\\\"\\n [dataProgress]=\\\"!!(columnsDataProgress$ | async) && !hasMore()\\\"\\n [filteredCount]=\\\"displayedCount$ | async\\\"\\n [hasInputs]=\\\"!!tableInputsContent?.nativeElement\\\"\\n [hasLoad]=\\\"update$.observed\\\"\\n [hasMore]=\\\"hasMore()\\\"\\n [isPreload]=\\\"isPreload()\\\"\\n [noDownload]=\\\"noDownload()\\\"\\n [noToolbar]=\\\"noToolbar()\\\"\\n [preloadSize]=\\\"maxSize()\\\"\\n [progress]=\\\"progress()\\\"\\n [selectedCount]=\\\"rowSelected()?.length\\\"\\n [size]=\\\"size()\\\"\\n [standaloneFilter]=\\\"standaloneFilter()\\\"\\n (downloadCsv)=\\\"downloadCsv()\\\"\\n (load)=\\\"load()\\\"\\n (preload)=\\\"preload()\\\"\\n >\\n <ng-content select=\\\"v-table-actions\\\"></ng-content>\\n <v-table-inputs><ng-content select=\\\"v-table-inputs\\\"></ng-content></v-table-inputs>\\n </v-table-info-bar>\\n <mat-card #scrollViewport class=\\\"card\\\">\\n <v-no-records\\n [noRecords]=\\\"!(displayedCount$ | async)\\\"\\n [progress]=\\\"progress()\\\"\\n ></v-no-records>\\n <table\\n #matTable\\n [cdkDropListDisabled]=\\\"dragDisabled\\\"\\n [dataSource]=\\\"dataSource\\\"\\n [matSortActive]=\\\"(columnsDataProgress$ | async) || progress() ? '' : sort().active\\\"\\n [matSortDirection]=\\\"sort().direction\\\"\\n cdkDropList\\n cdkDropListData=\\\"dataSource\\\"\\n mat-table\\n matSort\\n (cdkDropListDropped)=\\\"drop($event)\\\"\\n (matSortChange)=\\\"sort.set($event)\\\"\\n >\\n @let displayedColumns = (displayedColumns$ | async) || [];\\n\\n @if (displayedColumns.includes(columnDefs.drag)) {\\n <v-dnd-column\\n [name]=\\\"columnDefs.drag\\\"\\n (dragged)=\\\"dragDisabled = false\\\"\\n ></v-dnd-column>\\n }\\n @if (displayedColumns.includes(columnDefs.select)) {\\n <v-select-column\\n [(selected)]=\\\"rowSelected\\\"\\n [data]=\\\"displayedData$ | async\\\"\\n [name]=\\\"columnDefs.select\\\"\\n [progress]=\\\"progress()\\\"\\n ></v-select-column>\\n }\\n @for (col of displayedNormColumns$ | async; track col; let colIndex = $index) {\\n @let stickyStart = col.params.sticky === 'start';\\n @let stickyEnd = col.params.sticky === 'end';\\n @let columnClasses =\\n {\\n column: true,\\n 'column__sticky-start': stickyStart,\\n 'column__sticky-end': stickyEnd,\\n };\\n <ng-container\\n [matColumnDef]=\\\"col.field\\\"\\n [sticky]=\\\"stickyStart\\\"\\n [stickyEnd]=\\\"stickyEnd\\\"\\n >\\n <th\\n *matHeaderCellDef\\n [disabled]=\\\"(col.sort | async) === false || hasMore() || progress()\\\"\\n [mat-sort-header]=\\\"col.field\\\"\\n [ngClass]=\\\"columnClasses\\\"\\n mat-header-cell\\n >\\n <v-value [value]=\\\"col?.header | async\\\" emptySymbol=\\\"\\\" inline></v-value>\\n </th>\\n\\n <ng-template let-element let-rowIndex=\\\"index\\\" matCellDef>\\n @let cell = columnsData?.get?.(element)?.get(col);\\n <td\\n [ngClass]=\\\"columnClasses\\\"\\n [ngStyle]=\\\"col?.params?.style\\\"\\n [style.border-bottom]=\\\"cell?.isNextChild && !col.child ? 'none' : ''\\\"\\n mat-cell\\n >\\n <v-value\\n [emptySymbol]=\\\"!(cell?.isChild && !col?.child)\\\"\\n [highlight]=\\\"filter$ | async\\\"\\n [lazyValue]=\\\"cell?.lazyValue\\\"\\n [lazyVisible]=\\\"loadedLazyItems.has(element)\\\"\\n [value]=\\\"cell?.value | async\\\"\\n inline\\n (lazyVisibleChange)=\\\"loadedLazyItems.set(element, true)\\\"\\n ></v-value>\\n </td>\\n </ng-template>\\n <td *matFooterCellDef [ngClass]=\\\"columnClasses\\\" mat-footer-cell>\\n <v-content-loading></v-content-loading>\\n </td>\\n </ng-container>\\n }\\n\\n <tr *matHeaderRowDef=\\\"displayedColumns$ | async; sticky: true\\\" mat-header-row></tr>\\n <tr\\n *matRowDef=\\\"let row; columns: displayedColumns$ | async\\\"\\n [cdkDragData]=\\\"row\\\"\\n cdkDrag\\n mat-row\\n ></tr>\\n <tr\\n *matFooterRowDef=\\\"displayedColumns$ | async\\\"\\n [ngClass]=\\\"{ row__hidden: !(hasAutoShowMore$ | async) || !tableRow }\\\"\\n [vInfinityScroll]=\\\"!progress()\\\"\\n mat-footer-row\\n (vInfinityScrollMore)=\\\"showMore()\\\"\\n ></tr>\\n </table>\\n </mat-card>\\n</div>\\n\", styles: [\":host{min-height:0}.wrapper{display:grid;grid-template-columns:1fr;grid-template-rows:max-content;gap:24px;height:100%}.wrapper .card{width:100%;height:100%;min-height:300px;overflow:auto;transform:translateZ(0)}.wrapper .card ::ng-deep .mdc-data-table__row:last-child .mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, rgba(0, 0, 0, .12))!important;border-bottom-width:var(--mat-table-row-item-outline-width, 1px)!important;border-bottom-style:solid!important}table ::ng-deep .cdk-drag-placeholder,::ng-deep .cdk-drag-preview ::ng-deep .cdk-drag-placeholder{background:#eee}table .column,::ng-deep .cdk-drag-preview .column{max-width:max(20px,30vw)}table .column__sticky-start,table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-end{width:0}table .column__sticky-start,::ng-deep .cdk-drag-preview .column__sticky-start{border-right:1px solid}table .column__sticky-end,::ng-deep .cdk-drag-preview .column__sticky-end{border-left:1px solid}table .row__hidden,::ng-deep .cdk-drag-preview .row__hidden{display:none}::ng-deep .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;background:#fff!important;display:flex!important;align-items:center}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drop-list-dragging ::ng-deep .mat-mdc-row:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}::ng-deep .cdk-drag-preview ::ng-deep td{border:none!important}\\n\"] }]\n }], propDecorators: { sortComponent: [{\n type: ViewChild,\n args: [MatSort]\n }], scrollViewport: [{\n type: ViewChild,\n args: ['scrollViewport', { read: ElementRef }]\n }], table: [{\n type: ViewChild,\n args: ['matTable', { static: false }]\n }], tableInputsContent: [{\n type: ContentChild,\n args: [TableInputsComponent, { read: ElementRef }]\n }], tableRow: [{\n type: ViewChild,\n args: [MatRow, { static: false }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLFFBQVEsRUFFUixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxlQUFlLEVBQ2YsTUFBTSxFQUNOLHFCQUFxQixFQUNyQixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQVEsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLGFBQWEsRUFDYixZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNILEtBQUssRUFDTCxvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBMkIsY0FBYyxFQUFFLFNB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bUJBR0YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQW9ERyxhQUFhO3NCQUFoQyxTQUFTO3VCQUFDLE9BQU87Z0JBdUZpQyxjQUFjO3NCQUFoRSxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDUCxLQUFLO3NCQUE5QyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2tCLGtCQUFrQjtzQkFBM0UsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2xCLFFBQVE7c0JBQTdDLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgbW9kZWwsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIG91dHB1dCxcbiAgICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlLCB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFJvdywgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFN1YmplY3QsXG4gICAgY29tYmluZUxhdGVzdCxcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGVmZXIsXG4gICAgZmlyc3QsXG4gICAgZm9ya0pvaW4sXG4gICAgbWVyZ2UsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2UsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGVsYXksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBzaGFyZSxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBzdGFydFdpdGgsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXJyYXlBdHRyaWJ1dGVUcmFuc2Zvcm0sIGFycmF5QXR0cmlidXRlLCBjcmVhdGVDc3YsIGRvd25sb2FkRmlsZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVGFibGVJbnB1dHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtaW5wdXRzLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIENPTFVNTl9ERUZTLFxuICAgIERFQk9VTkNFX1RJTUVfTVMsXG4gICAgREVGQVVMVF9MT0FERURfTEFaWV9ST1dTX0NPVU5ULFxuICAgIERFRkFVTFRfU09SVCxcbn0gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHsgVHJlZURhdGEgfSBmcm9tICcuL3RyZWUtZGF0YSc7XG5pbXBvcnQgeyBDb2x1bW4sIERyYWdEcm9wLCBOb3JtQ29sdW1uLCBVcGRhdGVPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjb2x1bW5zRGF0YVRvRmlsdGVyU2VhcmNoRGF0YSwgZmlsdGVyRGF0YSwgc29ydERhdGEgfSBmcm9tICcuL3V0aWxzL2ZpbHRlci1zb3J0JztcbmltcG9ydCB7IFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vdXRpbHMvdGFibGUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHsgdGFibGVUb0Nzdk9iamVjdCB9IGZyb20gJy4vdXRpbHMvdGFibGUtdG8tY3N2LW9iamVjdCc7XG5pbXBvcnQge1xuICAgIERpc3BsYXllZERhdGEsXG4gICAgRGlzcGxheWVkRGF0YUl0ZW0sXG4gICAgdG9Db2x1bW5zRGF0YSxcbiAgICB0b09ic2VydmFibGVDb2x1bW5zRGF0YSxcbn0gZnJvbSAnLi91dGlscy90by1jb2x1bW5zLWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtdGFibGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQ8VCBleHRlbmRzIG9iamVjdCwgQyBleHRlbmRzIG9iamVjdD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgZHIgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIGRhdGEgPSBpbnB1dDxUW10sIEFycmF5QXR0cmlidXRlVHJhbnNmb3JtPFQ+PihbXSwgeyB0cmFuc2Zvcm06IGFycmF5QXR0cmlidXRlIH0pO1xuICAgIHRyZWVEYXRhID0gaW5wdXQ8VHJlZURhdGE8VCwgQz4+KCk7XG4gICAgY29sdW1ucyA9IGlucHV0PENvbHVtbjxULCBDPltdLCBBcnJheUF0dHJpYnV0ZVRyYW5zZm9ybTxDb2x1bW48VCwgQz4+PihbXSwge1xuICAgICAgICB0cmFuc2Zvcm06IGFycmF5QXR0cmlidXRlLFxuICAgIH0pO1xuICAgIHByb2dyZXNzID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBCb29sZWFuIH0pO1xuICAgIGhhc01vcmUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgc2l6ZSA9IGlucHV0KDI1LCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICAgIG1heFNpemUgPSBpbnB1dCgxMDAwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICAgIG5vRG93bmxvYWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgbm9Ub29sYmFyID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLy8gRmlsdGVyXG4gICAgZmlsdGVyID0gbW9kZWwoJycpO1xuICAgIGZpbHRlciQgPSB0b09ic2VydmFibGUodGhpcy5maWx0ZXIpLnBpcGUoXG4gICAgICAgIG1hcCgodikgPT4gKHYgfHwgJycpLnRyaW0oKSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIGRlYm91bmNlVGltZShERUJPVU5DRV9USU1FX01TKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSxcbiAgICApO1xuICAgIHN0YW5kYWxvbmVGaWx0ZXIgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgZXh0ZXJuYWxGaWx0ZXIgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gICAgZmlsdGVyZWRTb3J0RGF0YSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpc3BsYXllZERhdGE8VCwgQz4gfCBudWxsPihudWxsKTtcbiAgICBkaXNwbGF5ZWREYXRhJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICBkZWZlcigoKSA9PiB0aGlzLmRhdGFTb3VyY2UuZGF0YSQpLFxuICAgICAgICB0aGlzLmZpbHRlcmVkU29ydERhdGEkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgICAgIGRlZmVyKCgpID0+IHRoaXMuY29sdW1uc0RhdGFQcm9ncmVzcyQpLFxuICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICAgIChbZGF0YSwgZmlsdGVyZWRTb3J0RGF0YSwgY29sdW1uc0RhdGFQcm9ncmVzc10pID0+XG4gICAgICAgICAgICAgICAgKGZpbHRlcmVkU29ydERhdGEgJiYgIWNvbHVtbnNEYXRhUHJvZ3Jlc3MgPyBmaWx0ZXJlZFNvcnREYXRhIDogZGF0YSkgfHwgW10sXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcbiAgICBkaXNwbGF5ZWRDb3VudCQgPSB0aGlzLmRpc3BsYXllZERhdGEkLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YS5sZW5ndGgpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG5cbiAgICAvLyBTZWxlY3RcbiAgICByb3dTZWxlY3RhYmxlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICAgIHJvd1NlbGVjdGVkID0gbW9kZWw8RGlzcGxheWVkRGF0YTxULCBDPj4oW10pO1xuXG4gICAgLy8gU29ydFxuICAgIHNvcnQgPSBtb2RlbDxTb3J0PihERUZBVUxUX1NPUlQpO1xuICAgIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydENvbXBvbmVudCE6IE1hdFNvcnQ7XG5cbiAgICAvLyBEcmFnICYgZHJvcFxuICAgIHJvd0RyYWdEcm9wID0gaW5wdXQoZmFsc2UsIHtcbiAgICAgICAgdHJhbnNmb3JtOiAodjogYm9vbGVhbiB8IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGJvb2xlYW5BdHRyaWJ1dGUodik7XG4gICAgICAgIH0sXG4gICAgfSk7XG4gICAgcm93RHJvcHBlZCA9IG91dHB1dDxEcmFnRHJvcDxEaXNwbGF5ZWREYXRhSXRlbTxULCBDPj4+KCk7XG4gICAgZHJhZ0Rpc2FibGVkID0gdHJ1ZTtcblxuICAgIHVwZGF0ZSQgPSBuZXcgU3ViamVjdDxVcGRhdGVPcHRpb25zPigpO1xuICAgIHVwZGF0ZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRoaXMudXBkYXRlJCk7XG4gICAgbW9yZSA9IG91dHB1dDxVcGRhdGVPcHRpb25zPigpO1xuXG4gICAgbG9hZGVkTGF6eUl0ZW1zID0gbmV3IFdlYWtNYXA8RGlzcGxheWVkRGF0YUl0ZW08VCwgQz4sIGJvb2xlYW4+KCk7XG5cbiAgICBkYXRhU291cmNlID0gbmV3IFRhYmxlRGF0YVNvdXJjZTxULCBDPigpO1xuICAgIG5vcm1Db2x1bW5zID0gY29tcHV0ZWQ8Tm9ybUNvbHVtbjxULCBDPltdPigoKSA9PiB0aGlzLmNvbHVtbnMoKS5tYXAoKGMpID0+IG5ldyBOb3JtQ29sdW1uKGMpKSk7XG4gICAgZGlzcGxheWVkTm9ybUNvbHVtbnMkID0gdG9PYnNlcnZhYmxlKHRoaXMubm9ybUNvbHVtbnMpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoY29scykgPT5cbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoY29scy5tYXAoKGMpID0+IGMuaGlkZGVuKSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGMpID0+IGNvbHMuZmlsdGVyKChfLCBpZHgpID0+ICFjW2lkeF0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcbiAgICBjb2x1bW5zRGF0YSQkID0gY29tYmluZUxhdGVzdCh7XG4gICAgICAgIGlzVHJlZTogdGhpcy5kYXRhU291cmNlLmlzVHJlZURhdGEkLFxuICAgICAgICBkYXRhOiB0aGlzLmRhdGFTb3VyY2UuZGF0YSQsXG4gICAgICAgIGNvbHM6IHRvT2JzZXJ2YWJsZSh0aGlzLm5vcm1Db2x1bW5zKSxcbiAgICB9KS5waXBlKHRvT2JzZXJ2YWJsZUNvbHVtbnNEYXRhLCBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pKTtcbiAgICBjb2x1bW5zRGF0YVByb2dyZXNzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGNvbHVtbnNEYXRhJCA9IHRoaXMuY29sdW1uc0RhdGEkJC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zRGF0YVByb2dyZXNzJC5uZXh0KHRydWUpO1xuICAgICAgICB9KSxcbiAgICAgICAgdG9Db2x1bW5zRGF0YSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1uc0RhdGFQcm9ncmVzcyQubmV4dChmYWxzZSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG4gICAgaXNQcmVsb2FkID0gc2lnbmFsKGZhbHNlKTtcbiAgICBsb2FkU2l6ZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlzUHJlbG9hZCgpID8gdGhpcy5tYXhTaXplKCkgOiB0aGlzLnNpemUoKSkpO1xuICAgIGhhc0F1dG9TaG93TW9yZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaGFzTW9yZSksXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhJC5waXBlKG1hcCgoZCkgPT4gZD8ubGVuZ3RoKSksXG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ291bnQkLFxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2UucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2VTaXplKSxcbiAgICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgICAoW2hhc01vcmUsIGRhdGFDb3VudCwgZGlzcGxheWVkRGF0YUNvdW50LCBzaXplXSkgPT5cbiAgICAgICAgICAgICAgICAoaGFzTW9yZSAmJiBkaXNwbGF5ZWREYXRhQ291bnQgIT09IDAgJiYgZGlzcGxheWVkRGF0YUNvdW50ID49IGRhdGFDb3VudCkgfHxcbiAgICAgICAgICAgICAgICBkaXNwbGF5ZWREYXRhQ291bnQgPiBzaXplLFxuICAgICAgICApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG5cbiAgICBkaXNwbGF5ZWRDb2x1bW5zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRpc3BsYXllZE5vcm1Db2x1bW5zJCxcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMucm93U2VsZWN0YWJsZSksXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnNvcnQpLFxuICAgICAgICB0b09ic2VydmFibGUodGhpcy5yb3dEcmFnRHJvcCksXG4gICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbbm9ybUNvbHVtbnMsIHJvd1NlbGVjdGFibGUsIHNvcnQsIHJvd0RyYWdEcm9wXSkgPT4gW1xuICAgICAgICAgICAgLi4uKChcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHJvd0RyYWdEcm9wKVxuICAgICAgICAgICAgICAgICAgICA/IHNvcnQ/LmRpcmVjdGlvbiAmJiByb3dEcmFnRHJvcC5pbmNsdWRlcyhzb3J0Py5hY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgIDogcm93RHJhZ0Ryb3BcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA/IFt0aGlzLmNvbHVtbkRlZnMuZHJhZ11cbiAgICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAgIC4uLihyb3dTZWxlY3RhYmxlID8gW3RoaXMuY29sdW1uRGVmcy5zZWxlY3RdIDogW10pLFxuICAgICAgICAgICAgLi4ubm9ybUNvbHVtbnMubWFwKChjKSA9PiBjLmZpZWxkKSxcbiAgICAgICAgXSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcbiAgICBjb2x1bW5EZWZzID0gQ09MVU1OX0RFRlM7XG5cbiAgICBAVmlld0NoaWxkKCdzY3JvbGxWaWV3cG9ydCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzY3JvbGxWaWV3cG9ydCE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbWF0VGFibGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFibGUhOiBNYXRUYWJsZTxUPjtcbiAgICBAQ29udGVudENoaWxkKFRhYmxlSW5wdXRzQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgdGFibGVJbnB1dHNDb250ZW50ITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKE1hdFJvdywgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlUm93ITogRWxlbWVudFJlZjtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBzb3J0JCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnNvcnQsIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSkucGlwZShcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzaGFyZSgpLFxuICAgICAgICApO1xuXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmRhdGEsIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSlcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZHIpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXREYXRhKGRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLnRyZWVEYXRhLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc2V0VHJlZURhdGEoZGF0YSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmZpbHRlciQsXG4gICAgICAgICAgICBzb3J0JCxcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhJCxcbiAgICAgICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLmluamVjdG9yLCAoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuY29sdW1uc0RhdGEkLnBpcGUoY29sdW1uc0RhdGFUb0ZpbHRlclNlYXJjaERhdGEpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5pc1RyZWVEYXRhJCxcbiAgICAgICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm5vcm1Db2x1bW5zLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pLFxuICAgICAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuZXh0ZXJuYWxGaWx0ZXIsIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSksXG4gICAgICAgIF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtzZWFyY2gsIHNvcnQsIHNvdXJjZSwgZGF0YSwgaXNUcmVlRGF0YSwgY29sdW1ucywgaXNFeHRlcm5hbEZpbHRlcl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzVHJlZURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhOiBEaXNwbGF5ZWREYXRhPFQsIEM+ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICFpc0V4dGVybmFsRmlsdGVyICYmIHNlYXJjaCA/IGZpbHRlckRhdGEoZGF0YSwgc2VhcmNoKSA6IHNvdXJjZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvcnREYXRhKGZpbHRlcmVkRGF0YSwgZGF0YSwgY29sdW1ucywgc29ydCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZHIpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZmlsdGVyZWQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNvcnRGaWx0ZXIoZmlsdGVyZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTG9hZGVkTGF6eUl0ZW1zKGZpbHRlcmVkKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyJC5waXBlKGZpbHRlcihCb29sZWFuKSksXG4gICAgICAgICAgICB0b09ic2VydmFibGUodGhpcy5oYXNNb3JlLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pLnBpcGUoZmlsdGVyKEJvb2xlYW4pKSxcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZHIpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3J0LnNldChERUZBVUxUX1NPUlQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIG1lcmdlKHRoaXMuZmlsdGVyJCwgc29ydCQpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kcikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVE9ETzogMiwgMyBjb2x1bW4gaXMgdG9ybiBhd2F5IGZyb20gdGhlIHByZXZpb3VzIG9uZSwgZml4ZWQgYnkgY2FsbGluZyB1cGRhdGVcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHYpID0+ICEhdj8ubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIGRlbGF5KDEwMCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZHIpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGxvYWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUHJlbG9hZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzUHJlbG9hZC5zZXQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgfVxuXG4gICAgcHJlbG9hZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJlbG9hZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmlzUHJlbG9hZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzTW9yZSgpKSB7XG4gICAgICAgICAgICB0aGlzLm1vcmUuZW1pdCh7IHNpemU6IHRoaXMubG9hZFNpemUoKSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dNb3JlKCkge1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLm1vcmUoKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzTW9yZSgpICYmIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IucGFnZVNpemUgPiB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubW9yZS5lbWl0KHsgc2l6ZTogdGhpcy5sb2FkU2l6ZSgpIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVmcmVzaFRhYmxlKCk7XG4gICAgfVxuXG4gICAgZG93bmxvYWRDc3YoKSB7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVDc3ZEYXRhKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRyKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNzdkRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBkb3dubG9hZEZpbGUoY3N2RGF0YSwgJ2NzdicpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnk+KSB7XG4gICAgICAgIHRoaXMuZHJhZ0Rpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFNvcnREYXRhJC5waXBlKGZpbHRlcihCb29sZWFuKSwgZmlyc3QoKSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gZXZlbnQuaXRlbS5kYXRhO1xuICAgICAgICAgICAgY29uc3QgeyBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXggfSA9IGV2ZW50O1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNEYXRhID0gZGF0YTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXRhID0gcHJldmlvdXNEYXRhLnNsaWNlKCk7XG4gICAgICAgICAgICBsZXQgY3VycmVudERhdGFJbmRleCA9IDA7XG4gICAgICAgICAgICBpZiAocHJldmlvdXNJbmRleCA+IGN1cnJlbnRJbmRleCkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhLnNwbGljZShwcmV2aW91c0luZGV4LCAxKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50RGF0YS5zcGxpY2UoY3VycmVudEluZGV4LCAwLCBldmVudC5pdGVtLmRhdGEpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhSW5kZXggPSBjdXJyZW50SW5kZXg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhLnNwbGljZShjdXJyZW50SW5kZXgsIDAsIGV2ZW50Lml0ZW0uZGF0YSk7XG4gICAgICAgICAgICAgICAgY3VycmVudERhdGEuc3BsaWNlKHByZXZpb3VzSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhSW5kZXggPSBjdXJyZW50SW5kZXggLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yb3dEcm9wcGVkLmVtaXQoe1xuICAgICAgICAgICAgICAgIHByZXZpb3VzSW5kZXgsXG4gICAgICAgICAgICAgICAgY3VycmVudEluZGV4LFxuICAgICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgICAgcHJldmlvdXNEYXRhLFxuICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhLFxuICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhSW5kZXgsXG4gICAgICAgICAgICAgICAgc29ydDogdGhpcz8uc29ydENvbXBvbmVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlbmVyYXRlQ3N2RGF0YSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZE5vcm1Db2x1bW5zJC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoY29scykgPT4gZm9ya0pvaW4oY29scy5tYXAoKGMpID0+IGMuaGVhZGVyLnBpcGUodGFrZSgxKSkpKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5jb2x1bW5zRGF0YSQucGlwZSh0YWtlKDEpKSxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2NvbHMsIGRhdGFdKSA9PlxuICAgICAgICAgICAgICAgIGNyZWF0ZUNzdihydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4gdGFibGVUb0Nzdk9iamVjdChjb2xzLCBkYXRhKSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGUkLm5leHQoeyBzaXplOiB0aGlzLmxvYWRTaXplKCkgfSk7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNvcnRGaWx0ZXIoZmlsdGVyZWQ6IERpc3BsYXllZERhdGE8VCwgQz4pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFNvcnREYXRhJC5uZXh0KGZpbHRlcmVkKTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnREYXRhID0gKCkgPT4gZmlsdGVyZWQ7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0Q29tcG9uZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgICAgICh0aGlzLnNjcm9sbFZpZXdwb3J0Py5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KT8uc2Nyb2xsVG8/Lih7IHRvcDogMCB9KTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvci5yZWxvYWQoKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoVGFibGUoKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBSZWZyZXNoIHRhYmxlIHdoZW4gcGFnaW5hdGlvbiBpcyB1cGRhdGVkXG4gICAgcHJpdmF0ZSByZWZyZXNoVGFibGUoKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTG9hZGVkTGF6eUl0ZW1zKGl0ZW1zOiBEaXNwbGF5ZWREYXRhPFQsIEM+KSB7XG4gICAgICAgIGNvbnN0IGxhenlMb2FkZWRJdGVtcyA9IGl0ZW1zLnNsaWNlKDAsIERFRkFVTFRfTE9BREVEX0xBWllfUk9XU19DT1VOVCk7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBsYXp5TG9hZGVkSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkTGF6eUl0ZW1zLnNldChpdGVtLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBsZXQgY29sdW1uc0RhdGEgPSBjb2x1bW5zRGF0YSQkIHwgYXN5bmM7XG5cbjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgPHYtdGFibGUtaW5mby1iYXJcbiAgICAgICAgWyhmaWx0ZXIpXT1cImZpbHRlclwiXG4gICAgICAgIFtjb2x1bW5zXT1cIm5vcm1Db2x1bW5zKClcIlxuICAgICAgICBbY291bnRdPVwiKGRhdGFTb3VyY2UuZGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICAgIFtkYXRhUHJvZ3Jlc3NdPVwiISEoY29sdW1uc0RhdGFQcm9ncmVzcyQgfCBhc3luYykgJiYgIWhhc01vcmUoKVwiXG4gICAgICAgIFtmaWx0ZXJlZENvdW50XT1cImRpc3BsYXllZENvdW50JCB8IGFzeW5jXCJcbiAgICAgICAgW2hhc0lucHV0c109XCIhIXRhYmxlSW5wdXRzQ29udGVudD8ubmF0aXZlRWxlbWVudFwiXG4gICAgICAgIFtoYXNMb2FkXT1cInVwZGF0ZSQub2JzZXJ2ZWRcIlxuICAgICAgICBbaGFzTW9yZV09XCJoYXNNb3JlKClcIlxuICAgICAgICBbaXNQcmVsb2FkXT1cImlzUHJlbG9hZCgpXCJcbiAgICAgICAgW25vRG93bmxvYWRdPVwibm9Eb3dubG9hZCgpXCJcbiAgICAgICAgW25vVG9vbGJhcl09XCJub1Rvb2xiYXIoKVwiXG4gICAgICAgIFtwcmVsb2FkU2l6ZV09XCJtYXhTaXplKClcIlxuICAgICAgICBbcHJvZ3Jlc3NdPVwicHJvZ3Jlc3MoKVwiXG4gICAgICAgIFtzZWxlY3RlZENvdW50XT1cInJvd1NlbGVjdGVkKCk/Lmxlbmd0aFwiXG4gICAgICAgIFtzaXplXT1cInNpemUoKVwiXG4gICAgICAgIFtzdGFuZGFsb25lRmlsdGVyXT1cInN0YW5kYWxvbmVGaWx0ZXIoKVwiXG4gICAgICAgIChkb3dubG9hZENzdik9XCJkb3dubG9hZENzdigpXCJcbiAgICAgICAgKGxvYWQpPVwibG9hZCgpXCJcbiAgICAgICAgKHByZWxvYWQpPVwicHJlbG9hZCgpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInYtdGFibGUtYWN0aW9uc1wiPjwvbmctY29udGVudD5cbiAgICAgICAgPHYtdGFibGUtaW5wdXRzPjxuZy1jb250ZW50IHNlbGVjdD1cInYtdGFibGUtaW5wdXRzXCI+PC9uZy1jb250ZW50Pjwvdi10YWJsZS1pbnB1dHM+XG4gICAgPC92LXRhYmxlLWluZm8tYmFyPlxuICAgIDxtYXQtY2FyZCAjc2Nyb2xsVmlld3BvcnQgY2xhc3M9XCJjYXJkXCI+XG4gICAgICAgIDx2LW5vLXJlY29yZHNcbiAgICAgICAgICAgIFtub1JlY29yZHNdPVwiIShkaXNwbGF5ZWRDb3VudCQgfCBhc3luYylcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzKClcIlxuICAgICAgICA+PC92LW5vLXJlY29yZHM+XG4gICAgICAgIDx0YWJsZVxuICAgICAgICAgICAgI21hdFRhYmxlXG4gICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCJkcmFnRGlzYWJsZWRcIlxuICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICBbbWF0U29ydEFjdGl2ZV09XCIoY29sdW1uc0RhdGFQcm9ncmVzcyQgfCBhc3luYykgfHwgcHJvZ3Jlc3MoKSA/ICcnIDogc29ydCgpLmFjdGl2ZVwiXG4gICAgICAgICAgICBbbWF0U29ydERpcmVjdGlvbl09XCJzb3J0KCkuZGlyZWN0aW9uXCJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICBjZGtEcm9wTGlzdERhdGE9XCJkYXRhU291cmNlXCJcbiAgICAgICAgICAgIG1hdC10YWJsZVxuICAgICAgICAgICAgbWF0U29ydFxuICAgICAgICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxuICAgICAgICAgICAgKG1hdFNvcnRDaGFuZ2UpPVwic29ydC5zZXQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBsZXQgZGlzcGxheWVkQ29sdW1ucyA9IChkaXNwbGF5ZWRDb2x1bW5zJCB8IGFzeW5jKSB8fCBbXTtcblxuICAgICAgICAgICAgQGlmIChkaXNwbGF5ZWRDb2x1bW5zLmluY2x1ZGVzKGNvbHVtbkRlZnMuZHJhZykpIHtcbiAgICAgICAgICAgICAgICA8di1kbmQtY29sdW1uXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImNvbHVtbkRlZnMuZHJhZ1wiXG4gICAgICAgICAgICAgICAgICAgIChkcmFnZ2VkKT1cImRyYWdEaXNhYmxlZCA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+PC92LWRuZC1jb2x1bW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGRpc3BsYXllZENvbHVtbnMuaW5jbHVkZXMoY29sdW1uRGVmcy5zZWxlY3QpKSB7XG4gICAgICAgICAgICAgICAgPHYtc2VsZWN0LWNvbHVtblxuICAgICAgICAgICAgICAgICAgICBbKHNlbGVjdGVkKV09XCJyb3dTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImRpc3BsYXllZERhdGEkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJjb2x1bW5EZWZzLnNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgIFtwcm9ncmVzc109XCJwcm9ncmVzcygpXCJcbiAgICAgICAgICAgICAgICA+PC92LXNlbGVjdC1jb2x1bW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yIChjb2wgb2YgZGlzcGxheWVkTm9ybUNvbHVtbnMkIHwgYXN5bmM7IHRyYWNrIGNvbDsgbGV0IGNvbEluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgQGxldCBzdGlja3lTdGFydCA9IGNvbC5wYXJhbXMuc3RpY2t5ID09PSAnc3RhcnQnO1xuICAgICAgICAgICAgICAgIEBsZXQgc3RpY2t5RW5kID0gY29sLnBhcmFtcy5zdGlja3kgPT09ICdlbmQnO1xuICAgICAgICAgICAgICAgIEBsZXQgY29sdW1uQ2xhc3NlcyA9XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdjb2x1bW5fX3N0aWNreS1zdGFydCc6IHN0aWNreVN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbHVtbl9fc3RpY2t5LWVuZCc6IHN0aWNreUVuZCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFttYXRDb2x1bW5EZWZdPVwiY29sLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0aWNreV09XCJzdGlja3lTdGFydFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdGlja3lFbmRdPVwic3RpY2t5RW5kXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIoY29sLnNvcnQgfCBhc3luYykgPT09IGZhbHNlIHx8IGhhc01vcmUoKSB8fCBwcm9ncmVzcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXQtc29ydC1oZWFkZXJdPVwiY29sLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbHVtbkNsYXNzZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWhlYWRlci1jZWxsXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx2LXZhbHVlIFt2YWx1ZV09XCJjb2w/LmhlYWRlciB8IGFzeW5jXCIgZW1wdHlTeW1ib2w9XCJcIiBpbmxpbmU+PC92LXZhbHVlPlxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtZWxlbWVudCBsZXQtcm93SW5kZXg9XCJpbmRleFwiIG1hdENlbGxEZWY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAbGV0IGNlbGwgPSBjb2x1bW5zRGF0YT8uZ2V0Py4oZWxlbWVudCk/LmdldChjb2wpO1xuICAgICAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29sdW1uQ2xhc3Nlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiY29sPy5wYXJhbXM/LnN0eWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyLWJvdHRvbV09XCJjZWxsPy5pc05leHRDaGlsZCAmJiAhY29sLmNoaWxkID8gJ25vbmUnIDogJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1jZWxsXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHYtdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtcHR5U3ltYm9sXT1cIiEoY2VsbD8uaXNDaGlsZCAmJiAhY29sPy5jaGlsZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlnaGxpZ2h0XT1cImZpbHRlciQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXp5VmFsdWVdPVwiY2VsbD8ubGF6eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhenlWaXNpYmxlXT1cImxvYWRlZExhenlJdGVtcy5oYXMoZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY2VsbD8udmFsdWUgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGF6eVZpc2libGVDaGFuZ2UpPVwibG9hZGVkTGF6eUl0ZW1zLnNldChlbGVtZW50LCB0cnVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdi12YWx1ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCAqbWF0Rm9vdGVyQ2VsbERlZiBbbmdDbGFzc109XCJjb2x1bW5DbGFzc2VzXCIgbWF0LWZvb3Rlci1jZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHYtY29udGVudC1sb2FkaW5nPjwvdi1jb250ZW50LWxvYWRpbmc+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDx0ciAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1ucyQgfCBhc3luYzsgc3RpY2t5OiB0cnVlXCIgbWF0LWhlYWRlci1yb3c+PC90cj5cbiAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbY2RrRHJhZ0RhdGFdPVwicm93XCJcbiAgICAgICAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgICAgICAgbWF0LXJvd1xuICAgICAgICAgICAgPjwvdHI+XG4gICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgICAqbWF0Rm9vdGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1ucyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyByb3dfX2hpZGRlbjogIShoYXNBdXRvU2hvd01vcmUkIHwgYXN5bmMpIHx8ICF0YWJsZVJvdyB9XCJcbiAgICAgICAgICAgICAgICBbdkluZmluaXR5U2Nyb2xsXT1cIiFwcm9ncmVzcygpXCJcbiAgICAgICAgICAgICAgICBtYXQtZm9vdGVyLXJvd1xuICAgICAgICAgICAgICAgICh2SW5maW5pdHlTY3JvbGxNb3JlKT1cInNob3dNb3JlKClcIlxuICAgICAgICAgICAgPjwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgPC9tYXQtY2FyZD5cbjwvZGl2PlxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DialogSuperclass } from '../../../dialog';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"../../../dialog/dialog.component\";\nimport * as i3 from \"../../../dialog/components/dialog-actions/dialog-actions.component\";\nimport * as i4 from \"../../table.component\";\nexport class CustomizeComponent extends DialogSuperclass {\n constructor() {\n super(...arguments);\n this.columns = [\n { field: 'priority', header: 'Number' },\n { field: 'name' },\n { field: 'hidden' },\n ];\n this.data = this.dialogData.columns.map((c, idx) => ({\n priority: idx + 1,\n name: c.field,\n hidden: false,\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CustomizeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: CustomizeComponent, isStandalone: false, selector: \"v-customize\", usesInheritance: true, ngImport: i0, template: \"<v-dialog title=\\\"Customize table\\\">\\n <v-table [columns]=\\\"columns\\\" [data]=\\\"data\\\" [rowDragDrop]=\\\"['priority']\\\" noToolbar></v-table>\\n <v-dialog-actions>\\n <button mat-button>Save</button>\\n </v-dialog-actions>\\n</v-dialog>\\n\", dependencies: [{ kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i2.DialogComponent, selector: \"v-dialog\", inputs: [\"title\", \"disabled\", \"progress\", \"hasDivider\", \"noContent\", \"noActions\", \"noCloseButton\", \"fullSize\"], outputs: [\"cancel\"] }, { kind: \"component\", type: i3.DialogActionsComponent, selector: \"v-dialog-actions\" }, { kind: \"component\", type: i4.TableComponent, selector: \"v-table\", inputs: [\"data\", \"treeData\", \"columns\", \"progress\", \"hasMore\", \"size\", \"maxSize\", \"noDownload\", \"noToolbar\", \"filter\", \"standaloneFilter\", \"externalFilter\", \"rowSelectable\", \"rowSelected\", \"sort\", \"rowDragDrop\"], outputs: [\"filterChange\", \"rowSelectedChange\", \"sortChange\", \"rowDropped\", \"update\", \"more\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CustomizeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-customize', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: \"<v-dialog title=\\\"Customize table\\\">\\n <v-table [columns]=\\\"columns\\\" [data]=\\\"data\\\" [rowDragDrop]=\\\"['priority']\\\" noToolbar></v-table>\\n <v-dialog-actions>\\n <button mat-button>Save</button>\\n </v-dialog-actions>\\n</v-dialog>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9taXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvY3VzdG9taXplL2N1c3RvbWl6ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL2N1c3RvbWl6ZS9jdXN0b21pemUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBZW5ELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFHdkM7SUFURDs7UUFVSSxZQUFPLEdBQStCO1lBQ2xDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3ZDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNqQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7U0FDdEIsQ0FBQztRQUVGLFNBQUksR0FBdUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUM7WUFDakIsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLO1lBQ2IsTUFBTSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDLENBQUM7S0FDUDs4R0FmWSxrQkFBa0I7a0dBQWxCLGtCQUFrQiwrRkNqQi9CLHdQQU1BOzsyRkRXYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERpYWxvZ1N1cGVyY2xhc3MgfSBmcm9tICcuLi8uLi8uLi9kaWFsb2cnO1xuaW1wb3J0IHsgQ29sdW1uLCBOb3JtQ29sdW1uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgQ3VzdG9taXplZENvbHVtbiB7XG4gICAgcHJpb3JpdHk6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaGlkZGVuOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtY3VzdG9taXplJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9taXplLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9taXplQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nU3VwZXJjbGFzczxcbiAgICBDdXN0b21pemVDb21wb25lbnQsXG4gICAgeyBjb2x1bW5zOiBOb3JtQ29sdW1uPG9iamVjdD5bXSB9XG4+IHtcbiAgICBjb2x1bW5zOiBDb2x1bW48Q3VzdG9taXplZENvbHVtbj5bXSA9IFtcbiAgICAgICAgeyBmaWVsZDogJ3ByaW9yaXR5JywgaGVhZGVyOiAnTnVtYmVyJyB9LFxuICAgICAgICB7IGZpZWxkOiAnbmFtZScgfSxcbiAgICAgICAgeyBmaWVsZDogJ2hpZGRlbicgfSxcbiAgICBdO1xuXG4gICAgZGF0YTogQ3VzdG9taXplZENvbHVtbltdID0gdGhpcy5kaWFsb2dEYXRhLmNvbHVtbnMubWFwKChjLCBpZHgpID0+ICh7XG4gICAgICAgIHByaW9yaXR5OiBpZHggKyAxLFxuICAgICAgICBuYW1lOiBjLmZpZWxkLFxuICAgICAgICBoaWRkZW46IGZhbHNlLFxuICAgIH0pKTtcbn1cbiIsIjx2LWRpYWxvZyB0aXRsZT1cIkN1c3RvbWl6ZSB0YWJsZVwiPlxuICAgIDx2LXRhYmxlIFtjb2x1bW5zXT1cImNvbHVtbnNcIiBbZGF0YV09XCJkYXRhXCIgW3Jvd0RyYWdEcm9wXT1cIlsncHJpb3JpdHknXVwiIG5vVG9vbGJhcj48L3YtdGFibGU+XG4gICAgPHYtZGlhbG9nLWFjdGlvbnM+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbj5TYXZlPC9idXR0b24+XG4gICAgPC92LWRpYWxvZy1hY3Rpb25zPlxuPC92LWRpYWxvZz5cbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../../actions/actions.component\";\nexport class TableActionsComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: TableActionsComponent, isStandalone: false, selector: \"v-table-actions\", ngImport: i0, template: `\n <v-actions>\n <ng-content></ng-content>\n </v-actions>\n `, isInline: true, dependencies: [{ kind: \"component\", type: i1.ActionsComponent, selector: \"v-actions\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableActionsComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'v-table-actions',\n template: `\n <v-actions>\n <ng-content></ng-content>\n </v-actions>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWFjdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVluRSxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7a0dBQXJCLHFCQUFxQiw0RUFScEI7Ozs7S0FJVDs7MkZBSVEscUJBQXFCO2tCQVZqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi10YWJsZS1hY3Rpb25zJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8di1hY3Rpb25zPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3YtYWN0aW9ucz5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUFjdGlvbnNDb21wb25lbnQge31cbiJdfQ==","import { Component, booleanAttribute, input } from '@angular/core';\nimport { MatProgressBar } from '@angular/material/progress-bar';\nimport * as i0 from \"@angular/core\";\nexport class TableProgressBarComponent {\n constructor() {\n this.progress = input(false, { transform: booleanAttribute });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: TableProgressBarComponent, isStandalone: true, selector: \"v-table-progress-bar\", inputs: { progress: { classPropertyName: \"progress\", publicName: \"progress\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `\n @if (progress()) {\n <mat-progress-bar class=\"progress-bar\" mode=\"indeterminate\"></mat-progress-bar>\n }\n `, isInline: true, styles: [\".progress-bar{position:absolute;z-index:999}\\n\"], dependencies: [{ kind: \"component\", type: MatProgressBar, selector: \"mat-progress-bar\", inputs: [\"color\", \"value\", \"bufferValue\", \"mode\"], outputs: [\"animationEnd\"], exportAs: [\"matProgressBar\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableProgressBarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-table-progress-bar', imports: [MatProgressBar], template: `\n @if (progress()) {\n <mat-progress-bar class=\"progress-bar\" mode=\"indeterminate\"></mat-progress-bar>\n }\n `, styles: [\".progress-bar{position:absolute;z-index:999}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBaUJoRSxNQUFNLE9BQU8seUJBQXlCO0lBZnRDO1FBZ0JJLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztLQUM1RDs4R0FGWSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2TkFaeEI7Ozs7S0FJVCx3SEFMUyxjQUFjOzsyRkFhZix5QkFBeUI7a0JBZnJDLFNBQVM7K0JBQ0ksc0JBQXNCLFdBQ3ZCLENBQUMsY0FBYyxDQUFDLFlBQ2Y7Ozs7S0FJVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgYm9vbGVhbkF0dHJpYnV0ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LXRhYmxlLXByb2dyZXNzLWJhcicsXG4gICAgaW1wb3J0czogW01hdFByb2dyZXNzQmFyXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKHByb2dyZXNzKCkpIHtcbiAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0eWxlczogYFxuICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgfVxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xuICAgIHByb2dyZXNzID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xufVxuIl19","import { CdkDrag, CdkDropList } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButton, MatButtonModule, MatIconButton } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { ActionsModule } from '../actions';\nimport { ContentLoadingComponent } from '../content-loading';\nimport { DialogModule } from '../dialog/dialog.module';\nimport { InputFieldModule } from '../input-field';\nimport { ProgressModule } from '../progress';\nimport { TagModule } from '../tag';\nimport { ValueComponent, ValueListComponent } from '../value';\nimport { CustomizeComponent } from './components/customize/customize.component';\nimport { DndColumnComponent } from './components/dnd-column.component';\nimport { InfinityScrollDirective } from './components/infinity-scroll.directive';\nimport { NoRecordsComponent } from './components/no-records.component';\nimport { SelectColumnComponent } from './components/select-column.component';\nimport { TableActionsComponent } from './components/table-actions.component';\nimport { TableInfoBarComponent } from './components/table-info-bar/table-info-bar.component';\nimport { TableInputsComponent } from './components/table-inputs.component';\nimport { TableProgressBarComponent } from './components/table-progress-bar.component';\nimport { TableComponent } from './table.component';\nimport * as i0 from \"@angular/core\";\nexport class TableModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: TableModule, declarations: [CustomizeComponent,\n TableComponent,\n TableInfoBarComponent,\n TableInputsComponent,\n TableActionsComponent], imports: [CommonModule,\n MatTableModule,\n MatCardModule,\n ValueComponent,\n TableProgressBarComponent,\n NoRecordsComponent,\n ContentLoadingComponent,\n MatIcon,\n MatTooltip,\n MatIconButton,\n InfinityScrollDirective,\n ValueListComponent,\n SelectColumnComponent,\n ProgressModule,\n MatSortModule,\n MatButton,\n CdkDrag,\n CdkDropList,\n DialogModule,\n MatButtonModule,\n InputFieldModule,\n ActionsModule,\n MatBadgeModule,\n ReactiveFormsModule,\n TagModule,\n DndColumnComponent], exports: [TableComponent, TableInputsComponent, TableActionsComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableModule, imports: [CommonModule,\n MatTableModule,\n MatCardModule,\n ValueComponent,\n TableProgressBarComponent,\n ContentLoadingComponent,\n MatIcon,\n MatIconButton,\n ValueListComponent,\n SelectColumnComponent,\n ProgressModule,\n MatSortModule,\n MatButton,\n DialogModule,\n MatButtonModule,\n InputFieldModule,\n ActionsModule,\n MatBadgeModule,\n ReactiveFormsModule,\n TagModule,\n DndColumnComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: TableModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n MatTableModule,\n MatCardModule,\n ValueComponent,\n TableProgressBarComponent,\n NoRecordsComponent,\n ContentLoadingComponent,\n MatIcon,\n MatTooltip,\n MatIconButton,\n InfinityScrollDirective,\n ValueListComponent,\n SelectColumnComponent,\n ProgressModule,\n MatSortModule,\n MatButton,\n CdkDrag,\n CdkDropList,\n DialogModule,\n MatButtonModule,\n InputFieldModule,\n ActionsModule,\n MatBadgeModule,\n ReactiveFormsModule,\n TagModule,\n DndColumnComponent,\n ],\n declarations: [\n CustomizeComponent,\n TableComponent,\n TableInfoBarComponent,\n TableInputsComponent,\n TableActionsComponent,\n ],\n exports: [TableComponent, TableInputsComponent, TableActionsComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQXdDbkQsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQVJoQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIscUJBQXFCLGFBaENyQixZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7WUFDYixjQUFjO1lBQ2QseUJBQXlCO1lBQ3pCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsT0FBTztZQUNQLFVBQVU7WUFDVixhQUFhO1lBQ2IsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsY0FBYztZQUNkLGFBQWE7WUFDYixTQUFTO1lBQ1QsT0FBTztZQUNQLFdBQVc7WUFDWCxZQUFZO1lBQ1osZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixhQUFhO1lBQ2IsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixTQUFTO1lBQ1Qsa0JBQWtCLGFBU1osY0FBYyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQjsrR0FFNUQsV0FBVyxZQXBDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxhQUFhO1lBQ2IsY0FBYztZQUNkLHlCQUF5QjtZQUV6Qix1QkFBdUI7WUFDdkIsT0FBTztZQUVQLGFBQWE7WUFFYixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsU0FBUztZQUdULFlBQVk7WUFDWixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLFNBQVM7WUFDVCxrQkFBa0I7OzJGQVdiLFdBQVc7a0JBdEN2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLE9BQU87d0JBQ1AsVUFBVTt3QkFDVixhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixTQUFTO3dCQUNULE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULGtCQUFrQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLENBQUM7aUJBQ3pFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgTWF0QnV0dG9uLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IEFjdGlvbnNNb2R1bGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IENvbnRlbnRMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29udGVudC1sb2FkaW5nJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmltcG9ydCB7IElucHV0RmllbGRNb2R1bGUgfSBmcm9tICcuLi9pbnB1dC1maWVsZCc7XG5pbXBvcnQgeyBQcm9ncmVzc01vZHVsZSB9IGZyb20gJy4uL3Byb2dyZXNzJztcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJy4uL3RhZyc7XG5pbXBvcnQgeyBWYWx1ZUNvbXBvbmVudCwgVmFsdWVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdmFsdWUnO1xuXG5pbXBvcnQgeyBDdXN0b21pemVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9taXplL2N1c3RvbWl6ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG5kQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RuZC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IEluZmluaXR5U2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2luZmluaXR5LXNjcm9sbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTm9SZWNvcmRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vLXJlY29yZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVJbmZvQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWluZm8tYmFyL3RhYmxlLWluZm8tYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUlucHV0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1pbnB1dHMuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIFZhbHVlQ29tcG9uZW50LFxuICAgICAgICBUYWJsZVByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgICAgICBOb1JlY29yZHNDb21wb25lbnQsXG4gICAgICAgIENvbnRlbnRMb2FkaW5nQ29tcG9uZW50LFxuICAgICAgICBNYXRJY29uLFxuICAgICAgICBNYXRUb29sdGlwLFxuICAgICAgICBNYXRJY29uQnV0dG9uLFxuICAgICAgICBJbmZpbml0eVNjcm9sbERpcmVjdGl2ZSxcbiAgICAgICAgVmFsdWVMaXN0Q29tcG9uZW50LFxuICAgICAgICBTZWxlY3RDb2x1bW5Db21wb25lbnQsXG4gICAgICAgIFByb2dyZXNzTW9kdWxlLFxuICAgICAgICBNYXRTb3J0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b24sXG4gICAgICAgIENka0RyYWcsXG4gICAgICAgIENka0Ryb3BMaXN0LFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgSW5wdXRGaWVsZE1vZHVsZSxcbiAgICAgICAgQWN0aW9uc01vZHVsZSxcbiAgICAgICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRhZ01vZHVsZSxcbiAgICAgICAgRG5kQ29sdW1uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEN1c3RvbWl6ZUNvbXBvbmVudCxcbiAgICAgICAgVGFibGVDb21wb25lbnQsXG4gICAgICAgIFRhYmxlSW5mb0JhckNvbXBvbmVudCxcbiAgICAgICAgVGFibGVJbnB1dHNDb21wb25lbnQsXG4gICAgICAgIFRhYmxlQWN0aW9uc0NvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtUYWJsZUNvbXBvbmVudCwgVGFibGVJbnB1dHNDb21wb25lbnQsIFRhYmxlQWN0aW9uc0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9kdWxlIHt9XG4iXX0=","export function correctPriorities(priorities, opts = {\n step: 1000,\n maxStep: 1000,\n start: 0,\n}) {\n if (!priorities.length) {\n return [];\n }\n const res = [opts.start];\n for (let i = 1; i < priorities.length; ++i) {\n const last = res.at(-1) ?? opts.start;\n if (priorities[i] === priorities[i - 1]) {\n res.push(last);\n }\n else if (priorities[i] <= last || priorities[i] > last + opts.maxStep) {\n res.push(last + opts.step);\n }\n else {\n res.push(priorities[i]);\n }\n }\n return res;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVjdC1wcmlvcml0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvdXRpbHMvY29ycmVjdC1wcmlvcml0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxpQkFBaUIsQ0FDN0IsVUFBb0IsRUFDcEIsT0FJSTtJQUNBLElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixLQUFLLEVBQUUsQ0FBQztDQUNYO0lBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7YUFBTSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBjb3JyZWN0UHJpb3JpdGllcyhcbiAgICBwcmlvcml0aWVzOiBudW1iZXJbXSxcbiAgICBvcHRzOiB7XG4gICAgICAgIHN0ZXA6IG51bWJlcjtcbiAgICAgICAgbWF4U3RlcDogbnVtYmVyO1xuICAgICAgICBzdGFydDogbnVtYmVyO1xuICAgIH0gPSB7XG4gICAgICAgIHN0ZXA6IDEwMDAsXG4gICAgICAgIG1heFN0ZXA6IDEwMDAsXG4gICAgICAgIHN0YXJ0OiAwLFxuICAgIH0sXG4pOiBudW1iZXJbXSB7XG4gICAgaWYgKCFwcmlvcml0aWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IHJlczogbnVtYmVyW10gPSBbb3B0cy5zdGFydF07XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBwcmlvcml0aWVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IGxhc3QgPSByZXMuYXQoLTEpID8/IG9wdHMuc3RhcnQ7XG4gICAgICAgIGlmIChwcmlvcml0aWVzW2ldID09PSBwcmlvcml0aWVzW2kgLSAxXSkge1xuICAgICAgICAgICAgcmVzLnB1c2gobGFzdCk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJpb3JpdGllc1tpXSA8PSBsYXN0IHx8IHByaW9yaXRpZXNbaV0gPiBsYXN0ICsgb3B0cy5tYXhTdGVwKSB7XG4gICAgICAgICAgICByZXMucHVzaChsYXN0ICsgb3B0cy5zdGVwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcy5wdXNoKHByaW9yaXRpZXNbaV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG59XG4iXX0=","import { Injector, inject, runInInjectionContext } from '@angular/core';\nimport { combineLatest, switchMap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { getPossiblyAsyncObservable } from '../../../utils';\nimport { normalizeCell } from '../types';\nimport { createUniqueColumnDef } from './create-unique-column-def';\nexport function createColumn(createCell, columnObject = {}) {\n return (getCellParams, { isLazyCell, ...column } = {}) => {\n const injector = inject(Injector);\n const field = column?.field ?? createUniqueColumnDef(column?.header);\n const cellKey = isLazyCell ? 'lazyCell' : 'cell';\n return {\n field,\n ...columnObject,\n ...column,\n [cellKey]: (...cellArgs) => {\n const cellValue$ = getPossiblyAsyncObservable(getCellParams(...cellArgs)).pipe(switchMap((cellParams) => getPossiblyAsyncObservable(runInInjectionContext(injector, () => createCell(cellParams, ...cellArgs)))));\n if (column[cellKey]) {\n const columnCellValue$ = normalizeCell(field, column[cellKey], !!column?.child)(...cellArgs);\n return combineLatest([cellValue$, columnCellValue$]).pipe(map(([a, b]) => Object.assign({}, a, b, { value: b?.value || a?.value })));\n }\n return cellValue$;\n },\n };\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3V0aWxzL2NyZWF0ZS1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBaUIsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRSxPQUFPLEVBQXNCLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxNQUFNLFVBQVUsWUFBWSxDQUN4QixVQUEyRSxFQUMzRSxlQUFtQyxFQUFFO0lBRXJDLE9BQU8sQ0FDSCxhQUEyRCxFQUMzRCxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sS0FBb0QsRUFBRSxFQUNwRSxFQUFFO1FBQ1gsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDakQsT0FBTztZQUNILEtBQUs7WUFDTCxHQUFHLFlBQVk7WUFDZixHQUFHLE1BQU07WUFDVCxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUF1QixFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sVUFBVSxHQUFHLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRSxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNyQiwwQkFBMEIsQ0FDdEIscUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUNqQyxVQUFVLENBQUMsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQ3RDLENBQ0osQ0FDSixDQUNKLENBQUM7Z0JBQ0YsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQ2xDLEtBQUssRUFDTCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQ2xCLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztvQkFDZixPQUFPLGFBQWEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQzVFLENBQUM7Z0JBQ04sQ0FBQztnQkFDRCxPQUFPLFVBQVUsQ0FBQztZQUN0QixDQUFDO1NBQ0osQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQb3NzaWJseUFzeW5jLCBnZXRQb3NzaWJseUFzeW5jT2JzZXJ2YWJsZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFZhbHVlIH0gZnJvbSAnLi4vLi4vdmFsdWUnO1xuaW1wb3J0IHsgQ2VsbEZuQXJncywgQ29sdW1uLCBub3JtYWxpemVDZWxsIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBjcmVhdGVVbmlxdWVDb2x1bW5EZWYgfSBmcm9tICcuL2NyZWF0ZS11bmlxdWUtY29sdW1uLWRlZic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb2x1bW48UCwgQSBleHRlbmRzIG9iamVjdD4oXG4gICAgY3JlYXRlQ2VsbDogKGNlbGxQYXJhbXM6IFAsIC4uLmFyZ3M6IENlbGxGbkFyZ3M8QT4pID0+IFBvc3NpYmx5QXN5bmM8VmFsdWU+LFxuICAgIGNvbHVtbk9iamVjdDogUGFydGlhbDxDb2x1bW48QT4+ID0ge30sXG4pIHtcbiAgICByZXR1cm4gPFQgZXh0ZW5kcyBBPihcbiAgICAgICAgZ2V0Q2VsbFBhcmFtczogKC4uLmFyZ3M6IENlbGxGbkFyZ3M8VD4pID0+IFBvc3NpYmx5QXN5bmM8UD4sXG4gICAgICAgIHsgaXNMYXp5Q2VsbCwgLi4uY29sdW1uIH06IFBhcnRpYWw8Q29sdW1uPFQ+PiAmIHsgaXNMYXp5Q2VsbD86IGJvb2xlYW4gfSA9IHt9LFxuICAgICk6IENvbHVtbjxUPiA9PiB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSBjb2x1bW4/LmZpZWxkID8/IGNyZWF0ZVVuaXF1ZUNvbHVtbkRlZihjb2x1bW4/LmhlYWRlcik7XG4gICAgICAgIGNvbnN0IGNlbGxLZXkgPSBpc0xhenlDZWxsID8gJ2xhenlDZWxsJyA6ICdjZWxsJztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgLi4uY29sdW1uT2JqZWN0LFxuICAgICAgICAgICAgLi4uY29sdW1uLFxuICAgICAgICAgICAgW2NlbGxLZXldOiAoLi4uY2VsbEFyZ3M6IENlbGxGbkFyZ3M8VD4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsVmFsdWUkID0gZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUoZ2V0Q2VsbFBhcmFtcyguLi5jZWxsQXJncykpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoY2VsbFBhcmFtcykgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGdldFBvc3NpYmx5QXN5bmNPYnNlcnZhYmxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlQ2VsbChjZWxsUGFyYW1zLCAuLi5jZWxsQXJncyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoY29sdW1uW2NlbGxLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbkNlbGxWYWx1ZSQgPSBub3JtYWxpemVDZWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5bY2VsbEtleV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAhIWNvbHVtbj8uY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgICkoLi4uY2VsbEFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbY2VsbFZhbHVlJCwgY29sdW1uQ2VsbFZhbHVlJF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKFthLCBiXSkgPT4gT2JqZWN0LmFzc2lnbih7fSwgYSwgYiwgeyB2YWx1ZTogYj8udmFsdWUgfHwgYT8udmFsdWUgfSkpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlJDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfTtcbn1cbiJdfQ==","import { createColumn } from '../utils/create-column';\nexport const createMenuColumn = createColumn((params) => {\n return {\n type: 'menu',\n params,\n };\n}, {\n field: 'menu',\n header: '',\n sticky: 'end',\n style: {\n padding: 0,\n width: '0',\n },\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW1lbnUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvcHJlc2V0cy9jcmVhdGUtbWVudS1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FDeEMsQ0FBQyxNQUEyQixFQUFFLEVBQUU7SUFDNUIsT0FBTztRQUNILElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTTtLQUNULENBQUM7QUFDTixDQUFDLEVBQ0Q7SUFDSSxLQUFLLEVBQUUsTUFBTTtJQUNiLE1BQU0sRUFBRSxFQUFFO0lBQ1YsTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUU7UUFDSCxPQUFPLEVBQUUsQ0FBQztRQUNWLEtBQUssRUFBRSxHQUFHO0tBQ2I7Q0FDSixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW51VmFsdWUgfSBmcm9tICcuLi8uLi92YWx1ZS9jb21wb25lbnRzL21lbnUtdmFsdWUuY29tcG9uZW50Jztcbi8vIFRPRE86IGhhY2tcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnLi4vdHlwZXMvY29sdW1uJztcbmltcG9ydCB7IGNyZWF0ZUNvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS1jb2x1bW4nO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWVudUNvbHVtbiA9IGNyZWF0ZUNvbHVtbihcbiAgICAocGFyYW1zOiBNZW51VmFsdWVbJ3BhcmFtcyddKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnbWVudScsXG4gICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH07XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGZpZWxkOiAnbWVudScsXG4gICAgICAgIGhlYWRlcjogJycsXG4gICAgICAgIHN0aWNreTogJ2VuZCcsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgd2lkdGg6ICcwJyxcbiAgICAgICAgfSxcbiAgICB9LFxuKTtcbiJdfQ==","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { DialogSuperclass } from '../dialog';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"../dialog/dialog.component\";\nimport * as i3 from \"../dialog/components/dialog-actions/dialog-actions.component\";\nimport * as i4 from \"@angular/material/input\";\nimport * as i5 from \"@angular/forms\";\nexport class ConfirmDialogComponent extends DialogSuperclass {\n constructor() {\n super(...arguments);\n this.control = new FormControl('', { nonNullable: true });\n }\n confirm() {\n this.closeWithSuccess(this.dialogData && this.dialogData?.hasReason\n ? { reason: this.control.value }\n : undefined);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfirmDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: ConfirmDialogComponent, isStandalone: false, selector: \"v-action-dialog\", usesInheritance: true, ngImport: i0, template: \"<v-dialog\\n [noContent]=\\\"!(dialogData && (dialogData.hasReason || dialogData.description))\\\"\\n [title]=\\\"dialogData?.['title'] ?? 'Confirm this action?'\\\"\\n noCloseButton\\n>\\n @if (dialogData && dialogData.description) {\\n <div class=\\\"mat-body-large\\\">\\n {{ dialogData.description }}\\n </div>\\n }\\n @if (dialogData && dialogData.hasReason) {\\n <mat-form-field style=\\\"width: 100%\\\">\\n <mat-label>Reason</mat-label>\\n <input [formControl]=\\\"control\\\" matInput />\\n </mat-form-field>\\n }\\n <v-dialog-actions>\\n <button mat-button (click)=\\\"closeWithCancellation()\\\">Cancel</button>\\n <button mat-flat-button (click)=\\\"confirm()\\\">\\n {{ dialogData?.['confirmLabel'] || 'Confirm' }}\\n </button>\\n </v-dialog-actions>\\n</v-dialog>\\n\", dependencies: [{ kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i2.DialogComponent, selector: \"v-dialog\", inputs: [\"title\", \"disabled\", \"progress\", \"hasDivider\", \"noContent\", \"noActions\", \"noCloseButton\", \"fullSize\"], outputs: [\"cancel\"] }, { kind: \"component\", type: i3.DialogActionsComponent, selector: \"v-dialog-actions\" }, { kind: \"component\", type: i4.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i4.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i4.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"directive\", type: i5.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i5.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i5.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfirmDialogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-action-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: \"<v-dialog\\n [noContent]=\\\"!(dialogData && (dialogData.hasReason || dialogData.description))\\\"\\n [title]=\\\"dialogData?.['title'] ?? 'Confirm this action?'\\\"\\n noCloseButton\\n>\\n @if (dialogData && dialogData.description) {\\n <div class=\\\"mat-body-large\\\">\\n {{ dialogData.description }}\\n </div>\\n }\\n @if (dialogData && dialogData.hasReason) {\\n <mat-form-field style=\\\"width: 100%\\\">\\n <mat-label>Reason</mat-label>\\n <input [formControl]=\\\"control\\\" matInput />\\n </mat-form-field>\\n }\\n <v-dialog-actions>\\n <button mat-button (click)=\\\"closeWithCancellation()\\\">Cancel</button>\\n <button mat-flat-button (click)=\\\"confirm()\\\">\\n {{ dialogData?.['confirmLabel'] || 'Confirm' }}\\n </button>\\n </v-dialog-actions>\\n</v-dialog>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7O0FBUTdDLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFJM0M7SUFWRDs7UUFXSSxZQUFPLEdBQUcsSUFBSSxXQUFXLENBQVMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FTaEU7SUFQRyxPQUFPO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUNqQixJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUztZQUN6QyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDaEMsQ0FBQyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7OEdBYlEsc0JBQXNCO2tHQUF0QixzQkFBc0IsbUdDWG5DLG0xQkF1QkE7OzJGRFphLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IERpYWxvZ1N1cGVyY2xhc3MgfSBmcm9tICcuLi9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtYWN0aW9uLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdjb25maXJtLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBEaWFsb2dTdXBlcmNsYXNzPFxuICAgIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gICAgeyB0aXRsZT86IHN0cmluZzsgY29uZmlybUxhYmVsPzogc3RyaW5nOyBoYXNSZWFzb24/OiBib29sZWFuOyBkZXNjcmlwdGlvbj86IHN0cmluZyB9IHwgdm9pZCxcbiAgICB7IHJlYXNvbj86IHN0cmluZyB9XG4+IHtcbiAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgICBjb25maXJtKCkge1xuICAgICAgICB0aGlzLmNsb3NlV2l0aFN1Y2Nlc3MoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEgJiYgdGhpcy5kaWFsb2dEYXRhPy5oYXNSZWFzb25cbiAgICAgICAgICAgICAgICA/IHsgcmVhc29uOiB0aGlzLmNvbnRyb2wudmFsdWUgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx2LWRpYWxvZ1xuICAgIFtub0NvbnRlbnRdPVwiIShkaWFsb2dEYXRhICYmIChkaWFsb2dEYXRhLmhhc1JlYXNvbiB8fCBkaWFsb2dEYXRhLmRlc2NyaXB0aW9uKSlcIlxuICAgIFt0aXRsZV09XCJkaWFsb2dEYXRhPy5bJ3RpdGxlJ10gPz8gJ0NvbmZpcm0gdGhpcyBhY3Rpb24/J1wiXG4gICAgbm9DbG9zZUJ1dHRvblxuPlxuICAgIEBpZiAoZGlhbG9nRGF0YSAmJiBkaWFsb2dEYXRhLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtYm9keS1sYXJnZVwiPlxuICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChkaWFsb2dEYXRhICYmIGRpYWxvZ0RhdGEuaGFzUmVhc29uKSB7XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlJlYXNvbjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgbWF0SW5wdXQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICB9XG4gICAgPHYtZGlhbG9nLWFjdGlvbnM+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VXaXRoQ2FuY2VsbGF0aW9uKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cImNvbmZpcm0oKVwiPlxuICAgICAgICAgICAge3sgZGlhbG9nRGF0YT8uWydjb25maXJtTGFiZWwnXSB8fCAnQ29uZmlybScgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC92LWRpYWxvZy1hY3Rpb25zPlxuPC92LWRpYWxvZz5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { DialogModule } from '../dialog';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport * as i0 from \"@angular/core\";\nexport class ConfirmDialogModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfirmDialogModule, declarations: [ConfirmDialogComponent], imports: [MatDialogModule,\n MatButtonModule,\n DialogModule,\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule], exports: [ConfirmDialogComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfirmDialogModule, imports: [MatDialogModule,\n MatButtonModule,\n DialogModule,\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfirmDialogModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n MatDialogModule,\n MatButtonModule,\n DialogModule,\n MatFormFieldModule,\n CommonModule,\n MatInputModule,\n ReactiveFormsModule,\n ],\n declarations: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBZXBFLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUhiLHNCQUFzQixhQVJqQyxlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxtQkFBbUIsYUFHYixzQkFBc0I7K0dBRXZCLG1CQUFtQixZQVh4QixlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxtQkFBbUI7OzJGQUtkLG1CQUFtQjtrQkFiL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICcuLi9kaWFsb2cnO1xuXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbQ29uZmlybURpYWxvZ0NvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0NvbmZpcm1EaWFsb2dDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nTW9kdWxlIHt9XG4iXX0=","import { Component } from '@angular/core';\nimport { DialogSuperclass } from '../../../dialog';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"../../../dialog/dialog.component\";\nexport class FiltersDialogComponent extends DialogSuperclass {\n get isShowMainFilters() {\n return (!this.dialogData.filters.otherFiltersDirective?.templateRef ||\n this.dialogData.filters.merge);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: FiltersDialogComponent, isStandalone: false, selector: \"v-filters-dialog\", usesInheritance: true, ngImport: i0, template: \"<v-dialog noActions title=\\\"Filters\\\">\\n <div\\n [ngClass]=\\\"[\\n 'v-filters-dialog-cols-' +\\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\\n 'filters',\\n ]\\\"\\n >\\n @if (isShowMainFilters) {\\n <ng-container *ngTemplateOutlet=\\\"dialogData.filters.mainFiltersTemplate\\\"></ng-container>\\n }\\n @if (dialogData.filters.otherFiltersTemplate) {\\n <div class=\\\"other-filters\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"dialogData.filters.otherFiltersTemplate\\\"\\n ></ng-container>\\n </div>\\n }\\n </div>\\n</v-dialog>\\n\", styles: [\".filters{display:grid;grid-template-columns:1fr}.filters .other-filters{display:block!important}::ng-deep .v-filters-dialog-cols-1>*:nth-child(-n+1){display:none}::ng-deep .v-filters-dialog-cols-2>*:nth-child(-n+2){display:none}::ng-deep .v-filters-dialog-cols-3>*:nth-child(-n+3){display:none}::ng-deep .v-filters-dialog-cols-4>*:nth-child(-n+4){display:none}::ng-deep .v-filters-dialog-cols-5>*:nth-child(-n+5){display:none}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: i2.DialogComponent, selector: \"v-dialog\", inputs: [\"title\", \"disabled\", \"progress\", \"hasDivider\", \"noContent\", \"noActions\", \"noCloseButton\", \"fullSize\"], outputs: [\"cancel\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersDialogComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-filters-dialog', standalone: false, template: \"<v-dialog noActions title=\\\"Filters\\\">\\n <div\\n [ngClass]=\\\"[\\n 'v-filters-dialog-cols-' +\\n (isShowMainFilters ? (dialogData.filters.repeat$ | async) : 1),\\n 'filters',\\n ]\\\"\\n >\\n @if (isShowMainFilters) {\\n <ng-container *ngTemplateOutlet=\\\"dialogData.filters.mainFiltersTemplate\\\"></ng-container>\\n }\\n @if (dialogData.filters.otherFiltersTemplate) {\\n <div class=\\\"other-filters\\\">\\n <ng-container\\n *ngTemplateOutlet=\\\"dialogData.filters.otherFiltersTemplate\\\"\\n ></ng-container>\\n </div>\\n }\\n </div>\\n</v-dialog>\\n\", styles: [\".filters{display:grid;grid-template-columns:1fr}.filters .other-filters{display:block!important}::ng-deep .v-filters-dialog-cols-1>*:nth-child(-n+1){display:none}::ng-deep .v-filters-dialog-cols-2>*:nth-child(-n+2){display:none}::ng-deep .v-filters-dialog-cols-3>*:nth-child(-n+3){display:none}::ng-deep .v-filters-dialog-cols-4>*:nth-child(-n+4){display:none}::ng-deep .v-filters-dialog-cols-5>*:nth-child(-n+5){display:none}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9jb21wb25lbnRzL2ZpbHRlcnMtZGlhbG9nL2ZpbHRlcnMtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9maWx0ZXJzLWRpYWxvZy9maWx0ZXJzLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBU25ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFHM0M7SUFDRyxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLENBQ0gsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxXQUFXO1lBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDaEMsQ0FBQztJQUNOLENBQUM7OEdBVFEsc0JBQXNCO2tHQUF0QixzQkFBc0Isb0dDWG5DLHNyQkFvQkE7OzJGRFRhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxrQkFBa0IsY0FHaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEaWFsb2dTdXBlcmNsYXNzIH0gZnJvbSAnLi4vLi4vLi4vZGlhbG9nJztcbmltcG9ydCB7IEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWx0ZXJzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1maWx0ZXJzLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlcnMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nU3VwZXJjbGFzczxcbiAgICBGaWx0ZXJzRGlhbG9nQ29tcG9uZW50LFxuICAgIHsgZmlsdGVyczogRmlsdGVyc0NvbXBvbmVudCB9XG4+IHtcbiAgICBnZXQgaXNTaG93TWFpbkZpbHRlcnMoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5kaWFsb2dEYXRhLmZpbHRlcnMub3RoZXJGaWx0ZXJzRGlyZWN0aXZlPy50ZW1wbGF0ZVJlZiB8fFxuICAgICAgICAgICAgdGhpcy5kaWFsb2dEYXRhLmZpbHRlcnMubWVyZ2VcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8di1kaWFsb2cgbm9BY3Rpb25zIHRpdGxlPVwiRmlsdGVyc1wiPlxuICAgIDxkaXZcbiAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgJ3YtZmlsdGVycy1kaWFsb2ctY29scy0nICtcbiAgICAgICAgICAgICAgICAoaXNTaG93TWFpbkZpbHRlcnMgPyAoZGlhbG9nRGF0YS5maWx0ZXJzLnJlcGVhdCQgfCBhc3luYykgOiAxKSxcbiAgICAgICAgICAgICdmaWx0ZXJzJyxcbiAgICAgICAgXVwiXG4gICAgPlxuICAgICAgICBAaWYgKGlzU2hvd01haW5GaWx0ZXJzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlhbG9nRGF0YS5maWx0ZXJzLm1haW5GaWx0ZXJzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGRpYWxvZ0RhdGEuZmlsdGVycy5vdGhlckZpbHRlcnNUZW1wbGF0ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm90aGVyLWZpbHRlcnNcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlhbG9nRGF0YS5maWx0ZXJzLm90aGVyRmlsdGVyc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuPC92LWRpYWxvZz5cbiJdfQ==","import { Directive, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class MainFiltersDirective {\n constructor() {\n this.templateRef = inject((TemplateRef));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MainFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: MainFiltersDirective, isStandalone: false, selector: \"[vMainFilters]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MainFiltersDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[vMainFilters]',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1maWx0ZXJzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9tYWluLWZpbHRlcnMvbWFpbi1maWx0ZXJzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTS9ELE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLVyxnQkFBVyxHQUFHLE1BQU0sQ0FBdUIsQ0FBQSxXQUFvQixDQUFBLENBQUMsQ0FBQztLQUMzRTs4R0FGWSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdk1haW5GaWx0ZXJzXScsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIE1haW5GaWx0ZXJzRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8dW5rbm93bj4+KFRlbXBsYXRlUmVmPHVua25vd24+KTtcbn1cbiJdfQ==","import { Directive, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class OtherFiltersDirective {\n constructor() {\n this.templateRef = inject((TemplateRef));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OtherFiltersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: OtherFiltersDirective, isStandalone: false, selector: \"[vOtherFilters]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: OtherFiltersDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[vOtherFilters]',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItZmlsdGVycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2NvbXBvbmVudHMvb3RoZXItZmlsdGVycy9vdGhlci1maWx0ZXJzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTS9ELE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLVyxnQkFBVyxHQUFHLE1BQU0sQ0FBdUIsQ0FBQSxXQUFvQixDQUFBLENBQUMsQ0FBQztLQUMzRTs4R0FGWSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdk90aGVyRmlsdGVyc10nLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBPdGhlckZpbHRlcnNEaXJlY3RpdmUge1xuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjx1bmtub3duPj4oVGVtcGxhdGVSZWY8dW5rbm93bj4pO1xufVxuIl19","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Component, ContentChild, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, booleanAttribute, inject, signal, } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { DialogService } from '../dialog';\nimport { FiltersDialogComponent } from './components/filters-dialog/filters-dialog.component';\nimport { MainFiltersDirective } from './components/main-filters/main-filters.directive';\nimport { OtherFiltersDirective } from './components/other-filters/other-filters.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class FiltersComponent {\n constructor() {\n this.dialog = inject(DialogService);\n this.breakpointObserver = inject(BreakpointObserver);\n this.active = 0;\n this.merge = false;\n // TODO: to change from outside you need to change the logic and set $rows in two SCSS\n this.rows = signal(1);\n this.clear = new EventEmitter();\n this.repeat$ = this.breakpointObserver.observe(Object.values(Breakpoints)).pipe(map((b) => {\n if (b.breakpoints[Breakpoints.XLarge]) {\n return 5;\n }\n if (b.breakpoints[Breakpoints.Large]) {\n return 4;\n }\n if (b.breakpoints[Breakpoints.Medium]) {\n return 3;\n }\n if (b.breakpoints[Breakpoints.Small]) {\n return 2;\n }\n return 1;\n }));\n this.displayedFiltersCount$ = combineLatest([this.repeat$, toObservable(this.rows)]).pipe(map(([repeat, rows]) => repeat * rows));\n this.filtersCount$ = new BehaviorSubject(0);\n }\n set content(content) {\n this.filtersCount$.next(content?.nativeElement?.children?.length ?? 0);\n }\n get mainFiltersTemplate() {\n return this.mainFiltersDirective?.templateRef ?? this.filtersTemplate;\n }\n get otherFiltersTemplate() {\n return this.otherFiltersDirective?.templateRef;\n }\n open() {\n this.dialog.open(FiltersDialogComponent, { filters: this });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"20.0.5\", type: FiltersComponent, isStandalone: false, selector: \"v-filters\", inputs: { active: \"active\", merge: [\"merge\", \"merge\", booleanAttribute] }, outputs: { clear: \"clear\" }, queries: [{ propertyName: \"filtersTemplate\", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: \"otherFiltersDirective\", first: true, predicate: OtherFiltersDirective, descendants: true, static: true }, { propertyName: \"mainFiltersDirective\", first: true, predicate: MainFiltersDirective, descendants: true, static: true }], viewQueries: [{ propertyName: \"content\", first: true, predicate: [\"content\"], descendants: true }], ngImport: i0, template: \"<div #content [ngClass]=\\\"['v-filters-cols-' + (repeat$ | async), 'filters']\\\">\\n <ng-container *ngTemplateOutlet=\\\"mainFiltersTemplate\\\"></ng-container>\\n</div>\\n\", styles: [\".filters{display:flex;gap:8px}::ng-deep .filters>*{min-width:0;flex:1}.filters ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}::ng-deep .v-filters-cols-1>*:nth-child(n+2){display:none}::ng-deep .v-filters-cols-2>*:nth-child(n+3){display:none}::ng-deep .v-filters-cols-3>*:nth-child(n+4){display:none}::ng-deep .v-filters-cols-4>*:nth-child(n+5){display:none}::ng-deep .v-filters-cols-5>*:nth-child(n+6){display:none}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-filters', standalone: false, template: \"<div #content [ngClass]=\\\"['v-filters-cols-' + (repeat$ | async), 'filters']\\\">\\n <ng-container *ngTemplateOutlet=\\\"mainFiltersTemplate\\\"></ng-container>\\n</div>\\n\", styles: [\".filters{display:flex;gap:8px}::ng-deep .filters>*{min-width:0;flex:1}.filters ::ng-deep .mat-mdc-form-field-subscript-wrapper{height:0}::ng-deep .v-filters-cols-1>*:nth-child(n+2){display:none}::ng-deep .v-filters-cols-2>*:nth-child(n+3){display:none}::ng-deep .v-filters-cols-3>*:nth-child(n+4){display:none}::ng-deep .v-filters-cols-4>*:nth-child(n+5){display:none}::ng-deep .v-filters-cols-5>*:nth-child(n+6){display:none}\\n\"] }]\n }], propDecorators: { active: [{\n type: Input\n }], merge: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], clear: [{\n type: Output\n }], filtersTemplate: [{\n type: ContentChild,\n args: [TemplateRef, { static: true }]\n }], otherFiltersDirective: [{\n type: ContentChild,\n args: [OtherFiltersDirective, { static: true }]\n }], mainFiltersDirective: [{\n type: ContentChild,\n args: [MainFiltersDirective, { static: true }]\n }], content: [{\n type: ViewChild,\n args: ['content']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7OztBQVEzRixNQUFNLE9BQU8sZ0JBQWdCO0lBTjdCO1FBT1ksV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxXQUFNLEdB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBpbmplY3QsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vZGlhbG9nJztcblxuaW1wb3J0IHsgRmlsdGVyc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maWx0ZXJzLWRpYWxvZy9maWx0ZXJzLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFpbkZpbHRlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvbWFpbi1maWx0ZXJzL21haW4tZmlsdGVycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3RoZXJGaWx0ZXJzRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL290aGVyLWZpbHRlcnMvb3RoZXItZmlsdGVycy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtZmlsdGVycycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbHRlcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc0NvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXIgPSBpbmplY3QoQnJlYWtwb2ludE9ic2VydmVyKTtcbiAgICBASW5wdXQoKSBhY3RpdmUgPSAwO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtZXJnZSA9IGZhbHNlO1xuICAgIC8vIFRPRE86IHRvIGNoYW5nZSBmcm9tIG91dHNpZGUgeW91IG5lZWQgdG8gY2hhbmdlIHRoZSBsb2dpYyBhbmQgc2V0ICRyb3dzIGluIHR3byBTQ1NTXG4gICAgcm93cyA9IHNpZ25hbCgxKTtcblxuICAgIEBPdXRwdXQoKSBjbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIGZpbHRlcnNUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBDb250ZW50Q2hpbGQoT3RoZXJGaWx0ZXJzRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIG90aGVyRmlsdGVyc0RpcmVjdGl2ZSE6IE90aGVyRmlsdGVyc0RpcmVjdGl2ZTtcbiAgICBAQ29udGVudENoaWxkKE1haW5GaWx0ZXJzRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIG1haW5GaWx0ZXJzRGlyZWN0aXZlITogTWFpbkZpbHRlcnNEaXJlY3RpdmU7XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50Jykgc2V0IGNvbnRlbnQoY29udGVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgdGhpcy5maWx0ZXJzQ291bnQkLm5leHQoY29udGVudD8ubmF0aXZlRWxlbWVudD8uY2hpbGRyZW4/Lmxlbmd0aCA/PyAwKTtcbiAgICB9XG5cbiAgICBnZXQgbWFpbkZpbHRlcnNUZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFpbkZpbHRlcnNEaXJlY3RpdmU/LnRlbXBsYXRlUmVmID8/IHRoaXMuZmlsdGVyc1RlbXBsYXRlO1xuICAgIH1cblxuICAgIGdldCBvdGhlckZpbHRlcnNUZW1wbGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3RoZXJGaWx0ZXJzRGlyZWN0aXZlPy50ZW1wbGF0ZVJlZjtcbiAgICB9XG5cbiAgICByZXBlYXQkID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShPYmplY3QudmFsdWVzKEJyZWFrcG9pbnRzKSkucGlwZShcbiAgICAgICAgbWFwKChiKSA9PiB7XG4gICAgICAgICAgICBpZiAoYi5icmVha3BvaW50c1tCcmVha3BvaW50cy5YTGFyZ2VdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYi5icmVha3BvaW50c1tCcmVha3BvaW50cy5MYXJnZV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChiLmJyZWFrcG9pbnRzW0JyZWFrcG9pbnRzLk1lZGl1bV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChiLmJyZWFrcG9pbnRzW0JyZWFrcG9pbnRzLlNtYWxsXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBkaXNwbGF5ZWRGaWx0ZXJzQ291bnQkID0gY29tYmluZUxhdGVzdChbdGhpcy5yZXBlYXQkLCB0b09ic2VydmFibGUodGhpcy5yb3dzKV0pLnBpcGUoXG4gICAgICAgIG1hcCgoW3JlcGVhdCwgcm93c10pID0+IHJlcGVhdCAqIHJvd3MpLFxuICAgICk7XG4gICAgZmlsdGVyc0NvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cbiAgICBvcGVuKCkge1xuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKEZpbHRlcnNEaWFsb2dDb21wb25lbnQsIHsgZmlsdGVyczogdGhpcyB9KTtcbiAgICB9XG59XG4iLCI8ZGl2ICNjb250ZW50IFtuZ0NsYXNzXT1cIlsndi1maWx0ZXJzLWNvbHMtJyArIChyZXBlYXQkIHwgYXN5bmMpLCAnZmlsdGVycyddXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1haW5GaWx0ZXJzVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19","import { Component, Input } from '@angular/core';\nimport { FiltersComponent } from '../../filters.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nimport * as i3 from \"../../../actions/actions.component\";\nimport * as i4 from \"@angular/material/badge\";\nimport * as i5 from \"@angular/common\";\nexport class MoreFiltersButtonComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MoreFiltersButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: MoreFiltersButtonComponent, isStandalone: false, selector: \"v-more-filters-button\", inputs: { filters: \"filters\" }, ngImport: i0, template: \"<v-actions>\\n @if (filters.active && filters.clear.observed) {\\n <button mat-icon-button (click)=\\\"filters.clear.emit()\\\">\\n <mat-icon [matBadge]=\\\"filters.active || undefined\\\" matBadgeColor=\\\"accent\\\"\\n >restart_alt</mat-icon\\n >\\n </button>\\n }\\n @if (\\n filters.otherFiltersDirective ||\\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\\n ) {\\n <button mat-icon-button (click)=\\\"filters.open()\\\">\\n <mat-icon>filter_alt</mat-icon>\\n </button>\\n }\\n</v-actions>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"component\", type: i3.ActionsComponent, selector: \"v-actions\" }, { kind: \"directive\", type: i4.MatBadge, selector: \"[matBadge]\", inputs: [\"matBadgeColor\", \"matBadgeOverlap\", \"matBadgeDisabled\", \"matBadgePosition\", \"matBadge\", \"matBadgeDescription\", \"matBadgeSize\", \"matBadgeHidden\"] }, { kind: \"pipe\", type: i5.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: MoreFiltersButtonComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-more-filters-button', standalone: false, template: \"<v-actions>\\n @if (filters.active && filters.clear.observed) {\\n <button mat-icon-button (click)=\\\"filters.clear.emit()\\\">\\n <mat-icon [matBadge]=\\\"filters.active || undefined\\\" matBadgeColor=\\\"accent\\\"\\n >restart_alt</mat-icon\\n >\\n </button>\\n }\\n @if (\\n filters.otherFiltersDirective ||\\n ((filters.filtersCount$ | async) ?? 0) - ((filters.displayedFiltersCount$ | async) ?? 0) > 0\\n ) {\\n <button mat-icon-button (click)=\\\"filters.open()\\\">\\n <mat-icon>filter_alt</mat-icon>\\n </button>\\n }\\n</v-actions>\\n\" }]\n }], propDecorators: { filters: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1maWx0ZXJzLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2NvbXBvbmVudHMvbW9yZS1maWx0ZXJzLWJ1dHRvbi9tb3JlLWZpbHRlcnMtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9tb3JlLWZpbHRlcnMtYnV0dG9uL21vcmUtZmlsdGVycy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7QUFRM0QsTUFBTSxPQUFPLDBCQUEwQjs4R0FBMUIsMEJBQTBCO2tHQUExQiwwQkFBMEIsa0hDVnZDLDBtQkFpQkE7OzJGRFBhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx1QkFBdUIsY0FHckIsS0FBSzs4QkFHUixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWx0ZXJzLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1tb3JlLWZpbHRlcnMtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW9yZS1maWx0ZXJzLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbW9yZS1maWx0ZXJzLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBNb3JlRmlsdGVyc0J1dHRvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZmlsdGVycyE6IEZpbHRlcnNDb21wb25lbnQ7XG59XG4iLCI8di1hY3Rpb25zPlxuICAgIEBpZiAoZmlsdGVycy5hY3RpdmUgJiYgZmlsdGVycy5jbGVhci5vYnNlcnZlZCkge1xuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmlsdGVycy5jbGVhci5lbWl0KClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBbbWF0QmFkZ2VdPVwiZmlsdGVycy5hY3RpdmUgfHwgdW5kZWZpbmVkXCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgPnJlc3RhcnRfYWx0PC9tYXQtaWNvblxuICAgICAgICAgICAgPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG4gICAgQGlmIChcbiAgICAgICAgZmlsdGVycy5vdGhlckZpbHRlcnNEaXJlY3RpdmUgfHxcbiAgICAgICAgKChmaWx0ZXJzLmZpbHRlcnNDb3VudCQgfCBhc3luYykgPz8gMCkgLSAoKGZpbHRlcnMuZGlzcGxheWVkRmlsdGVyc0NvdW50JCB8IGFzeW5jKSA/PyAwKSA+IDBcbiAgICApIHtcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImZpbHRlcnMub3BlbigpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+ZmlsdGVyX2FsdDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIH1cbjwvdi1hY3Rpb25zPlxuIl19","import { LayoutModule } from '@angular/cdk/layout';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ActionsModule } from '../actions';\nimport { DialogModule } from '../dialog';\nimport { FiltersDialogComponent } from './components/filters-dialog/filters-dialog.component';\nimport { MainFiltersDirective } from './components/main-filters/main-filters.directive';\nimport { MoreFiltersButtonComponent } from './components/more-filters-button/more-filters-button.component';\nimport { OtherFiltersDirective } from './components/other-filters/other-filters.directive';\nimport { FiltersComponent } from './filters.component';\nimport * as i0 from \"@angular/core\";\nexport class FiltersModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersModule, declarations: [FiltersComponent,\n MoreFiltersButtonComponent,\n FiltersDialogComponent,\n OtherFiltersDirective,\n MainFiltersDirective], imports: [CommonModule,\n MatButtonModule,\n MatIconModule,\n DialogModule,\n LayoutModule,\n ActionsModule,\n MatBadgeModule], exports: [FiltersComponent,\n MoreFiltersButtonComponent,\n OtherFiltersDirective,\n MainFiltersDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersModule, imports: [CommonModule,\n MatButtonModule,\n MatIconModule,\n DialogModule,\n LayoutModule,\n ActionsModule,\n MatBadgeModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FiltersModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n FiltersComponent,\n MoreFiltersButtonComponent,\n FiltersDialogComponent,\n OtherFiltersDirective,\n MainFiltersDirective,\n ],\n exports: [\n FiltersComponent,\n MoreFiltersButtonComponent,\n OtherFiltersDirective,\n MainFiltersDirective,\n ],\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n DialogModule,\n LayoutModule,\n ActionsModule,\n MatBadgeModule,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDNUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBMEJ2RCxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsaUJBdEJsQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsb0JBQW9CLGFBU3BCLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLFlBQVk7WUFDWixZQUFZO1lBQ1osYUFBYTtZQUNiLGNBQWMsYUFaZCxnQkFBZ0I7WUFDaEIsMEJBQTBCO1lBQzFCLHFCQUFxQjtZQUNyQixvQkFBb0I7K0dBWWYsYUFBYSxZQVRsQixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7WUFDYixjQUFjOzsyRkFHVCxhQUFhO2tCQXhCekIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxnQkFBZ0I7d0JBQ2hCLDBCQUEwQjt3QkFDMUIscUJBQXFCO3dCQUNyQixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEFjdGlvbnNNb2R1bGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJy4uL2RpYWxvZyc7XG5cbmltcG9ydCB7IEZpbHRlcnNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsdGVycy1kaWFsb2cvZmlsdGVycy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IE1haW5GaWx0ZXJzRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL21haW4tZmlsdGVycy9tYWluLWZpbHRlcnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1vcmVGaWx0ZXJzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vcmUtZmlsdGVycy1idXR0b24vbW9yZS1maWx0ZXJzLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3RoZXJGaWx0ZXJzRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL290aGVyLWZpbHRlcnMvb3RoZXItZmlsdGVycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBGaWx0ZXJzQ29tcG9uZW50LFxuICAgICAgICBNb3JlRmlsdGVyc0J1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgRmlsdGVyc0RpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgT3RoZXJGaWx0ZXJzRGlyZWN0aXZlLFxuICAgICAgICBNYWluRmlsdGVyc0RpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRmlsdGVyc0NvbXBvbmVudCxcbiAgICAgICAgTW9yZUZpbHRlcnNCdXR0b25Db21wb25lbnQsXG4gICAgICAgIE90aGVyRmlsdGVyc0RpcmVjdGl2ZSxcbiAgICAgICAgTWFpbkZpbHRlcnNEaXJlY3RpdmUsXG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIExheW91dE1vZHVsZSxcbiAgICAgICAgQWN0aW9uc01vZHVsZSxcbiAgICAgICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyc01vZHVsZSB7fVxuIl19","import { Component, Input, booleanAttribute, inject } from '@angular/core';\nimport { NonNullableFormBuilder } from '@angular/forms';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter';\nimport { enGB } from 'date-fns/locale';\nimport { FormGroupSuperclass, createControlProviders } from '../../utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/datepicker\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@angular/forms\";\nimport * as i4 from \"@angular/material/button\";\nimport * as i5 from \"../actions/actions.component\";\nexport class DateRangeFieldComponent extends FormGroupSuperclass {\n constructor() {\n super(...arguments);\n this.fb = inject(NonNullableFormBuilder);\n this.required = false;\n this.control = this.fb.group({\n start: undefined,\n end: undefined,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DateRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: DateRangeFieldComponent, isStandalone: false, selector: \"v-date-range-field\", inputs: { required: [\"required\", \"required\", booleanAttribute] }, providers: [\n ...createControlProviders(() => DateRangeFieldComponent),\n { provide: MAT_DATE_LOCALE, useValue: enGB },\n { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n ], usesInheritance: true, ngImport: i0, template: \"<mat-form-field>\\n <mat-label>Date range</mat-label>\\n <mat-date-range-input\\n [formGroup]=\\\"control\\\"\\n [rangePicker]=\\\"picker\\\"\\n [required]=\\\"required || false\\\"\\n >\\n <input formControlName=\\\"start\\\" matStartDate placeholder=\\\"Start date\\\" />\\n <input formControlName=\\\"end\\\" matEndDate placeholder=\\\"End date\\\" />\\n </mat-date-range-input>\\n <mat-datepicker-toggle [for]=\\\"picker\\\" matIconSuffix></mat-datepicker-toggle>\\n <mat-date-range-picker #picker>\\n <mat-date-range-picker-actions>\\n <v-actions class=\\\"actions\\\">\\n @if (!required) {\\n <button\\n [disabled]=\\\"!control.value?.start && !control.value?.end\\\"\\n mat-button\\n (click)=\\\"control.reset(); picker.close()\\\"\\n >\\n Reset\\n </button>\\n }\\n <button mat-flat-button matDateRangePickerApply>Apply</button>\\n </v-actions>\\n </mat-date-range-picker-actions>\\n </mat-date-range-picker>\\n</mat-form-field>\\n\", styles: [\":host{overflow:hidden}mat-form-field{width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto!important}input{text-overflow:ellipsis}.actions{width:100%}\\n\"], dependencies: [{ kind: \"component\", type: i1.MatDatepickerToggle, selector: \"mat-datepicker-toggle\", inputs: [\"for\", \"tabIndex\", \"aria-label\", \"disabled\", \"disableRipple\"], exportAs: [\"matDatepickerToggle\"] }, { kind: \"component\", type: i1.MatDateRangeInput, selector: \"mat-date-range-input\", inputs: [\"rangePicker\", \"required\", \"dateFilter\", \"min\", \"max\", \"disabled\", \"separator\", \"comparisonStart\", \"comparisonEnd\"], exportAs: [\"matDateRangeInput\"] }, { kind: \"directive\", type: i1.MatStartDate, selector: \"input[matStartDate]\", outputs: [\"dateChange\", \"dateInput\"] }, { kind: \"directive\", type: i1.MatEndDate, selector: \"input[matEndDate]\", outputs: [\"dateChange\", \"dateInput\"] }, { kind: \"component\", type: i1.MatDateRangePicker, selector: \"mat-date-range-picker\", exportAs: [\"matDateRangePicker\"] }, { kind: \"component\", type: i1.MatDatepickerActions, selector: \"mat-datepicker-actions, mat-date-range-picker-actions\" }, { kind: \"directive\", type: i1.MatDatepickerApply, selector: \"[matDatepickerApply], [matDateRangePickerApply]\" }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i2.MatSuffix, selector: \"[matSuffix], [matIconSuffix], [matTextSuffix]\", inputs: [\"matTextSuffix\"] }, { kind: \"directive\", type: i3.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i3.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i3.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"directive\", type: i3.FormControlName, selector: \"[formControlName]\", inputs: [\"formControlName\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { kind: \"component\", type: i4.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i5.ActionsComponent, selector: \"v-actions\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DateRangeFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-date-range-field', providers: [\n ...createControlProviders(() => DateRangeFieldComponent),\n { provide: MAT_DATE_LOCALE, useValue: enGB },\n { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n ], standalone: false, template: \"<mat-form-field>\\n <mat-label>Date range</mat-label>\\n <mat-date-range-input\\n [formGroup]=\\\"control\\\"\\n [rangePicker]=\\\"picker\\\"\\n [required]=\\\"required || false\\\"\\n >\\n <input formControlName=\\\"start\\\" matStartDate placeholder=\\\"Start date\\\" />\\n <input formControlName=\\\"end\\\" matEndDate placeholder=\\\"End date\\\" />\\n </mat-date-range-input>\\n <mat-datepicker-toggle [for]=\\\"picker\\\" matIconSuffix></mat-datepicker-toggle>\\n <mat-date-range-picker #picker>\\n <mat-date-range-picker-actions>\\n <v-actions class=\\\"actions\\\">\\n @if (!required) {\\n <button\\n [disabled]=\\\"!control.value?.start && !control.value?.end\\\"\\n mat-button\\n (click)=\\\"control.reset(); picker.close()\\\"\\n >\\n Reset\\n </button>\\n }\\n <button mat-flat-button matDateRangePickerApply>Apply</button>\\n </v-actions>\\n </mat-date-range-picker-actions>\\n </mat-date-range-picker>\\n</mat-form-field>\\n\", styles: [\":host{overflow:hidden}mat-form-field{width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto!important}input{text-overflow:ellipsis}.actions{width:100%}\\n\"] }]\n }], propDecorators: { required: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLWZpZWxkL2RhdGUtcmFuZ2UtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1yYW5nZS1maWVsZC9kYXRlLXJhbmdlLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBZ0IxRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQXVDO0lBWnBGOztRQWFZLE9BQUUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNKLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbEUsWUFBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFxQjtZQUN4QyxLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUM7S0FDTjs4R0FSWSx1QkFBdUI7a0dBQXZCLHVCQUF1QixvR0FFWixnQkFBZ0IsZ0JBVnpCO1lBQ1AsR0FBRyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN4RCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUM1QyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUMzRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7U0FDaEUsaURDbkJMLG1vQ0E0QkE7OzJGRE5hLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDSSxvQkFBb0IsYUFHbkI7d0JBQ1AsR0FBRyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7d0JBQ3hELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO3dCQUM1QyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTt3QkFDM0UsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO3FCQUNoRSxjQUNXLEtBQUs7OEJBSXVCLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBib29sZWFuQXR0cmlidXRlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vbk51bGxhYmxlRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBEYXRlRm5zQWRhcHRlciwgTUFUX0RBVEVfRk5TX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1kYXRlLWZucy1hZGFwdGVyJztcbmltcG9ydCB7IGVuR0IgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuXG5pbXBvcnQgeyBGb3JtR3JvdXBTdXBlcmNsYXNzLCBjcmVhdGVDb250cm9sUHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICcuL3R5cGVzL2RhdGUtcmFuZ2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtZGF0ZS1yYW5nZS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgLi4uY3JlYXRlQ29udHJvbFByb3ZpZGVycygoKSA9PiBEYXRlUmFuZ2VGaWVsZENvbXBvbmVudCksXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogZW5HQiB9LFxuICAgICAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogRGF0ZUZuc0FkYXB0ZXIsIGRlcHM6IFtNQVRfREFURV9MT0NBTEVdIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IE1BVF9EQVRFX0ZOU19GT1JNQVRTIH0sXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlRmllbGRDb21wb25lbnQgZXh0ZW5kcyBGb3JtR3JvdXBTdXBlcmNsYXNzPFBhcnRpYWw8RGF0ZVJhbmdlPj4ge1xuICAgIHByaXZhdGUgZmIgPSBpbmplY3QoTm9uTnVsbGFibGVGb3JtQnVpbGRlcik7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb250cm9sID0gdGhpcy5mYi5ncm91cDxQYXJ0aWFsPERhdGVSYW5nZT4+KHtcbiAgICAgICAgc3RhcnQ6IHVuZGVmaW5lZCxcbiAgICAgICAgZW5kOiB1bmRlZmluZWQsXG4gICAgfSk7XG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD5EYXRlIHJhbmdlPC9tYXQtbGFiZWw+XG4gICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0XG4gICAgICAgIFtmb3JtR3JvdXBdPVwiY29udHJvbFwiXG4gICAgICAgIFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWQgfHwgZmFsc2VcIlxuICAgID5cbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInN0YXJ0XCIgbWF0U3RhcnREYXRlIHBsYWNlaG9sZGVyPVwiU3RhcnQgZGF0ZVwiIC8+XG4gICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIiBtYXRFbmREYXRlIHBsYWNlaG9sZGVyPVwiRW5kIGRhdGVcIiAvPlxuICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBbZm9yXT1cInBpY2tlclwiIG1hdEljb25TdWZmaXg+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XG4gICAgICAgICAgICA8di1hY3Rpb25zIGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoIXJlcXVpcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29udHJvbC52YWx1ZT8uc3RhcnQgJiYgIWNvbnRyb2wudmFsdWU/LmVuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29udHJvbC5yZXNldCgpOyBwaWNrZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIFJlc2V0XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBtYXREYXRlUmFuZ2VQaWNrZXJBcHBseT5BcHBseTwvYnV0dG9uPlxuICAgICAgICAgICAgPC92LWFjdGlvbnM+XG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XG4gICAgPC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatInputModule } from '@angular/material/input';\nimport { ActionsModule } from '../actions';\nimport { DateRangeFieldComponent } from './date-range-field.component';\nimport * as i0 from \"@angular/core\";\nexport class DateRangeFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DateRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: DateRangeFieldModule, declarations: [DateRangeFieldComponent], imports: [CommonModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n MatButtonModule,\n ActionsModule], exports: [DateRangeFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DateRangeFieldModule, imports: [CommonModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n MatButtonModule,\n ActionsModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DateRangeFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [DateRangeFieldComponent],\n imports: [\n CommonModule,\n MatDatepickerModule,\n MatInputModule,\n ReactiveFormsModule,\n MatButtonModule,\n ActionsModule,\n ],\n exports: [DateRangeFieldComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLWZpZWxkL2RhdGUtcmFuZ2UtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFjdkUsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsaUJBWGQsdUJBQXVCLGFBRWxDLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsYUFBYSxhQUVQLHVCQUF1QjsrR0FFeEIsb0JBQW9CLFlBVHpCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsYUFBYTs7MkZBSVIsb0JBQW9CO2tCQVpoQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUN2QyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGFBQWE7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgQWN0aW9uc01vZHVsZSB9IGZyb20gJy4uL2FjdGlvbnMnO1xuXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1yYW5nZS1maWVsZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0RhdGVSYW5nZUZpZWxkQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQWN0aW9uc01vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtEYXRlUmFuZ2VGaWVsZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUZpZWxkTW9kdWxlIHt9XG4iXX0=","import { isEqual } from 'date-fns';\nexport function isEqualDateRange(a, b) {\n if (!a || !b) {\n return a === b;\n }\n return isEqual(a.start, b.start) && isEqual(a.end, b.end);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZXF1YWwtZGF0ZS1yYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcmFuZ2UtZmllbGQvdXRpbHMvaXMtZXF1YWwtZGF0ZS1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBSW5DLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFZLEVBQUUsQ0FBWTtJQUN2RCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IHsgRGF0ZVJhbmdlIH0gZnJvbSAnLi4vdHlwZXMvZGF0ZS1yYW5nZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VxdWFsRGF0ZVJhbmdlKGE6IERhdGVSYW5nZSwgYjogRGF0ZVJhbmdlKSB7XG4gICAgaWYgKCFhIHx8ICFiKSB7XG4gICAgICAgIHJldHVybiBhID09PSBiO1xuICAgIH1cbiAgICByZXR1cm4gaXNFcXVhbChhLnN0YXJ0LCBiLnN0YXJ0KSAmJiBpc0VxdWFsKGEuZW5kLCBiLmVuZCk7XG59XG4iXX0=","import { endOfDay, startOfDay, subDays } from 'date-fns';\nexport function createDateRangeToToday(minDays = 1) {\n return {\n /**\n * If we take the beginning of the previous day to the end of the current one,\n * then it is guaranteed that there will be an interval of one day,\n * as a maximum of two days\n */\n start: subDays(startOfDay(new Date()), minDays),\n end: endOfDay(new Date()),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhdGUtcmFuZ2UtdG8tdG9kYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXJhbmdlLWZpZWxkL3V0aWxzL2NyZWF0ZS1kYXRlLXJhbmdlLXRvLXRvZGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUl6RCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsVUFBa0IsQ0FBQztJQUN0RCxPQUFPO1FBQ0g7Ozs7V0FJRztRQUNILEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDL0MsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0tBQzVCLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW5kT2ZEYXksIHN0YXJ0T2ZEYXksIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XG5cbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJy4uL3R5cGVzL2RhdGUtcmFuZ2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGF0ZVJhbmdlVG9Ub2RheShtaW5EYXlzOiBudW1iZXIgPSAxKTogRGF0ZVJhbmdlIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogSWYgd2UgdGFrZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBwcmV2aW91cyBkYXkgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCBvbmUsXG4gICAgICAgICAqIHRoZW4gaXQgaXMgZ3VhcmFudGVlZCB0aGF0IHRoZXJlIHdpbGwgYmUgYW4gaW50ZXJ2YWwgb2Ygb25lIGRheSxcbiAgICAgICAgICogYXMgYSBtYXhpbXVtIG9mIHR3byBkYXlzXG4gICAgICAgICAqL1xuICAgICAgICBzdGFydDogc3ViRGF5cyhzdGFydE9mRGF5KG5ldyBEYXRlKCkpLCBtaW5EYXlzKSxcbiAgICAgICAgZW5kOiBlbmRPZkRheShuZXcgRGF0ZSgpKSxcbiAgICB9O1xufVxuIl19","import { Component, Input, inject } from '@angular/core';\nimport { NonNullableFormBuilder } from '@angular/forms';\nimport { FormGroupSuperclass, createControlProviders } from '../../utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@angular/material/input\";\nexport class NumberRangeFieldComponent extends FormGroupSuperclass {\n constructor() {\n super(...arguments);\n this.fb = inject(NonNullableFormBuilder);\n this.control = this.fb.group({\n start: undefined,\n end: undefined,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NumberRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: NumberRangeFieldComponent, isStandalone: false, selector: \"v-number-range-field\", inputs: { label: \"label\" }, providers: createControlProviders(() => NumberRangeFieldComponent), usesInheritance: true, ngImport: i0, template: \"<div [formGroup]=\\\"control\\\" class=\\\"wrapper\\\">\\n <mat-form-field>\\n <mat-label>{{ label }} from</mat-label>\\n <input formControlName=\\\"start\\\" matInput type=\\\"number\\\" />\\n </mat-form-field>\\n <mat-form-field>\\n <mat-label>{{ label }} to</mat-label>\\n <input formControlName=\\\"end\\\" matInput type=\\\"number\\\" />\\n </mat-form-field>\\n</div>\\n\", styles: [\".wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}\\n\"], dependencies: [{ kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NumberValueAccessor, selector: \"input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgControlStatusGroup, selector: \"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]\" }, { kind: \"directive\", type: i1.FormGroupDirective, selector: \"[formGroup]\", inputs: [\"formGroup\"], outputs: [\"ngSubmit\"], exportAs: [\"ngForm\"] }, { kind: \"directive\", type: i1.FormControlName, selector: \"[formControlName]\", inputs: [\"formControlName\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"] }, { kind: \"directive\", type: i2.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NumberRangeFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-number-range-field', providers: createControlProviders(() => NumberRangeFieldComponent), standalone: false, template: \"<div [formGroup]=\\\"control\\\" class=\\\"wrapper\\\">\\n <mat-form-field>\\n <mat-label>{{ label }} from</mat-label>\\n <input formControlName=\\\"start\\\" matInput type=\\\"number\\\" />\\n </mat-form-field>\\n <mat-form-field>\\n <mat-label>{{ label }} to</mat-label>\\n <input formControlName=\\\"end\\\" matInput type=\\\"number\\\" />\\n </mat-form-field>\\n</div>\\n\", styles: [\".wrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px}\\n\"] }]\n }], propDecorators: { label: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXJhbmdlLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL251bWJlci1yYW5nZS1maWVsZC9udW1iZXItcmFuZ2UtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvbnVtYmVyLXJhbmdlLWZpZWxkL251bWJlci1yYW5nZS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBYzFFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxtQkFBZ0M7SUFQL0U7O1FBUVksT0FBRSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRzVDLFlBQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBYztZQUNqQyxLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNqQixDQUFDLENBQUM7S0FDTjs4R0FSWSx5QkFBeUI7a0dBQXpCLHlCQUF5QixnR0FIdkIsc0JBQXNCLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsaURDZHRFLCtYQVVBOzsyRkRPYSx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksc0JBQXNCLGFBR3JCLHNCQUFzQixDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxjQUN0RCxLQUFLOzhCQUlSLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRm9ybUdyb3VwU3VwZXJjbGFzcywgY3JlYXRlQ29udHJvbFByb3ZpZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgTnVtYmVyUmFuZ2UgPSB7XG4gICAgc3RhcnQ/OiBudW1iZXI7XG4gICAgZW5kPzogbnVtYmVyO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LW51bWJlci1yYW5nZS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL251bWJlci1yYW5nZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLXJhbmdlLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBjcmVhdGVDb250cm9sUHJvdmlkZXJzKCgpID0+IE51bWJlclJhbmdlRmllbGRDb21wb25lbnQpLFxuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJSYW5nZUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgRm9ybUdyb3VwU3VwZXJjbGFzczxOdW1iZXJSYW5nZT4ge1xuICAgIHByaXZhdGUgZmIgPSBpbmplY3QoTm9uTnVsbGFibGVGb3JtQnVpbGRlcik7XG4gICAgQElucHV0KCkgbGFiZWwhOiBzdHJpbmc7XG5cbiAgICBjb250cm9sID0gdGhpcy5mYi5ncm91cDxOdW1iZXJSYW5nZT4oe1xuICAgICAgICBzdGFydDogdW5kZWZpbmVkLFxuICAgICAgICBlbmQ6IHVuZGVmaW5lZCxcbiAgICB9KTtcbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJjb250cm9sXCIgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19IGZyb208L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInN0YXJ0XCIgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX0gdG88L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cImVuZFwiIG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiAvPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { NumberRangeFieldComponent } from './number-range-field.component';\nimport * as i0 from \"@angular/core\";\nexport class NumberRangeFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NumberRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: NumberRangeFieldModule, declarations: [NumberRangeFieldComponent], imports: [ReactiveFormsModule, MatInputModule], exports: [NumberRangeFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NumberRangeFieldModule, imports: [ReactiveFormsModule, MatInputModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NumberRangeFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [NumberRangeFieldComponent],\n imports: [ReactiveFormsModule, MatInputModule],\n exports: [NumberRangeFieldComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXJhbmdlLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL251bWJlci1yYW5nZS1maWVsZC9udW1iZXItcmFuZ2UtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQU8zRSxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixpQkFKaEIseUJBQXlCLGFBQzlCLG1CQUFtQixFQUFFLGNBQWMsYUFDbkMseUJBQXlCOytHQUUxQixzQkFBc0IsWUFIckIsbUJBQW1CLEVBQUUsY0FBYzs7MkZBR3BDLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBOdW1iZXJSYW5nZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9udW1iZXItcmFuZ2UtZmllbGQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtOdW1iZXJSYW5nZUZpZWxkQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0SW5wdXRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtOdW1iZXJSYW5nZUZpZWxkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyUmFuZ2VGaWVsZE1vZHVsZSB7fVxuIl19","import { Component, Input } from '@angular/core';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { FormControlSuperclass, createControlProviders, getValueChanges, splitBySeparators, } from '../../utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/input\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/common\";\nexport class ListFieldComponent extends FormControlSuperclass {\n constructor() {\n super(...arguments);\n this.items$ = getValueChanges(this.control).pipe(map((v) => this.getValue(v)), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n innerToOuterValue(inner) {\n return this.getValue(inner);\n }\n outerToInnerValue(outer) {\n return (outer || []).join(', ');\n }\n getValue(inner = this.control.value) {\n return splitBySeparators(inner || '');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: ListFieldComponent, isStandalone: false, selector: \"v-list-field\", inputs: { label: \"label\", focusedHint: \"focusedHint\" }, providers: createControlProviders(() => ListFieldComponent), usesInheritance: true, ngImport: i0, template: \"<mat-form-field style=\\\"width: 100%\\\">\\n <mat-label>{{ label }}</mat-label>\\n <input #input=\\\"matInput\\\" [formControl]=\\\"control\\\" autocomplete=\\\"false\\\" matInput type=\\\"string\\\" />\\n <mat-hint class=\\\"mat-secondary-text\\\">{{\\n (items$ | async)?.length\\n ? (items$ | async)?.length === 1\\n ? '1 item'\\n : (items$ | async)?.length + ' items'\\n : input.focused\\n ? focusedHint || 'item_1, item_2'\\n : ''\\n }}</mat-hint>\\n</mat-form-field>\\n\", dependencies: [{ kind: \"directive\", type: i1.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i1.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i1.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i2.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ListFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-list-field', providers: createControlProviders(() => ListFieldComponent), standalone: false, template: \"<mat-form-field style=\\\"width: 100%\\\">\\n <mat-label>{{ label }}</mat-label>\\n <input #input=\\\"matInput\\\" [formControl]=\\\"control\\\" autocomplete=\\\"false\\\" matInput type=\\\"string\\\" />\\n <mat-hint class=\\\"mat-secondary-text\\\">{{\\n (items$ | async)?.length\\n ? (items$ | async)?.length === 1\\n ? '1 item'\\n : (items$ | async)?.length + ' items'\\n : input.focused\\n ? focusedHint || 'item_1, item_2'\\n : ''\\n }}</mat-hint>\\n</mat-form-field>\\n\" }]\n }], propDecorators: { label: [{\n type: Input\n }], focusedHint: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9saXN0LWZpZWxkL2xpc3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC1maWVsZC9saXN0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUNILHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGlCQUFpQixHQUNwQixNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFRckIsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUF1QztJQU4vRTs7UUFVSSxXQUFNLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1QixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0tBYUw7SUFYc0IsaUJBQWlCLENBQUMsS0FBYTtRQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVrQixpQkFBaUIsQ0FBQyxLQUFlO1FBQ2hELE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxRQUFRLENBQUMsUUFBZ0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1FBQy9DLE9BQU8saUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7OEdBbkJRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG9IQUhoQixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxpRENiL0QseWhCQWFBOzsyRkRHYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksY0FBYyxhQUViLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxjQUMvQyxLQUFLOzhCQUdSLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBGb3JtQ29udHJvbFN1cGVyY2xhc3MsXG4gICAgY3JlYXRlQ29udHJvbFByb3ZpZGVycyxcbiAgICBnZXRWYWx1ZUNoYW5nZXMsXG4gICAgc3BsaXRCeVNlcGFyYXRvcnMsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LWxpc3QtZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMoKCkgPT4gTGlzdEZpZWxkQ29tcG9uZW50KSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgRm9ybUNvbnRyb2xTdXBlcmNsYXNzPHN0cmluZ1tdLCBzdHJpbmc+IHtcbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSBmb2N1c2VkSGludD86IHN0cmluZztcblxuICAgIGl0ZW1zJCA9IGdldFZhbHVlQ2hhbmdlcyh0aGlzLmNvbnRyb2wpLnBpcGUoXG4gICAgICAgIG1hcCgodikgPT4gdGhpcy5nZXRWYWx1ZSh2KSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBpbm5lclRvT3V0ZXJWYWx1ZShpbm5lcjogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZShpbm5lcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG91dGVyVG9Jbm5lclZhbHVlKG91dGVyOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAob3V0ZXIgfHwgW10pLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZShpbm5lcjogc3RyaW5nID0gdGhpcy5jb250cm9sLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiBzcGxpdEJ5U2VwYXJhdG9ycyhpbm5lciB8fCAnJyk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0ICNpbnB1dD1cIm1hdElucHV0XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBhdXRvY29tcGxldGU9XCJmYWxzZVwiIG1hdElucHV0IHR5cGU9XCJzdHJpbmdcIiAvPlxuICAgIDxtYXQtaGludCBjbGFzcz1cIm1hdC1zZWNvbmRhcnktdGV4dFwiPnt7XG4gICAgICAgIChpdGVtcyQgfCBhc3luYyk/Lmxlbmd0aFxuICAgICAgICAgICAgPyAoaXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICAgICA/ICcxIGl0ZW0nXG4gICAgICAgICAgICAgICAgOiAoaXRlbXMkIHwgYXN5bmMpPy5sZW5ndGggKyAnIGl0ZW1zJ1xuICAgICAgICAgICAgOiBpbnB1dC5mb2N1c2VkXG4gICAgICAgICAgICAgID8gZm9jdXNlZEhpbnQgfHwgJ2l0ZW1fMSwgaXRlbV8yJ1xuICAgICAgICAgICAgICA6ICcnXG4gICAgfX08L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { ListFieldComponent } from './list-field.component';\nimport * as i0 from \"@angular/core\";\nexport class ListFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ListFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: ListFieldModule, declarations: [ListFieldComponent], imports: [CommonModule, MatInputModule, ReactiveFormsModule], exports: [ListFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ListFieldModule, imports: [CommonModule, MatInputModule, ReactiveFormsModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ListFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [ListFieldComponent],\n exports: [ListFieldComponent],\n imports: [CommonModule, MatInputModule, ReactiveFormsModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9saXN0LWZpZWxkL2xpc3QtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTsrR0FBZixlQUFlLGlCQUpULGtCQUFrQixhQUV2QixZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixhQURqRCxrQkFBa0I7K0dBR25CLGVBQWUsWUFGZCxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQjs7MkZBRWxELGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5pbXBvcnQgeyBMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtZmllbGQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtMaXN0RmllbGRDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtMaXN0RmllbGRDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdElucHV0TW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdEZpZWxkTW9kdWxlIHt9XG4iXX0=","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/icon\";\nexport class ErrorPageComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: ErrorPageComponent, isStandalone: false, selector: \"ng-component\", ngImport: i0, template: \"<div class=\\\"error\\\">\\n <div class=\\\"mat-display-small title\\\">\\n <mat-icon>error</mat-icon>\\n <div>Page not found</div>\\n </div>\\n <h2 class=\\\"mat-headline-small mat-secondary-text\\\">\\n This page doesn't exist<br />or no permission to access this page\\n </h2>\\n</div>\\n\", styles: [\".error{margin:0 auto;padding:96px 24px;text-align:center}.error .title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.error .title mat-icon{font-size:40px;width:auto;height:auto}\\n\"], dependencies: [{ kind: \"component\", type: i1.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageComponent, decorators: [{\n type: Component,\n args: [{ standalone: false, template: \"<div class=\\\"error\\\">\\n <div class=\\\"mat-display-small title\\\">\\n <mat-icon>error</mat-icon>\\n <div>Page not found</div>\\n </div>\\n <h2 class=\\\"mat-headline-small mat-secondary-text\\\">\\n This page doesn't exist<br />or no permission to access this page\\n </h2>\\n</div>\\n\", styles: [\".error{margin:0 auto;padding:96px 24px;text-align:center}.error .title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px}.error .title mat-icon{font-size:40px;width:auto;height:auto}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1wYWdlL2Vycm9yLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZXJyb3ItcGFnZS9lcnJvci1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xQyxNQUFNLE9BQU8sa0JBQWtCOzhHQUFsQixrQkFBa0I7a0dBQWxCLGtCQUFrQix5RUNQL0IsaVRBU0E7OzJGREZhLGtCQUFrQjtrQkFMOUIsU0FBUztpQ0FHTSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnZXJyb3ItcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2Vycm9yLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JQYWdlQ29tcG9uZW50IHt9XG4iLCI8ZGl2IGNsYXNzPVwiZXJyb3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWF0LWRpc3BsYXktc21hbGwgdGl0bGVcIj5cbiAgICAgICAgPG1hdC1pY29uPmVycm9yPC9tYXQtaWNvbj5cbiAgICAgICAgPGRpdj5QYWdlIG5vdCBmb3VuZDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxoMiBjbGFzcz1cIm1hdC1oZWFkbGluZS1zbWFsbCBtYXQtc2Vjb25kYXJ5LXRleHRcIj5cbiAgICAgICAgVGhpcyBwYWdlIGRvZXNuJ3QgZXhpc3Q8YnIgLz5vciBubyBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGlzIHBhZ2VcbiAgICA8L2gyPlxuPC9kaXY+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ErrorPageComponent } from './error-page.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nconst ROUTES = [{ path: '', component: ErrorPageComponent }];\nexport class ErrorPageRoutingModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageRoutingModule, imports: [RouterModule.forChild(ROUTES), RouterModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageRoutingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [RouterModule.forChild(ROUTES)],\n exports: [RouterModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcGFnZS1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRTVELE1BQU0sTUFBTSxHQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFNckUsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0Isd0NBRnJCLFlBQVk7K0dBRWIsc0JBQXNCLFlBSHJCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzJGQUViLHNCQUFzQjtrQkFKbEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRXJyb3JQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvci1wYWdlLmNvbXBvbmVudCc7XG5cbmNvbnN0IFJPVVRFUzogUm91dGVzID0gW3sgcGF0aDogJycsIGNvbXBvbmVudDogRXJyb3JQYWdlQ29tcG9uZW50IH1dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoUk9VVEVTKV0sXG4gICAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yUGFnZVJvdXRpbmdNb2R1bGUge31cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ErrorPageRoutingModule } from './error-page-routing.module';\nimport { ErrorPageComponent } from './error-page.component';\nimport * as i0 from \"@angular/core\";\nexport class ErrorPageModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageModule, declarations: [ErrorPageComponent], imports: [ErrorPageRoutingModule, MatIconModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageModule, imports: [ErrorPageRoutingModule, MatIconModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ErrorPageModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [ErrorPageRoutingModule, MatIconModule],\n declarations: [ErrorPageComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcGFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1wYWdlL2Vycm9yLXBhZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU01RCxNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsaUJBRlQsa0JBQWtCLGFBRHZCLHNCQUFzQixFQUFFLGFBQWE7K0dBR3RDLGVBQWUsWUFIZCxzQkFBc0IsRUFBRSxhQUFhOzsyRkFHdEMsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUM7b0JBQ2hELFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IEVycm9yUGFnZVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2Vycm9yLXBhZ2Utcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgRXJyb3JQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9lcnJvci1wYWdlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0Vycm9yUGFnZVJvdXRpbmdNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0Vycm9yUGFnZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yUGFnZU1vZHVsZSB7fVxuIl19","export function isSearchOption(option, termLowerCase) {\n return (!!String(option.value)?.toLowerCase().includes?.(termLowerCase) ||\n !!option.label?.toLowerCase()?.includes(termLowerCase) ||\n !!option.description?.toLowerCase().includes?.(termLowerCase));\n}\nexport function searchOptions(options, term) {\n const termLowerCase = term.toLowerCase();\n return options?.filter?.((option) => isSearchOption(option, termLowerCase));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYXV0b2NvbXBsZXRlL3V0aWxzL3NlYXJjaC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxjQUFjLENBQUksTUFBaUIsRUFBRSxhQUFxQjtJQUN0RSxPQUFPLENBQ0gsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQy9ELENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDdEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQ2hFLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBSSxPQUFvQixFQUFFLElBQVk7SUFDL0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLE9BQU8sT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2VhcmNoT3B0aW9uPFQ+KG9wdGlvbjogT3B0aW9uPFQ+LCB0ZXJtTG93ZXJDYXNlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAhIVN0cmluZyhvcHRpb24udmFsdWUpPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzPy4odGVybUxvd2VyQ2FzZSkgfHxcbiAgICAgICAgISFvcHRpb24ubGFiZWw/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKHRlcm1Mb3dlckNhc2UpIHx8XG4gICAgICAgICEhb3B0aW9uLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzPy4odGVybUxvd2VyQ2FzZSlcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoT3B0aW9uczxUPihvcHRpb25zOiBPcHRpb248VD5bXSwgdGVybTogc3RyaW5nKSB7XG4gICAgY29uc3QgdGVybUxvd2VyQ2FzZSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gb3B0aW9ucz8uZmlsdGVyPy4oKG9wdGlvbikgPT4gaXNTZWFyY2hPcHRpb24ob3B0aW9uLCB0ZXJtTG93ZXJDYXNlKSk7XG59XG4iXX0=","export function findOptionByValue(options, value) {\n return options?.find?.((o) => o.value === value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1vcHRpb24tYnktdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYXV0b2NvbXBsZXRlL3V0aWxzL2ZpbmQtb3B0aW9uLWJ5LXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFvQixFQUFFLEtBQVE7SUFDL0QsT0FBTyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRPcHRpb25CeVZhbHVlPFQ+KG9wdGlvbnM6IE9wdGlvbjxUPltdLCB2YWx1ZTogVCkge1xuICAgIHJldHVybiBvcHRpb25zPy5maW5kPy4oKG8pID0+IG8udmFsdWUgPT09IHZhbHVlKTtcbn1cbiJdfQ==","import isNil from 'lodash-es/isNil';\nimport { findOptionByValue } from './find-option-by-value';\nexport function getHintText(options, selected, hint, opts = {}) {\n if (!isNil(hint)) {\n return hint;\n }\n if (opts.multiple && options?.length > 1) {\n return (selected?.length || 0) + '/' + options.length;\n }\n if (!selected?.length) {\n return '';\n }\n const option = findOptionByValue(options, selected[0]);\n return opts.showLabel ? option?.label : option?.description;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWhpbnQtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hdXRvY29tcGxldGUvdXRpbHMvZ2V0LWhpbnQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUlwQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxNQUFNLFVBQVUsV0FBVyxDQUN2QixPQUFvQixFQUNwQixRQUFhLEVBQ2IsSUFBYSxFQUNiLE9BQW9ELEVBQUU7SUFFdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpc05pbCBmcm9tICdsb2Rhc2gtZXMvaXNOaWwnO1xuXG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmltcG9ydCB7IGZpbmRPcHRpb25CeVZhbHVlIH0gZnJvbSAnLi9maW5kLW9wdGlvbi1ieS12YWx1ZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIaW50VGV4dDxUPihcbiAgICBvcHRpb25zOiBPcHRpb248VD5bXSxcbiAgICBzZWxlY3RlZDogVFtdLFxuICAgIGhpbnQ/OiBzdHJpbmcsXG4gICAgb3B0czogeyBtdWx0aXBsZT86IGJvb2xlYW47IHNob3dMYWJlbD86IGJvb2xlYW4gfSA9IHt9LFxuKSB7XG4gICAgaWYgKCFpc05pbChoaW50KSkge1xuICAgICAgICByZXR1cm4gaGludDtcbiAgICB9XG4gICAgaWYgKG9wdHMubXVsdGlwbGUgJiYgb3B0aW9ucz8ubGVuZ3RoID4gMSkge1xuICAgICAgICByZXR1cm4gKHNlbGVjdGVkPy5sZW5ndGggfHwgMCkgKyAnLycgKyBvcHRpb25zLmxlbmd0aDtcbiAgICB9XG4gICAgaWYgKCFzZWxlY3RlZD8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uID0gZmluZE9wdGlvbkJ5VmFsdWUob3B0aW9ucywgc2VsZWN0ZWRbMF0pO1xuICAgIHJldHVybiBvcHRzLnNob3dMYWJlbCA/IG9wdGlvbj8ubGFiZWwgOiBvcHRpb24/LmRlc2NyaXB0aW9uO1xufVxuIl19","import { Component, EventEmitter, Input, Output, booleanAttribute } from '@angular/core';\nimport { FormControlSuperclass, createControlProviders } from '../../../utils';\nimport { isSearchOption } from '../utils';\nimport { getHintText } from '../utils/get-hint-text';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@ng-matero/extensions/select\";\nimport * as i4 from \"@angular/forms\";\nimport * as i5 from \"@angular/material/checkbox\";\nexport class SelectFieldComponent extends FormControlSuperclass {\n constructor() {\n super(...arguments);\n this.options = [];\n this.searchChange = new EventEmitter();\n this.appearance = 'fill';\n this.progress = false;\n this.externalSearch = false;\n this.multiple = false;\n this.required = false;\n this.searchStr = '';\n this.search = (term, item) => {\n return this.externalSearch || isSearchOption(item, term.toLowerCase());\n };\n }\n get hintText() {\n return getHintText(this.options, this.multiple ? this.control.value : [this.control.value], this.hint, {\n multiple: this.multiple,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"20.0.5\", type: SelectFieldComponent, isStandalone: false, selector: \"v-select-field\", inputs: { options: \"options\", appearance: \"appearance\", label: \"label\", hint: \"hint\", error: \"error\", progress: \"progress\", externalSearch: [\"externalSearch\", \"externalSearch\", booleanAttribute], multiple: [\"multiple\", \"multiple\", booleanAttribute], required: [\"required\", \"required\", booleanAttribute], size: \"size\" }, outputs: { searchChange: \"searchChange\" }, providers: createControlProviders(() => SelectFieldComponent), usesInheritance: true, ngImport: i0, template: \"<mat-form-field [appearance]=\\\"appearance\\\" [ngClass]=\\\"{ 'v-input-field__small': size === 'small' }\\\">\\n <mat-label>{{ label }}</mat-label>\\n\\n <mtx-select\\n [closeOnSelect]=\\\"!multiple\\\"\\n [formControl]=\\\"control\\\"\\n [items]=\\\"options\\\"\\n [loading]=\\\"progress\\\"\\n [markFirst]=\\\"true\\\"\\n [multiple]=\\\"multiple\\\"\\n [notFoundText]=\\\"externalSearch && !searchStr ? 'Enter your search term' : 'No items found'\\\"\\n [required]=\\\"required\\\"\\n [searchable]=\\\"true\\\"\\n [searchFn]=\\\"search\\\"\\n [selectableGroup]=\\\"true\\\"\\n [selectableGroupAsModel]=\\\"false\\\"\\n bindLabel=\\\"label\\\"\\n bindValue=\\\"value\\\"\\n groupBy=\\\"type\\\"\\n (clear)=\\\"searchChange.emit(''); searchStr = ''\\\"\\n (search)=\\\"searchChange.emit($event.term); searchStr = $event.term\\\"\\n >\\n <ng-template let-index=\\\"index\\\" let-item=\\\"item\\\" let-item$=\\\"item$\\\" ng-optgroup-tmp>\\n <mat-checkbox\\n *ngIf=\\\"multiple; else text\\\"\\n [ngModel]=\\\"item$.selected\\\"\\n class=\\\"checkbox-option\\\"\\n id=\\\"item-{{ index }}\\\"\\n >\\n {{ item.type | uppercase }}\\n </mat-checkbox>\\n <ng-template #text>\\n {{ item.type | uppercase }}\\n </ng-template>\\n </ng-template>\\n <ng-template let-index=\\\"index\\\" let-item=\\\"item\\\" let-item$=\\\"item$\\\" ng-option-tmp>\\n <mat-checkbox\\n *ngIf=\\\"multiple; else text\\\"\\n [ngModel]=\\\"item$.selected\\\"\\n class=\\\"checkbox-option\\\"\\n id=\\\"item-{{ index }}\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"text\\\"></ng-container>\\n </mat-checkbox>\\n <ng-template #text>\\n <div class=\\\"label\\\">{{ item.label }}</div>\\n <div\\n *ngIf=\\\"item.description\\\"\\n class=\\\"description mat-label-medium mat-secondary-text\\\"\\n >\\n {{ item.description }}\\n </div>\\n </ng-template>\\n </ng-template>\\n </mtx-select>\\n\\n <mat-hint>{{ hintText }}</mat-hint>\\n <mat-error>{{ error }}</mat-error>\\n</mat-form-field>\\n\", styles: [\"::ng-deep .mat-mdc-form-field{width:100%}::ng-deep .mat-mdc-form-field>*{max-height:56px}::ng-deep .mat-mdc-form-field .ng-value-container{flex-wrap:nowrap!important;overflow-x:hidden}::ng-deep .ng-dropdown-panel.ng-select-bottom{margin-top:-4px}.checkbox-option{margin:-12px 0 -12px -8px}.label,.description{overflow:hidden;text-overflow:ellipsis}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i2.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i2.MatError, selector: \"mat-error, [matError]\", inputs: [\"id\"] }, { kind: \"component\", type: i3.MtxSelect, selector: \"mtx-select\", inputs: [\"addTag\", \"addTagText\", \"appearance\", \"appendTo\", \"bindLabel\", \"bindValue\", \"closeOnSelect\", \"clearAllText\", \"clearable\", \"clearOnBackspace\", \"compareWith\", \"dropdownPosition\", \"groupBy\", \"groupValue\", \"bufferAmount\", \"selectableGroup\", \"selectableGroupAsModel\", \"hideSelected\", \"loading\", \"loadingText\", \"labelForId\", \"markFirst\", \"maxSelectedItems\", \"multiple\", \"notFoundText\", \"searchable\", \"readonly\", \"searchFn\", \"searchWhileComposing\", \"selectOnTab\", \"trackByFn\", \"inputAttrs\", \"tabIndex\", \"openOnEnter\", \"minTermLength\", \"editableSearchTerm\", \"keyDownFn\", \"virtualScroll\", \"typeToSearchText\", \"typeahead\", \"isOpen\", \"fixedPlaceholder\", \"deselectOnClick\", \"clearSearchOnAdd\", \"items\", \"value\", \"id\", \"placeholder\", \"disabled\", \"required\", \"errorStateMatcher\", \"aria-label\", \"aria-labelledby\"], outputs: [\"blur\", \"focus\", \"change\", \"open\", \"close\", \"search\", \"clear\", \"add\", \"remove\", \"scroll\", \"scrollToEnd\"], exportAs: [\"mtxSelect\"] }, { kind: \"directive\", type: i3.MtxSelectOptgroupTemplate, selector: \"[ng-optgroup-tmp]\" }, { kind: \"directive\", type: i3.MtxSelectOptionTemplate, selector: \"[ng-option-tmp]\" }, { kind: \"directive\", type: i4.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i4.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i4.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"directive\", type: i4.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"component\", type: i5.MatCheckbox, selector: \"mat-checkbox\", inputs: [\"aria-label\", \"aria-labelledby\", \"aria-describedby\", \"aria-expanded\", \"aria-controls\", \"aria-owns\", \"id\", \"required\", \"labelPosition\", \"name\", \"value\", \"disableRipple\", \"tabIndex\", \"color\", \"disabledInteractive\", \"checked\", \"disabled\", \"indeterminate\"], outputs: [\"change\", \"indeterminateChange\"], exportAs: [\"matCheckbox\"] }, { kind: \"pipe\", type: i1.UpperCasePipe, name: \"uppercase\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-select-field', providers: createControlProviders(() => SelectFieldComponent), standalone: false, template: \"<mat-form-field [appearance]=\\\"appearance\\\" [ngClass]=\\\"{ 'v-input-field__small': size === 'small' }\\\">\\n <mat-label>{{ label }}</mat-label>\\n\\n <mtx-select\\n [closeOnSelect]=\\\"!multiple\\\"\\n [formControl]=\\\"control\\\"\\n [items]=\\\"options\\\"\\n [loading]=\\\"progress\\\"\\n [markFirst]=\\\"true\\\"\\n [multiple]=\\\"multiple\\\"\\n [notFoundText]=\\\"externalSearch && !searchStr ? 'Enter your search term' : 'No items found'\\\"\\n [required]=\\\"required\\\"\\n [searchable]=\\\"true\\\"\\n [searchFn]=\\\"search\\\"\\n [selectableGroup]=\\\"true\\\"\\n [selectableGroupAsModel]=\\\"false\\\"\\n bindLabel=\\\"label\\\"\\n bindValue=\\\"value\\\"\\n groupBy=\\\"type\\\"\\n (clear)=\\\"searchChange.emit(''); searchStr = ''\\\"\\n (search)=\\\"searchChange.emit($event.term); searchStr = $event.term\\\"\\n >\\n <ng-template let-index=\\\"index\\\" let-item=\\\"item\\\" let-item$=\\\"item$\\\" ng-optgroup-tmp>\\n <mat-checkbox\\n *ngIf=\\\"multiple; else text\\\"\\n [ngModel]=\\\"item$.selected\\\"\\n class=\\\"checkbox-option\\\"\\n id=\\\"item-{{ index }}\\\"\\n >\\n {{ item.type | uppercase }}\\n </mat-checkbox>\\n <ng-template #text>\\n {{ item.type | uppercase }}\\n </ng-template>\\n </ng-template>\\n <ng-template let-index=\\\"index\\\" let-item=\\\"item\\\" let-item$=\\\"item$\\\" ng-option-tmp>\\n <mat-checkbox\\n *ngIf=\\\"multiple; else text\\\"\\n [ngModel]=\\\"item$.selected\\\"\\n class=\\\"checkbox-option\\\"\\n id=\\\"item-{{ index }}\\\"\\n >\\n <ng-container *ngTemplateOutlet=\\\"text\\\"></ng-container>\\n </mat-checkbox>\\n <ng-template #text>\\n <div class=\\\"label\\\">{{ item.label }}</div>\\n <div\\n *ngIf=\\\"item.description\\\"\\n class=\\\"description mat-label-medium mat-secondary-text\\\"\\n >\\n {{ item.description }}\\n </div>\\n </ng-template>\\n </ng-template>\\n </mtx-select>\\n\\n <mat-hint>{{ hintText }}</mat-hint>\\n <mat-error>{{ error }}</mat-error>\\n</mat-form-field>\\n\", styles: [\"::ng-deep .mat-mdc-form-field{width:100%}::ng-deep .mat-mdc-form-field>*{max-height:56px}::ng-deep .mat-mdc-form-field .ng-value-container{flex-wrap:nowrap!important;overflow-x:hidden}::ng-deep .ng-dropdown-panel.ng-select-bottom{margin-top:-4px}.checkbox-option{margin:-12px 0 -12px -8px}.label,.description{overflow:hidden;text-overflow:ellipsis}\\n\"] }]\n }], propDecorators: { options: [{\n type: Input\n }], searchChange: [{\n type: Output\n }], appearance: [{\n type: Input\n }], label: [{\n type: Input\n }], hint: [{\n type: Input\n }], error: [{\n type: Input\n }], progress: [{\n type: Input\n }], externalSearch: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], multiple: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], required: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], size: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hdXRvY29tcGxldGUvc2VsZWN0LWZpZWxkL3NlbGVjdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYXV0b2NvbXBsZXRlL3NlbGVjdC1maWVsZC9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVNyRCxNQUFNLE9BQU8sb0JBQWtDLFNBQVEscUJBQTBCO0lBUGpGOztRQVFhLFlBQU8sR0FBZ0IsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUzQyxlQUFVLEdBQTJCLE1BQU0sQ0FBQztRQUs1QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSXpELGNBQVMsR0FBVyxFQUFFLENBQUM7UUFhdkIsV0FBTSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQWUsRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQztLQUNMO0lBZEcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxXQUFXLENBQ2QsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQVUsQ0FBQyxFQUM5RCxJQUFJLENBQUMsSUFBSSxFQUNUO1lBQ0ksUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzFCLENBQ0osQ0FBQztJQUNOLENBQUM7OEdBNUJRLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG9PQVdULGdCQUFnQixzQ0FDaEIsZ0JBQWdCLHNDQUNoQixnQkFBZ0IseUVBaEJ6QixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxpRENaakUsc3dFQTJEQTs7MkZENUNhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDSSxnQkFBZ0IsYUFHZixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUMsY0FDakQsS0FBSzs4QkFHUixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFFRSxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWtDLGNBQWM7c0JBQXJELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU3QixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5pbXBvcnQgeyBGb3JtQ29udHJvbFN1cGVyY2xhc3MsIGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc1NlYXJjaE9wdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldEhpbnRUZXh0IH0gZnJvbSAnLi4vdXRpbHMvZ2V0LWhpbnQtdGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1zZWxlY3QtZmllbGQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogY3JlYXRlQ29udHJvbFByb3ZpZGVycygoKSA9PiBTZWxlY3RGaWVsZENvbXBvbmVudCksXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkQ29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIEZvcm1Db250cm9sU3VwZXJjbGFzczxUW10+IHtcbiAgICBASW5wdXQoKSBvcHRpb25zOiBPcHRpb248VD5bXSA9IFtdO1xuICAgIEBPdXRwdXQoKSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBJbnB1dCgpIGFwcGVhcmFuY2U6IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgPSAnZmlsbCc7XG5cbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSBoaW50Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGVycm9yPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHByb2dyZXNzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXh0ZXJuYWxTZWFyY2ggPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJyc7XG5cbiAgICBzZWFyY2hTdHI6IHN0cmluZyA9ICcnO1xuXG4gICAgZ2V0IGhpbnRUZXh0KCkge1xuICAgICAgICByZXR1cm4gZ2V0SGludFRleHQoXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlID8gdGhpcy5jb250cm9sLnZhbHVlIDogW3RoaXMuY29udHJvbC52YWx1ZSBhcyBUXSxcbiAgICAgICAgICAgIHRoaXMuaGludCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2VhcmNoID0gKHRlcm06IHN0cmluZywgaXRlbTogT3B0aW9uPFQ+KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4dGVybmFsU2VhcmNoIHx8IGlzU2VhcmNoT3B0aW9uKGl0ZW0sIHRlcm0udG9Mb3dlckNhc2UoKSk7XG4gICAgfTtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgW25nQ2xhc3NdPVwieyAndi1pbnB1dC1maWVsZF9fc21hbGwnOiBzaXplID09PSAnc21hbGwnIH1cIj5cbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG5cbiAgICA8bXR4LXNlbGVjdFxuICAgICAgICBbY2xvc2VPblNlbGVjdF09XCIhbXVsdGlwbGVcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFtpdGVtc109XCJvcHRpb25zXCJcbiAgICAgICAgW2xvYWRpbmddPVwicHJvZ3Jlc3NcIlxuICAgICAgICBbbWFya0ZpcnN0XT1cInRydWVcIlxuICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICBbbm90Rm91bmRUZXh0XT1cImV4dGVybmFsU2VhcmNoICYmICFzZWFyY2hTdHIgPyAnRW50ZXIgeW91ciBzZWFyY2ggdGVybScgOiAnTm8gaXRlbXMgZm91bmQnXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3NlYXJjaGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFtzZWFyY2hGbl09XCJzZWFyY2hcIlxuICAgICAgICBbc2VsZWN0YWJsZUdyb3VwXT1cInRydWVcIlxuICAgICAgICBbc2VsZWN0YWJsZUdyb3VwQXNNb2RlbF09XCJmYWxzZVwiXG4gICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICBncm91cEJ5PVwidHlwZVwiXG4gICAgICAgIChjbGVhcik9XCJzZWFyY2hDaGFuZ2UuZW1pdCgnJyk7IHNlYXJjaFN0ciA9ICcnXCJcbiAgICAgICAgKHNlYXJjaCk9XCJzZWFyY2hDaGFuZ2UuZW1pdCgkZXZlbnQudGVybSk7IHNlYXJjaFN0ciA9ICRldmVudC50ZXJtXCJcbiAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pdGVtJD1cIml0ZW0kXCIgbmctb3B0Z3JvdXAtdG1wPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGU7IGVsc2UgdGV4dFwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaXRlbSQuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tib3gtb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBpZD1cIml0ZW0te3sgaW5kZXggfX1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udHlwZSB8IHVwcGVyY2FzZSB9fVxuICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RleHQ+XG4gICAgICAgICAgICAgICAge3sgaXRlbS50eXBlIHwgdXBwZXJjYXNlIH19XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWluZGV4PVwiaW5kZXhcIiBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaXRlbSQ9XCJpdGVtJFwiIG5nLW9wdGlvbi10bXA+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZTsgZWxzZSB0ZXh0XCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtJC5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja2JveC1vcHRpb25cIlxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbS17eyBpbmRleCB9fVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRleHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVzY3JpcHRpb24gbWF0LWxhYmVsLW1lZGl1bSBtYXQtc2Vjb25kYXJ5LXRleHRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L210eC1zZWxlY3Q+XG5cbiAgICA8bWF0LWhpbnQ+e3sgaGludFRleHQgfX08L21hdC1oaW50PlxuICAgIDxtYXQtZXJyb3I+e3sgZXJyb3IgfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatInputModule } from '@angular/material/input';\nimport { MtxSelectModule } from '@ng-matero/extensions/select';\nimport { SelectFieldComponent } from './select-field.component';\nimport * as i0 from \"@angular/core\";\nexport class SelectFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectFieldModule, declarations: [SelectFieldComponent], imports: [CommonModule,\n MatInputModule,\n MtxSelectModule,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule], exports: [SelectFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectFieldModule, imports: [CommonModule,\n MatInputModule,\n MtxSelectModule,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SelectFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [SelectFieldComponent],\n exports: [SelectFieldComponent],\n imports: [\n CommonModule,\n MatInputModule,\n MtxSelectModule,\n FormsModule,\n ReactiveFormsModule,\n MatCheckboxModule,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hdXRvY29tcGxldGUvc2VsZWN0LWZpZWxkL3NlbGVjdC1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBY2hFLE1BQU0sT0FBTyxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVhYLG9CQUFvQixhQUcvQixZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQixhQVBYLG9CQUFvQjsrR0FVckIsaUJBQWlCLFlBUnRCLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCOzsyRkFHWixpQkFBaUI7a0JBWjdCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE10eFNlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9zZWxlY3QnO1xuXG5pbXBvcnQgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWZpZWxkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbU2VsZWN0RmllbGRDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTZWxlY3RGaWVsZENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNdHhTZWxlY3RNb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RGaWVsZE1vZHVsZSB7fVxuIl19","import { Component, Input, booleanAttribute } from '@angular/core';\nimport { BehaviorSubject, merge } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { FormControlSuperclass, createControlProviders } from '../../../utils';\nimport { searchOptions } from '../utils';\nimport { getHintText } from '../utils/get-hint-text';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/input\";\nimport * as i3 from \"@angular/forms\";\nimport * as i4 from \"@angular/material/autocomplete\";\nimport * as i5 from \"@angular/material/button\";\nimport * as i6 from \"@angular/material/icon\";\nexport class AutocompleteFieldComponent extends FormControlSuperclass {\n constructor() {\n super(...arguments);\n this.options = [];\n this.type = 'text';\n this.mono = false;\n this.required = false;\n this.options$ = new BehaviorSubject([]);\n this.selected$ = merge(this.control.valueChanges, this.options$).pipe(map(() => (this.options || []).find((o) => o.value === this.control.value)), shareReplay({ refCount: true, bufferSize: 1 }));\n this.filteredOptions$ = merge(this.control.valueChanges, this.options$).pipe(map(() => String(this.control.value ?? '').toLowerCase()), map((filter) => searchOptions(this.options, filter)), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n get hintText() {\n return getHintText(this.options, [this.control.value], this.hint, { showLabel: true });\n }\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n if (changes.options) {\n this.options$.next(this.options || []);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AutocompleteFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: AutocompleteFieldComponent, isStandalone: false, selector: \"v-autocomplete-field\", inputs: { options: \"options\", label: \"label\", hint: \"hint\", error: \"error\", type: \"type\", mono: [\"mono\", \"mono\", booleanAttribute], required: [\"required\", \"required\", booleanAttribute] }, providers: createControlProviders(() => AutocompleteFieldComponent), usesInheritance: true, usesOnChanges: true, ngImport: i0, template: \"<mat-form-field style=\\\"width: 100%\\\">\\n <mat-label>{{ label }}</mat-label>\\n\\n <input\\n #trigger=\\\"matAutocompleteTrigger\\\"\\n [formControl]=\\\"control\\\"\\n [matAutocomplete]=\\\"auto\\\"\\n [ngClass]=\\\"{ 'mat-mono': mono }\\\"\\n [required]=\\\"required\\\"\\n [type]=\\\"options?.length ? 'text' : type\\\"\\n matInput\\n />\\n\\n <mat-autocomplete #auto=\\\"matAutocomplete\\\" autoActiveFirstOption>\\n @for (option of filteredOptions$ | async; track option) {\\n <mat-option [value]=\\\"option.value\\\">\\n <div [ngClass]=\\\"{ 'mat-mono': mono }\\\" class=\\\"label\\\">{{ option.label }}</div>\\n @if (option.description) {\\n <div\\n [ngClass]=\\\"{ 'mat-mono': mono }\\\"\\n class=\\\"description mat-label-medium mat-secondary-text\\\"\\n >\\n {{ option.description }}\\n </div>\\n }\\n </mat-option>\\n }\\n </mat-autocomplete>\\n\\n <div matSuffix style=\\\"display: flex; gap: 4px\\\">\\n @if (control.value) {\\n <button mat-icon-button (click)=\\\"control.reset(); $event.stopPropagation()\\\">\\n <mat-icon>clear</mat-icon>\\n </button>\\n }\\n @if (options?.length) {\\n <button\\n mat-icon-button\\n (click)=\\\"\\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\\n $event.stopPropagation()\\n \\\"\\n >\\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\\n </button>\\n }\\n </div>\\n <mat-hint>{{ hintText }}</mat-hint>\\n <mat-error>{{\\n error ??\\n ((selected$ | async) ? (selected$ | async)?.label + (hint ? ' | ' + hint : '') : hint)\\n }}</mat-error>\\n</mat-form-field>\\n\", styles: [\".label,.description{overflow:hidden;text-overflow:ellipsis}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i2.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i2.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i2.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i2.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i2.MatError, selector: \"mat-error, [matError]\", inputs: [\"id\"] }, { kind: \"directive\", type: i2.MatSuffix, selector: \"[matSuffix], [matIconSuffix], [matTextSuffix]\", inputs: [\"matTextSuffix\"] }, { kind: \"directive\", type: i3.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i3.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i3.FormControlDirective, selector: \"[formControl]\", inputs: [\"formControl\", \"disabled\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }, { kind: \"component\", type: i4.MatAutocomplete, selector: \"mat-autocomplete\", inputs: [\"aria-label\", \"aria-labelledby\", \"displayWith\", \"autoActiveFirstOption\", \"autoSelectActiveOption\", \"requireSelection\", \"panelWidth\", \"disableRipple\", \"class\", \"hideSingleSelectionIndicator\"], outputs: [\"optionSelected\", \"opened\", \"closed\", \"optionActivated\"], exportAs: [\"matAutocomplete\"] }, { kind: \"component\", type: i4.MatOption, selector: \"mat-option\", inputs: [\"value\", \"id\", \"disabled\"], outputs: [\"onSelectionChange\"], exportAs: [\"matOption\"] }, { kind: \"directive\", type: i4.MatAutocompleteTrigger, selector: \"input[matAutocomplete], textarea[matAutocomplete]\", inputs: [\"matAutocomplete\", \"matAutocompletePosition\", \"matAutocompleteConnectedTo\", \"autocomplete\", \"matAutocompleteDisabled\"], exportAs: [\"matAutocompleteTrigger\"] }, { kind: \"component\", type: i5.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i6.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AutocompleteFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-autocomplete-field', providers: createControlProviders(() => AutocompleteFieldComponent), standalone: false, template: \"<mat-form-field style=\\\"width: 100%\\\">\\n <mat-label>{{ label }}</mat-label>\\n\\n <input\\n #trigger=\\\"matAutocompleteTrigger\\\"\\n [formControl]=\\\"control\\\"\\n [matAutocomplete]=\\\"auto\\\"\\n [ngClass]=\\\"{ 'mat-mono': mono }\\\"\\n [required]=\\\"required\\\"\\n [type]=\\\"options?.length ? 'text' : type\\\"\\n matInput\\n />\\n\\n <mat-autocomplete #auto=\\\"matAutocomplete\\\" autoActiveFirstOption>\\n @for (option of filteredOptions$ | async; track option) {\\n <mat-option [value]=\\\"option.value\\\">\\n <div [ngClass]=\\\"{ 'mat-mono': mono }\\\" class=\\\"label\\\">{{ option.label }}</div>\\n @if (option.description) {\\n <div\\n [ngClass]=\\\"{ 'mat-mono': mono }\\\"\\n class=\\\"description mat-label-medium mat-secondary-text\\\"\\n >\\n {{ option.description }}\\n </div>\\n }\\n </mat-option>\\n }\\n </mat-autocomplete>\\n\\n <div matSuffix style=\\\"display: flex; gap: 4px\\\">\\n @if (control.value) {\\n <button mat-icon-button (click)=\\\"control.reset(); $event.stopPropagation()\\\">\\n <mat-icon>clear</mat-icon>\\n </button>\\n }\\n @if (options?.length) {\\n <button\\n mat-icon-button\\n (click)=\\\"\\n auto.isOpen ? trigger.closePanel() : trigger.openPanel();\\n $event.stopPropagation()\\n \\\"\\n >\\n <mat-icon>{{ auto.isOpen ? 'expand_less' : 'expand_more' }}</mat-icon>\\n </button>\\n }\\n </div>\\n <mat-hint>{{ hintText }}</mat-hint>\\n <mat-error>{{\\n error ??\\n ((selected$ | async) ? (selected$ | async)?.label + (hint ? ' | ' + hint : '') : hint)\\n }}</mat-error>\\n</mat-form-field>\\n\", styles: [\".label,.description{overflow:hidden;text-overflow:ellipsis}\\n\"] }]\n }], propDecorators: { options: [{\n type: Input\n }], label: [{\n type: Input\n }], hint: [{\n type: Input\n }], error: [{\n type: Input\n }], type: [{\n type: Input\n }], mono: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], required: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWZpZWxkL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1maWVsZC9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQW9CLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBU3JELE1BQU0sT0FBTywwQkFBOEIsU0FBUSxxQkFBd0I7SUFQM0U7O1FBUWEsWUFBTyxHQUFnQixFQUFFLENBQUM7UUFLMUIsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVpQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU16RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEQsY0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzNFLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2pELENBQUM7UUFDRixxQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUN6RCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ3BELFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2pELENBQUM7S0FRTDtJQXJCRyxJQUFJLFFBQVE7UUFDUixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQWFRLFdBQVcsQ0FBQyxPQUF3RDtRQUN6RSxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7OEdBL0JRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLDBLQVFmLGdCQUFnQixzQ0FDaEIsZ0JBQWdCLGdCQVp6QixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxzRUNidkUsaTVEQXFEQTs7MkZEckNhLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDSSxzQkFBc0IsYUFHckIsc0JBQXNCLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGNBQ3ZELEtBQUs7OEJBR1IsT0FBTztzQkFBZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFa0MsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRDaGFuZ2VzLCBGb3JtQ29udHJvbFN1cGVyY2xhc3MsIGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBzZWFyY2hPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0SGludFRleHQgfSBmcm9tICcuLi91dGlscy9nZXQtaGludC10ZXh0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LWF1dG9jb21wbGV0ZS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBjcmVhdGVDb250cm9sUHJvdmlkZXJzKCgpID0+IEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50KSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBGb3JtQ29udHJvbFN1cGVyY2xhc3M8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IE9wdGlvbjxUPltdID0gW107XG5cbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoKSBoaW50Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGVycm9yPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHR5cGUgPSAndGV4dCc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbW9ubyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgZ2V0IGhpbnRUZXh0KCkge1xuICAgICAgICByZXR1cm4gZ2V0SGludFRleHQodGhpcy5vcHRpb25zLCBbdGhpcy5jb250cm9sLnZhbHVlXSwgdGhpcy5oaW50LCB7IHNob3dMYWJlbDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBvcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3B0aW9uPFQ+W10+KFtdKTtcbiAgICBzZWxlY3RlZCQgPSBtZXJnZSh0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLCB0aGlzLm9wdGlvbnMkKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gKHRoaXMub3B0aW9ucyB8fCBbXSkuZmluZCgobykgPT4gby52YWx1ZSA9PT0gdGhpcy5jb250cm9sLnZhbHVlKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcbiAgICBmaWx0ZXJlZE9wdGlvbnMkID0gbWVyZ2UodGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcywgdGhpcy5vcHRpb25zJCkucGlwZShcbiAgICAgICAgbWFwKCgpID0+IFN0cmluZyh0aGlzLmNvbnRyb2wudmFsdWUgPz8gJycpLnRvTG93ZXJDYXNlKCkpLFxuICAgICAgICBtYXAoKGZpbHRlcikgPT4gc2VhcmNoT3B0aW9ucyh0aGlzLm9wdGlvbnMsIGZpbHRlcikpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG5cbiAgICBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBDb21wb25lbnRDaGFuZ2VzPEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50PFQ+Pikge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgaWYgKGNoYW5nZXMub3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zJC5uZXh0KHRoaXMub3B0aW9ucyB8fCBbXSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cblxuICAgIDxpbnB1dFxuICAgICAgICAjdHJpZ2dlcj1cIm1hdEF1dG9jb21wbGV0ZVRyaWdnZXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ21hdC1tb25vJzogbW9ubyB9XCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3R5cGVdPVwib3B0aW9ucz8ubGVuZ3RoID8gJ3RleHQnIDogdHlwZVwiXG4gICAgICAgIG1hdElucHV0XG4gICAgLz5cblxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uPlxuICAgICAgICBAZm9yIChvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zJCB8IGFzeW5jOyB0cmFjayBvcHRpb24pIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ21hdC1tb25vJzogbW9ubyB9XCIgY2xhc3M9XCJsYWJlbFwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIEBpZiAob3B0aW9uLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ21hdC1tb25vJzogbW9ubyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVzY3JpcHRpb24gbWF0LWxhYmVsLW1lZGl1bSBtYXQtc2Vjb25kYXJ5LXRleHRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICB9XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuXG4gICAgPGRpdiBtYXRTdWZmaXggc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDRweFwiPlxuICAgICAgICBAaWYgKGNvbnRyb2wudmFsdWUpIHtcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb250cm9sLnJlc2V0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKG9wdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgYXV0by5pc09wZW4gPyB0cmlnZ2VyLmNsb3NlUGFuZWwoKSA6IHRyaWdnZXIub3BlblBhbmVsKCk7XG4gICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGF1dG8uaXNPcGVuID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZScgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWhpbnQ+e3sgaGludFRleHQgfX08L21hdC1oaW50PlxuICAgIDxtYXQtZXJyb3I+e3tcbiAgICAgICAgZXJyb3IgPz9cbiAgICAgICAgICAgICgoc2VsZWN0ZWQkIHwgYXN5bmMpID8gKHNlbGVjdGVkJCB8IGFzeW5jKT8ubGFiZWwgKyAoaGludCA/ICcgfCAnICsgaGludCA6ICcnKSA6IGhpbnQpXG4gICAgfX08L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { AutocompleteFieldComponent } from './autocomplete-field.component';\nimport * as i0 from \"@angular/core\";\nexport class AutocompleteFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AutocompleteFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: AutocompleteFieldModule, declarations: [AutocompleteFieldComponent], imports: [CommonModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule], exports: [AutocompleteFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AutocompleteFieldModule, imports: [CommonModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AutocompleteFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [AutocompleteFieldComponent],\n exports: [AutocompleteFieldComponent],\n imports: [\n CommonModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatIconModule,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLWZpZWxkL2F1dG9jb21wbGV0ZS1maWVsZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQWU1RSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixpQkFaakIsMEJBQTBCLGFBR3JDLFlBQVk7WUFDWixjQUFjO1lBQ2QsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGFBQWEsYUFSUCwwQkFBMEI7K0dBVzNCLHVCQUF1QixZQVQ1QixZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixhQUFhOzsyRkFHUix1QkFBdUI7a0JBYm5DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO29CQUNyQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsYUFBYTtxQkFDaEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1maWVsZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0F1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9jb21wbGV0ZUZpZWxkTW9kdWxlIHt9XG4iXX0=","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { lastValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class ConfigServiceSuperclass {\n constructor() {\n this.http = inject(HttpClient);\n }\n async init({ configUrl }) {\n this.config = await lastValueFrom(this.http.get(configUrl));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfigServiceSuperclass, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfigServiceSuperclass }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ConfigServiceSuperclass, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvc2VydmljZXMvY29uZmlnL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUdyQyxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRVksU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQU1yQztJQUhHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQXlCO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQU5RLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlnU2VydmljZVN1cGVyY2xhc3M8VD4ge1xuICAgIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBjb25maWchOiBUO1xuXG4gICAgYXN5bmMgaW5pdCh7IGNvbmZpZ1VybCB9OiB7IGNvbmZpZ1VybDogc3RyaW5nIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQ8VD4oY29uZmlnVXJsKSk7XG4gICAgfVxufVxuIl19","import isObject from 'lodash-es/isObject';\nexport const DEFAULT_ERROR_NAME = 'Unknown error';\nexport class LogError {\n get name() {\n return String(this.source?.['name'] || DEFAULT_ERROR_NAME);\n }\n get message() {\n return String(this.source?.['message'] || this.name);\n }\n get cause() {\n return this.source?.['cause'];\n }\n get details() {\n return Object.fromEntries(Object.entries(this.source).filter(([k, v]) => k !== 'name' && k !== 'message' && v));\n }\n constructor(error) {\n this.source = (isObject(error)\n ? error\n : new Error(error ? String(error) : DEFAULT_ERROR_NAME));\n }\n getLogMessage(message) {\n return [\n message && `Caught error: ${message}`,\n this.name && `Name: ${this.name}`,\n this.message && `Message: ${this.message}`,\n Object.keys(this.details).length && JSON.stringify(this.details, null, 2),\n ]\n .filter(Boolean)\n .join('\\n');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2ctZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBRWxELE1BQU0sT0FBTyxRQUFRO0lBR2pCLElBQUksSUFBSTtRQUNKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUN2RixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVksS0FBYztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUMxQixDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQzdDLENBQWtDLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQjtRQUMxQixPQUFPO1lBQ0gsT0FBTyxJQUFJLGlCQUFpQixPQUFPLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakMsSUFBSSxDQUFDLE9BQU8sSUFBSSxZQUFZLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzVFO2FBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNPYmplY3QgZnJvbSAnbG9kYXNoLWVzL2lzT2JqZWN0JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVJST1JfTkFNRSA9ICdVbmtub3duIGVycm9yJztcblxuZXhwb3J0IGNsYXNzIExvZ0Vycm9yIHtcbiAgICBzb3VyY2UhOiBSZWNvcmQ8UHJvcGVydHlLZXksIHVua25vd24+O1xuXG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy5zb3VyY2U/LlsnbmFtZSddIHx8IERFRkFVTFRfRVJST1JfTkFNRSk7XG4gICAgfVxuXG4gICAgZ2V0IG1lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcodGhpcy5zb3VyY2U/LlsnbWVzc2FnZSddIHx8IHRoaXMubmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0IGNhdXNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2U/LlsnY2F1c2UnXTtcbiAgICB9XG5cbiAgICBnZXQgZGV0YWlscygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuc291cmNlKS5maWx0ZXIoKFtrLCB2XSkgPT4gayAhPT0gJ25hbWUnICYmIGsgIT09ICdtZXNzYWdlJyAmJiB2KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihlcnJvcjogdW5rbm93bikge1xuICAgICAgICB0aGlzLnNvdXJjZSA9IChpc09iamVjdChlcnJvcilcbiAgICAgICAgICAgID8gZXJyb3JcbiAgICAgICAgICAgIDogbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgICAgZXJyb3IgPyBTdHJpbmcoZXJyb3IpIDogREVGQVVMVF9FUlJPUl9OQU1FLFxuICAgICAgICAgICAgICApKSBhcyB1bmtub3duIGFzIExvZ0Vycm9yWydzb3VyY2UnXTtcbiAgICB9XG5cbiAgICBnZXRMb2dNZXNzYWdlKG1lc3NhZ2U/OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG1lc3NhZ2UgJiYgYENhdWdodCBlcnJvcjogJHttZXNzYWdlfWAsXG4gICAgICAgICAgICB0aGlzLm5hbWUgJiYgYE5hbWU6ICR7dGhpcy5uYW1lfWAsXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgJiYgYE1lc3NhZ2U6ICR7dGhpcy5tZXNzYWdlfWAsXG4gICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmRldGFpbHMpLmxlbmd0aCAmJiBKU09OLnN0cmluZ2lmeSh0aGlzLmRldGFpbHMsIG51bGwsIDIpLFxuICAgICAgICBdXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAuam9pbignXFxuJyk7XG4gICAgfVxufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { capitalize } from 'lodash-es';\nimport { first, timeout } from 'rxjs';\nimport { getPossiblyAsyncObservable } from '../../utils';\nimport { DEFAULT_ERROR_NAME, LogError } from './log-error';\nimport * as i0 from \"@angular/core\";\nconst DEFAULT_DURATION_MS = 3_000;\nconst DEFAULT_ERROR_DURATION_MS = 10_000;\nconst DEFAULT_TIMEOUT_MS = 10_000;\nexport class NotifyLogService {\n constructor() {\n this.snackBar = inject(MatSnackBar);\n this.success = (message = 'Completed successfully') => {\n this.notify(message);\n };\n this.error = (errors, message) => {\n const logErrors = (Array.isArray(errors) ? errors : [errors]).map((e) => new LogError(e));\n message = message || (logErrors.length === 1 ? logErrors[0].message : DEFAULT_ERROR_NAME);\n this.subscribeWithTimeout(message, (msg) => {\n console.warn([`Caught error: ${msg}.`, ...logErrors.map((e) => e.getLogMessage())].join('\\n'));\n });\n this.notify(message, DEFAULT_ERROR_DURATION_MS);\n };\n }\n createErrorOperation(operation, objectName) {\n return (err) => this.errorOperation(err, operation, objectName);\n }\n successOperation(operation, objectName) {\n let message;\n switch (operation) {\n case 'create':\n message = `${capitalize(objectName)} created successfully`;\n break;\n case 'receive':\n message = `${capitalize(objectName)} received successfully`;\n break;\n case 'update':\n message = `${capitalize(objectName)} updated successfully`;\n break;\n case 'delete':\n message = `${capitalize(objectName)} deleted successfully`;\n break;\n }\n this.success(message);\n }\n errorOperation(errors, operation, objectName) {\n let message;\n switch (operation) {\n case 'create':\n message = `Error creating ${objectName}`;\n break;\n case 'receive':\n message = `Error retrieving ${objectName}`;\n break;\n case 'update':\n message = `Error updating ${objectName}`;\n break;\n case 'delete':\n message = `Error deleting ${objectName}`;\n break;\n }\n this.error(errors, message);\n }\n notify(message, duration = DEFAULT_DURATION_MS) {\n this.subscribeWithTimeout(message, {\n next: (msg) => {\n this.snackBar.open(msg, 'OK', {\n duration,\n });\n },\n error: () => {\n // TODO: Default message\n },\n });\n }\n subscribeWithTimeout(possiblyAsync, subscribe) {\n getPossiblyAsyncObservable(possiblyAsync)\n .pipe(first(), timeout(DEFAULT_TIMEOUT_MS))\n .subscribe(subscribe);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotifyLogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotifyLogService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NotifyLogService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3NlcnZpY2VzL2xvZy9ub3RpZnktbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFZLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQsT0FBTyxFQUFpQiwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUczRCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQztBQUNsQyxNQUFNLHlCQUF5QixHQUFHLE1BQU0sQ0FBQztBQUN6QyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUdsQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVksYUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxZQUFPLEdBQUcsQ0FBQyxVQUFpQyx3QkFBd0IsRUFBUSxFQUFFO1lBQzFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBRUYsVUFBSyxHQUFHLENBQUMsTUFBMkIsRUFBRSxPQUErQixFQUFRLEVBQUU7WUFDM0UsTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUYsT0FBTyxHQUFHLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDdkMsT0FBTyxDQUFDLElBQUksQ0FDUixDQUFDLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNuRixDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQztLQWlFTDtJQS9ERyxvQkFBb0IsQ0FBQyxTQUFvQixFQUFFLFVBQWtCO1FBQ3pELE9BQU8sQ0FBQyxHQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBb0IsRUFBRSxVQUFrQjtRQUNyRCxJQUFJLE9BQWdCLENBQUM7UUFDckIsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNoQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDM0QsTUFBTTtZQUNWLEtBQUssU0FBUztnQkFDVixPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDO2dCQUM1RCxNQUFNO1lBQ1YsS0FBSyxRQUFRO2dCQUNULE9BQU8sR0FBRyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUM7Z0JBQzNELE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxHQUFHLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDM0QsTUFBTTtRQUNkLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBMkIsRUFBRSxTQUFvQixFQUFFLFVBQWtCO1FBQ2hGLElBQUksT0FBZ0IsQ0FBQztRQUNyQixRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLEtBQUssUUFBUTtnQkFDVCxPQUFPLEdBQUcsa0JBQWtCLFVBQVUsRUFBRSxDQUFDO2dCQUN6QyxNQUFNO1lBQ1YsS0FBSyxTQUFTO2dCQUNWLE9BQU8sR0FBRyxvQkFBb0IsVUFBVSxFQUFFLENBQUM7Z0JBQzNDLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxHQUFHLGtCQUFrQixVQUFVLEVBQUUsQ0FBQztnQkFDekMsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxPQUFPLEdBQUcsa0JBQWtCLFVBQVUsRUFBRSxDQUFDO2dCQUN6QyxNQUFNO1FBQ2QsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTyxNQUFNLENBQUMsT0FBOEIsRUFBRSxRQUFRLEdBQUcsbUJBQW1CO1FBQ3pFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUU7WUFDL0IsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRTtvQkFDMUIsUUFBUTtpQkFDWCxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDUix3QkFBd0I7WUFDNUIsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQkFBb0IsQ0FDeEIsYUFBK0IsRUFDL0IsU0FBcUQ7UUFFckQsMEJBQTBCLENBQUMsYUFBYSxDQUFDO2FBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0EvRVEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZlciwgZmlyc3QsIHRpbWVvdXQgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUG9zc2libHlBc3luYywgZ2V0UG9zc2libHlBc3luY09ic2VydmFibGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTkFNRSwgTG9nRXJyb3IgfSBmcm9tICcuL2xvZy1lcnJvcic7XG5pbXBvcnQgeyBPcGVyYXRpb24gfSBmcm9tICcuL3R5cGVzL29wZXJhdGlvbic7XG5cbmNvbnN0IERFRkFVTFRfRFVSQVRJT05fTVMgPSAzXzAwMDtcbmNvbnN0IERFRkFVTFRfRVJST1JfRFVSQVRJT05fTVMgPSAxMF8wMDA7XG5jb25zdCBERUZBVUxUX1RJTUVPVVRfTVMgPSAxMF8wMDA7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTm90aWZ5TG9nU2VydmljZSB7XG4gICAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gICAgc3VjY2VzcyA9IChtZXNzYWdlOiBQb3NzaWJseUFzeW5jPHN0cmluZz4gPSAnQ29tcGxldGVkIHN1Y2Nlc3NmdWxseScpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5ub3RpZnkobWVzc2FnZSk7XG4gICAgfTtcblxuICAgIGVycm9yID0gKGVycm9yczogdW5rbm93biB8IHVua25vd25bXSwgbWVzc2FnZT86IFBvc3NpYmx5QXN5bmM8c3RyaW5nPik6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBsb2dFcnJvcnMgPSAoQXJyYXkuaXNBcnJheShlcnJvcnMpID8gZXJyb3JzIDogW2Vycm9yc10pLm1hcCgoZSkgPT4gbmV3IExvZ0Vycm9yKGUpKTtcbiAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UgfHwgKGxvZ0Vycm9ycy5sZW5ndGggPT09IDEgPyBsb2dFcnJvcnNbMF0ubWVzc2FnZSA6IERFRkFVTFRfRVJST1JfTkFNRSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlV2l0aFRpbWVvdXQobWVzc2FnZSwgKG1zZykgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgIFtgQ2F1Z2h0IGVycm9yOiAke21zZ30uYCwgLi4ubG9nRXJyb3JzLm1hcCgoZSkgPT4gZS5nZXRMb2dNZXNzYWdlKCkpXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm5vdGlmeShtZXNzYWdlLCBERUZBVUxUX0VSUk9SX0RVUkFUSU9OX01TKTtcbiAgICB9O1xuXG4gICAgY3JlYXRlRXJyb3JPcGVyYXRpb24ob3BlcmF0aW9uOiBPcGVyYXRpb24sIG9iamVjdE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gKGVycjogdW5rbm93bikgPT4gdGhpcy5lcnJvck9wZXJhdGlvbihlcnIsIG9wZXJhdGlvbiwgb2JqZWN0TmFtZSk7XG4gICAgfVxuXG4gICAgc3VjY2Vzc09wZXJhdGlvbihvcGVyYXRpb246IE9wZXJhdGlvbiwgb2JqZWN0TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGxldCBtZXNzYWdlITogc3RyaW5nO1xuICAgICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYCR7Y2FwaXRhbGl6ZShvYmplY3ROYW1lKX0gY3JlYXRlZCBzdWNjZXNzZnVsbHlgO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmVjZWl2ZSc6XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGAke2NhcGl0YWxpemUob2JqZWN0TmFtZSl9IHJlY2VpdmVkIHN1Y2Nlc3NmdWxseWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgJHtjYXBpdGFsaXplKG9iamVjdE5hbWUpfSB1cGRhdGVkIHN1Y2Nlc3NmdWxseWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgJHtjYXBpdGFsaXplKG9iamVjdE5hbWUpfSBkZWxldGVkIHN1Y2Nlc3NmdWxseWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWNjZXNzKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGVycm9yT3BlcmF0aW9uKGVycm9yczogdW5rbm93biB8IHVua25vd25bXSwgb3BlcmF0aW9uOiBPcGVyYXRpb24sIG9iamVjdE5hbWU6IHN0cmluZykge1xuICAgICAgICBsZXQgbWVzc2FnZSE6IHN0cmluZztcbiAgICAgICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciBjcmVhdGluZyAke29iamVjdE5hbWV9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3JlY2VpdmUnOlxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgRXJyb3IgcmV0cmlldmluZyAke29iamVjdE5hbWV9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciB1cGRhdGluZyAke29iamVjdE5hbWV9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBFcnJvciBkZWxldGluZyAke29iamVjdE5hbWV9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVycm9yKGVycm9ycywgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3RpZnkobWVzc2FnZTogUG9zc2libHlBc3luYzxzdHJpbmc+LCBkdXJhdGlvbiA9IERFRkFVTFRfRFVSQVRJT05fTVMpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVXaXRoVGltZW91dChtZXNzYWdlLCB7XG4gICAgICAgICAgICBuZXh0OiAobXNnKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKG1zZywgJ09LJywge1xuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IERlZmF1bHQgbWVzc2FnZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVXaXRoVGltZW91dDxUPihcbiAgICAgICAgcG9zc2libHlBc3luYzogUG9zc2libHlBc3luYzxUPixcbiAgICAgICAgc3Vic2NyaWJlOiBQYXJ0aWFsPE9ic2VydmVyPFQ+PiB8IE9ic2VydmVyPFQ+WyduZXh0J10sXG4gICAgKSB7XG4gICAgICAgIGdldFBvc3NpYmx5QXN5bmNPYnNlcnZhYmxlKHBvc3NpYmx5QXN5bmMpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpLCB0aW1lb3V0KERFRkFVTFRfVElNRU9VVF9NUykpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHN1YnNjcmliZSk7XG4gICAgfVxufVxuIl19","import { NgModule } from '@angular/core';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { NotifyLogService } from './notify-log.service';\nimport * as i0 from \"@angular/core\";\nexport class LogModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: LogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: LogModule, imports: [MatSnackBarModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: LogModule, providers: [NotifyLogService], imports: [MatSnackBarModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: LogModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [MatSnackBarModule],\n providers: [NotifyLogService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9zZXJ2aWNlcy9sb2cvbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU14RCxNQUFNLE9BQU8sU0FBUzs4R0FBVCxTQUFTOytHQUFULFNBQVMsWUFIUixpQkFBaUI7K0dBR2xCLFNBQVMsYUFGUCxDQUFDLGdCQUFnQixDQUFDLFlBRG5CLGlCQUFpQjs7MkZBR2xCLFNBQVM7a0JBSnJCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzVCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmltcG9ydCB7IE5vdGlmeUxvZ1NlcnZpY2UgfSBmcm9tICcuL25vdGlmeS1sb2cuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW01hdFNuYWNrQmFyTW9kdWxlXSxcbiAgICBwcm92aWRlcnM6IFtOb3RpZnlMb2dTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTG9nTW9kdWxlIHt9XG4iXX0=","import { BehaviorSubject, Subject, concat, defer, map, mergeScan, race, skip, skipWhile, take, takeUntil, tap, } from 'rxjs';\nimport { delay, shareReplay, startWith } from 'rxjs/operators';\nimport { inProgressFrom, progressTo } from '../../utils';\nconst DEFAULT_SIZE = 25;\nexport class FetchSuperclass {\n constructor() {\n this.result$ = defer(() => this.state$).pipe(map(({ result }) => result));\n this.hasMore$ = defer(() => this.state$).pipe(map(({ continuationToken }) => !!continuationToken));\n this.isLoading$ = inProgressFrom(() => this.progress$, () => this.state$);\n this.fetch$ = new BehaviorSubject({ type: 'init' });\n this.progress$ = new BehaviorSubject(0);\n this.state$ = defer(() => {\n const resAction$ = this.fetch$.pipe(skipWhile((action) => action.type !== 'load'));\n return race(concat(resAction$.pipe(take(1), delay(1000)), resAction$), resAction$.pipe(skip(1)));\n }).pipe(tap((action) => {\n if (action.type === 'load') {\n this.skipPrevious$.next(true);\n }\n }), mergeScan((acc, action) => {\n const params = (action.type === 'load' ? action.params : acc.params);\n const size = action.size ?? acc.size;\n const continuationToken = action.type === 'more' ? acc.continuationToken : undefined;\n return this.fetch(params, { size, continuationToken }).pipe(...(action.type === 'load'\n ? [\n startWith({\n params,\n result: [],\n size,\n continuationToken: undefined,\n }),\n ]\n : []), map(({ result, continuationToken }) => ({\n params,\n result: action.type === 'load' || action.type === 'reload'\n ? result\n : [...(acc.result ?? []), ...result],\n size,\n continuationToken,\n })), progressTo(this.progress$), takeUntil(this.skipPrevious$));\n }, {\n size: DEFAULT_SIZE,\n result: [],\n }, 1), shareReplay({ bufferSize: 1, refCount: true }));\n this.skipPrevious$ = new Subject();\n }\n load(params, options = {}) {\n this.fetch$.next({ type: 'load', params, size: options.size });\n }\n reload(options = {}) {\n this.fetch$.next({ type: 'reload', size: options.size });\n }\n more() {\n this.fetch$.next({ type: 'more' });\n }\n}\nexport class SingleFetchSuperclass extends FetchSuperclass {\n constructor() {\n super(...arguments);\n this.more = () => undefined;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtc3VwZXJjbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9zZXJ2aWNlcy9mZXRjaC1zdXBlcmNsYXNzL2ZldGNoLXN1cGVyY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixPQUFPLEVBQ1AsTUFBTSxFQUNOLEtBQUssRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUNULElBQUksRUFDSixJQUFJLEVBQ0osU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUE2QnpELE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUV4QixNQUFNLE9BQWdCLGVBQWU7SUFBckM7UUFDSSxZQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRSxhQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzlGLGVBQVUsR0FBRyxjQUFjLENBQ3ZCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQ3BCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ3BCLENB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QztJQWtCbkQsQ0FBQztJQWhCRyxJQUFJLENBQUMsTUFBZSxFQUFFLFVBQXVCLEVBQUU7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUF1QixFQUFFO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FNSjtBQUVELE1BQU0sT0FBZ0IscUJBQW1ELFNBQVEsZUFJaEY7SUFKRDs7UUFLYSxTQUFJLEdBQWdCLEdBQUcsRUFBRSxDQUFDLFNBQWtCLENBQUM7SUFDMUQsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBCZWhhdmlvclN1YmplY3QsXG4gICAgT2JzZXJ2YWJsZSxcbiAgICBTdWJqZWN0LFxuICAgIGNvbmNhdCxcbiAgICBkZWZlcixcbiAgICBtYXAsXG4gICAgbWVyZ2VTY2FuLFxuICAgIHJhY2UsXG4gICAgc2tpcCxcbiAgICBza2lwV2hpbGUsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBpblByb2dyZXNzRnJvbSwgcHJvZ3Jlc3NUbyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb248VFBhcmFtcz4ge1xuICAgIHR5cGU6ICdsb2FkJyB8ICdyZWxvYWQnIHwgJ21vcmUnIHwgJ2luaXQnO1xuICAgIHBhcmFtcz86IFRQYXJhbXM7XG4gICAgc2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaFJlc3VsdDxUUmVzdWx0SXRlbSwgVENvbnRpbnVhdGlvblRva2VuID0gc3RyaW5nPiB7XG4gICAgcmVzdWx0OiBUUmVzdWx0SXRlbVtdO1xuICAgIGNvbnRpbnVhdGlvblRva2VuPzogVENvbnRpbnVhdGlvblRva2VuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoT3B0aW9uczxUQ29udGludWF0aW9uVG9rZW4gPSBzdHJpbmc+IHtcbiAgICBzaXplOiBudW1iZXI7XG4gICAgY29udGludWF0aW9uVG9rZW4/OiBUQ29udGludWF0aW9uVG9rZW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZE9wdGlvbnMge1xuICAgIHNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjdW11bGF0b3I8VFJlc3VsdEl0ZW0sIFRQYXJhbXMsIFRDb250aW51YXRpb25Ub2tlbj4ge1xuICAgIHJlc3VsdDogVFJlc3VsdEl0ZW1bXTtcbiAgICBzaXplOiBudW1iZXI7XG4gICAgcGFyYW1zPzogVFBhcmFtcztcbiAgICBjb250aW51YXRpb25Ub2tlbj86IFRDb250aW51YXRpb25Ub2tlbjtcbn1cblxuY29uc3QgREVGQVVMVF9TSVpFID0gMjU7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGZXRjaFN1cGVyY2xhc3M8VFJlc3VsdEl0ZW0sIFRQYXJhbXMgPSB2b2lkLCBUQ29udGludWF0aW9uVG9rZW4gPSBzdHJpbmc+IHtcbiAgICByZXN1bHQkID0gZGVmZXIoKCkgPT4gdGhpcy5zdGF0ZSQpLnBpcGUobWFwKCh7IHJlc3VsdCB9KSA9PiByZXN1bHQpKTtcbiAgICBoYXNNb3JlJCA9IGRlZmVyKCgpID0+IHRoaXMuc3RhdGUkKS5waXBlKG1hcCgoeyBjb250aW51YXRpb25Ub2tlbiB9KSA9PiAhIWNvbnRpbnVhdGlvblRva2VuKSk7XG4gICAgaXNMb2FkaW5nJCA9IGluUHJvZ3Jlc3NGcm9tKFxuICAgICAgICAoKSA9PiB0aGlzLnByb2dyZXNzJCxcbiAgICAgICAgKCkgPT4gdGhpcy5zdGF0ZSQsXG4gICAgKTtcblxuICAgIHByaXZhdGUgZmV0Y2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3Rpb248VFBhcmFtcz4+KHsgdHlwZTogJ2luaXQnIH0pO1xuICAgIHByaXZhdGUgcHJvZ3Jlc3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgICBwcml2YXRlIHN0YXRlJCA9IGRlZmVyKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzQWN0aW9uJCA9IHRoaXMuZmV0Y2gkLnBpcGUoc2tpcFdoaWxlKChhY3Rpb24pID0+IGFjdGlvbi50eXBlICE9PSAnbG9hZCcpKTtcbiAgICAgICAgcmV0dXJuIHJhY2UoXG4gICAgICAgICAgICBjb25jYXQocmVzQWN0aW9uJC5waXBlKHRha2UoMSksIGRlbGF5KDEwMDApKSwgcmVzQWN0aW9uJCksXG4gICAgICAgICAgICByZXNBY3Rpb24kLnBpcGUoc2tpcCgxKSksXG4gICAgICAgICk7XG4gICAgfSkucGlwZShcbiAgICAgICAgdGFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb24udHlwZSA9PT0gJ2xvYWQnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5za2lwUHJldmlvdXMkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBtZXJnZVNjYW48QWN0aW9uPFRQYXJhbXM+LCBBY2N1bXVsYXRvcjxUUmVzdWx0SXRlbSwgVFBhcmFtcywgVENvbnRpbnVhdGlvblRva2VuPj4oXG4gICAgICAgICAgICAoYWNjLCBhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSAoYWN0aW9uLnR5cGUgPT09ICdsb2FkJyA/IGFjdGlvbi5wYXJhbXMgOiBhY2MucGFyYW1zKSBhcyBUUGFyYW1zO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNpemUgPSBhY3Rpb24uc2l6ZSA/PyBhY2Muc2l6ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250aW51YXRpb25Ub2tlbiA9XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi50eXBlID09PSAnbW9yZScgPyBhY2MuY29udGludWF0aW9uVG9rZW4gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gocGFyYW1zLCB7IHNpemUsIGNvbnRpbnVhdGlvblRva2VuIH0pLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIC4uLigoYWN0aW9uLnR5cGUgPT09ICdsb2FkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyAoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvblRva2VuOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSBhcyB1bmtub3duKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBbXSkgYXMgW10pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHsgcmVzdWx0LCBjb250aW51YXRpb25Ub2tlbiB9KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi50eXBlID09PSAnbG9hZCcgfHwgYWN0aW9uLnR5cGUgPT09ICdyZWxvYWQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gcmVzdWx0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogWy4uLihhY2MucmVzdWx0ID8/IFtdKSwgLi4ucmVzdWx0XSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51YXRpb25Ub2tlbixcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc1RvKHRoaXMucHJvZ3Jlc3MkKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuc2tpcFByZXZpb3VzJCksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2l6ZTogREVGQVVMVF9TSVpFLFxuICAgICAgICAgICAgICAgIHJlc3VsdDogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMSxcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgICApO1xuICAgIHByaXZhdGUgc2tpcFByZXZpb3VzJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBsb2FkKHBhcmFtczogVFBhcmFtcywgb3B0aW9uczogTG9hZE9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZldGNoJC5uZXh0KHsgdHlwZTogJ2xvYWQnLCBwYXJhbXMsIHNpemU6IG9wdGlvbnMuc2l6ZSB9KTtcbiAgICB9XG5cbiAgICByZWxvYWQob3B0aW9uczogTG9hZE9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZldGNoJC5uZXh0KHsgdHlwZTogJ3JlbG9hZCcsIHNpemU6IG9wdGlvbnMuc2l6ZSB9KTtcbiAgICB9XG5cbiAgICBtb3JlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZldGNoJC5uZXh0KHsgdHlwZTogJ21vcmUnIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBmZXRjaChcbiAgICAgICAgcGFyYW1zOiBUUGFyYW1zLFxuICAgICAgICBvcHRpb25zOiBGZXRjaE9wdGlvbnM8VENvbnRpbnVhdGlvblRva2VuPixcbiAgICApOiBPYnNlcnZhYmxlPEZldGNoUmVzdWx0PFRSZXN1bHRJdGVtLCBUQ29udGludWF0aW9uVG9rZW4+Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNpbmdsZUZldGNoU3VwZXJjbGFzczxUUmVzdWx0SXRlbSwgVFBhcmFtcyA9IHZvaWQ+IGV4dGVuZHMgRmV0Y2hTdXBlcmNsYXNzPFxuICAgIFRSZXN1bHRJdGVtLFxuICAgIFRQYXJhbXMsXG4gICAgbmV2ZXJcbj4ge1xuICAgIG92ZXJyaWRlIG1vcmU6ICgpID0+IG5ldmVyID0gKCkgPT4gdW5kZWZpbmVkIGFzIG5ldmVyO1xufVxuIl19","export const DATE_QUERY_PARAMS_SERIALIZERS = [\n {\n id: 'date',\n serialize: (date) => date?.toISOString(),\n deserialize: (value) => new Date(value),\n recognize: (value) => value instanceof Date,\n },\n {\n id: 'dateRange',\n serialize: ({ start, end }) => `${start?.toISOString()}|${end?.toISOString()}`,\n deserialize: (value) => {\n const [start, end] = value.split('|').map((p) => (p ? new Date(p) : null));\n return { start, end };\n },\n recognize: (value) => {\n if (typeof value !== 'object') {\n return false;\n }\n const { start, end, ...other } = value;\n if (Object.keys(other).length) {\n return false;\n }\n return start instanceof Date || end instanceof Date;\n },\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1xdWVyeS1wYXJhbXMtc2VyaWFsaXplcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvc2VydmljZXMvcXVlcnktcGFyYW1zL3V0aWxzL2RhdGUtcXVlcnktcGFyYW1zLXNlcmlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFpQjtJQUN2RDtRQUNJLEVBQUUsRUFBRSxNQUFNO1FBQ1YsU0FBUyxFQUFFLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1FBQzlDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLElBQUk7S0FDOUM7SUFDRDtRQUNJLEVBQUUsRUFBRSxXQUFXO1FBQ2YsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFtQixFQUFFLEVBQUUsQ0FDM0MsR0FBRyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFO1FBQ25ELFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1lBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxLQUF3QixDQUFDO1lBQzFELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUNELE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxHQUFHLFlBQVksSUFBSSxDQUFDO1FBQ3hELENBQUM7S0FDSjtDQUNZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUmFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcblxuaW1wb3J0IHsgU2VyaWFsaXplciB9IGZyb20gJy4uL3R5cGVzL3NlcmlhbGl6ZXInO1xuXG5leHBvcnQgY29uc3QgREFURV9RVUVSWV9QQVJBTVNfU0VSSUFMSVpFUlM6IFNlcmlhbGl6ZXJbXSA9IFtcbiAgICB7XG4gICAgICAgIGlkOiAnZGF0ZScsXG4gICAgICAgIHNlcmlhbGl6ZTogKGRhdGU6IERhdGUpID0+IGRhdGU/LnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGRlc2VyaWFsaXplOiAodmFsdWUpID0+IG5ldyBEYXRlKHZhbHVlKSxcbiAgICAgICAgcmVjb2duaXplOiAodmFsdWUpID0+IHZhbHVlIGluc3RhbmNlb2YgRGF0ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWQ6ICdkYXRlUmFuZ2UnLFxuICAgICAgICBzZXJpYWxpemU6ICh7IHN0YXJ0LCBlbmQgfTogRGF0ZVJhbmdlPERhdGU+KSA9PlxuICAgICAgICAgICAgYCR7c3RhcnQ/LnRvSVNPU3RyaW5nKCl9fCR7ZW5kPy50b0lTT1N0cmluZygpfWAsXG4gICAgICAgIGRlc2VyaWFsaXplOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHZhbHVlLnNwbGl0KCd8JykubWFwKChwKSA9PiAocCA/IG5ldyBEYXRlKHApIDogbnVsbCkpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnQsIGVuZCB9O1xuICAgICAgICB9LFxuICAgICAgICByZWNvZ25pemU6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQsIC4uLm90aGVyIH0gPSB2YWx1ZSBhcyBEYXRlUmFuZ2U8RGF0ZT47XG4gICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMob3RoZXIpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdGFydCBpbnN0YW5jZW9mIERhdGUgfHwgZW5kIGluc3RhbmNlb2YgRGF0ZTtcbiAgICAgICAgfSxcbiAgICB9LFxuXSBhcyBTZXJpYWxpemVyW107XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const QUERY_PARAMS_SERIALIZERS = new InjectionToken('query params serializers');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLXNlcmlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3NlcnZpY2VzL3F1ZXJ5LXBhcmFtcy91dGlscy9xdWVyeS1wYXJhbXMtc2VyaWFsaXplcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsMEJBQTBCLENBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTZXJpYWxpemVyIH0gZnJvbSAnLi4vdHlwZXMvc2VyaWFsaXplcic7XG5cbmV4cG9ydCBjb25zdCBRVUVSWV9QQVJBTVNfU0VSSUFMSVpFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48U2VyaWFsaXplcltdPihcbiAgICAncXVlcnkgcGFyYW1zIHNlcmlhbGl6ZXJzJyxcbik7XG4iXX0=","import { isEmpty, negate } from 'lodash-es';\nexport function serializeQueryParam(value, serializers = []) {\n const serializer = serializers\n .sort((a, b) => b.id.length - a.id.length)\n .find((s) => s.recognize(value));\n return serializer ? serializer.id + serializer.serialize(value) : JSON.stringify(value);\n}\nexport function serializeQueryParams(params, filter = negate(isEmpty), serializers = []) {\n return Object.entries(params).reduce((acc, [k, v]) => {\n if (filter(v, k)) {\n acc[k] = serializeQueryParam(v, serializers);\n }\n return acc;\n }, {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLXF1ZXJ5LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9zZXJ2aWNlcy9xdWVyeS1wYXJhbXMvdXRpbHMvc2VyaWFsaXplLXF1ZXJ5LXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUk1QyxNQUFNLFVBQVUsbUJBQW1CLENBQUMsS0FBYyxFQUFFLGNBQTRCLEVBQUU7SUFDOUUsTUFBTSxVQUFVLEdBQUcsV0FBVztTQUN6QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUN6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2hDLE1BQWMsRUFDZCxTQUFtRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2xFLGNBQTRCLEVBQUU7SUFFOUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2pELElBQUksTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2YsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDLEVBQUUsRUFBWSxDQUFDLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBpc0VtcHR5LCBuZWdhdGUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBTZXJpYWxpemVyIH0gZnJvbSAnLi4vdHlwZXMvc2VyaWFsaXplcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVRdWVyeVBhcmFtKHZhbHVlOiB1bmtub3duLCBzZXJpYWxpemVyczogU2VyaWFsaXplcltdID0gW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlcmlhbGl6ZXIgPSBzZXJpYWxpemVyc1xuICAgICAgICAuc29ydCgoYSwgYikgPT4gYi5pZC5sZW5ndGggLSBhLmlkLmxlbmd0aClcbiAgICAgICAgLmZpbmQoKHMpID0+IHMucmVjb2duaXplKHZhbHVlKSk7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZXIgPyBzZXJpYWxpemVyLmlkICsgc2VyaWFsaXplci5zZXJpYWxpemUodmFsdWUpIDogSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplUXVlcnlQYXJhbXMoXG4gICAgcGFyYW1zOiBvYmplY3QsXG4gICAgZmlsdGVyOiAocGFyYW06IHVua25vd24sIGtleTogc3RyaW5nKSA9PiBib29sZWFuID0gbmVnYXRlKGlzRW1wdHkpLFxuICAgIHNlcmlhbGl6ZXJzOiBTZXJpYWxpemVyW10gPSBbXSxcbik6IFBhcmFtcyB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHBhcmFtcykucmVkdWNlKChhY2MsIFtrLCB2XSkgPT4ge1xuICAgICAgICBpZiAoZmlsdGVyKHYsIGspKSB7XG4gICAgICAgICAgICBhY2Nba10gPSBzZXJpYWxpemVRdWVyeVBhcmFtKHYsIHNlcmlhbGl6ZXJzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIFBhcmFtcyk7XG59XG4iXX0=","export function deserializeQueryParam(value, serializers = []) {\n const serializer = serializers\n .sort((a, b) => b.id.length - a.id.length)\n .find((s) => value.startsWith(s.id));\n return (serializer\n ? serializer.deserialize(value.slice(serializer.id.length))\n : JSON.parse(value || ''));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemUtcXVlcnktcGFyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvc2VydmljZXMvcXVlcnktcGFyYW1zL3V0aWxzL2Rlc2VyaWFsaXplLXF1ZXJ5LXBhcmFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxxQkFBcUIsQ0FBSSxLQUFhLEVBQUUsY0FBNEIsRUFBRTtJQUNsRixNQUFNLFVBQVUsR0FBRyxXQUFXO1NBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ3pDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QyxPQUFPLENBQ0gsVUFBVTtRQUNOLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQzNCLENBQUM7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VyaWFsaXplciB9IGZyb20gJy4uL3R5cGVzL3NlcmlhbGl6ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVRdWVyeVBhcmFtPFA+KHZhbHVlOiBzdHJpbmcsIHNlcmlhbGl6ZXJzOiBTZXJpYWxpemVyW10gPSBbXSk6IFAge1xuICAgIGNvbnN0IHNlcmlhbGl6ZXIgPSBzZXJpYWxpemVyc1xuICAgICAgICAuc29ydCgoYSwgYikgPT4gYi5pZC5sZW5ndGggLSBhLmlkLmxlbmd0aClcbiAgICAgICAgLmZpbmQoKHMpID0+IHZhbHVlLnN0YXJ0c1dpdGgocy5pZCkpO1xuICAgIHJldHVybiAoXG4gICAgICAgIHNlcmlhbGl6ZXJcbiAgICAgICAgICAgID8gc2VyaWFsaXplci5kZXNlcmlhbGl6ZSh2YWx1ZS5zbGljZShzZXJpYWxpemVyLmlkLmxlbmd0aCkpXG4gICAgICAgICAgICA6IEpTT04ucGFyc2UodmFsdWUgfHwgJycpXG4gICAgKSBhcyBQO1xufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport isEqual from 'lodash-es/isEqual';\nimport negate from 'lodash-es/negate';\nimport { concat, defer, skipWhile, take } from 'rxjs';\nimport { distinctUntilChanged, map, shareReplay, startWith } from 'rxjs/operators';\nimport { isEmpty } from '../../utils';\nimport { QUERY_PARAMS_SERIALIZERS, serializeQueryParams } from './utils';\nimport { deserializeQueryParam } from './utils/deserialize-query-param';\nimport * as i0 from \"@angular/core\";\nconst NS_PARAM_PREFIX = '__';\nexport class QueryParamsService {\n constructor() {\n this.router = inject(Router);\n this.route = inject(ActivatedRoute);\n this.serializers = inject(QUERY_PARAMS_SERIALIZERS, {\n optional: true,\n }) || [];\n this.params$ = defer(() => this.sourceParams$).pipe(map(({ main }) => main), distinctUntilChanged(isEqual), map((params) => this.deserialize(params)), shareReplay({ refCount: true, bufferSize: 1 }));\n this.sourceParams$ = concat(this.router.events.pipe(startWith(null), skipWhile(() => !this.router.navigated), map(() => this.route.snapshot.queryParams), take(1)), this.route.queryParams).pipe(distinctUntilChanged(isEqual), map((p) => this.getSourceParams(p)), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n get params() {\n return this.deserialize(this.getSourceParams().main);\n }\n async set(params, options = {}) {\n return await this.setParams(params, undefined, options);\n }\n async patch(params, options = {}) {\n return await this.setParams(params, undefined, { ...options, isPatch: true });\n }\n createNamespace(ns) {\n const getNamespaceSourceParams = (sourceParams = this.getSourceParams()) => sourceParams.namespaces[NS_PARAM_PREFIX + ns];\n const getNamespaceParams = () => this.deserializeNamespace(getNamespaceSourceParams());\n return {\n params$: this.sourceParams$.pipe(map((sourceParams) => getNamespaceSourceParams(sourceParams)), distinctUntilChanged(isEqual), map((params) => this.deserializeNamespace(params)), shareReplay({ refCount: true, bufferSize: 1 })),\n get params() {\n return getNamespaceParams();\n },\n set: async (params, options = {}) => {\n return await this.setParams(params, ns, options);\n },\n patch: async (params, options = {}) => {\n return await this.setParams(params, ns, { ...options, isPatch: true });\n },\n destroy: async () => {\n await this.setParams({}, ns);\n },\n };\n }\n async setParams(params, ns, options = {}) {\n const sourceParams = this.getSourceParams();\n let queryParams;\n if (ns) {\n const nsKey = NS_PARAM_PREFIX + ns;\n const serializedNamespace = this.serializeNamespace(Object.assign({}, options.isPatch && this.deserializeNamespace(sourceParams.namespaces[nsKey]), params));\n const otherNamespaces = sourceParams.namespaces;\n delete otherNamespaces[nsKey];\n queryParams = Object.assign({}, sourceParams.main, otherNamespaces, !!serializedNamespace && { [nsKey]: serializedNamespace });\n }\n else {\n const replacedKeys = Object.keys(params);\n queryParams = Object.assign({}, options.isPatch &&\n Object.fromEntries(Object.entries(sourceParams.main).filter(([k]) => !replacedKeys.includes(k))), this.serialize(params), sourceParams.namespaces);\n }\n return await this.router.navigate([], { queryParams });\n }\n getSourceParams(source = this.route.snapshot.queryParams) {\n return Object.entries(source).reduce((acc, [k, v]) => {\n if (k.startsWith(NS_PARAM_PREFIX)) {\n acc.namespaces[k] = v;\n }\n else {\n acc.main[k] = v;\n }\n return acc;\n }, { main: {}, namespaces: {} });\n }\n serialize(params, options = {}) {\n const filter = options.filter ?? negate(isEmpty);\n return serializeQueryParams(params, filter, this.serializers);\n }\n deserialize(params) {\n if (!params) {\n return {};\n }\n return Object.entries(params).reduce((acc, [k, v]) => {\n try {\n acc[k] = deserializeQueryParam(v, this.serializers);\n }\n catch (err) {\n console.error(err);\n }\n return acc;\n }, {});\n }\n serializeNamespace(params) {\n return params && Object.keys(params).length ? JSON.stringify(params) : '';\n }\n deserializeNamespace(strParams) {\n return strParams ? JSON.parse(strParams) : {};\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvc2VydmljZXMvcXVlcnktcGFyYW1zL3F1ZXJ5LXBhcmFtcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQVUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxPQUFPLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxNQUFNLE1BQU0sa0JBQWtCLENBQUM7QUFDdEMsT0FBTyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUEwQnhFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQztBQUc3QixNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBSVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RCLGdCQUFXLEdBQ3hCLE1BQU0sQ0FBZSx3QkFBd0IsRUFBRTtZQUMzQyxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsWUFBTyxHQUFrQixLQUFLLENBQUMsR0FB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QUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUUsRUFBdUIsQ0FBQztJQUN4RSxDQUFDOzhHQXpKUSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQURMLE1BQU07OzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLWVzL2lzRXF1YWwnO1xuaW1wb3J0IG5lZ2F0ZSBmcm9tICdsb2Rhc2gtZXMvbmVnYXRlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbmNhdCwgZGVmZXIsIHNraXBXaGlsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgU2VyaWFsaXplciB9IGZyb20gJy4vdHlwZXMvc2VyaWFsaXplcic7XG5pbXBvcnQgeyBRVUVSWV9QQVJBTVNfU0VSSUFMSVpFUlMsIHNlcmlhbGl6ZVF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBkZXNlcmlhbGl6ZVF1ZXJ5UGFyYW0gfSBmcm9tICcuL3V0aWxzL2Rlc2VyaWFsaXplLXF1ZXJ5LXBhcmFtJztcblxuaW50ZXJmYWNlIFNlcmlhbGl6ZU9wdGlvbnMge1xuICAgIGZpbHRlcj86IFBhcmFtZXRlcnM8dHlwZW9mIHNlcmlhbGl6ZVF1ZXJ5UGFyYW1zPlsxXTtcbn1cblxuaW50ZXJmYWNlIFNldE9wdGlvbnMgZXh0ZW5kcyBTZXJpYWxpemVPcHRpb25zIHtcbiAgICBpc1BhdGNoPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFNvdXJjZVBhcmFtcyB7XG4gICAgbWFpbjogUGFyYW1zO1xuICAgIG5hbWVzcGFjZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmludGVyZmFjZSBCYXNlUXVlcnlQYXJhbXM8VCBleHRlbmRzIG9iamVjdD4ge1xuICAgIHBhcmFtcyQ6IE9ic2VydmFibGU8UGFydGlhbDxUPj47XG4gICAgcGFyYW1zOiBQYXJ0aWFsPFQ+O1xuICAgIHNldDogKHBhcmFtczogVCwgb3B0aW9ucz86IFNlcmlhbGl6ZU9wdGlvbnMpID0+IFByb21pc2U8Ym9vbGVhbj47XG4gICAgcGF0Y2g6IChwYXJhbXM6IFBhcnRpYWw8VD4sIG9wdGlvbnM/OiBTZXJpYWxpemVPcHRpb25zKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zTmFtZXNwYWNlPFQgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgQmFzZVF1ZXJ5UGFyYW1zPFQ+IHtcbiAgICBkZXN0cm95OiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBOU19QQVJBTV9QUkVGSVggPSAnX18nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1zU2VydmljZTxQIGV4dGVuZHMgb2JqZWN0ID0gTm9uTnVsbGFibGU8dW5rbm93bj4+XG4gICAgaW1wbGVtZW50cyBCYXNlUXVlcnlQYXJhbXM8UD5cbntcbiAgICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHByaXZhdGUgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VyaWFsaXplcnMgPVxuICAgICAgICBpbmplY3Q8U2VyaWFsaXplcltdPihRVUVSWV9QQVJBTVNfU0VSSUFMSVpFUlMsIHtcbiAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSB8fCBbXTtcbiAgICBwYXJhbXMkOiBPYnNlcnZhYmxlPFA+ID0gZGVmZXIoKCkgPT4gdGhpcy5zb3VyY2VQYXJhbXMkKS5waXBlKFxuICAgICAgICBtYXAoKHsgbWFpbiB9KSA9PiBtYWluKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgIG1hcCgocGFyYW1zKSA9PiB0aGlzLmRlc2VyaWFsaXplKHBhcmFtcykpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG5cbiAgICBnZXQgcGFyYW1zKCk6IFAge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZSh0aGlzLmdldFNvdXJjZVBhcmFtcygpLm1haW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc291cmNlUGFyYW1zJDogT2JzZXJ2YWJsZTxTb3VyY2VQYXJhbXM+ID0gY29uY2F0KFxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgICAgIHNraXBXaGlsZSgoKSA9PiAhdGhpcy5yb3V0ZXIubmF2aWdhdGVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMsXG4gICAgKS5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChpc0VxdWFsKSxcbiAgICAgICAgbWFwKChwKSA9PiB0aGlzLmdldFNvdXJjZVBhcmFtcyhwKSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcblxuICAgIGFzeW5jIHNldChwYXJhbXM6IFAsIG9wdGlvbnM6IFNlcmlhbGl6ZU9wdGlvbnMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5zZXRQYXJhbXMocGFyYW1zLCB1bmRlZmluZWQsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGFzeW5jIHBhdGNoKHBhcmFtczogUGFydGlhbDxQPiwgb3B0aW9uczogU2VyaWFsaXplT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldFBhcmFtcyhwYXJhbXMsIHVuZGVmaW5lZCwgeyAuLi5vcHRpb25zLCBpc1BhdGNoOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGNyZWF0ZU5hbWVzcGFjZTxUTmFtZXNwYWNlUGFyYW1zIGV4dGVuZHMgb2JqZWN0PihcbiAgICAgICAgbnM6IHN0cmluZyxcbiAgICApOiBRdWVyeVBhcmFtc05hbWVzcGFjZTxUTmFtZXNwYWNlUGFyYW1zPiB7XG4gICAgICAgIGNvbnN0IGdldE5hbWVzcGFjZVNvdXJjZVBhcmFtcyA9IChzb3VyY2VQYXJhbXMgPSB0aGlzLmdldFNvdXJjZVBhcmFtcygpKTogUGFydGlhbDxzdHJpbmc+ID0+XG4gICAgICAgICAgICBzb3VyY2VQYXJhbXMubmFtZXNwYWNlc1tOU19QQVJBTV9QUkVGSVggKyBuc107XG4gICAgICAgIGNvbnN0IGdldE5hbWVzcGFjZVBhcmFtcyA9ICgpOiBQYXJ0aWFsPFROYW1lc3BhY2VQYXJhbXM+ID0+XG4gICAgICAgICAgICB0aGlzLmRlc2VyaWFsaXplTmFtZXNwYWNlKGdldE5hbWVzcGFjZVNvdXJjZVBhcmFtcygpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhcmFtcyQ6IHRoaXMuc291cmNlUGFyYW1zJC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoc291cmNlUGFyYW1zKSA9PiBnZXROYW1lc3BhY2VTb3VyY2VQYXJhbXMoc291cmNlUGFyYW1zKSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCksXG4gICAgICAgICAgICAgICAgbWFwKChwYXJhbXMpID0+IHRoaXMuZGVzZXJpYWxpemVOYW1lc3BhY2UocGFyYW1zKSksXG4gICAgICAgICAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBnZXQgcGFyYW1zKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXROYW1lc3BhY2VQYXJhbXMoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQ6IGFzeW5jIChwYXJhbXMsIG9wdGlvbnMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLnNldFBhcmFtcyhwYXJhbXMsIG5zLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYXRjaDogYXN5bmMgKHBhcmFtcywgb3B0aW9ucyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc2V0UGFyYW1zKHBhcmFtcywgbnMsIHsgLi4ub3B0aW9ucywgaXNQYXRjaDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZXN0cm95OiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXRQYXJhbXMoe30sIG5zKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzZXRQYXJhbXM8VFBhcmFtcyBleHRlbmRzIG9iamVjdD4oXG4gICAgICAgIHBhcmFtczogUGFydGlhbDxUUGFyYW1zPixcbiAgICAgICAgbnM/OiBzdHJpbmcsXG4gICAgICAgIG9wdGlvbnM6IFNldE9wdGlvbnMgPSB7fSxcbiAgICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgY29uc3Qgc291cmNlUGFyYW1zID0gdGhpcy5nZXRTb3VyY2VQYXJhbXMoKTtcbiAgICAgICAgbGV0IHF1ZXJ5UGFyYW1zOiBQYXJhbXM7XG4gICAgICAgIGlmIChucykge1xuICAgICAgICAgICAgY29uc3QgbnNLZXkgPSBOU19QQVJBTV9QUkVGSVggKyBucztcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWROYW1lc3BhY2UgPSB0aGlzLnNlcmlhbGl6ZU5hbWVzcGFjZShcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5pc1BhdGNoICYmIHRoaXMuZGVzZXJpYWxpemVOYW1lc3BhY2Uoc291cmNlUGFyYW1zLm5hbWVzcGFjZXNbbnNLZXldKSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3Qgb3RoZXJOYW1lc3BhY2VzID0gc291cmNlUGFyYW1zLm5hbWVzcGFjZXM7XG4gICAgICAgICAgICBkZWxldGUgb3RoZXJOYW1lc3BhY2VzW25zS2V5XTtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICBzb3VyY2VQYXJhbXMubWFpbixcbiAgICAgICAgICAgICAgICBvdGhlck5hbWVzcGFjZXMsXG4gICAgICAgICAgICAgICAgISFzZXJpYWxpemVkTmFtZXNwYWNlICYmIHsgW25zS2V5XTogc2VyaWFsaXplZE5hbWVzcGFjZSB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHJlcGxhY2VkS2V5cyA9IE9iamVjdC5rZXlzKHBhcmFtcyk7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgb3B0aW9ucy5pc1BhdGNoICYmXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHNvdXJjZVBhcmFtcy5tYWluKS5maWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKFtrXSkgPT4gIXJlcGxhY2VkS2V5cy5pbmNsdWRlcyhrKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJpYWxpemUocGFyYW1zKSxcbiAgICAgICAgICAgICAgICBzb3VyY2VQYXJhbXMubmFtZXNwYWNlcyxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U291cmNlUGFyYW1zKHNvdXJjZTogUGFyYW1zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyk6IFNvdXJjZVBhcmFtcyB7XG4gICAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhzb3VyY2UpLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIFtrLCB2XSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChrLnN0YXJ0c1dpdGgoTlNfUEFSQU1fUFJFRklYKSkge1xuICAgICAgICAgICAgICAgICAgICBhY2MubmFtZXNwYWNlc1trXSA9IHY7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjLm1haW5ba10gPSB2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgbWFpbjoge30sIG5hbWVzcGFjZXM6IHt9IH0gYXMgU291cmNlUGFyYW1zLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VyaWFsaXplKHBhcmFtczogb2JqZWN0LCBvcHRpb25zOiBTZXJpYWxpemVPcHRpb25zID0ge30pOiBQYXJhbXMge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSBvcHRpb25zLmZpbHRlciA/PyBuZWdhdGUoaXNFbXB0eSk7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVRdWVyeVBhcmFtcyhwYXJhbXMsIGZpbHRlciwgdGhpcy5zZXJpYWxpemVycyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXNlcmlhbGl6ZShwYXJhbXM6IFBhcmFtcyk6IFAge1xuICAgICAgICBpZiAoIXBhcmFtcykge1xuICAgICAgICAgICAgcmV0dXJuIHt9IGFzIFA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHBhcmFtcykucmVkdWNlKChhY2MsIFtrLCB2XSkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhY2NbayBhcyBrZXlvZiBQXSA9IGRlc2VyaWFsaXplUXVlcnlQYXJhbTxQW2tleW9mIFBdPih2LCB0aGlzLnNlcmlhbGl6ZXJzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9IGFzIFApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VyaWFsaXplTmFtZXNwYWNlPFROYW1lc3BhY2VQYXJhbXMgZXh0ZW5kcyBvYmplY3Q+KHBhcmFtcz86IFROYW1lc3BhY2VQYXJhbXMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcGFyYW1zICYmIE9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoID8gSlNPTi5zdHJpbmdpZnkocGFyYW1zKSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzZXJpYWxpemVOYW1lc3BhY2U8VE5hbWVzcGFjZVBhcmFtcyBleHRlbmRzIG9iamVjdD4oXG4gICAgICAgIHN0clBhcmFtcz86IHN0cmluZyxcbiAgICApOiBUTmFtZXNwYWNlUGFyYW1zIHtcbiAgICAgICAgcmV0dXJuIHN0clBhcmFtcyA/IEpTT04ucGFyc2Uoc3RyUGFyYW1zKSA6ICh7fSBhcyBUTmFtZXNwYWNlUGFyYW1zKTtcbiAgICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { QueryParamsService } from './query-params.service';\nimport { DATE_QUERY_PARAMS_SERIALIZERS } from './utils/date-query-params-serializers';\nimport { QUERY_PARAMS_SERIALIZERS } from './utils/query-params-serializers';\nimport * as i0 from \"@angular/core\";\nexport class QueryParamsModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsModule, providers: [\n { provide: QUERY_PARAMS_SERIALIZERS, useValue: DATE_QUERY_PARAMS_SERIALIZERS },\n QueryParamsService,\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryParamsModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [\n { provide: QUERY_PARAMS_SERIALIZERS, useValue: DATE_QUERY_PARAMS_SERIALIZERS },\n QueryParamsService,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9zZXJ2aWNlcy9xdWVyeS1wYXJhbXMvcXVlcnktcGFyYW1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQVE1RSxNQUFNLE9BQU8saUJBQWlCOzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGFBTGY7WUFDUCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUU7WUFDOUUsa0JBQWtCO1NBQ3JCOzsyRkFFUSxpQkFBaUI7a0JBTjdCLFFBQVE7bUJBQUM7b0JBQ04sU0FBUyxFQUFFO3dCQUNQLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRTt3QkFDOUUsa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFF1ZXJ5UGFyYW1zU2VydmljZSB9IGZyb20gJy4vcXVlcnktcGFyYW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgREFURV9RVUVSWV9QQVJBTVNfU0VSSUFMSVpFUlMgfSBmcm9tICcuL3V0aWxzL2RhdGUtcXVlcnktcGFyYW1zLXNlcmlhbGl6ZXJzJztcbmltcG9ydCB7IFFVRVJZX1BBUkFNU19TRVJJQUxJWkVSUyB9IGZyb20gJy4vdXRpbHMvcXVlcnktcGFyYW1zLXNlcmlhbGl6ZXJzJztcblxuQE5nTW9kdWxlKHtcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBRVUVSWV9QQVJBTVNfU0VSSUFMSVpFUlMsIHVzZVZhbHVlOiBEQVRFX1FVRVJZX1BBUkFNU19TRVJJQUxJWkVSUyB9LFxuICAgICAgICBRdWVyeVBhcmFtc1NlcnZpY2UsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbXNNb2R1bGUge31cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { distinctUntilChanged, filter, map, shareReplay, startWith } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nexport class UrlService {\n constructor() {\n this.router = inject(Router);\n this.url$ = this.router.events.pipe(startWith(null), map(() => this.url), filter((url) => this.router.navigated || (!!url && url !== '/')), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));\n this.path$ = this.url$.pipe(map(() => this.path), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n get url() {\n return this.router.url && this.router.url !== '/'\n ? this.router.url.split('?', 1)[0].split('#', 1)[0]\n : window.location.pathname;\n }\n get path() {\n return this.url?.split('/')?.slice(1) ?? [];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: UrlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: UrlService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: UrlService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvc2VydmljZXMvdXJsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLM0YsTUFBTSxPQUFPLFVBQVU7SUFIdkI7UUFJWSxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNuQixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsRUFDaEUsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDakQsQ0FBQztRQUNGLFVBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDcEIsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDakQsQ0FBQztLQVdMO0lBVEcsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxHQUFHO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7OEdBdEJRLFVBQVU7a0hBQVYsVUFBVSxjQUZQLE1BQU07OzJGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVcmxTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHVybCQgPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy51cmwpLFxuICAgICAgICBmaWx0ZXIoKHVybCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVkIHx8ICghIXVybCAmJiB1cmwgIT09ICcvJykpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pLFxuICAgICk7XG4gICAgcGF0aCQgPSB0aGlzLnVybCQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMucGF0aCksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcblxuICAgIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwgJiYgdGhpcy5yb3V0ZXIudXJsICE9PSAnLydcbiAgICAgICAgICAgID8gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JywgMSlbMF0uc3BsaXQoJyMnLCAxKVswXVxuICAgICAgICAgICAgOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHBhdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVybD8uc3BsaXQoJy8nKT8uc2xpY2UoMSkgPz8gW107XG4gICAgfVxufVxuIl19","import { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { combineLatest, map, of, shareReplay } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/progress-spinner\";\nimport * as i3 from \"@angular/material/button\";\nexport const DEFAULT_DURATION = 3000;\nexport class ToastComponent {\n constructor() {\n this.data = inject(MAT_SNACK_BAR_DATA);\n this.snackBarRef = inject((MatSnackBarRef));\n this.message$ = combineLatest([this.data.progress$ ?? of(false), this.data.error$ ?? of(null)]).pipe(map(([progress, error]) => {\n if (error) {\n return this.data.errorMessage ?? this.data.message;\n }\n else if (progress) {\n return this.data.progressMessage ?? this.data.message;\n }\n return this.data.message;\n }), shareReplay({ refCount: true, bufferSize: 1 }));\n this.subscribeProgress();\n if (!this.data.progress$) {\n this.dismissByDuration();\n }\n }\n dismissWithAction() {\n this.data.action?.();\n this.snackBarRef.dismissWithAction();\n }\n subscribeProgress() {\n if (this.data.progress$) {\n let started = false;\n this.data.progress$.subscribe((progress) => {\n if (!started && progress) {\n started = true;\n }\n else if (started && !progress) {\n this.dismissByDuration();\n }\n });\n }\n }\n dismissByDuration() {\n if (this.data.duration && this.data.duration < Number.MAX_SAFE_INTEGER) {\n setTimeout(() => {\n this.snackBarRef.dismiss();\n }, this.data.duration ?? DEFAULT_DURATION);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: ToastComponent, isStandalone: true, selector: \"v-toast\", ngImport: i0, template: \"<span>\\n {{ message$ | async }}\\n</span>\\n\\n@if (data.progress$ | async) {\\n <mat-spinner [diameter]=\\\"24\\\" color=\\\"white\\\"></mat-spinner>\\n} @else {\\n <button class=\\\"button\\\" mat-button (click)=\\\"dismissWithAction()\\\">OK</button>\\n}\\n\", styles: [\":host{display:flex;justify-content:space-between;align-items:center;--mat-progress-spinner-active-indicator-color: white}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: MatProgressSpinnerModule }, { kind: \"component\", type: i2.MatProgressSpinner, selector: \"mat-progress-spinner, mat-spinner\", inputs: [\"color\", \"mode\", \"value\", \"diameter\", \"strokeWidth\"], exportAs: [\"matProgressSpinner\"] }, { kind: \"ngmodule\", type: MatButtonModule }, { kind: \"component\", type: i3.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToastComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-toast', imports: [CommonModule, MatProgressSpinnerModule, MatButtonModule], template: \"<span>\\n {{ message$ | async }}\\n</span>\\n\\n@if (data.progress$ | async) {\\n <mat-spinner [diameter]=\\\"24\\\" color=\\\"white\\\"></mat-spinner>\\n} @else {\\n <button class=\\\"button\\\" mat-button (click)=\\\"dismissWithAction()\\\">OK</button>\\n}\\n\", styles: [\":host{display:flex;justify-content:space-between;align-items:center;--mat-progress-spinner-active-indicator-color: white}\\n\"] }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3NlcnZpY2VzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9zZXJ2aWNlcy90b2FzdC90b2FzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRixPQUFPLEVBQWMsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQUV2RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUF3QnJDLE1BQU0sT0FBTyxjQUFjO0lBZXZCO1FBZE8sU0FBSSxHQUFHLE1BQU0sQ0FBWSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVDLGdCQUFXLEdBQUcsTUFBTSxDQUFpQyxDQUFBLGNBQThCLENBQUEsQ0FBQyxDQUFDO1FBQzdGLGFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNGLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDdEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3ZELENBQUM7aUJBQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUMxRCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO1FBR0UsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDbkIsQ0FBQztxQkFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0IsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNyRSxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7OEdBOUNRLGNBQWM7a0dBQWQsY0FBYyxtRUMvQjNCLHVQQVNBLG9MRG9CYyxZQUFZLG1GQUFFLHdCQUF3QixrT0FBRSxlQUFlOzsyRkFFeEQsY0FBYztrQkFOMUIsU0FBUzsrQkFDSSxTQUFTLFdBR1YsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCwgb2YsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RVUkFUSU9OID0gMzAwMDtcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdERhdGEge1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgYWN0aW9uPzogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBEdXJhdGlvbiBhZnRlciBwcm9ncmVzcyBvciBpZiBub3Qgc2V0LCBkdXJhdGlvbiBvZiB0aGUgc25hY2tiYXIgKi9cbiAgICBkdXJhdGlvbj86IG51bWJlcjtcblxuICAgIHByb2dyZXNzJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHJvZ3Jlc3NNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgc3VjY2Vzc01lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgICBlcnJvciQ/OiBPYnNlcnZhYmxlPHVua25vd24+O1xuICAgIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LXRvYXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XG4gICAgcHVibGljIGRhdGEgPSBpbmplY3Q8VG9hc3REYXRhPihNQVRfU05BQ0tfQkFSX0RBVEEpO1xuICAgIHByaXZhdGUgc25hY2tCYXJSZWYgPSBpbmplY3Q8TWF0U25hY2tCYXJSZWY8VG9hc3RDb21wb25lbnQ+PihNYXRTbmFja0JhclJlZjxUb2FzdENvbXBvbmVudD4pO1xuICAgIG1lc3NhZ2UkID0gY29tYmluZUxhdGVzdChbdGhpcy5kYXRhLnByb2dyZXNzJCA/PyBvZihmYWxzZSksIHRoaXMuZGF0YS5lcnJvciQgPz8gb2YobnVsbCldKS5waXBlKFxuICAgICAgICBtYXAoKFtwcm9ncmVzcywgZXJyb3JdKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmVycm9yTWVzc2FnZSA/PyB0aGlzLmRhdGEubWVzc2FnZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnByb2dyZXNzTWVzc2FnZSA/PyB0aGlzLmRhdGEubWVzc2FnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEubWVzc2FnZTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnN1YnNjcmliZVByb2dyZXNzKCk7XG4gICAgICAgIGlmICghdGhpcy5kYXRhLnByb2dyZXNzJCkge1xuICAgICAgICAgICAgdGhpcy5kaXNtaXNzQnlEdXJhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzbWlzc1dpdGhBY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuZGF0YS5hY3Rpb24/LigpO1xuICAgICAgICB0aGlzLnNuYWNrQmFyUmVmLmRpc21pc3NXaXRoQWN0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVQcm9ncmVzcygpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5wcm9ncmVzcyQpIHtcbiAgICAgICAgICAgIGxldCBzdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRhdGEucHJvZ3Jlc3MkLnN1YnNjcmliZSgocHJvZ3Jlc3MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXJ0ZWQgJiYgcHJvZ3Jlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdGFydGVkICYmICFwcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc21pc3NCeUR1cmF0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc21pc3NCeUR1cmF0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhLmR1cmF0aW9uICYmIHRoaXMuZGF0YS5kdXJhdGlvbiA8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyUmVmLmRpc21pc3MoKTtcbiAgICAgICAgICAgIH0sIHRoaXMuZGF0YS5kdXJhdGlvbiA/PyBERUZBVUxUX0RVUkFUSU9OKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxzcGFuPlxuICAgIHt7IG1lc3NhZ2UkIHwgYXN5bmMgfX1cbjwvc3Bhbj5cblxuQGlmIChkYXRhLnByb2dyZXNzJCB8IGFzeW5jKSB7XG4gICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCIyNFwiIGNvbG9yPVwid2hpdGVcIj48L21hdC1zcGlubmVyPlxufSBAZWxzZSB7XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIG1hdC1idXR0b24gKGNsaWNrKT1cImRpc21pc3NXaXRoQWN0aW9uKClcIj5PSzwvYnV0dG9uPlxufVxuIl19","import { Injectable, inject } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DEFAULT_DURATION, ToastComponent } from './toast.component';\nimport * as i0 from \"@angular/core\";\nexport class ToastService {\n constructor() {\n this.snackBar = inject(MatSnackBar);\n }\n open(data, config = {}) {\n return this.snackBar.openFromComponent(ToastComponent, {\n ...config,\n duration: data.progress$ ? config.duration : (data.duration ?? DEFAULT_DURATION),\n data,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToastService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ToastService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9zZXJ2aWNlcy90b2FzdC90b2FzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBYSxNQUFNLG1CQUFtQixDQUFDOztBQUtoRixNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlZLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FTMUM7SUFQRyxJQUFJLENBQUMsSUFBZSxFQUFFLFNBQXFELEVBQUU7UUFDekUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUE0QixjQUFjLEVBQUU7WUFDOUUsR0FBRyxNQUFNO1lBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoRixJQUFJO1NBQ1AsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FUUSxZQUFZO2tIQUFaLFlBQVksY0FGVCxNQUFNOzsyRkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuaW1wb3J0IHsgREVGQVVMVF9EVVJBVElPTiwgVG9hc3RDb21wb25lbnQsIFRvYXN0RGF0YSB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcblxuICAgIG9wZW4oZGF0YTogVG9hc3REYXRhLCBjb25maWc6IE9taXQ8TWF0U25hY2tCYXJDb25maWc8VG9hc3REYXRhPiwgJ2RhdGEnPiA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50PFRvYXN0Q29tcG9uZW50LCBUb2FzdERhdGE+KFRvYXN0Q29tcG9uZW50LCB7XG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICBkdXJhdGlvbjogZGF0YS5wcm9ncmVzcyQgPyBjb25maWcuZHVyYXRpb24gOiAoZGF0YS5kdXJhdGlvbiA/PyBERUZBVUxUX0RVUkFUSU9OKSxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==","import { Component, EventEmitter, Input, Output, inject } from '@angular/core';\nimport { NotifyLogService } from '../../services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nfunction hasExtension(fileName, extensions) {\n return (!extensions?.length ||\n new RegExp('(' + extensions.join('|').replace(/\\./g, '\\\\.') + ')$').test(fileName));\n}\nexport class FileUploadComponent {\n constructor() {\n this.log = inject(NotifyLogService);\n this.extensions = [];\n this.upload = new EventEmitter();\n }\n loadFile(event) {\n const file = event.target?.files?.[0] ?? null;\n if (!file) {\n this.log.error(new Error('File upload error'));\n return;\n }\n if (!hasExtension(file.name, this.extensions)) {\n this.log.error(new Error(`Supported file types: ${this.extensions.join(', ')}`));\n return;\n }\n this.file = file;\n this.upload.emit(this.file);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: FileUploadComponent, isStandalone: false, selector: \"v-file-upload\", inputs: { label: \"label\", extensions: \"extensions\" }, outputs: { upload: \"upload\" }, ngImport: i0, template: \"<div class=\\\"wrapper\\\">\\n <button mat-button type=\\\"button\\\" (click)=\\\"fileInput.click()\\\">\\n {{ label ?? 'Choose File' }}\\n </button>\\n\\n <div class=\\\"mat-body-medium mat-secondary-text mat-no-margin file-name\\\">\\n {{ file?.name }}\\n </div>\\n</div>\\n\\n<input #fileInput hidden type=\\\"file\\\" (change)=\\\"loadFile($event)\\\" />\\n\", styles: [\".wrapper{display:grid;grid-template-columns:min-content auto;align-items:center;grid-gap:16px}.wrapper>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrapper .file-name{height:auto}\\n\"], dependencies: [{ kind: \"component\", type: i1.MatButton, selector: \" button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] \", inputs: [\"matButton\"], exportAs: [\"matButton\", \"matAnchor\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FileUploadComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-file-upload', standalone: false, template: \"<div class=\\\"wrapper\\\">\\n <button mat-button type=\\\"button\\\" (click)=\\\"fileInput.click()\\\">\\n {{ label ?? 'Choose File' }}\\n </button>\\n\\n <div class=\\\"mat-body-medium mat-secondary-text mat-no-margin file-name\\\">\\n {{ file?.name }}\\n </div>\\n</div>\\n\\n<input #fileInput hidden type=\\\"file\\\" (change)=\\\"loadFile($event)\\\" />\\n\", styles: [\".wrapper{display:grid;grid-template-columns:min-content auto;align-items:center;grid-gap:16px}.wrapper>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wrapper .file-name{height:auto}\\n\"] }]\n }], propDecorators: { label: [{\n type: Input\n }], extensions: [{\n type: Input\n }], upload: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVsRCxTQUFTLFlBQVksQ0FBQyxRQUFnQixFQUFFLFVBQW9CO0lBQ3hELE9BQU8sQ0FDSCxDQUFDLFVBQVUsRUFBRSxNQUFNO1FBQ25CLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUNyRixDQUFDO0FBQ04sQ0FBQztBQVFELE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFPWSxRQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFOUIsZUFBVSxHQUFhLEVBQUUsQ0FBQztRQUV6QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztLQWlCdEQ7SUFiRyxRQUFRLENBQUMsS0FBWTtRQUNqQixNQUFNLElBQUksR0FBSSxLQUFLLENBQUMsTUFBMkIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQXJCUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrSkNqQmhDLGtXQVdBOzsyRkRNYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksZUFBZSxjQUdiLEtBQUs7OEJBSVIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb3RpZnlMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5mdW5jdGlvbiBoYXNFeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZywgZXh0ZW5zaW9uczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAhZXh0ZW5zaW9ucz8ubGVuZ3RoIHx8XG4gICAgICAgIG5ldyBSZWdFeHAoJygnICsgZXh0ZW5zaW9ucy5qb2luKCd8JykucmVwbGFjZSgvXFwuL2csICdcXFxcLicpICsgJykkJykudGVzdChmaWxlTmFtZSlcbiAgICApO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3YtZmlsZS11cGxvYWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBsb2cgPSBpbmplY3QoTm90aWZ5TG9nU2VydmljZSk7XG4gICAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIEBPdXRwdXQoKSB1cGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBudWxsPigpO1xuXG4gICAgcHJvdGVjdGVkIGZpbGU/OiBGaWxlIHwgbnVsbDtcblxuICAgIGxvYWRGaWxlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBmaWxlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8uZmlsZXM/LlswXSA/PyBudWxsO1xuICAgICAgICBpZiAoIWZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKG5ldyBFcnJvcignRmlsZSB1cGxvYWQgZXJyb3InKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFoYXNFeHRlbnNpb24oZmlsZS5uYW1lLCB0aGlzLmV4dGVuc2lvbnMpKSB7XG4gICAgICAgICAgICB0aGlzLmxvZy5lcnJvcihuZXcgRXJyb3IoYFN1cHBvcnRlZCBmaWxlIHR5cGVzOiAke3RoaXMuZXh0ZW5zaW9ucy5qb2luKCcsICcpfWApKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlO1xuICAgICAgICB0aGlzLnVwbG9hZC5lbWl0KHRoaXMuZmlsZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiPlxuICAgICAgICB7eyBsYWJlbCA/PyAnQ2hvb3NlIEZpbGUnIH19XG4gICAgPC9idXR0b24+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWF0LWJvZHktbWVkaXVtIG1hdC1zZWNvbmRhcnktdGV4dCBtYXQtbm8tbWFyZ2luIGZpbGUtbmFtZVwiPlxuICAgICAgICB7eyBmaWxlPy5uYW1lIH19XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGlucHV0ICNmaWxlSW5wdXQgaGlkZGVuIHR5cGU9XCJmaWxlXCIgKGNoYW5nZSk9XCJsb2FkRmlsZSgkZXZlbnQpXCIgLz5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FileUploadComponent } from './file-upload.component';\nimport * as i0 from \"@angular/core\";\nexport class FileUploadModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: FileUploadModule, declarations: [FileUploadComponent], imports: [CommonModule, MatButtonModule], exports: [FileUploadComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FileUploadModule, imports: [CommonModule, MatButtonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: FileUploadModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [FileUploadComponent],\n exports: [FileUploadComponent],\n imports: [CommonModule, MatButtonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSlYsbUJBQW1CLGFBRXhCLFlBQVksRUFBRSxlQUFlLGFBRDdCLG1CQUFtQjsrR0FHcEIsZ0JBQWdCLFlBRmYsWUFBWSxFQUFFLGVBQWU7OzJGQUU5QixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtGaWxlVXBsb2FkQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRmlsZVVwbG9hZENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZE1vZHVsZSB7fVxuIl19","import { Observable } from 'rxjs';\nexport function loadFileContent(file, encoding = 'utf-8') {\n return new Observable((subscriber) => {\n if (!file) {\n return undefined;\n }\n const read = new FileReader();\n read.readAsText(file, encoding);\n read.onloadend = function () {\n if (read.error) {\n return subscriber.error(read.error);\n }\n else {\n subscriber.next(read.result || '');\n }\n subscriber.complete();\n };\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1maWxlLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC91dGlscy9sb2FkLWZpbGUtY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSWxDLE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBZ0IsRUFBRSxRQUFRLEdBQUcsT0FBTztJQUNoRSxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDakMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNiLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNiLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFVBQVUsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLE1BQWlCLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5pbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRGaWxlQ29udGVudChmaWxlOiBGaWxlIHwgTmlsLCBlbmNvZGluZyA9ICd1dGYtOCcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICBpZiAoIWZpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVhZCA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIHJlYWQucmVhZEFzVGV4dChmaWxlLCBlbmNvZGluZyk7XG4gICAgICAgIHJlYWQub25sb2FkZW5kID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHJlYWQuZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihyZWFkLmVycm9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KChyZWFkLnJlc3VsdCBhcyBzdHJpbmcpIHx8ICcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbiJdfQ==","import { Component, Input, booleanAttribute } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DateFnsAdapter, MAT_DATE_FNS_FORMATS } from '@angular/material-date-fns-adapter';\nimport { FormComponentSuperclass } from '@s-libs/ng-core';\nimport { format, isValid } from 'date-fns';\nimport { enGB } from 'date-fns/locale';\nimport { createControlProviders, createDateFromNoTimeZoneString, getNoTimeZoneIsoString, } from '../../utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/input\";\nimport * as i2 from \"@angular/material/datepicker\";\nexport class DatetimeFieldComponent extends FormComponentSuperclass {\n constructor() {\n super(...arguments);\n this.required = false;\n }\n get time() {\n return this.datetime ? format(this.datetime, 'HH:mm') : '';\n }\n handleIncomingValue(value) {\n this.datetime = value ? createDateFromNoTimeZoneString(value) : null;\n }\n timeChanged(event) {\n const [hours, minutes] = event.target.value.split(':');\n if (!this.datetime) {\n this.datetime = new Date();\n }\n this.datetime.setHours(Number(hours));\n this.datetime.setMinutes(Number(minutes));\n this.datetime.setSeconds(0);\n this.datetime.setMilliseconds(0);\n this.emitValue();\n }\n dateChanged(date) {\n const v = date.target.value || new Date();\n if (this.datetime) {\n this.datetime.setDate(v.getDate());\n this.datetime.setMonth(v.getMonth());\n this.datetime.setFullYear(v.getFullYear());\n }\n else {\n this.datetime = v;\n }\n this.emitValue();\n }\n validate() {\n return !this.datetime || isValid(this.datetime) ? null : { invalidDatetime: true };\n }\n emitValue() {\n return this.emitOutgoingValue(getNoTimeZoneIsoString(this.datetime));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatetimeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: DatetimeFieldComponent, isStandalone: false, selector: \"v-datetime-field\", inputs: { label: \"label\", required: [\"required\", \"required\", booleanAttribute], hint: \"hint\" }, providers: [\n ...createControlProviders(() => DatetimeFieldComponent),\n { provide: MAT_DATE_LOCALE, useValue: enGB },\n { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n ], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"wrapper\\\">\\n <mat-form-field class=\\\"date\\\">\\n <mat-label>\\n {{ label }}\\n </mat-label>\\n <mat-hint>{{ hint }}</mat-hint>\\n <input\\n [matDatepicker]=\\\"picker\\\"\\n [required]=\\\"required\\\"\\n [value]=\\\"datetime\\\"\\n matInput\\n (dateInput)=\\\"dateChanged($event)\\\"\\n />\\n <mat-datepicker-toggle [for]=\\\"picker\\\" matSuffix></mat-datepicker-toggle>\\n <mat-datepicker #picker></mat-datepicker>\\n </mat-form-field>\\n @if (datetime) {\\n <mat-form-field class=\\\"time\\\">\\n <input [value]=\\\"time\\\" matInput type=\\\"time\\\" (input)=\\\"timeChanged($event)\\\" />\\n </mat-form-field>\\n }\\n</div>\\n\", styles: [\".wrapper{display:flex;gap:8px}.wrapper .date{flex:1}.wrapper .time{width:100px}\\n\"], dependencies: [{ kind: \"component\", type: i1.MatFormField, selector: \"mat-form-field\", inputs: [\"hideRequiredMarker\", \"color\", \"floatLabel\", \"appearance\", \"subscriptSizing\", \"hintLabel\"], exportAs: [\"matFormField\"] }, { kind: \"directive\", type: i1.MatLabel, selector: \"mat-label\" }, { kind: \"directive\", type: i1.MatHint, selector: \"mat-hint\", inputs: [\"align\", \"id\"] }, { kind: \"directive\", type: i1.MatSuffix, selector: \"[matSuffix], [matIconSuffix], [matTextSuffix]\", inputs: [\"matTextSuffix\"] }, { kind: \"directive\", type: i1.MatInput, selector: \"input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]\", inputs: [\"disabled\", \"id\", \"placeholder\", \"name\", \"required\", \"type\", \"errorStateMatcher\", \"aria-describedby\", \"value\", \"readonly\", \"disabledInteractive\"], exportAs: [\"matInput\"] }, { kind: \"component\", type: i2.MatDatepicker, selector: \"mat-datepicker\", exportAs: [\"matDatepicker\"] }, { kind: \"directive\", type: i2.MatDatepickerInput, selector: \"input[matDatepicker]\", inputs: [\"matDatepicker\", \"min\", \"max\", \"matDatepickerFilter\"], exportAs: [\"matDatepickerInput\"] }, { kind: \"component\", type: i2.MatDatepickerToggle, selector: \"mat-datepicker-toggle\", inputs: [\"for\", \"tabIndex\", \"aria-label\", \"disabled\", \"disableRipple\"], exportAs: [\"matDatepickerToggle\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatetimeFieldComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-datetime-field', providers: [\n ...createControlProviders(() => DatetimeFieldComponent),\n { provide: MAT_DATE_LOCALE, useValue: enGB },\n { provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS },\n ], standalone: false, template: \"<div class=\\\"wrapper\\\">\\n <mat-form-field class=\\\"date\\\">\\n <mat-label>\\n {{ label }}\\n </mat-label>\\n <mat-hint>{{ hint }}</mat-hint>\\n <input\\n [matDatepicker]=\\\"picker\\\"\\n [required]=\\\"required\\\"\\n [value]=\\\"datetime\\\"\\n matInput\\n (dateInput)=\\\"dateChanged($event)\\\"\\n />\\n <mat-datepicker-toggle [for]=\\\"picker\\\" matSuffix></mat-datepicker-toggle>\\n <mat-datepicker #picker></mat-datepicker>\\n </mat-form-field>\\n @if (datetime) {\\n <mat-form-field class=\\\"time\\\">\\n <input [value]=\\\"time\\\" matInput type=\\\"time\\\" (input)=\\\"timeChanged($event)\\\" />\\n </mat-form-field>\\n }\\n</div>\\n\", styles: [\".wrapper{display:flex;gap:8px}.wrapper .date{flex:1}.wrapper .time{width:100px}\\n\"] }]\n }], propDecorators: { label: [{\n type: Input\n }], required: [{\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], hint: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUtZmllbGQvZGF0ZXRpbWUtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUtZmllbGQvZGF0ZXRpbWUtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZDLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsOEJBQThCLEVBQzlCLHNCQUFzQixHQUN6QixNQUFNLGFBQWEsQ0FBQzs7OztBQWNyQixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQStCO0lBWjNFOztRQWM0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBNEM1RDtJQXZDRyxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVE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LENBQUMsZUFBZSxDQUFDLEVBQUU7d0JBQzNFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtxQkFDaEUsY0FDVyxLQUFLOzhCQUdSLEtBQUs7c0JBQWIsS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlRm5zQWRhcHRlciwgTUFUX0RBVEVfRk5TX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1kYXRlLWZucy1hZGFwdGVyJztcbmltcG9ydCB7IEZvcm1Db21wb25lbnRTdXBlcmNsYXNzIH0gZnJvbSAnQHMtbGlicy9uZy1jb3JlJztcbmltcG9ydCB7IGZvcm1hdCwgaXNWYWxpZCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGVuR0IgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuXG5pbXBvcnQge1xuICAgIGNyZWF0ZUNvbnRyb2xQcm92aWRlcnMsXG4gICAgY3JlYXRlRGF0ZUZyb21Ob1RpbWVab25lU3RyaW5nLFxuICAgIGdldE5vVGltZVpvbmVJc29TdHJpbmcsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2LWRhdGV0aW1lLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydkYXRldGltZS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi5jcmVhdGVDb250cm9sUHJvdmlkZXJzKCgpID0+IERhdGV0aW1lRmllbGRDb21wb25lbnQpLFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6IGVuR0IgfSxcbiAgICAgICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVGbnNBZGFwdGVyLCBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFXSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfREFURV9GTlNfRk9STUFUUyB9LFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIERhdGV0aW1lRmllbGRDb21wb25lbnQgZXh0ZW5kcyBGb3JtQ29tcG9uZW50U3VwZXJjbGFzczxzdHJpbmc+IHtcbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBoaW50Pzogc3RyaW5nO1xuXG4gICAgZGF0ZXRpbWU/OiBEYXRlIHwgbnVsbDtcblxuICAgIGdldCB0aW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRldGltZSA/IGZvcm1hdCh0aGlzLmRhdGV0aW1lLCAnSEg6bW0nKSA6ICcnO1xuICAgIH1cblxuICAgIGhhbmRsZUluY29taW5nVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmRhdGV0aW1lID0gdmFsdWUgPyBjcmVhdGVEYXRlRnJvbU5vVGltZVpvbmVTdHJpbmcodmFsdWUpIDogbnVsbDtcbiAgICB9XG5cbiAgICB0aW1lQ2hhbmdlZChldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgW2hvdXJzLCBtaW51dGVzXSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUuc3BsaXQoJzonKTtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGV0aW1lKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGV0aW1lID0gbmV3IERhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhdGV0aW1lLnNldEhvdXJzKE51bWJlcihob3VycykpO1xuICAgICAgICB0aGlzLmRhdGV0aW1lLnNldE1pbnV0ZXMoTnVtYmVyKG1pbnV0ZXMpKTtcbiAgICAgICAgdGhpcy5kYXRldGltZS5zZXRTZWNvbmRzKDApO1xuICAgICAgICB0aGlzLmRhdGV0aW1lLnNldE1pbGxpc2Vjb25kcygwKTtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBkYXRlQ2hhbmdlZChkYXRlOiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxEYXRlPikge1xuICAgICAgICBjb25zdCB2ID0gZGF0ZS50YXJnZXQudmFsdWUgfHwgbmV3IERhdGUoKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXRpbWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZXRpbWUuc2V0RGF0ZSh2LmdldERhdGUoKSk7XG4gICAgICAgICAgICB0aGlzLmRhdGV0aW1lLnNldE1vbnRoKHYuZ2V0TW9udGgoKSk7XG4gICAgICAgICAgICB0aGlzLmRhdGV0aW1lLnNldEZ1bGxZZWFyKHYuZ2V0RnVsbFllYXIoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRhdGV0aW1lID0gdjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVtaXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmRhdGV0aW1lIHx8IGlzVmFsaWQodGhpcy5kYXRldGltZSkgPyBudWxsIDogeyBpbnZhbGlkRGF0ZXRpbWU6IHRydWUgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVtaXRWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1pdE91dGdvaW5nVmFsdWUoZ2V0Tm9UaW1lWm9uZUlzb1N0cmluZyh0aGlzLmRhdGV0aW1lKSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJkYXRlXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImRhdGV0aW1lXCJcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAoZGF0ZUlucHV0KT1cImRhdGVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAvPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtmb3JdPVwicGlja2VyXCIgbWF0U3VmZml4PjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgQGlmIChkYXRldGltZSkge1xuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ0aW1lXCI+XG4gICAgICAgICAgICA8aW5wdXQgW3ZhbHVlXT1cInRpbWVcIiBtYXRJbnB1dCB0eXBlPVwidGltZVwiIChpbnB1dCk9XCJ0aW1lQ2hhbmdlZCgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICB9XG48L2Rpdj5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { DatetimeFieldComponent } from './datetime-field.component';\nimport * as i0 from \"@angular/core\";\nexport class DatetimeFieldModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatetimeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: DatetimeFieldModule, declarations: [DatetimeFieldComponent], imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule], exports: [DatetimeFieldComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatetimeFieldModule, imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DatetimeFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [DatetimeFieldComponent],\n exports: [DatetimeFieldComponent],\n imports: [CommonModule, MatFormFieldModule, MatInputModule, MatDatepickerModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZXRpbWUtZmllbGQvZGF0ZXRpbWUtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBSmIsc0JBQXNCLGFBRTNCLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLGFBRHJFLHNCQUFzQjsrR0FHdkIsbUJBQW1CLFlBRmxCLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1COzsyRkFFdEUsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztpQkFDbkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbmltcG9ydCB7IERhdGV0aW1lRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGV0aW1lLWZpZWxkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRGF0ZXRpbWVGaWVsZENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0RhdGV0aW1lRmllbGRDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdERhdGVwaWNrZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRldGltZUZpZWxkTW9kdWxlIHt9XG4iXX0=","import { Component, Input } from '@angular/core';\nimport { lowerFirst } from 'lodash-es';\nimport isNil from 'lodash-es/isNil';\nimport { FormControlSuperclass, createControlProviders } from '../../utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/button\";\nimport * as i2 from \"@angular/material/icon\";\nimport * as i3 from \"@angular/material/tooltip\";\nexport class SwitchButtonComponent extends FormControlSuperclass {\n constructor() {\n super(...arguments);\n this.states = [];\n this.hasChangeValue = false;\n }\n get index() {\n return this.getIndex(this.control.value);\n }\n get nextIndex() {\n const nextIdx = this.index + 1;\n return nextIdx === this.states.length ? 0 : nextIdx;\n }\n get value() {\n return this.getValue(this.getIndex(this.control.value));\n }\n get state() {\n return this.states[this.index];\n }\n get nextState() {\n return this.states[this.nextIndex];\n }\n get tooltip() {\n const nextState = this.states[this.nextIndex];\n return nextState.label ? `Switch to ${lowerFirst(nextState.label)}` : '';\n }\n change() {\n this.control.setValue(this.getValue(this.nextIndex));\n }\n ngOnChanges(changes) {\n super.ngOnChanges(changes);\n if (changes.states && this.states.length) {\n if (!isNil(this.states?.[0]?.value)) {\n this.hasChangeValue = true;\n }\n if (isNil(this.control.value)) {\n this.control.setValue(this.value);\n }\n }\n }\n getIndex(value) {\n return ((this.hasChangeValue\n ? this.states.findIndex((s) => s.value === value)\n : value) ?? 0);\n }\n getValue(index) {\n return this.hasChangeValue ? this.states[index]?.value : index;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SwitchButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: SwitchButtonComponent, isStandalone: false, selector: \"v-switch-button\", inputs: { states: \"states\" }, providers: createControlProviders(() => SwitchButtonComponent), usesInheritance: true, usesOnChanges: true, ngImport: i0, template: \"<button [matTooltip]=\\\"tooltip\\\" class=\\\"button\\\" mat-icon-button (click)=\\\"change()\\\">\\n <mat-icon class=\\\"icon\\\">{{ state?.icon }}</mat-icon>\\n</button>\\n\", dependencies: [{ kind: \"component\", type: i1.MatIconButton, selector: \"button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]\", exportAs: [\"matButton\", \"matAnchor\"] }, { kind: \"component\", type: i2.MatIcon, selector: \"mat-icon\", inputs: [\"color\", \"inline\", \"svgIcon\", \"fontSet\", \"fontIcon\"], exportAs: [\"matIcon\"] }, { kind: \"directive\", type: i3.MatTooltip, selector: \"[matTooltip]\", inputs: [\"matTooltipPosition\", \"matTooltipPositionAtOrigin\", \"matTooltipDisabled\", \"matTooltipShowDelay\", \"matTooltipHideDelay\", \"matTooltipTouchGestures\", \"matTooltip\", \"matTooltipClass\"], exportAs: [\"matTooltip\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SwitchButtonComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-switch-button', providers: createControlProviders(() => SwitchButtonComponent), standalone: false, template: \"<button [matTooltip]=\\\"tooltip\\\" class=\\\"button\\\" mat-icon-button (click)=\\\"change()\\\">\\n <mat-icon class=\\\"icon\\\">{{ state?.icon }}</mat-icon>\\n</button>\\n\" }]\n }], propDecorators: { states: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gtYnV0dG9uL3N3aXRjaC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvc3dpdGNoLWJ1dHRvbi9zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFFcEMsT0FBTyxFQUFvQixxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFlOUYsTUFBTSxPQUFPLHFCQUNULFNBQVEscUJBQXdCO0lBUnBDOztRQVdhLFdBQU0sR0FBZSxFQUFFLENBQUM7UUFFekIsbUJBQWMsR0FBRyxLQUFLLENBQUM7S0F1RGxDO0lBckRHLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMvQixPQUFPLE9BQU8sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRVEsV0FBVyxDQUFDLE9BQW1EO1FBQ3BFLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDL0IsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sQ0FDSCxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUM7WUFDakQsQ0FBQyxDQUFFLEtBQWdCLENBQUMsSUFBSSxDQUFDLENBQ2hDLENBQUM7SUFDTixDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQVcsQ0FBQyxDQUFDLENBQUUsS0FBVyxDQUFDO0lBQ2pGLENBQUM7OEdBNURRLHFCQUFxQjtrR0FBckIscUJBQXFCLDZGQUhuQixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxzRUNoQmxFLGlLQUdBOzsyRkRnQmEscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNJLGlCQUFpQixhQUdoQixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUMsY0FDbEQsS0FBSzs4QkFNUixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGxvd2VyRmlyc3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IGlzTmlsIGZyb20gJ2xvZGFzaC1lcy9pc05pbCc7XG5cbmltcG9ydCB7IENvbXBvbmVudENoYW5nZXMsIEZvcm1Db250cm9sU3VwZXJjbGFzcywgY3JlYXRlQ29udHJvbFByb3ZpZGVycyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZTxUID0gdW5rbm93bj4ge1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBUO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Ytc3dpdGNoLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N3aXRjaC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlczogW10sXG4gICAgcHJvdmlkZXJzOiBjcmVhdGVDb250cm9sUHJvdmlkZXJzKCgpID0+IFN3aXRjaEJ1dHRvbkNvbXBvbmVudCksXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaEJ1dHRvbkNvbXBvbmVudDxUID0gbnVtYmVyPlxuICAgIGV4dGVuZHMgRm9ybUNvbnRyb2xTdXBlcmNsYXNzPFQ+XG4gICAgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgICBASW5wdXQoKSBzdGF0ZXM6IFN0YXRlPFQ+W10gPSBbXTtcblxuICAgIHByaXZhdGUgaGFzQ2hhbmdlVmFsdWUgPSBmYWxzZTtcblxuICAgIGdldCBpbmRleCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW5kZXgodGhpcy5jb250cm9sLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgbmV4dEluZGV4KCkge1xuICAgICAgICBjb25zdCBuZXh0SWR4ID0gdGhpcy5pbmRleCArIDE7XG4gICAgICAgIHJldHVybiBuZXh0SWR4ID09PSB0aGlzLnN0YXRlcy5sZW5ndGggPyAwIDogbmV4dElkeDtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKHRoaXMuZ2V0SW5kZXgodGhpcy5jb250cm9sLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZXNbdGhpcy5pbmRleF07XG4gICAgfVxuXG4gICAgZ2V0IG5leHRTdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVzW3RoaXMubmV4dEluZGV4XTtcbiAgICB9XG5cbiAgICBnZXQgdG9vbHRpcCgpIHtcbiAgICAgICAgY29uc3QgbmV4dFN0YXRlID0gdGhpcy5zdGF0ZXNbdGhpcy5uZXh0SW5kZXhdO1xuICAgICAgICByZXR1cm4gbmV4dFN0YXRlLmxhYmVsID8gYFN3aXRjaCB0byAke2xvd2VyRmlyc3QobmV4dFN0YXRlLmxhYmVsKX1gIDogJyc7XG4gICAgfVxuXG4gICAgY2hhbmdlKCkge1xuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5nZXRWYWx1ZSh0aGlzLm5leHRJbmRleCkpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25DaGFuZ2VzKGNoYW5nZXM6IENvbXBvbmVudENoYW5nZXM8U3dpdGNoQnV0dG9uQ29tcG9uZW50PFQ+Pikge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgaWYgKGNoYW5nZXMuc3RhdGVzICYmIHRoaXMuc3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCFpc05pbCh0aGlzLnN0YXRlcz8uWzBdPy52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0NoYW5nZVZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc05pbCh0aGlzLmNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRJbmRleCh2YWx1ZTogVCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHRoaXMuaGFzQ2hhbmdlVmFsdWVcbiAgICAgICAgICAgICAgICA/IHRoaXMuc3RhdGVzLmZpbmRJbmRleCgocykgPT4gcy52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICAgICAgICAgICAgOiAodmFsdWUgYXMgbnVtYmVyKSkgPz8gMFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsdWUoaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNDaGFuZ2VWYWx1ZSA/ICh0aGlzLnN0YXRlc1tpbmRleF0/LnZhbHVlIGFzIFQpIDogKGluZGV4IGFzIFQpO1xuICAgIH1cbn1cbiIsIjxidXR0b24gW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIGNsYXNzPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjaGFuZ2UoKVwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb25cIj57eyBzdGF0ZT8uaWNvbiB9fTwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { SwitchButtonComponent } from './switch-button.component';\nimport * as i0 from \"@angular/core\";\nexport class SwitchButtonModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SwitchButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: SwitchButtonModule, declarations: [SwitchButtonComponent], imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule], exports: [SwitchButtonComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SwitchButtonModule, imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SwitchButtonModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [SwitchButtonComponent],\n imports: [CommonModule, MatButtonModule, MatIconModule, MatTooltipModule],\n exports: [SwitchButtonComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWJ1dHRvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvY29tcG9uZW50cy9zd2l0Y2gtYnV0dG9uL3N3aXRjaC1idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLGlCQUpaLHFCQUFxQixhQUMxQixZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsYUFDOUQscUJBQXFCOytHQUV0QixrQkFBa0IsWUFIakIsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCOzsyRkFHL0Qsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDekUsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3N3aXRjaC1idXR0b24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTd2l0Y2hCdXR0b25Db21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZV0sXG4gICAgZXhwb3J0czogW1N3aXRjaEJ1dHRvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaEJ1dHRvbk1vZHVsZSB7fVxuIl19","import { AsyncPipe, NgClass } from '@angular/common';\nimport { Component, ViewEncapsulation, booleanAttribute, inject, input } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { MatDivider } from '@angular/material/divider';\nimport { RouterLink } from '@angular/router';\nimport { isArray } from 'lodash-es';\nimport { combineLatest } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { UrlService } from '../../services';\nimport * as i0 from \"@angular/core\";\nexport class NavComponent {\n constructor() {\n this.urlService = inject(UrlService);\n this.type = input();\n this.links = input([], {\n transform: (v) => (isArray(v[0]) ? v : [v]),\n });\n this.exact = input(false, { transform: booleanAttribute });\n this.activeLink$ = combineLatest([\n this.urlService.url$,\n toObservable(this.links),\n toObservable(this.exact),\n ]).pipe(map(([url, links, exact]) => links.flat().reduce((res, link) => {\n const index = url.indexOf(link.url);\n if (index !== -1 && (exact ? index === 0 : index < res.index)) {\n return { index, link };\n }\n return res;\n }, { index: Infinity, link: null })?.link), shareReplay({ refCount: true, bufferSize: 1 }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: NavComponent, isStandalone: true, selector: \"v-nav\", inputs: { type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: \"links\", publicName: \"links\", isSignal: true, isRequired: false, transformFunction: null }, exact: { classPropertyName: \"exact\", publicName: \"exact\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"<div [ngClass]=\\\"{ 'v-nav__secondary': type() === 'secondary' }\\\" class=\\\"v-nav\\\">\\n @for (linksGroup of links(); track linksGroup; let index = $index) {\\n @if (index !== 0) {\\n <mat-divider></mat-divider>\\n }\\n @for (link of linksGroup; track link) {\\n <div\\n [ngClass]=\\\"{ item__active: (activeLink$ | async) === link }\\\"\\n [routerLink]=\\\"link.url\\\"\\n [title]=\\\"link.label\\\"\\n class=\\\"mat-body-large item mat-no-margin\\\"\\n >\\n {{ link.label }}\\n </div>\\n }\\n }\\n</div>\\n\", styles: [\".v-nav{display:flex;flex-direction:column}.v-nav .item{cursor:pointer;padding:12px 24px 12px 12px}.v-nav .item__active{font-weight:500}.v-nav .item:after{display:block;content:attr(title);font-weight:500;height:0;color:transparent;overflow:hidden;visibility:hidden}.v-nav__secondary .item{border-left:solid 4px}\\n\"], dependencies: [{ kind: \"directive\", type: RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"pipe\", type: AsyncPipe, name: \"async\" }, { kind: \"component\", type: MatDivider, selector: \"mat-divider\", inputs: [\"vertical\", \"inset\"] }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NavComponent, decorators: [{\n type: Component,\n args: [{ selector: 'v-nav', imports: [RouterLink, NgClass, AsyncPipe, MatDivider], encapsulation: ViewEncapsulation.None, template: \"<div [ngClass]=\\\"{ 'v-nav__secondary': type() === 'secondary' }\\\" class=\\\"v-nav\\\">\\n @for (linksGroup of links(); track linksGroup; let index = $index) {\\n @if (index !== 0) {\\n <mat-divider></mat-divider>\\n }\\n @for (link of linksGroup; track link) {\\n <div\\n [ngClass]=\\\"{ item__active: (activeLink$ | async) === link }\\\"\\n [routerLink]=\\\"link.url\\\"\\n [title]=\\\"link.label\\\"\\n class=\\\"mat-body-large item mat-no-margin\\\"\\n >\\n {{ link.label }}\\n </div>\\n }\\n }\\n</div>\\n\", styles: [\".v-nav{display:flex;flex-direction:column}.v-nav .item{cursor:pointer;padding:12px 24px 12px 12px}.v-nav .item__active{font-weight:500}.v-nav .item:after{display:block;content:attr(title);font-weight:500;height:0;color:transparent;overflow:hidden;visibility:hidden}.v-nav__secondary .item{border-left:solid 4px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9jb21wb25lbnRzL25hdi9uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYzVDLE1BQU0sT0FBTyxZQUFZO0lBUHpCO1FBUVksZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxTQUFJLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQ3hDLFVBQUssR0FBRyxLQUFLLENBQThCLEVBQUUsRUFBRTtZQUMzQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxDQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBVSxDQUFDLENBQUM7U0FDbEUsQ0FBQyxDQUFDO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBRXRELGdCQUFXLEdBQUcsYUFBYSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTtZQUNwQixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUMzQixDQUFDLENBQUMsSUFBSSxDQUNILEdBQUcsQ0FDQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQ3BCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQ2YsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDVixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFDRCxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQXFCLEVBQUUsQ0FDbkQsRUFBRSxJQUFJLENBQ2QsRUFDRCxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRCxDQUFDO0tBQ0w7OEdBNUJZLFlBQVk7a0dBQVosWUFBWSxrYkN2QnpCLG1uQkFpQkEsbVhER2MsVUFBVSxvT0FBRSxPQUFPLCtFQUFFLFNBQVMsOENBQUUsVUFBVTs7MkZBRzNDLFlBQVk7a0JBUHhCLFNBQVM7K0JBQ0ksT0FBTyxXQUdSLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLGlCQUN0QyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdERpdmlkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBVcmxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmsge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndi1uYXYnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtSb3V0ZXJMaW5rLCBOZ0NsYXNzLCBBc3luY1BpcGUsIE1hdERpdmlkZXJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSB1cmxTZXJ2aWNlID0gaW5qZWN0KFVybFNlcnZpY2UpO1xuICAgIHR5cGUgPSBpbnB1dDwnc2Vjb25kYXJ5JyB8IHVuZGVmaW5lZD4oKTtcbiAgICBsaW5rcyA9IGlucHV0PExpbmtbXVtdLCBMaW5rW10gfCBMaW5rW11bXT4oW10sIHtcbiAgICAgICAgdHJhbnNmb3JtOiAodikgPT4gKGlzQXJyYXkodlswXSkgPyAodiBhcyBuZXZlcikgOiBbdiBhcyBuZXZlcl0pLFxuICAgIH0pO1xuICAgIGV4YWN0ID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgYWN0aXZlTGluayQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy51cmxTZXJ2aWNlLnVybCQsXG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmxpbmtzKSxcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuZXhhY3QpLFxuICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcChcbiAgICAgICAgICAgIChbdXJsLCBsaW5rcywgZXhhY3RdKSA9PlxuICAgICAgICAgICAgICAgIGxpbmtzLmZsYXQoKS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgIChyZXMsIGxpbmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdXJsLmluZGV4T2YobGluay51cmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSAmJiAoZXhhY3QgPyBpbmRleCA9PT0gMCA6IGluZGV4IDwgcmVzLmluZGV4KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGluZGV4LCBsaW5rIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGluZGV4OiBJbmZpbml0eSwgbGluazogbnVsbCBhcyBuZXZlciBhcyBMaW5rIH0sXG4gICAgICAgICAgICAgICAgKT8ubGluayxcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSxcbiAgICApO1xufVxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ICd2LW5hdl9fc2Vjb25kYXJ5JzogdHlwZSgpID09PSAnc2Vjb25kYXJ5JyB9XCIgY2xhc3M9XCJ2LW5hdlwiPlxuICAgIEBmb3IgKGxpbmtzR3JvdXAgb2YgbGlua3MoKTsgdHJhY2sgbGlua3NHcm91cDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICAgIEBpZiAoaW5kZXggIT09IDApIHtcbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICB9XG4gICAgICAgIEBmb3IgKGxpbmsgb2YgbGlua3NHcm91cDsgdHJhY2sgbGluaykge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgaXRlbV9fYWN0aXZlOiAoYWN0aXZlTGluayQgfCBhc3luYykgPT09IGxpbmsgfVwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJsaW5rLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1ib2R5LWxhcmdlIGl0ZW0gbWF0LW5vLW1hcmdpblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbGluay5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9XG48L2Rpdj5cbiJdfQ==","import { DEFAULT_CURRENCY_CODE, LOCALE_ID, Pipe, inject } from '@angular/core';\nimport { formatCurrency } from '../utils';\nimport * as i0 from \"@angular/core\";\nexport class AmountCurrencyPipe {\n constructor() {\n this._locale = inject(LOCALE_ID);\n this._defaultCurrencyCode = inject(DEFAULT_CURRENCY_CODE);\n }\n transform(amount, currencyCode = this._defaultCurrencyCode, format = 'long', exponent, isMajor = false) {\n if (typeof amount === 'number') {\n return formatCurrency(amount, currencyCode, format, this._locale, exponent, isMajor);\n }\n return amount;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AmountCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: AmountCurrencyPipe, isStandalone: true, name: \"amountCurrency\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AmountCurrencyPipe, decorators: [{\n type: Pipe,\n args: [{\n standalone: true,\n name: 'amountCurrency',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LWN1cnJlbmN5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvcGlwZXMvYW1vdW50LWN1cnJlbmN5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQU0xQyxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS1ksWUFBTyxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUNwQyx5QkFBb0IsR0FBRyxNQUFNLENBQVMscUJBQXFCLENBQUMsQ0FBQztLQWN4RTtJQVpHLFNBQVMsQ0FDTCxNQUFlLEVBQ2YsZUFBdUIsSUFBSSxDQUFDLG9CQUFvQixFQUNoRCxTQUEyQixNQUFNLEVBQ2pDLFFBQWlCLEVBQ2pCLE9BQU8sR0FBRyxLQUFLO1FBRWYsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLGNBQWMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs4R0FmUSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX0NVUlJFTkNZX0NPREUsIExPQ0FMRV9JRCwgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGZvcm1hdEN1cnJlbmN5IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYW1vdW50Q3VycmVuY3knLFxufSlcbmV4cG9ydCBjbGFzcyBBbW91bnRDdXJyZW5jeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIF9sb2NhbGUgPSBpbmplY3Q8c3RyaW5nPihMT0NBTEVfSUQpO1xuICAgIHByaXZhdGUgX2RlZmF1bHRDdXJyZW5jeUNvZGUgPSBpbmplY3Q8c3RyaW5nPihERUZBVUxUX0NVUlJFTkNZX0NPREUpO1xuXG4gICAgdHJhbnNmb3JtKFxuICAgICAgICBhbW91bnQ6IHVua25vd24sXG4gICAgICAgIGN1cnJlbmN5Q29kZTogc3RyaW5nID0gdGhpcy5fZGVmYXVsdEN1cnJlbmN5Q29kZSxcbiAgICAgICAgZm9ybWF0OiAnc2hvcnQnIHwgJ2xvbmcnID0gJ2xvbmcnLFxuICAgICAgICBleHBvbmVudD86IG51bWJlcixcbiAgICAgICAgaXNNYWpvciA9IGZhbHNlLFxuICAgICk6IHVua25vd24ge1xuICAgICAgICBpZiAodHlwZW9mIGFtb3VudCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRDdXJyZW5jeShhbW91bnQsIGN1cnJlbmN5Q29kZSwgZm9ybWF0LCB0aGlzLl9sb2NhbGUsIGV4cG9uZW50LCBpc01ham9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYW1vdW50O1xuICAgIH1cbn1cbiJdfQ==","import { Pipe } from '@angular/core';\nimport { getEnumKeyValues } from '../utils/enum';\nimport * as i0 from \"@angular/core\";\nexport class EnumKeyValuesPipe {\n transform(value) {\n return getEnumKeyValues(value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeyValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeyValuesPipe, isStandalone: true, name: \"enumKeyValues\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeyValuesPipe, decorators: [{\n type: Pipe,\n args: [{\n standalone: true,\n name: 'enumKeyValues',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1rZXktdmFsdWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvcGlwZXMvZW51bS1rZXktdmFsdWVzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1qRCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFNBQVMsQ0FBeUMsS0FBUTtRQUN0RCxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBSFEsaUJBQWlCOzRHQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxlQUFlO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZ2V0RW51bUtleVZhbHVlcyB9IGZyb20gJy4uL3V0aWxzL2VudW0nO1xuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnZW51bUtleVZhbHVlcycsXG59KVxuZXhwb3J0IGNsYXNzIEVudW1LZXlWYWx1ZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtPEUgZXh0ZW5kcyBSZWNvcmQ8UHJvcGVydHlLZXksIHVua25vd24+Pih2YWx1ZTogRSkge1xuICAgICAgICByZXR1cm4gZ2V0RW51bUtleVZhbHVlcyh2YWx1ZSk7XG4gICAgfVxufVxuIl19","import { Pipe } from '@angular/core';\nimport isNil from 'lodash-es/isNil';\nimport { getEnumKey } from '../utils/enum';\nimport * as i0 from \"@angular/core\";\nexport class EnumKeyPipe {\n transform(value, enumObj) {\n return !isNil(value) && enumObj ? getEnumKey(enumObj, value) : '';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeyPipe, isStandalone: true, name: \"enumKey\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeyPipe, decorators: [{\n type: Pipe,\n args: [{\n standalone: true,\n name: 'enumKey',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1rZXkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9waXBlcy9lbnVtLWtleS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBR3BDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFNBQVMsQ0FBeUMsS0FBb0IsRUFBRSxPQUFVO1FBQzlFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdEUsQ0FBQzs4R0FIUSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxTQUFTO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBpc05pbCBmcm9tICdsb2Rhc2gtZXMvaXNOaWwnO1xuaW1wb3J0IHsgVmFsdWVzVHlwZSB9IGZyb20gJ3V0aWxpdHktdHlwZXMnO1xuXG5pbXBvcnQgeyBnZXRFbnVtS2V5IH0gZnJvbSAnLi4vdXRpbHMvZW51bSc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdlbnVtS2V5Jyxcbn0pXG5leHBvcnQgY2xhc3MgRW51bUtleVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm08RSBleHRlbmRzIFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj4+KHZhbHVlOiBWYWx1ZXNUeXBlPEU+LCBlbnVtT2JqOiBFKSB7XG4gICAgICAgIHJldHVybiAhaXNOaWwodmFsdWUpICYmIGVudW1PYmogPyBnZXRFbnVtS2V5KGVudW1PYmosIHZhbHVlKSA6ICcnO1xuICAgIH1cbn1cbiJdfQ==","import { Pipe } from '@angular/core';\nimport { getEnumKeys } from '../utils/enum';\nimport * as i0 from \"@angular/core\";\nexport class EnumKeysPipe {\n transform(value) {\n return getEnumKeys(value);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeysPipe, isStandalone: true, name: \"enumKeys\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: EnumKeysPipe, decorators: [{\n type: Pipe,\n args: [{\n standalone: true,\n name: 'enumKeys',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1rZXlzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvcGlwZXMvZW51bS1rZXlzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNNUMsTUFBTSxPQUFPLFlBQVk7SUFDckIsU0FBUyxDQUF5QyxLQUFRO1FBQ3RELE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBSFEsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUp4QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsVUFBVTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldEVudW1LZXlzIH0gZnJvbSAnLi4vdXRpbHMvZW51bSc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdlbnVtS2V5cycsXG59KVxuZXhwb3J0IGNsYXNzIEVudW1LZXlzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybTxFIGV4dGVuZHMgUmVjb3JkPFByb3BlcnR5S2V5LCB1bmtub3duPj4odmFsdWU6IEUpOiAoa2V5b2YgRSlbXSB7XG4gICAgICAgIHJldHVybiBnZXRFbnVtS2V5cyh2YWx1ZSk7XG4gICAgfVxufVxuIl19","import { Pipe } from '@angular/core';\nimport { formatDistanceToNow } from 'date-fns';\nimport { combineLatest, throttleTime, timer } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\nimport { AsyncTransform } from '../utils';\nimport * as i0 from \"@angular/core\";\nconst DEFAULT_TIMER = 7500;\nexport class HumanizedDurationPipe extends AsyncTransform {\n constructor() {\n super(...arguments);\n this.result$ = combineLatest([this.params$, timer(0, DEFAULT_TIMER)]).pipe(throttleTime(DEFAULT_TIMER), map(([[value, config]]) => formatDistanceToNow(new Date(value), { includeSeconds: true }) +\n (config.hasAgoEnding ? ' ago' : '')), distinctUntilChanged());\n }\n transform(...params) {\n return super.asyncTransform(params);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HumanizedDurationPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: HumanizedDurationPipe, isStandalone: true, name: \"humanizedDuration\", pure: false }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: HumanizedDurationPipe, decorators: [{\n type: Pipe,\n args: [{\n standalone: true,\n name: 'humanizedDuration',\n pure: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemVkLWR1cmF0aW9uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvcGlwZXMvaHVtYW5pemVkLWR1cmF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGNBQWMsRUFBNEIsTUFBTSxVQUFVLENBQUM7O0FBUXBFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQztBQU8zQixNQUFNLE9BQU8scUJBQ1QsU0FBUSxjQUFpRTtJQU43RTs7UUFTYyxZQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNFLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFDM0IsR0FBRyxDQUNDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbEIsbUJBQW1CLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDOUQsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUMxQyxFQUNELG9CQUFvQixFQUFFLENBQ3pCLENBQUM7S0FPTDtJQUxHLFNBQVMsQ0FDTCxHQUFHLE1BQW1GO1FBRXRGLE9BQU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQWxCUSxxQkFBcUI7NEdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFMakMsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLEtBQUs7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREaXN0YW5jZVRvTm93IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgdGhyb3R0bGVUaW1lLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQXN5bmNUcmFuc2Zvcm0sIEFzeW5jVHJhbnNmb3JtUGFyYW1ldGVycyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgSHVtYW5pemVkRHVyYXRpb25WYWx1ZSA9IENvbnN0cnVjdG9yUGFyYW1ldGVyczxEYXRlQ29uc3RydWN0b3I+WzBdO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh1bWFuaXplZER1cmF0aW9uQ29uZmlnIHtcbiAgICBoYXNBZ29FbmRpbmc/OiBib29sZWFuO1xufVxuXG5jb25zdCBERUZBVUxUX1RJTUVSID0gNzUwMDtcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2h1bWFuaXplZER1cmF0aW9uJyxcbiAgICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgSHVtYW5pemVkRHVyYXRpb25QaXBlXG4gICAgZXh0ZW5kcyBBc3luY1RyYW5zZm9ybTxIdW1hbml6ZWREdXJhdGlvblZhbHVlLCBbSHVtYW5pemVkRHVyYXRpb25Db25maWddPlxuICAgIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICAgIHByb3RlY3RlZCByZXN1bHQkID0gY29tYmluZUxhdGVzdChbdGhpcy5wYXJhbXMkLCB0aW1lcigwLCBERUZBVUxUX1RJTUVSKV0pLnBpcGUoXG4gICAgICAgIHRocm90dGxlVGltZShERUZBVUxUX1RJTUVSKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgKFtbdmFsdWUsIGNvbmZpZ11dKSA9PlxuICAgICAgICAgICAgICAgIGZvcm1hdERpc3RhbmNlVG9Ob3cobmV3IERhdGUodmFsdWUpLCB7IGluY2x1ZGVTZWNvbmRzOiB0cnVlIH0pICtcbiAgICAgICAgICAgICAgICAoY29uZmlnLmhhc0Fnb0VuZGluZyA/ICcgYWdvJyA6ICcnKSxcbiAgICAgICAgKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuXG4gICAgdHJhbnNmb3JtKFxuICAgICAgICAuLi5wYXJhbXM6IEFzeW5jVHJhbnNmb3JtUGFyYW1ldGVyczxIdW1hbml6ZWREdXJhdGlvblZhbHVlLCBbSHVtYW5pemVkRHVyYXRpb25Db25maWddPlxuICAgICkge1xuICAgICAgICByZXR1cm4gc3VwZXIuYXN5bmNUcmFuc2Zvcm0ocGFyYW1zKTtcbiAgICB9XG59XG4iXX0=","import { Pipe } from '@angular/core';\nimport { inlineJson } from '../utils';\nimport * as i0 from \"@angular/core\";\nexport class InlineJsonPipe {\n transform(value, maxReadableLever = 1) {\n return inlineJson(value, maxReadableLever === false ? Infinity : maxReadableLever);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InlineJsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: InlineJsonPipe, isStandalone: false, name: \"inlineJson\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InlineJsonPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'inlineJson',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWpzb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWF0ZXovc3JjL2xpYi9waXBlcy9pbmxpbmUtanNvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBTXRDLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFNBQVMsQ0FBQyxLQUFjLEVBQUUsbUJBQW1DLENBQUM7UUFDMUQsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7OEdBSFEsY0FBYzs0R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGlubGluZUpzb24gfSBmcm9tICcuLi91dGlscyc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnaW5saW5lSnNvbicsXG4gICAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIElubGluZUpzb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBtYXhSZWFkYWJsZUxldmVyOiBudW1iZXIgfCBmYWxzZSA9IDEpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaW5saW5lSnNvbih2YWx1ZSwgbWF4UmVhZGFibGVMZXZlciA9PT0gZmFsc2UgPyBJbmZpbml0eSA6IG1heFJlYWRhYmxlTGV2ZXIpO1xuICAgIH1cbn1cbiJdfQ==","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectorRef, Pipe, inject } from '@angular/core';\nimport { isObservable } from 'rxjs';\nimport { select } from '../utils';\nimport * as i0 from \"@angular/core\";\nexport class VSelectPipe {\n constructor() {\n this.ref = inject(ChangeDetectorRef);\n }\n transform(obj, selectFn, defaultValue, rest = []) {\n const res = obj && selectFn ? select(obj, selectFn, defaultValue, rest) : null;\n if (isObservable(res) && !this.asyncPipe) {\n this.asyncPipe = new AsyncPipe(this.ref);\n }\n if (this.asyncPipe) {\n return this.asyncPipe.transform(res);\n }\n return res;\n }\n ngOnDestroy() {\n this.asyncPipe?.ngOnDestroy?.();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: VSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: VSelectPipe, isStandalone: true, name: \"vSelect\", pure: false }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: VSelectPipe, decorators: [{\n type: Pipe,\n args: [{\n standalone: true,\n name: 'vSelect',\n pure: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21hdGV6L3NyYy9saWIvcGlwZXMvc2VsZWN0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBYSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sRUFBWSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBTzVDLE1BQU0sT0FBTyxXQUFXO0lBTHhCO1FBUVksUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBc0IzQztJQW5CRyxTQUFTLENBQ0wsR0FBWSxFQUNaLFFBQTZDLEVBQzdDLFlBQXNCLEVBQ3RCLE9BQWtCLEVBQUU7UUFFcEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDL0UsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBMEIsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxPQUFPLEdBQWMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzhHQXhCUSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBTHZCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxTQUFTO29CQUNmLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgaXNPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNlbGVjdEZuLCBzZWxlY3QgfSBmcm9tICcuLi91dGlscyc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd2U2VsZWN0JyxcbiAgICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVlNlbGVjdFBpcGU8VE9iamVjdCBleHRlbmRzIG9iamVjdCwgVFJlc3VsdCwgVFBhcmFtcyBleHRlbmRzIEFycmF5PHVua25vd24+ID0gW10+XG4gICAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3lcbntcbiAgICBwcml2YXRlIHJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSBhc3luY1BpcGU/OiBBc3luY1BpcGU7XG5cbiAgICB0cmFuc2Zvcm0oXG4gICAgICAgIG9iajogVE9iamVjdCxcbiAgICAgICAgc2VsZWN0Rm46IFNlbGVjdEZuPFRPYmplY3QsIFRSZXN1bHQsIFRQYXJhbXM+LFxuICAgICAgICBkZWZhdWx0VmFsdWU/OiBUUmVzdWx0LFxuICAgICAgICByZXN0OiBUUGFyYW1zW10gPSBbXSxcbiAgICApOiBUUmVzdWx0IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHJlcyA9IG9iaiAmJiBzZWxlY3RGbiA/IHNlbGVjdChvYmosIHNlbGVjdEZuLCBkZWZhdWx0VmFsdWUsIHJlc3QpIDogbnVsbDtcbiAgICAgICAgaWYgKGlzT2JzZXJ2YWJsZShyZXMpICYmICF0aGlzLmFzeW5jUGlwZSkge1xuICAgICAgICAgICAgdGhpcy5hc3luY1BpcGUgPSBuZXcgQXN5bmNQaXBlKHRoaXMucmVmKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5hc3luY1BpcGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFzeW5jUGlwZS50cmFuc2Zvcm0ocmVzIGFzIE9ic2VydmFibGU8VFJlc3VsdD4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXMgYXMgVFJlc3VsdDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5hc3luY1BpcGU/Lm5nT25EZXN0cm95Py4oKTtcbiAgICB9XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AmountCurrencyPipe } from './amount-currency.pipe';\nimport { EnumKeyValuesPipe } from './enum-key-values.pipe';\nimport { EnumKeyPipe } from './enum-key.pipe';\nimport { EnumKeysPipe } from './enum-keys.pipe';\nimport { HumanizedDurationPipe } from './humanized-duration.pipe';\nimport { InlineJsonPipe } from './inline-json.pipe';\nimport { VSelectPipe } from './select.pipe';\nimport * as i0 from \"@angular/core\";\nexport class PipesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: PipesModule, declarations: [InlineJsonPipe], imports: [CommonModule,\n EnumKeyPipe,\n EnumKeysPipe,\n EnumKeyValuesPipe,\n AmountCurrencyPipe,\n VSelectPipe,\n HumanizedDurationPipe], exports: [InlineJsonPipe,\n EnumKeyPipe,\n EnumKeysPipe,\n EnumKeyValuesPipe,\n AmountCurrencyPipe,\n VSelectPipe,\n HumanizedDurationPipe] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PipesModule, imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: PipesModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [InlineJsonPipe],\n exports: [\n InlineJsonPipe,\n EnumKeyPipe,\n EnumKeysPipe,\n EnumKeyValuesPipe,\n AmountCurrencyPipe,\n VSelectPipe,\n HumanizedDurationPipe,\n ],\n imports: [\n CommonModule,\n EnumKeyPipe,\n EnumKeysPipe,\n EnumKeyValuesPipe,\n AmountCurrencyPipe,\n VSelectPipe,\n HumanizedDurationPipe,\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvbGliL3BpcGVzL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXVCNUMsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQXBCTCxjQUFjLGFBV3pCLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsV0FBVztZQUNYLHFCQUFxQixhQWZyQixjQUFjO1lBQ2QsV0FBVztZQUNYLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCxxQkFBcUI7K0dBWWhCLFdBQVcsWUFUaEIsWUFBWTs7MkZBU1AsV0FBVztrQkFyQnZCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM5QixPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLFdBQVc7d0JBQ1gscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLFdBQVc7d0JBQ1gscUJBQXFCO3FCQUN4QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbW91bnRDdXJyZW5jeVBpcGUgfSBmcm9tICcuL2Ftb3VudC1jdXJyZW5jeS5waXBlJztcbmltcG9ydCB7IEVudW1LZXlWYWx1ZXNQaXBlIH0gZnJvbSAnLi9lbnVtLWtleS12YWx1ZXMucGlwZSc7XG5pbXBvcnQgeyBFbnVtS2V5UGlwZSB9IGZyb20gJy4vZW51bS1rZXkucGlwZSc7XG5pbXBvcnQgeyBFbnVtS2V5c1BpcGUgfSBmcm9tICcuL2VudW0ta2V5cy5waXBlJztcbmltcG9ydCB7IEh1bWFuaXplZER1cmF0aW9uUGlwZSB9IGZyb20gJy4vaHVtYW5pemVkLWR1cmF0aW9uLnBpcGUnO1xuaW1wb3J0IHsgSW5saW5lSnNvblBpcGUgfSBmcm9tICcuL2lubGluZS1qc29uLnBpcGUnO1xuaW1wb3J0IHsgVlNlbGVjdFBpcGUgfSBmcm9tICcuL3NlbGVjdC5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtJbmxpbmVKc29uUGlwZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBJbmxpbmVKc29uUGlwZSxcbiAgICAgICAgRW51bUtleVBpcGUsXG4gICAgICAgIEVudW1LZXlzUGlwZSxcbiAgICAgICAgRW51bUtleVZhbHVlc1BpcGUsXG4gICAgICAgIEFtb3VudEN1cnJlbmN5UGlwZSxcbiAgICAgICAgVlNlbGVjdFBpcGUsXG4gICAgICAgIEh1bWFuaXplZER1cmF0aW9uUGlwZSxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBFbnVtS2V5UGlwZSxcbiAgICAgICAgRW51bUtleXNQaXBlLFxuICAgICAgICBFbnVtS2V5VmFsdWVzUGlwZSxcbiAgICAgICAgQW1vdW50Q3VycmVuY3lQaXBlLFxuICAgICAgICBWU2VsZWN0UGlwZSxcbiAgICAgICAgSHVtYW5pemVkRHVyYXRpb25QaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaXR5LW1hdGV6LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9tYXRlei9zcmMvdmFsaXR5LW1hdGV6LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.ActionsComponent","i1","i3","i5.ProgressComponent","catchError","getValue","BaseFormComponentSuperclass","ngFormatCurrency","_get","isObject","papa","filter","map","startWith","distinctUntilChanged","shareReplay","i2","i4","i5","i2.TagComponent","isEqual","i4.InputFieldComponent","i5.ActionsComponent","i7","i8.TagComponent","debounceTime","first","i4.ValueComponent","i5.NoRecordsComponent","i6.ContentLoadingComponent","i7.InfinityScrollDirective","i8.SelectColumnComponent","i11.DndColumnComponent","i12.TableInfoBarComponent","i13.TableInputsComponent","i2.DialogComponent","i3.DialogActionsComponent","i4.TableComponent","i3.ActionsComponent","i6","isEmpty","negate","FormComponentSuperclass"],"mappings":"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"}
|