@skyux/data-manager 13.11.0 → 13.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-data-manager.mjs","sources":["../tmp-esm2022/lib/modules/data-manager/data-manager-filter-context.js","../tmp-esm2022/lib/modules/shared/sky-data-manager-resources.module.js","../tmp-esm2022/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-context.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.service.js","../tmp-esm2022/lib/modules/data-manager/models/data-view-state.js","../tmp-esm2022/lib/modules/data-manager/models/data-manager-state.js","../tmp-esm2022/lib/modules/data-manager/models/data-manager-state-change.js","../tmp-esm2022/lib/modules/data-manager/data-manager.service.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager.component.js","../tmp-esm2022/lib/modules/data-manager/data-view.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-impl.service.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-providers.js","../tmp-esm2022/lib/modules/data-manager/data-manager-filters/data-manager-filter-state.service.js","../tmp-esm2022/lib/modules/data-manager/data-manager-filters/data-manager-filter-controller.directive.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-left-item.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-primary-item.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-right-item.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-section.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager.module.js","../tmp-esm2022/skyux-data-manager.js"],"sourcesContent":["// TODO: In a future breaking change convert this to an interface\n/**\n * Sets the state of the filters.\n */\nexport class SkyDataManagerFilterModalContext {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1maWx0ZXItY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxpRUFBaUU7QUFDakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0NBQWdDO0NBSzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJGaWx0ZXJEYXRhIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWZpbHRlci1kYXRhJztcblxuLy8gVE9ETzogSW4gYSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlIGNvbnZlcnQgdGhpcyB0byBhbiBpbnRlcmZhY2Vcbi8qKlxuICogU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGZpbHRlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZmlsdGVycy5cbiAgICovXG4gIHB1YmxpYyBmaWx0ZXJEYXRhOiBTa3lEYXRhTWFuYWdlckZpbHRlckRhdGEgfCB1bmRlZmluZWQ7XG59XG4iXX0=","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-data-manager' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_data_manager_column_picker_title: {\n message: 'Choose columns to show in the list',\n },\n skyux_data_manager_apply_changes_button_title: { message: 'Apply changes' },\n skyux_data_manager_cancel_button_title: { message: 'Cancel' },\n skyux_data_manager_select_all_button_aria_label: {\n message: 'Select all {0}',\n },\n skyux_data_manager_select_all_button_title: { message: 'Select all' },\n skyux_data_manager_clear_all_button_aria_label: {\n message: 'Clear all selected {0}',\n },\n skyux_data_manager_clear_all_button_title: { message: 'Clear all' },\n skyux_data_manager_show_selected_option_aria_label: {\n message: 'Show only selected {0}',\n },\n skyux_data_manager_show_selected_option_title: {\n message: 'Show only selected items',\n },\n skyux_data_manager_columns_button_aria_label: {\n message: 'Choose columns for {0}',\n },\n skyux_data_manager_columns_button_title: { message: 'Columns' },\n skyux_data_manager_select_column_status_indicator_title: {\n message: 'Select at least one column.',\n },\n skyux_data_manager_status_update_with_selections: {\n message: '{0} of {1} items meet criteria and {2} selected.',\n },\n skyux_data_manager_status_update_without_selections: {\n message: '{0} of {1} items meet criteria.',\n },\n skyux_data_manager_status_update_only_selected: {\n message: '{0} of {1} items meet criteria and {2} selected. Only selected items are displayed.',\n },\n },\n 'FR-CA': {\n skyux_data_manager_column_picker_title: {\n message: 'Choisir les colonnes à indiquer dans la liste',\n },\n skyux_data_manager_apply_changes_button_title: {\n message: 'Appliquez les changements',\n },\n skyux_data_manager_cancel_button_title: { message: 'Annuler' },\n skyux_data_manager_select_all_button_aria_label: {\n message: 'Sélectionner tout {0}',\n },\n skyux_data_manager_select_all_button_title: {\n message: 'Sélectionner tout',\n },\n skyux_data_manager_clear_all_button_aria_label: {\n message: 'Supprimer tous les éléments sélectionnés {0}',\n },\n skyux_data_manager_clear_all_button_title: { message: 'Effacer tout' },\n skyux_data_manager_show_selected_option_aria_label: {\n message: 'Montrer seulement ce qui est sélectionné {0}',\n },\n skyux_data_manager_show_selected_option_title: {\n message: 'Montrer seulement les éléments sélectionnés',\n },\n skyux_data_manager_columns_button_aria_label: {\n message: 'Choisir les colonnes pour {0}',\n },\n skyux_data_manager_columns_button_title: { message: 'Colonnes' },\n skyux_data_manager_select_column_status_indicator_title: {\n message: 'Sélectionnez au moins une colonne.',\n },\n skyux_data_manager_status_update_with_selections: {\n message: '{0} de {1} éléments répondent aux critères et {2} sont sélectionnés.',\n },\n skyux_data_manager_status_update_without_selections: {\n message: '{0} de {1} éléments répondent aux critères.',\n },\n skyux_data_manager_status_update_only_selected: {\n message: '{0} de {1} éléments répondent aux critères et {2} sont sélectionnés. Seuls les éléments sélectionnés sont affichés.',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyDataManagerResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWRhdGEtbWFuYWdlci1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1kYXRhLW1hbmFnZXItcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asc0NBQXNDLEVBQUU7WUFDdEMsT0FBTyxFQUFFLG9DQUFvQztTQUM5QztRQUNELDZDQUE2QyxFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRTtRQUMzRSxzQ0FBc0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDN0QsK0NBQStDLEVBQUU7WUFDL0MsT0FBTyxFQUFFLGdCQUFnQjtTQUMxQjtRQUNELDBDQUEwQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUNyRSw4Q0FBOEMsRUFBRTtZQUM5QyxPQUFPLEVBQUUsd0JBQXdCO1NBQ2xDO1FBQ0QseUNBQXlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ25FLGtEQUFrRCxFQUFFO1lBQ2xELE9BQU8sRUFBRSx3QkFBd0I7U0FDbEM7UUFDRCw2Q0FBNkMsRUFBRTtZQUM3QyxPQUFPLEVBQUUsMEJBQTBCO1NBQ3BDO1FBQ0QsNENBQTRDLEVBQUU7WUFDNUMsT0FBTyxFQUFFLHdCQUF3QjtTQUNsQztRQUNELHVDQUF1QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUMvRCx1REFBdUQsRUFBRTtZQUN2RCxPQUFPLEVBQUUsNkJBQTZCO1NBQ3ZDO1FBQ0QsZ0RBQWdELEVBQUU7WUFDaEQsT0FBTyxFQUFFLGtEQUFrRDtTQUM1RDtRQUNELG1EQUFtRCxFQUFFO1lBQ25ELE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0M7UUFDRCw4Q0FBOEMsRUFBRTtZQUM5QyxPQUFPLEVBQ0wscUZBQXFGO1NBQ3hGO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxzQ0FBc0MsRUFBRTtZQUN0QyxPQUFPLEVBQUUsK0NBQStDO1NBQ3pEO1FBQ0QsNkNBQTZDLEVBQUU7WUFDN0MsT0FBTyxFQUFFLDJCQUEyQjtTQUNyQztRQUNELHNDQUFzQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUM5RCwrQ0FBK0MsRUFBRTtZQUMvQyxPQUFPLEVBQUUsdUJBQXVCO1NBQ2pDO1FBQ0QsMENBQTBDLEVBQUU7WUFDMUMsT0FBTyxFQUFFLG1CQUFtQjtTQUM3QjtRQUNELDhDQUE4QyxFQUFFO1lBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7U0FDeEQ7UUFDRCx5Q0FBeUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUU7UUFDdEUsa0RBQWtELEVBQUU7WUFDbEQsT0FBTyxFQUFFLDhDQUE4QztTQUN4RDtRQUNELDZDQUE2QyxFQUFFO1lBQzdDLE9BQU8sRUFBRSw2Q0FBNkM7U0FDdkQ7UUFDRCw0Q0FBNEMsRUFBRTtZQUM1QyxPQUFPLEVBQUUsK0JBQStCO1NBQ3pDO1FBQ0QsdUNBQXVDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ2hFLHVEQUF1RCxFQUFFO1lBQ3ZELE9BQU8sRUFBRSxvQ0FBb0M7U0FDOUM7UUFDRCxnREFBZ0QsRUFBRTtZQUNoRCxPQUFPLEVBQ0wsc0VBQXNFO1NBQ3pFO1FBQ0QsbURBQW1ELEVBQUU7WUFDbkQsT0FBTyxFQUFFLDZDQUE2QztTQUN2RDtRQUNELDhDQUE4QyxFQUFFO1lBQzlDLE9BQU8sRUFDTCxxSEFBcUg7U0FDeEg7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCOytHQUE3Qiw2QkFBNkI7Z0hBQTdCLDZCQUE2QixZQUY5QixhQUFhO2dIQUVaLDZCQUE2QixZQUY5QixhQUFhOzs0RkFFWiw2QkFBNkI7a0JBSHpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1kYXRhLW1hbmFnZXInIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uX3BpY2tlcl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ0Nob29zZSBjb2x1bW5zIHRvIHNob3cgaW4gdGhlIGxpc3QnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2FwcGx5X2NoYW5nZXNfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdBcHBseSBjaGFuZ2VzJyB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9jYW5jZWxfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdDYW5jZWwnIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9hbGxfYnV0dG9uX2FyaWFfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdTZWxlY3QgYWxsIHswfScsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ1NlbGVjdCBhbGwnIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ0NsZWFyIGFsbCBzZWxlY3RlZCB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0NsZWFyIGFsbCcgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2hvd19zZWxlY3RlZF9vcHRpb25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ1Nob3cgb25seSBzZWxlY3RlZCB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnU2hvdyBvbmx5IHNlbGVjdGVkIGl0ZW1zJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl9hcmlhX2xhYmVsOiB7XG4gICAgICBtZXNzYWdlOiAnQ2hvb3NlIGNvbHVtbnMgZm9yIHswfScsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0NvbHVtbnMnIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9jb2x1bW5fc3RhdHVzX2luZGljYXRvcl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ1NlbGVjdCBhdCBsZWFzdCBvbmUgY29sdW1uLicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV93aXRoX3NlbGVjdGlvbnM6IHtcbiAgICAgIG1lc3NhZ2U6ICd7MH0gb2YgezF9IGl0ZW1zIG1lZXQgY3JpdGVyaWEgYW5kIHsyfSBzZWxlY3RlZC4nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3N0YXR1c191cGRhdGVfd2l0aG91dF9zZWxlY3Rpb25zOiB7XG4gICAgICBtZXNzYWdlOiAnezB9IG9mIHsxfSBpdGVtcyBtZWV0IGNyaXRlcmlhLicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV9vbmx5X3NlbGVjdGVkOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnezB9IG9mIHsxfSBpdGVtcyBtZWV0IGNyaXRlcmlhIGFuZCB7Mn0gc2VsZWN0ZWQuIE9ubHkgc2VsZWN0ZWQgaXRlbXMgYXJlIGRpc3BsYXllZC4nLFxuICAgIH0sXG4gIH0sXG4gICdGUi1DQSc6IHtcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uX3BpY2tlcl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ0Nob2lzaXIgbGVzIGNvbG9ubmVzIMOgIGluZGlxdWVyIGRhbnMgbGEgbGlzdGUnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2FwcGx5X2NoYW5nZXNfYnV0dG9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnQXBwbGlxdWV6IGxlcyBjaGFuZ2VtZW50cycsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY2FuY2VsX2J1dHRvbl90aXRsZTogeyBtZXNzYWdlOiAnQW5udWxlcicgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ1PDqWxlY3Rpb25uZXIgdG91dCB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9hbGxfYnV0dG9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnU8OpbGVjdGlvbm5lciB0b3V0JyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9jbGVhcl9hbGxfYnV0dG9uX2FyaWFfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdXBwcmltZXIgdG91cyBsZXMgw6lsw6ltZW50cyBzw6lsZWN0aW9ubsOpcyB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0VmZmFjZXIgdG91dCcgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2hvd19zZWxlY3RlZF9vcHRpb25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ01vbnRyZXIgc2V1bGVtZW50IGNlIHF1aSBlc3Qgc8OpbGVjdGlvbm7DqSB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnTW9udHJlciBzZXVsZW1lbnQgbGVzIMOpbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX2FyaWFfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdDaG9pc2lyIGxlcyBjb2xvbm5lcyBwb3VyIHswfScsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0NvbG9ubmVzJyB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfY29sdW1uX3N0YXR1c19pbmRpY2F0b3JfdGl0bGU6IHtcbiAgICAgIG1lc3NhZ2U6ICdTw6lsZWN0aW9ubmV6IGF1IG1vaW5zIHVuZSBjb2xvbm5lLicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV93aXRoX3NlbGVjdGlvbnM6IHtcbiAgICAgIG1lc3NhZ2U6XG4gICAgICAgICd7MH0gZGUgezF9wqDDqWzDqW1lbnRzIHLDqXBvbmRlbnQgYXV4IGNyaXTDqHJlcyBldCB7Mn0gc29udCBzw6lsZWN0aW9ubsOpcy4nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3N0YXR1c191cGRhdGVfd2l0aG91dF9zZWxlY3Rpb25zOiB7XG4gICAgICBtZXNzYWdlOiAnezB9IGRlIHsxfcKgw6lsw6ltZW50cyByw6lwb25kZW50IGF1eCBjcml0w6hyZXMuJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9zdGF0dXNfdXBkYXRlX29ubHlfc2VsZWN0ZWQ6IHtcbiAgICAgIG1lc3NhZ2U6XG4gICAgICAgICd7MH0gZGUgezF9wqDDqWzDqW1lbnRzIHLDqXBvbmRlbnQgYXV4IGNyaXTDqHJlcyBldCB7Mn0gc29udCBzw6lsZWN0aW9ubsOpcy4gU2V1bHMgbGVzIMOpbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMgc29udCBhZmZpY2jDqXMuJyxcbiAgICB9LFxuICB9LFxufTtcblxuU2t5TGliUmVzb3VyY2VzU2VydmljZS5hZGRSZXNvdXJjZXMoUkVTT1VSQ0VTKTtcblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==","/**\n * These options specify the sorting strategy applied to columns when `columnPickerEnabled` is enabled.\n */\nexport var SkyDataManagerColumnPickerSortStrategy;\n(function (SkyDataManagerColumnPickerSortStrategy) {\n /**\n * No sorting is applied to the columns.\n */\n SkyDataManagerColumnPickerSortStrategy[\"None\"] = \"none\";\n /**\n * If `sortEnabled` is set to `true`, then the selected columns are displayed before the unselected columns. Unselected columns are sorted alphabetically.\n * If `sortEnabled` is set to `false`, then the columns are displayed in the order specified by `columnOptions`.\n */\n SkyDataManagerColumnPickerSortStrategy[\"SelectedThenAlphabetical\"] = \"selectedThenAlphabetical\";\n})(SkyDataManagerColumnPickerSortStrategy || (SkyDataManagerColumnPickerSortStrategy = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItc29ydC1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItc29ydC1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLHNDQVVYO0FBVkQsV0FBWSxzQ0FBc0M7SUFDaEQ7O09BRUc7SUFDSCx1REFBYSxDQUFBO0lBQ2I7OztPQUdHO0lBQ0gsK0ZBQXFELENBQUE7QUFDdkQsQ0FBQyxFQVZXLHNDQUFzQyxLQUF0QyxzQ0FBc0MsUUFVakQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIG9wdGlvbnMgc3BlY2lmeSB0aGUgc29ydGluZyBzdHJhdGVneSBhcHBsaWVkIHRvIGNvbHVtbnMgd2hlbiBgY29sdW1uUGlja2VyRW5hYmxlZGAgaXMgZW5hYmxlZC5cbiAqL1xuZXhwb3J0IGVudW0gU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kge1xuICAvKipcbiAgICogTm8gc29ydGluZyBpcyBhcHBsaWVkIHRvIHRoZSBjb2x1bW5zLlxuICAgKi9cbiAgTm9uZSA9ICdub25lJyxcbiAgLyoqXG4gICAqIElmIGBzb3J0RW5hYmxlZGAgaXMgc2V0IHRvIGB0cnVlYCwgdGhlbiB0aGUgc2VsZWN0ZWQgY29sdW1ucyBhcmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdW5zZWxlY3RlZCBjb2x1bW5zLiBVbnNlbGVjdGVkIGNvbHVtbnMgYXJlIHNvcnRlZCBhbHBoYWJldGljYWxseS5cbiAgICogSWYgYHNvcnRFbmFibGVkYCBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlbiB0aGUgY29sdW1ucyBhcmUgZGlzcGxheWVkIGluIHRoZSBvcmRlciBzcGVjaWZpZWQgYnkgYGNvbHVtbk9wdGlvbnNgLlxuICAgKi9cbiAgU2VsZWN0ZWRUaGVuQWxwaGFiZXRpY2FsID0gJ3NlbGVjdGVkVGhlbkFscGhhYmV0aWNhbCcsXG59XG4iXX0=","import { SkyDataManagerColumnPickerSortStrategy } from '../models/data-manager-column-picker-sort-strategy';\nexport class SkyDataManagerColumnPickerContext {\n constructor(columnOptions, displayedColumnIds, columnPickerSortStrategy = SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical) {\n this.columnOptions = columnOptions;\n this.displayedColumnIds = displayedColumnIds;\n this.columnPickerSortStrategy = columnPickerSortStrategy;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTVHLE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFDUyxhQUFpRCxFQUNqRCxrQkFBNEIsRUFDNUIsMkJBQW1FLHNDQUFzQyxDQUFDLHdCQUF3QjtRQUZsSSxrQkFBYSxHQUFiLGFBQWEsQ0FBb0M7UUFDakQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFVO1FBQzVCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEc7SUFDeEksQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXNvcnQtc3RyYXRlZ3knO1xuXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbHVtbk9wdGlvbnM6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uW10sXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbklkczogc3RyaW5nW10sXG4gICAgcHVibGljIGNvbHVtblBpY2tlclNvcnRTdHJhdGVneTogU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kgPSBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNvcnRTdHJhdGVneS5TZWxlY3RlZFRoZW5BbHBoYWJldGljYWwsXG4gICkge31cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Service that provides the column picker component type so it can be dynamically\n * created in the toolbar component. This avoids a circular reference between column\n * picker and toolbar.\n * https://angular.dev/errors/NG3003\n */\nexport class SkyDataManagerColumnPickerService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFnQixpQ0FBaUM7K0dBQWpDLGlDQUFpQzttSEFBakMsaUNBQWlDOzs0RkFBakMsaUNBQWlDO2tCQUR0RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyB0aGUgY29sdW1uIHBpY2tlciBjb21wb25lbnQgdHlwZSBzbyBpdCBjYW4gYmUgZHluYW1pY2FsbHlcbiAqIGNyZWF0ZWQgaW4gdGhlIHRvb2xiYXIgY29tcG9uZW50LiBUaGlzIGF2b2lkcyBhIGNpcmN1bGFyIHJlZmVyZW5jZSBiZXR3ZWVuIGNvbHVtblxuICogcGlja2VyIGFuZCB0b29sYmFyLlxuICogaHR0cHM6Ly9hbmd1bGFyLmRldi9lcnJvcnMvTkczMDAzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNlcnZpY2Uge1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q29tcG9uZW50VHlwZSgpOiB0eXBlb2YgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb21wb25lbnQ7XG59XG4iXX0=","/**\n * Provides options for defining how data is displayed, such as which columns appear.\n */\nexport class SkyDataViewState {\n constructor(data) {\n /**\n * The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.\n */\n this.columnIds = [];\n /**\n * The widths of columns in column-based views for xs and sm+ breakpoints. If using sticky settings, the widths a user sets will be persisted.\n */\n this.columnWidths = { xs: {}, sm: {} };\n /**\n * The IDs of the columns displayed for column-based views.\n */\n this.displayedColumnIds = [];\n this.viewId = data.viewId;\n this.columnIds = data.columnIds || [];\n this.columnWidths = data.columnWidths || { xs: {}, sm: {} };\n this.displayedColumnIds = data.displayedColumnIds || [];\n this.additionalData = data.additionalData;\n }\n /**\n * Returns the `SkyDataViewStateOptions` for the current view.\n * @returns The `SkyDataViewStateOptions`.\n */\n getViewStateOptions() {\n return {\n viewId: this.viewId,\n columnIds: this.columnIds,\n columnWidths: this.columnWidths,\n displayedColumnIds: this.displayedColumnIds,\n additionalData: this.additionalData,\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLXZpZXctc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBeUIzQixZQUFZLElBQTZCO1FBeEJ6Qzs7V0FFRztRQUNJLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFDSSxpQkFBWSxHQUE0QixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xFOztXQUVHO1FBQ0ksdUJBQWtCLEdBQWEsRUFBRSxDQUFDO1FBYXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNwQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YVZpZXdDb2x1bW5XaWR0aHMgfSBmcm9tICcuL2RhdGEtdmlldy1jb2x1bW4td2lkdGhzJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGVPcHRpb25zIH0gZnJvbSAnLi9kYXRhLXZpZXctc3RhdGUtb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgb3B0aW9ucyBmb3IgZGVmaW5pbmcgaG93IGRhdGEgaXMgZGlzcGxheWVkLCBzdWNoIGFzIHdoaWNoIGNvbHVtbnMgYXBwZWFyLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RGF0YVZpZXdTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgSURzIG9mIHRoZSBjb2x1bW5zIGFibGUgdG8gYmUgZGlzcGxheWVkIGZvciBjb2x1bW4tYmFzZWQgdmlld3MuIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgd2hlbiB1dGlsaXppbmcgYSBncmlkLWJhc2VkIHZpZXcsIGEgY29sdW1uIHBpY2tlciwgb3IgYm90aC5cbiAgICovXG4gIHB1YmxpYyBjb2x1bW5JZHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIFRoZSB3aWR0aHMgb2YgY29sdW1ucyBpbiBjb2x1bW4tYmFzZWQgdmlld3MgZm9yIHhzIGFuZCBzbSsgYnJlYWtwb2ludHMuIElmIHVzaW5nIHN0aWNreSBzZXR0aW5ncywgdGhlIHdpZHRocyBhIHVzZXIgc2V0cyB3aWxsIGJlIHBlcnNpc3RlZC5cbiAgICovXG4gIHB1YmxpYyBjb2x1bW5XaWR0aHM6IFNreURhdGFWaWV3Q29sdW1uV2lkdGhzID0geyB4czoge30sIHNtOiB7fSB9O1xuICAvKipcbiAgICogVGhlIElEcyBvZiB0aGUgY29sdW1ucyBkaXNwbGF5ZWQgZm9yIGNvbHVtbi1iYXNlZCB2aWV3cy5cbiAgICovXG4gIHB1YmxpYyBkaXNwbGF5ZWRDb2x1bW5JZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhpcyB2aWV3LlxuICAgKi9cbiAgcHVibGljIHZpZXdJZDogc3RyaW5nO1xuICAvKipcbiAgICogQW4gdW50eXBlZCBwcm9wZXJ0eSB0aGF0IHRyYWNrcyBhbnkgdmlldy1zcGVjaWZpYyBzdGF0ZSBpbmZvcm1hdGlvblxuICAgKiB0aGF0IGlzIHJlbGV2YW50IHRvIGEgZGF0YSBtYW5hZ2VyIGJ1dCB0aGF0IGV4aXN0aW5nIHByb3BlcnRpZXMgZG8gbm90IGNvdmVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGFkZGl0aW9uYWxEYXRhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoZGF0YTogU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnMpIHtcbiAgICB0aGlzLnZpZXdJZCA9IGRhdGEudmlld0lkO1xuICAgIHRoaXMuY29sdW1uSWRzID0gZGF0YS5jb2x1bW5JZHMgfHwgW107XG4gICAgdGhpcy5jb2x1bW5XaWR0aHMgPSBkYXRhLmNvbHVtbldpZHRocyB8fCB7IHhzOiB7fSwgc206IHt9IH07XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5JZHMgPSBkYXRhLmRpc3BsYXllZENvbHVtbklkcyB8fCBbXTtcbiAgICB0aGlzLmFkZGl0aW9uYWxEYXRhID0gZGF0YS5hZGRpdGlvbmFsRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnNgIGZvciB0aGUgY3VycmVudCB2aWV3LlxuICAgKiBAcmV0dXJucyBUaGUgYFNreURhdGFWaWV3U3RhdGVPcHRpb25zYC5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWV3U3RhdGVPcHRpb25zKCk6IFNreURhdGFWaWV3U3RhdGVPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmlld0lkOiB0aGlzLnZpZXdJZCxcbiAgICAgIGNvbHVtbklkczogdGhpcy5jb2x1bW5JZHMsXG4gICAgICBjb2x1bW5XaWR0aHM6IHRoaXMuY29sdW1uV2lkdGhzLFxuICAgICAgZGlzcGxheWVkQ29sdW1uSWRzOiB0aGlzLmRpc3BsYXllZENvbHVtbklkcyxcbiAgICAgIGFkZGl0aW9uYWxEYXRhOiB0aGlzLmFkZGl0aW9uYWxEYXRhLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { SkyDataViewState } from './data-view-state';\n/**\n * Provides options that control which data to display.\n */\nexport class SkyDataManagerState {\n constructor(data) {\n /**\n * The states of the individual views.\n */\n this.views = [];\n const views = data.views && data.views.map((view) => new SkyDataViewState(view));\n this.activeSortOption = data.activeSortOption;\n this.additionalData = data.additionalData;\n this.filterData = data.filterData;\n this.onlyShowSelected = data.onlyShowSelected;\n this.selectedIds = data.selectedIds;\n this.searchText = data.searchText;\n this.views = views || [];\n }\n /**\n * Returns the `SkyDataManagerStateOptions` for the data manager.\n * @returns The `SkyDataManagerStateOptions` for the data manager.\n */\n getStateOptions() {\n const viewStates = this.views.map((view) => {\n return view.getViewStateOptions();\n });\n return {\n activeSortOption: this.activeSortOption,\n additionalData: this.additionalData,\n filterData: this.filterData,\n onlyShowSelected: this.onlyShowSelected,\n searchText: this.searchText,\n selectedIds: this.selectedIds,\n views: viewStates,\n };\n }\n /**\n * Returns the `SkyDataViewState` for the specified view.\n * @param viewId The ID for the view.\n * @returns The `SkyDataViewState` for the specified view.\n */\n getViewStateById(viewId) {\n return this.views.find((view) => view.viewId === viewId);\n }\n /**\n * Adds a `SkyDataViewState` to a view or updates an existing view.\n * @param viewId The ID for the view.\n * @param view The `SkyDataViewState` option to add or update.\n * @returns The state of the data manager for the specified view.\n */\n addOrUpdateView(viewId, view) {\n const existingViewIndex = this.views.findIndex((v) => v.viewId === viewId);\n if (existingViewIndex !== -1) {\n this.views[existingViewIndex] = view;\n }\n else {\n this.views.push(view);\n }\n return new SkyDataManagerState({\n activeSortOption: this.activeSortOption,\n additionalData: this.additionalData,\n filterData: this.filterData,\n searchText: this.searchText,\n selectedIds: this.selectedIds,\n views: this.views,\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBaUM5QixZQUFZLElBQWdDO1FBTDVDOztXQUVHO1FBQ0ksVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHcEMsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLE1BQU0sVUFBVSxHQUE4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUNwQixNQUFjLEVBQ2QsSUFBc0I7UUFFdEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUUzRSxJQUFJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxPQUFPLElBQUksbUJBQW1CLENBQUM7WUFDN0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreURhdGFNYW5hZ2VyRmlsdGVyRGF0YSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWZpbHRlci1kYXRhJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbiB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXNvcnQtb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItc3RhdGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld1N0YXRlIH0gZnJvbSAnLi9kYXRhLXZpZXctc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnMgfSBmcm9tICcuL2RhdGEtdmlldy1zdGF0ZS1vcHRpb25zJztcblxuLyoqXG4gKiBQcm92aWRlcyBvcHRpb25zIHRoYXQgY29udHJvbCB3aGljaCBkYXRhIHRvIGRpc3BsYXkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclN0YXRlIHtcbiAgLyoqXG4gICAqIFRoZSBzZWxlY3RlZCBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZlU29ydE9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQW4gdW50eXBlZCBwcm9wZXJ0eSB0aGF0IHRyYWNrcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gdGhhdCdzIHJlbGV2YW50IHRvIGEgZGF0YVxuICAgKiBtYW5hZ2VyIGJ1dCB0aGF0IHRoZSBleGlzdGluZyBwcm9wZXJ0aWVzIGRvIG5vdCBjb3Zlci5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBhZGRpdGlvbmFsRGF0YTogYW55O1xuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBmaWx0ZXJzLlxuICAgKi9cbiAgcHVibGljIGZpbHRlckRhdGE6IFNreURhdGFNYW5hZ2VyRmlsdGVyRGF0YSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBvbmx5IHRoZSBzZWxlY3RlZCByb3dzIG9yIG9iamVjdHMuIFRoZSBtdWx0aXNlbGVjdCB0b29sYmFyXG4gICAqIHVzZXMgdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIHNlYXJjaCB0ZXh0IHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcm93cyBvciBvYmplY3RzLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdGVkSWRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBzdGF0ZXMgb2YgdGhlIGluZGl2aWR1YWwgdmlld3MuXG4gICAqL1xuICBwdWJsaWMgdmlld3M6IFNreURhdGFWaWV3U3RhdGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKSB7XG4gICAgY29uc3Qgdmlld3MgPVxuICAgICAgZGF0YS52aWV3cyAmJiBkYXRhLnZpZXdzLm1hcCgodmlldykgPT4gbmV3IFNreURhdGFWaWV3U3RhdGUodmlldykpO1xuXG4gICAgdGhpcy5hY3RpdmVTb3J0T3B0aW9uID0gZGF0YS5hY3RpdmVTb3J0T3B0aW9uO1xuICAgIHRoaXMuYWRkaXRpb25hbERhdGEgPSBkYXRhLmFkZGl0aW9uYWxEYXRhO1xuICAgIHRoaXMuZmlsdGVyRGF0YSA9IGRhdGEuZmlsdGVyRGF0YTtcbiAgICB0aGlzLm9ubHlTaG93U2VsZWN0ZWQgPSBkYXRhLm9ubHlTaG93U2VsZWN0ZWQ7XG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IGRhdGEuc2VsZWN0ZWRJZHM7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gZGF0YS5zZWFyY2hUZXh0O1xuICAgIHRoaXMudmlld3MgPSB2aWV3cyB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnNgIGZvciB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBAcmV0dXJucyBUaGUgYFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zYCBmb3IgdGhlIGRhdGEgbWFuYWdlci5cbiAgICovXG4gIHB1YmxpYyBnZXRTdGF0ZU9wdGlvbnMoKTogU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMge1xuICAgIGNvbnN0IHZpZXdTdGF0ZXM6IFNreURhdGFWaWV3U3RhdGVPcHRpb25zW10gPSB0aGlzLnZpZXdzLm1hcCgodmlldykgPT4ge1xuICAgICAgcmV0dXJuIHZpZXcuZ2V0Vmlld1N0YXRlT3B0aW9ucygpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGl2ZVNvcnRPcHRpb246IHRoaXMuYWN0aXZlU29ydE9wdGlvbixcbiAgICAgIGFkZGl0aW9uYWxEYXRhOiB0aGlzLmFkZGl0aW9uYWxEYXRhLFxuICAgICAgZmlsdGVyRGF0YTogdGhpcy5maWx0ZXJEYXRhLFxuICAgICAgb25seVNob3dTZWxlY3RlZDogdGhpcy5vbmx5U2hvd1NlbGVjdGVkLFxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0LFxuICAgICAgc2VsZWN0ZWRJZHM6IHRoaXMuc2VsZWN0ZWRJZHMsXG4gICAgICB2aWV3czogdmlld1N0YXRlcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBTa3lEYXRhVmlld1N0YXRlYCBmb3IgdGhlIHNwZWNpZmllZCB2aWV3LlxuICAgKiBAcGFyYW0gdmlld0lkIFRoZSBJRCBmb3IgdGhlIHZpZXcuXG4gICAqIEByZXR1cm5zIFRoZSBgU2t5RGF0YVZpZXdTdGF0ZWAgZm9yIHRoZSBzcGVjaWZpZWQgdmlldy5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWV3U3RhdGVCeUlkKHZpZXdJZDogc3RyaW5nKTogU2t5RGF0YVZpZXdTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MuZmluZCgodmlldykgPT4gdmlldy52aWV3SWQgPT09IHZpZXdJZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGBTa3lEYXRhVmlld1N0YXRlYCB0byBhIHZpZXcgb3IgdXBkYXRlcyBhbiBleGlzdGluZyB2aWV3LlxuICAgKiBAcGFyYW0gdmlld0lkIFRoZSBJRCBmb3IgdGhlIHZpZXcuXG4gICAqIEBwYXJhbSB2aWV3IFRoZSBgU2t5RGF0YVZpZXdTdGF0ZWAgb3B0aW9uIHRvIGFkZCBvciB1cGRhdGUuXG4gICAqIEByZXR1cm5zIFRoZSBzdGF0ZSBvZiB0aGUgZGF0YSBtYW5hZ2VyIGZvciB0aGUgc3BlY2lmaWVkIHZpZXcuXG4gICAqL1xuICBwdWJsaWMgYWRkT3JVcGRhdGVWaWV3KFxuICAgIHZpZXdJZDogc3RyaW5nLFxuICAgIHZpZXc6IFNreURhdGFWaWV3U3RhdGUsXG4gICk6IFNreURhdGFNYW5hZ2VyU3RhdGUge1xuICAgIGNvbnN0IGV4aXN0aW5nVmlld0luZGV4ID0gdGhpcy52aWV3cy5maW5kSW5kZXgoKHYpID0+IHYudmlld0lkID09PSB2aWV3SWQpO1xuXG4gICAgaWYgKGV4aXN0aW5nVmlld0luZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy52aWV3c1tleGlzdGluZ1ZpZXdJbmRleF0gPSB2aWV3O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdzLnB1c2godmlldyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlKHtcbiAgICAgIGFjdGl2ZVNvcnRPcHRpb246IHRoaXMuYWN0aXZlU29ydE9wdGlvbixcbiAgICAgIGFkZGl0aW9uYWxEYXRhOiB0aGlzLmFkZGl0aW9uYWxEYXRhLFxuICAgICAgZmlsdGVyRGF0YTogdGhpcy5maWx0ZXJEYXRhLFxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0LFxuICAgICAgc2VsZWN0ZWRJZHM6IHRoaXMuc2VsZWN0ZWRJZHMsXG4gICAgICB2aWV3czogdGhpcy52aWV3cyxcbiAgICB9KTtcbiAgfVxufVxuIl19","import { SkyDataManagerState } from './data-manager-state';\n/**\n * @internal\n */\nexport class SkyDataManagerStateChange {\n constructor(dataState, source) {\n this.dataState = new SkyDataManagerState(dataState.getStateOptions());\n this.source = source;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXN0YXRlLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlLWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBWSxTQUE4QixFQUFFLE1BQWM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclN0YXRlQ2hhbmdlIHtcbiAgcHVibGljIGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZTtcbiAgcHVibGljIHNvdXJjZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc291cmNlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRhdGFTdGF0ZSA9IG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlKGRhdGFTdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSk7XG4gICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, map, take, takeUntil, } from 'rxjs/operators';\nimport { SkyDataManagerState } from './models/data-manager-state';\nimport { SkyDataManagerStateChange } from './models/data-manager-state-change';\nimport { SkyDataViewState } from './models/data-view-state';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * The data manager service provides ways for data views, toolbar items, and more to stay up to date\n * with the active view ID, data manager config, registered views and their configs, and data state.\n * There are methods to get current values, update values, and get subscriptions to the changing values.\n *\n * Provide this service at the component level for each instance of a data manager. Do not\n * provide it at the module level or in `app-extras`. This allows multiple data\n * managers to be used and self-contained.\n */\nexport class SkyDataManagerService {\n #activeViewId;\n #dataManagerConfig;\n #views;\n #dataStateChange;\n #dataSummary;\n #isInitialized;\n #ngUnsubscribe;\n #initSource;\n #uiConfigService;\n constructor(uiConfigService) {\n /**\n * @internal\n */\n this.viewkeeperClasses = new BehaviorSubject({});\n this.#activeViewId = new ReplaySubject(1);\n this.#dataManagerConfig = new BehaviorSubject({});\n this.#views = new BehaviorSubject([]);\n this.#dataStateChange = new ReplaySubject(1);\n this.#dataSummary = new Subject();\n this.#ngUnsubscribe = new Subject();\n this.#initSource = 'dataManagerServiceInit';\n this.#uiConfigService = uiConfigService;\n }\n ngOnDestroy() {\n this.#activeViewId.complete();\n this.#dataManagerConfig.complete();\n this.#views.complete();\n this.#dataStateChange.complete();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n /**\n * Initializes the data manager with the given settings and sets `isInitialized` to `true`.\n * This must be called for the data manager to render.\n * @param args The initial active view ID, data manager config, and state to use for the data manager.\n * If a settings key is provided, it checks for a saved data state in the SKY UI config service before using the default data state\n * and saves any state changes to the service.\n */\n initDataManager(args) {\n if (this.#isInitialized) {\n console.warn('This data manager instance has already been initialized.');\n return;\n }\n this.#isInitialized = true;\n const defaultDataState = args.defaultDataState;\n const settingsKey = args.settingsKey;\n this.updateActiveViewId(args.activeViewId);\n this.updateDataManagerConfig(args.dataManagerConfig);\n if (settingsKey) {\n this.#uiConfigService\n .getConfig(settingsKey, defaultDataState.getStateOptions())\n .pipe(take(1))\n .subscribe((config) => {\n this.updateDataState(new SkyDataManagerState(config), this.#initSource);\n });\n }\n else {\n this.updateDataState(defaultDataState, this.#initSource);\n }\n if (settingsKey) {\n this.getDataStateUpdates(this.#initSource)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.#uiConfigService\n .setConfig(settingsKey, state.getStateOptions())\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n () => { }, (err) => {\n console.warn('Could not save data manager settings.');\n console.warn(err);\n });\n });\n }\n }\n /**\n * Initializes a view within the data manager. This must be called for each view for the views to appear within the data manager.\n * @param viewConfig The SkyDataViewConfig settings for the view being registered.\n */\n initDataView(viewConfig) {\n const currentViews = this.#views.value;\n if (this.getViewById(viewConfig.id)) {\n console.warn(`A data manager view with the id ${viewConfig.id} has already been initialized.`);\n return;\n }\n currentViews.push(viewConfig);\n this.#views.next(currentViews);\n // When the initial activeViewId is set there are no views registered. We have to re-emit\n // the activeId so the newly registered view is notified that it is active.\n this.#activeViewId.pipe(take(1)).subscribe((id) => {\n this.#activeViewId.next(id);\n });\n this.#dataStateChange\n .pipe(take(1))\n .subscribe((change) => {\n const dataState = change.dataState;\n const currentViewState = dataState.getViewStateById(viewConfig.id);\n if (!currentViewState) {\n const newViewState = new SkyDataViewState({ viewId: viewConfig.id });\n // Ensure that the view state's available columns match with the view config. Also,\n // add columns to the `displayedColumnIds` as long as they are not `initialHide`\n if (viewConfig.columnOptions) {\n const columnIds = viewConfig.columnOptions.map((columnOptions) => {\n return columnOptions.id;\n });\n const displayedColumnIds = viewConfig.columnOptions\n .filter((columnOption) => {\n return !columnOption.initialHide;\n })\n .map((columnOption) => {\n return columnOption.id;\n });\n newViewState.columnIds = columnIds;\n newViewState.displayedColumnIds = displayedColumnIds;\n }\n const newDataState = dataState.addOrUpdateView(viewConfig.id, newViewState);\n this.updateDataState(newDataState, this.#initSource);\n }\n else {\n const currentAvailableColumnIds = viewConfig.columnOptions?.map((columnOptions) => {\n return columnOptions.id;\n }) || [];\n // Ensure that the view state's available columns match with the view config. Also,\n // add new columns to the `displayedColumnIds` as long as they are not `initialHide`.\n // We only add columns to `displayedColumnsIds` if we had previously tracked\n // `columnIds` to avoid breaking changes.\n if (currentViewState.columnIds.length > 0) {\n let newColumnIds = currentAvailableColumnIds?.filter((id) => currentViewState.columnIds.indexOf(id) < 0);\n newColumnIds = newColumnIds?.filter((columnId) => {\n return viewConfig.columnOptions?.find((columnOption) => columnOption.id === columnId && !columnOption.initialHide);\n });\n // Add the column IDs that now exist to the data manager state both as available\n // and as shown.\n currentViewState.displayedColumnIds =\n currentViewState.displayedColumnIds.concat(newColumnIds);\n }\n // Add the column IDs that now exist to the data manager state both as available\n // and as shown.\n currentViewState.columnIds = currentAvailableColumnIds;\n const newDataState = dataState.addOrUpdateView(viewConfig.id, currentViewState);\n this.updateDataState(newDataState, this.#initSource);\n }\n })\n .unsubscribe();\n }\n /**\n * Returns an observable of data state changes that views and other data manager entities can subscribe to.\n * It excludes updates originating from the provided source. This allows subscribers to only respond to\n * changes they did not create and helps prevent infinite loops of updates and responses.\n * @param sourceId The ID of the entity subscribing to data state updates. This can be any value you choose\n * but should be unique within the data manager instance and should also be used when that entity updates the state.\n */\n getDataStateUpdates(sourceId, updateFilter) {\n // filter out events from the provided source and emit just the dataState\n if (updateFilter) {\n return this.#dataStateChange.pipe(filter((stateChange) => sourceId !== stateChange.source), map((stateChange) => stateChange.dataState), updateFilter.comparator\n ? distinctUntilChanged(updateFilter.comparator)\n : distinctUntilChanged(this.#getDefaultStateComparator(updateFilter.properties)));\n }\n else {\n return this.#dataStateChange.pipe(filter((stateChange) => sourceId !== stateChange.source), map((stateChange) => stateChange.dataState));\n }\n }\n /**\n * Updates the data state and emits a new value to entities subscribed to data state changes.\n * @param state The new `SkyDataManagerState` value.\n * @param sourceId The ID of the entity updating the state. This can be any value you choose,\n * but should be unique within the data manager instance and should also be used when that entity\n * subscribes to state changes from `getDataStateUpdates`.\n */\n updateDataState(state, sourceId) {\n const newState = new SkyDataManagerState(state.getStateOptions());\n const newStateChange = new SkyDataManagerStateChange(newState, sourceId);\n this.#dataStateChange.next(newStateChange);\n }\n /**\n * Returns an observable of data summary changes that views and other data manager entities can subscribe to.\n * It excludes updates originating from the provided source. This allows subscribers to only respond to\n * changes they did not create and helps prevent infinite loops of updates and responses.\n * @param sourceId The ID of the entity subscribing to data summary updates. This can be any value you choose\n * but should be unique within the data manager instance and should also be used when that entity updates the summary.\n */\n getDataSummaryUpdates(sourceId) {\n return this.#dataSummary.pipe(filter((summaryChange) => sourceId !== summaryChange.source), map((summaryChange) => summaryChange.dataSummary));\n }\n /**\n * Updates the data summary and emits a new value to entities subscribed to data summary changes.\n * @param summary The new `SkyDataManagerSummary` value.\n * @param sourceId The ID of the entity updating the summary. This can be any value you choose,\n * but should be unique within the data manager instance and should also be used when that entity\n * subscribes to summary changes from `getDataSummaryUpdates`.\n */\n updateDataSummary(summary, sourceId) {\n this.#dataSummary.next({ dataSummary: summary, source: sourceId });\n }\n /**\n * Returns the current `SkyDataManagerConfig`.\n */\n getCurrentDataManagerConfig() {\n return this.#dataManagerConfig.value;\n }\n /**\n * Returns an observable of data manager config changes that views and other data manager entities can subscribe to.\n */\n getDataManagerConfigUpdates() {\n return this.#dataManagerConfig;\n }\n /**\n * Updates the data manager config and emits a new value to entities subscribed to data config changes.\n * @param value The new `SkyDataManagerConfig` value.\n */\n updateDataManagerConfig(value) {\n this.#dataManagerConfig.next(value);\n }\n /**\n * Returns an observable of data view config changes that views and other data manager entities can subscribe to.\n */\n getDataViewsUpdates() {\n return this.#views;\n }\n /**\n * Returns an observable of the active view ID that views and other data manager entities can subscribe to.\n */\n getActiveViewIdUpdates() {\n return this.#activeViewId;\n }\n /**\n * Updates the active view ID. The data manager changes the displayed view.\n * @param id The new active view ID.\n */\n updateActiveViewId(id) {\n this.#activeViewId.next(id);\n }\n /**\n * Returns the `SkyDataViewConfig` for the given view ID.\n * @param viewId The ID of the view config to get.\n */\n getViewById(viewId) {\n const currentViews = this.#views.value;\n const viewConfig = currentViews.find((view) => view.id === viewId);\n return viewConfig;\n }\n /**\n * Updates the given view config. The registered view with the same ID is updated to the\n * provided config, so include all properties regardless of whether they changed. If the\n * view was not initialized already, no update happens.\n * @param view The new `SkyDataViewConfig` containing all properties.\n */\n updateViewConfig(view) {\n const currentViews = this.#views.value;\n const existingViewIndex = currentViews.findIndex((currentView) => currentView.id === view.id);\n if (existingViewIndex === -1) {\n console.error('A view with the id {id} does not exist.', view.id);\n }\n else {\n currentViews[existingViewIndex] = view;\n this.#views.next(currentViews);\n }\n }\n /**\n * @internal\n */\n setViewkeeperClasses(viewId, classes) {\n const viewkeeperClasses = this.viewkeeperClasses.value;\n viewkeeperClasses[viewId] = classes;\n this.viewkeeperClasses.next(viewkeeperClasses);\n }\n #filterDataStateProperties(state, properties) {\n const stateProperties = state.getStateOptions();\n const filteredStateProperties = {};\n if (properties) {\n for (const property of properties) {\n if (property in stateProperties) {\n filteredStateProperties[property] = stateProperties[property];\n }\n }\n }\n return filteredStateProperties;\n }\n #getDefaultStateComparator(properties) {\n return (state1, state2) => {\n const filteredState1 = this.#filterDataStateProperties(state1, properties);\n const filteredState2 = this.#filterDataStateProperties(state2, properties);\n return JSON.stringify(filteredState1) === JSON.stringify(filteredState2);\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerService, deps: [{ token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.SkyUIConfigService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU0vRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTVEOzs7Ozs7OztHQVFHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQU12QixhQUFhLENBQWdDO0lBQzdDLGtCQUFrQixDQUFpRDtJQUNuRSxNQUFNLENBQWdEO0lBQ3RELGdCQUFnQixDQUFtRDtJQUNuRSxZQUFZLENBQThDO0lBRW5FLGNBQWMsQ0FBc0I7SUFDcEMsY0FBYyxDQUF1QjtJQUNyQyxXQUFXLENBQTRCO0lBQ3ZDLGdCQUFnQixDQUFxQjtJQUVyQyxZQUFZLGVBQW1DO1FBaEIvQzs7V0FFRztRQUNJLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUEyQixFQUFFLENBQUMsQ0FBQztRQUVwRSxrQkFBYSxHQUFHLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzdDLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUF1QixFQUFFLENBQUMsQ0FB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QUNqQyxDQUFDO0lBRUQsMEJBQTBCLENBQ3hCLFVBQTREO1FBRTVELE9BQU8sQ0FDTCxNQUEyQixFQUMzQixNQUEyQixFQUNsQixFQUFFO1lBQ1gsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxNQUFNLEVBQ04sVUFBVSxDQUNYLENBQUM7WUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQ3BELE1BQU0sRUFDTixVQUFVLENBQ1gsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQztJQUNKLENBQUM7K0dBMVhVLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lVSUNvbmZpZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VySW5pdEFyZ3MgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItaW5pdC1hcmdzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlVXBkYXRlRmlsdGVyQXJncyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS11cGRhdGUtZmlsdGVyLWFyZ3MnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdW1tYXJ5IH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN1bW1hcnknO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdW1tYXJ5Q2hhbmdlIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN1bW1hcnktY2hhbmdlJztcbmltcG9ydCB7IFNreURhdGFWaWV3Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld1N0YXRlIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS12aWV3LXN0YXRlJztcblxuLyoqXG4gKiBUaGUgZGF0YSBtYW5hZ2VyIHNlcnZpY2UgcHJvdmlkZXMgd2F5cyBmb3IgZGF0YSB2aWV3cywgdG9vbGJhciBpdGVtcywgYW5kIG1vcmUgdG8gc3RheSB1cCB0byBkYXRlXG4gKiB3aXRoIHRoZSBhY3RpdmUgdmlldyBJRCwgZGF0YSBtYW5hZ2VyIGNvbmZpZywgcmVnaXN0ZXJlZCB2aWV3cyBhbmQgdGhlaXIgY29uZmlncywgYW5kIGRhdGEgc3RhdGUuXG4gKiBUaGVyZSBhcmUgbWV0aG9kcyB0byBnZXQgY3VycmVudCB2YWx1ZXMsIHVwZGF0ZSB2YWx1ZXMsIGFuZCBnZXQgc3Vic2NyaXB0aW9ucyB0byB0aGUgY2hhbmdpbmcgdmFsdWVzLlxuICpcbiAqIFByb3ZpZGUgdGhpcyBzZXJ2aWNlIGF0IHRoZSBjb21wb25lbnQgbGV2ZWwgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgYSBkYXRhIG1hbmFnZXIuIERvIG5vdFxuICogcHJvdmlkZSBpdCBhdCB0aGUgbW9kdWxlIGxldmVsIG9yIGluIGBhcHAtZXh0cmFzYC4gVGhpcyBhbGxvd3MgbXVsdGlwbGUgZGF0YVxuICogbWFuYWdlcnMgdG8gYmUgdXNlZCBhbmQgc2VsZi1jb250YWluZWQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdmlld2tlZXBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4oe30pO1xuXG4gIHJlYWRvbmx5ICNhY3RpdmVWaWV3SWQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJDb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNreURhdGFNYW5hZ2VyQ29uZmlnPih7fSk7XG4gIHJlYWRvbmx5ICN2aWV3cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5RGF0YVZpZXdDb25maWdbXT4oW10pO1xuICByZWFkb25seSAjZGF0YVN0YXRlQ2hhbmdlID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZT4oMSk7XG4gIHJlYWRvbmx5ICNkYXRhU3VtbWFyeSA9IG5ldyBTdWJqZWN0PFNreURhdGFNYW5hZ2VyU3VtbWFyeUNoYW5nZT4oKTtcblxuICAjaXNJbml0aWFsaXplZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjaW5pdFNvdXJjZSA9ICdkYXRhTWFuYWdlclNlcnZpY2VJbml0JztcbiAgI3VpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKHVpQ29uZmlnU2VydmljZTogU2t5VUlDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy4jdWlDb25maWdTZXJ2aWNlID0gdWlDb25maWdTZXJ2aWNlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI2FjdGl2ZVZpZXdJZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyQ29uZmlnLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jdmlld3MuY29tcGxldGUoKTtcbiAgICB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGRhdGEgbWFuYWdlciB3aXRoIHRoZSBnaXZlbiBzZXR0aW5ncyBhbmQgc2V0cyBgaXNJbml0aWFsaXplZGAgdG8gYHRydWVgLlxuICAgKiBUaGlzIG11c3QgYmUgY2FsbGVkIGZvciB0aGUgZGF0YSBtYW5hZ2VyIHRvIHJlbmRlci5cbiAgICogQHBhcmFtIGFyZ3MgVGhlIGluaXRpYWwgYWN0aXZlIHZpZXcgSUQsIGRhdGEgbWFuYWdlciBjb25maWcsIGFuZCBzdGF0ZSB0byB1c2UgZm9yIHRoZSBkYXRhIG1hbmFnZXIuXG4gICAqIElmIGEgc2V0dGluZ3Mga2V5IGlzIHByb3ZpZGVkLCBpdCBjaGVja3MgZm9yIGEgc2F2ZWQgZGF0YSBzdGF0ZSBpbiB0aGUgU0tZIFVJIGNvbmZpZyBzZXJ2aWNlIGJlZm9yZSB1c2luZyB0aGUgZGVmYXVsdCBkYXRhIHN0YXRlXG4gICAqIGFuZCBzYXZlcyBhbnkgc3RhdGUgY2hhbmdlcyB0byB0aGUgc2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBpbml0RGF0YU1hbmFnZXIoYXJnczogU2t5RGF0YU1hbmFnZXJJbml0QXJncyk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNpc0luaXRpYWxpemVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1RoaXMgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy4jaXNJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICBjb25zdCBkZWZhdWx0RGF0YVN0YXRlID0gYXJncy5kZWZhdWx0RGF0YVN0YXRlO1xuICAgIGNvbnN0IHNldHRpbmdzS2V5ID0gYXJncy5zZXR0aW5nc0tleTtcblxuICAgIHRoaXMudXBkYXRlQWN0aXZlVmlld0lkKGFyZ3MuYWN0aXZlVmlld0lkKTtcbiAgICB0aGlzLnVwZGF0ZURhdGFNYW5hZ2VyQ29uZmlnKGFyZ3MuZGF0YU1hbmFnZXJDb25maWcpO1xuXG4gICAgaWYgKHNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyhzZXR0aW5nc0tleSwgZGVmYXVsdERhdGFTdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29uZmlnOiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucykgPT4ge1xuICAgICAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoY29uZmlnKSxcbiAgICAgICAgICAgIHRoaXMuI2luaXRTb3VyY2UsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKGRlZmF1bHREYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5nc0tleSkge1xuICAgICAgdGhpcy5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI2luaXRTb3VyY2UpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAgIC5zZXRDb25maWcoc2V0dGluZ3NLZXksIHN0YXRlLmdldFN0YXRlT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZGF0YSBtYW5hZ2VyIHNldHRpbmdzLicpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgdmlldyB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlci4gVGhpcyBtdXN0IGJlIGNhbGxlZCBmb3IgZWFjaCB2aWV3IGZvciB0aGUgdmlld3MgdG8gYXBwZWFyIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBAcGFyYW0gdmlld0NvbmZpZyBUaGUgU2t5RGF0YVZpZXdDb25maWcgc2V0dGluZ3MgZm9yIHRoZSB2aWV3IGJlaW5nIHJlZ2lzdGVyZWQuXG4gICAqL1xuICBwdWJsaWMgaW5pdERhdGFWaWV3KHZpZXdDb25maWc6IFNreURhdGFWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy4jdmlld3MudmFsdWU7XG5cbiAgICBpZiAodGhpcy5nZXRWaWV3QnlJZCh2aWV3Q29uZmlnLmlkKSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgQSBkYXRhIG1hbmFnZXIgdmlldyB3aXRoIHRoZSBpZCAke3ZpZXdDb25maWcuaWR9IGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3VycmVudFZpZXdzLnB1c2godmlld0NvbmZpZyk7XG4gICAgdGhpcy4jdmlld3MubmV4dChjdXJyZW50Vmlld3MpO1xuXG4gICAgLy8gV2hlbiB0aGUgaW5pdGlhbCBhY3RpdmVWaWV3SWQgaXMgc2V0IHRoZXJlIGFyZSBubyB2aWV3cyByZWdpc3RlcmVkLiBXZSBoYXZlIHRvIHJlLWVtaXRcbiAgICAvLyB0aGUgYWN0aXZlSWQgc28gdGhlIG5ld2x5IHJlZ2lzdGVyZWQgdmlldyBpcyBub3RpZmllZCB0aGF0IGl0IGlzIGFjdGl2ZS5cbiAgICB0aGlzLiNhY3RpdmVWaWV3SWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGlkKSA9PiB7XG4gICAgICB0aGlzLiNhY3RpdmVWaWV3SWQubmV4dChpZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhU3RhdGVDaGFuZ2VcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YVN0YXRlID0gY2hhbmdlLmRhdGFTdGF0ZTtcbiAgICAgICAgY29uc3QgY3VycmVudFZpZXdTdGF0ZSA9IGRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHZpZXdDb25maWcuaWQpO1xuXG4gICAgICAgIGlmICghY3VycmVudFZpZXdTdGF0ZSkge1xuICAgICAgICAgIGNvbnN0IG5ld1ZpZXdTdGF0ZSA9IG5ldyBTa3lEYXRhVmlld1N0YXRlKHsgdmlld0lkOiB2aWV3Q29uZmlnLmlkIH0pO1xuXG4gICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHZpZXcgc3RhdGUncyBhdmFpbGFibGUgY29sdW1ucyBtYXRjaCB3aXRoIHRoZSB2aWV3IGNvbmZpZy4gQWxzbyxcbiAgICAgICAgICAvLyBhZGQgY29sdW1ucyB0byB0aGUgYGRpc3BsYXllZENvbHVtbklkc2AgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgYGluaXRpYWxIaWRlYFxuICAgICAgICAgIGlmICh2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9ucy5tYXAoKGNvbHVtbk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbnMuaWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXllZENvbHVtbklkcyA9IHZpZXdDb25maWcuY29sdW1uT3B0aW9uc1xuICAgICAgICAgICAgICAuZmlsdGVyKChjb2x1bW5PcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWNvbHVtbk9wdGlvbi5pbml0aWFsSGlkZTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLm1hcCgoY29sdW1uT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbi5pZDtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZS5jb2x1bW5JZHMgPSBjb2x1bW5JZHM7XG4gICAgICAgICAgICBuZXdWaWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXdEYXRhU3RhdGUgPSBkYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KFxuICAgICAgICAgICAgdmlld0NvbmZpZy5pZCxcbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhU3RhdGUobmV3RGF0YVN0YXRlLCB0aGlzLiNpbml0U291cmNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50QXZhaWxhYmxlQ29sdW1uSWRzID1cbiAgICAgICAgICAgIHZpZXdDb25maWcuY29sdW1uT3B0aW9ucz8ubWFwKChjb2x1bW5PcHRpb25zKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBjb2x1bW5PcHRpb25zLmlkO1xuICAgICAgICAgICAgfSkgfHwgW107XG5cbiAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdmlldyBzdGF0ZSdzIGF2YWlsYWJsZSBjb2x1bW5zIG1hdGNoIHdpdGggdGhlIHZpZXcgY29uZmlnLiBBbHNvLFxuICAgICAgICAgIC8vIGFkZCBuZXcgY29sdW1ucyB0byB0aGUgYGRpc3BsYXllZENvbHVtbklkc2AgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgYGluaXRpYWxIaWRlYC5cbiAgICAgICAgICAvLyBXZSBvbmx5IGFkZCBjb2x1bW5zIHRvIGBkaXNwbGF5ZWRDb2x1bW5zSWRzYCBpZiB3ZSBoYWQgcHJldmlvdXNseSB0cmFja2VkXG4gICAgICAgICAgLy8gYGNvbHVtbklkc2AgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICAgICAgICBpZiAoY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IG5ld0NvbHVtbklkcyA9IGN1cnJlbnRBdmFpbGFibGVDb2x1bW5JZHM/LmZpbHRlcihcbiAgICAgICAgICAgICAgKGlkKSA9PiBjdXJyZW50Vmlld1N0YXRlLmNvbHVtbklkcy5pbmRleE9mKGlkKSA8IDAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbmV3Q29sdW1uSWRzID0gbmV3Q29sdW1uSWRzPy5maWx0ZXIoKGNvbHVtbklkKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB2aWV3Q29uZmlnLmNvbHVtbk9wdGlvbnM/LmZpbmQoXG4gICAgICAgICAgICAgICAgKGNvbHVtbk9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgIGNvbHVtbk9wdGlvbi5pZCA9PT0gY29sdW1uSWQgJiYgIWNvbHVtbk9wdGlvbi5pbml0aWFsSGlkZSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGNvbHVtbiBJRHMgdGhhdCBub3cgZXhpc3QgdG8gdGhlIGRhdGEgbWFuYWdlciBzdGF0ZSBib3RoIGFzIGF2YWlsYWJsZVxuICAgICAgICAgICAgLy8gYW5kIGFzIHNob3duLlxuICAgICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMgPVxuICAgICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcy5jb25jYXQobmV3Q29sdW1uSWRzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQWRkIHRoZSBjb2x1bW4gSURzIHRoYXQgbm93IGV4aXN0IHRvIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUgYm90aCBhcyBhdmFpbGFibGVcbiAgICAgICAgICAvLyBhbmQgYXMgc2hvd24uXG4gICAgICAgICAgY3VycmVudFZpZXdTdGF0ZS5jb2x1bW5JZHMgPSBjdXJyZW50QXZhaWxhYmxlQ29sdW1uSWRzO1xuXG4gICAgICAgICAgY29uc3QgbmV3RGF0YVN0YXRlID0gZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShuZXdEYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgc3RhdGUgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICogSXQgZXhjbHVkZXMgdXBkYXRlcyBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcm92aWRlZCBzb3VyY2UuIFRoaXMgYWxsb3dzIHN1YnNjcmliZXJzIHRvIG9ubHkgcmVzcG9uZCB0b1xuICAgKiBjaGFuZ2VzIHRoZXkgZGlkIG5vdCBjcmVhdGUgYW5kIGhlbHBzIHByZXZlbnQgaW5maW5pdGUgbG9vcHMgb2YgdXBkYXRlcyBhbmQgcmVzcG9uc2VzLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgc3Vic2NyaWJpbmcgdG8gZGF0YSBzdGF0ZSB1cGRhdGVzLiBUaGlzIGNhbiBiZSBhbnkgdmFsdWUgeW91IGNob29zZVxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5IHVwZGF0ZXMgdGhlIHN0YXRlLlxuICAgKi9cbiAgcHVibGljIGdldERhdGFTdGF0ZVVwZGF0ZXMoXG4gICAgc291cmNlSWQ6IHN0cmluZyxcbiAgICB1cGRhdGVGaWx0ZXI/OiBTa3lEYXRhTWFuYWdlclN0YXRlVXBkYXRlRmlsdGVyQXJncyxcbiAgKTogT2JzZXJ2YWJsZTxTa3lEYXRhTWFuYWdlclN0YXRlPiB7XG4gICAgLy8gZmlsdGVyIG91dCBldmVudHMgZnJvbSB0aGUgcHJvdmlkZWQgc291cmNlIGFuZCBlbWl0IGp1c3QgdGhlIGRhdGFTdGF0ZVxuICAgIGlmICh1cGRhdGVGaWx0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UucGlwZShcbiAgICAgICAgZmlsdGVyKChzdGF0ZUNoYW5nZSkgPT4gc291cmNlSWQgIT09IHN0YXRlQ2hhbmdlLnNvdXJjZSksXG4gICAgICAgIG1hcCgoc3RhdGVDaGFuZ2UpID0+IHN0YXRlQ2hhbmdlLmRhdGFTdGF0ZSksXG4gICAgICAgIHVwZGF0ZUZpbHRlci5jb21wYXJhdG9yXG4gICAgICAgICAgPyBkaXN0aW5jdFVudGlsQ2hhbmdlZCh1cGRhdGVGaWx0ZXIuY29tcGFyYXRvcilcbiAgICAgICAgICA6IGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICB0aGlzLiNnZXREZWZhdWx0U3RhdGVDb21wYXJhdG9yKFxuICAgICAgICAgICAgICAgIHVwZGF0ZUZpbHRlci5wcm9wZXJ0aWVzIGFzIChrZXlvZiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucylbXSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy4jZGF0YVN0YXRlQ2hhbmdlLnBpcGUoXG4gICAgICAgIGZpbHRlcigoc3RhdGVDaGFuZ2UpID0+IHNvdXJjZUlkICE9PSBzdGF0ZUNoYW5nZS5zb3VyY2UpLFxuICAgICAgICBtYXAoKHN0YXRlQ2hhbmdlKSA9PiBzdGF0ZUNoYW5nZS5kYXRhU3RhdGUpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGF0YSBzdGF0ZSBhbmQgZW1pdHMgYSBuZXcgdmFsdWUgdG8gZW50aXRpZXMgc3Vic2NyaWJlZCB0byBkYXRhIHN0YXRlIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBzdGF0ZSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlclN0YXRlYCB2YWx1ZS5cbiAgICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgZW50aXR5IHVwZGF0aW5nIHRoZSBzdGF0ZS4gVGhpcyBjYW4gYmUgYW55IHZhbHVlIHlvdSBjaG9vc2UsXG4gICAqIGJ1dCBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGFuZCBzaG91bGQgYWxzbyBiZSB1c2VkIHdoZW4gdGhhdCBlbnRpdHlcbiAgICogc3Vic2NyaWJlcyB0byBzdGF0ZSBjaGFuZ2VzIGZyb20gYGdldERhdGFTdGF0ZVVwZGF0ZXNgLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZURhdGFTdGF0ZShzdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1N0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoc3RhdGUuZ2V0U3RhdGVPcHRpb25zKCkpO1xuICAgIGNvbnN0IG5ld1N0YXRlQ2hhbmdlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGVDaGFuZ2UobmV3U3RhdGUsIHNvdXJjZUlkKTtcblxuICAgIHRoaXMuI2RhdGFTdGF0ZUNoYW5nZS5uZXh0KG5ld1N0YXRlQ2hhbmdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgZGF0YSBzdW1tYXJ5IGNoYW5nZXMgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqIEl0IGV4Y2x1ZGVzIHVwZGF0ZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgcHJvdmlkZWQgc291cmNlLiBUaGlzIGFsbG93cyBzdWJzY3JpYmVycyB0byBvbmx5IHJlc3BvbmQgdG9cbiAgICogY2hhbmdlcyB0aGV5IGRpZCBub3QgY3JlYXRlIGFuZCBoZWxwcyBwcmV2ZW50IGluZmluaXRlIGxvb3BzIG9mIHVwZGF0ZXMgYW5kIHJlc3BvbnNlcy5cbiAgICogQHBhcmFtIHNvdXJjZUlkIFRoZSBJRCBvZiB0aGUgZW50aXR5IHN1YnNjcmliaW5nIHRvIGRhdGEgc3VtbWFyeSB1cGRhdGVzLiBUaGlzIGNhbiBiZSBhbnkgdmFsdWUgeW91IGNob29zZVxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5IHVwZGF0ZXMgdGhlIHN1bW1hcnkuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YVN1bW1hcnlVcGRhdGVzKFxuICAgIHNvdXJjZUlkOiBzdHJpbmcsXG4gICk6IE9ic2VydmFibGU8U2t5RGF0YU1hbmFnZXJTdW1tYXJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuI2RhdGFTdW1tYXJ5LnBpcGUoXG4gICAgICBmaWx0ZXIoKHN1bW1hcnlDaGFuZ2UpID0+IHNvdXJjZUlkICE9PSBzdW1tYXJ5Q2hhbmdlLnNvdXJjZSksXG4gICAgICBtYXAoKHN1bW1hcnlDaGFuZ2UpID0+IHN1bW1hcnlDaGFuZ2UuZGF0YVN1bW1hcnkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGF0YSBzdW1tYXJ5IGFuZCBlbWl0cyBhIG5ldyB2YWx1ZSB0byBlbnRpdGllcyBzdWJzY3JpYmVkIHRvIGRhdGEgc3VtbWFyeSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gc3VtbWFyeSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlclN1bW1hcnlgIHZhbHVlLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgdXBkYXRpbmcgdGhlIHN1bW1hcnkuIFRoaXMgY2FuIGJlIGFueSB2YWx1ZSB5b3UgY2hvb3NlLFxuICAgKiBidXQgc2hvdWxkIGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlciBpbnN0YW5jZSBhbmQgc2hvdWxkIGFsc28gYmUgdXNlZCB3aGVuIHRoYXQgZW50aXR5XG4gICAqIHN1YnNjcmliZXMgdG8gc3VtbWFyeSBjaGFuZ2VzIGZyb20gYGdldERhdGFTdW1tYXJ5VXBkYXRlc2AuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRGF0YVN1bW1hcnkoXG4gICAgc3VtbWFyeTogU2t5RGF0YU1hbmFnZXJTdW1tYXJ5LFxuICAgIHNvdXJjZUlkOiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFTdW1tYXJ5Lm5leHQoeyBkYXRhU3VtbWFyeTogc3VtbWFyeSwgc291cmNlOiBzb3VyY2VJZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGBTa3lEYXRhTWFuYWdlckNvbmZpZ2AuXG4gICAqL1xuICBwdWJsaWMgZ2V0Q3VycmVudERhdGFNYW5hZ2VyQ29uZmlnKCk6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy4jZGF0YU1hbmFnZXJDb25maWcudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgbWFuYWdlciBjb25maWcgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICovXG4gIHB1YmxpYyBnZXREYXRhTWFuYWdlckNvbmZpZ1VwZGF0ZXMoKTogT2JzZXJ2YWJsZTxTa3lEYXRhTWFuYWdlckNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLiNkYXRhTWFuYWdlckNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIG1hbmFnZXIgY29uZmlnIGFuZCBlbWl0cyBhIG5ldyB2YWx1ZSB0byBlbnRpdGllcyBzdWJzY3JpYmVkIHRvIGRhdGEgY29uZmlnIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgbmV3IGBTa3lEYXRhTWFuYWdlckNvbmZpZ2AgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRGF0YU1hbmFnZXJDb25maWcodmFsdWU6IFNreURhdGFNYW5hZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJDb25maWcubmV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIG9mIGRhdGEgdmlldyBjb25maWcgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICovXG4gIHB1YmxpYyBnZXREYXRhVmlld3NVcGRhdGVzKCk6IE9ic2VydmFibGU8U2t5RGF0YVZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLiN2aWV3cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgdGhlIGFjdGl2ZSB2aWV3IElEIHRoYXQgdmlld3MgYW5kIG90aGVyIGRhdGEgbWFuYWdlciBlbnRpdGllcyBjYW4gc3Vic2NyaWJlIHRvLlxuICAgKi9cbiAgcHVibGljIGdldEFjdGl2ZVZpZXdJZFVwZGF0ZXMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy4jYWN0aXZlVmlld0lkO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGFjdGl2ZSB2aWV3IElELiBUaGUgZGF0YSBtYW5hZ2VyIGNoYW5nZXMgdGhlIGRpc3BsYXllZCB2aWV3LlxuICAgKiBAcGFyYW0gaWQgVGhlIG5ldyBhY3RpdmUgdmlldyBJRC5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmVWaWV3SWQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2FjdGl2ZVZpZXdJZC5uZXh0KGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgU2t5RGF0YVZpZXdDb25maWdgIGZvciB0aGUgZ2l2ZW4gdmlldyBJRC5cbiAgICogQHBhcmFtIHZpZXdJZCBUaGUgSUQgb2YgdGhlIHZpZXcgY29uZmlnIHRvIGdldC5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWV3QnlJZCh2aWV3SWQ6IHN0cmluZyk6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3M6IFNreURhdGFWaWV3Q29uZmlnW10gPSB0aGlzLiN2aWV3cy52YWx1ZTtcbiAgICBjb25zdCB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZCA9IGN1cnJlbnRWaWV3cy5maW5kKFxuICAgICAgKHZpZXcpID0+IHZpZXcuaWQgPT09IHZpZXdJZCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHZpZXdDb25maWc7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZ2l2ZW4gdmlldyBjb25maWcuIFRoZSByZWdpc3RlcmVkIHZpZXcgd2l0aCB0aGUgc2FtZSBJRCBpcyB1cGRhdGVkIHRvIHRoZVxuICAgKiBwcm92aWRlZCBjb25maWcsIHNvIGluY2x1ZGUgYWxsIHByb3BlcnRpZXMgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgY2hhbmdlZC4gSWYgdGhlXG4gICAqIHZpZXcgd2FzIG5vdCBpbml0aWFsaXplZCBhbHJlYWR5LCBubyB1cGRhdGUgaGFwcGVucy5cbiAgICogQHBhcmFtIHZpZXcgVGhlIG5ldyBgU2t5RGF0YVZpZXdDb25maWdgIGNvbnRhaW5pbmcgYWxsIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlVmlld0NvbmZpZyh2aWV3OiBTa3lEYXRhVmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IHRoaXMuI3ZpZXdzLnZhbHVlO1xuICAgIGNvbnN0IGV4aXN0aW5nVmlld0luZGV4ID0gY3VycmVudFZpZXdzLmZpbmRJbmRleChcbiAgICAgIChjdXJyZW50VmlldykgPT4gY3VycmVudFZpZXcuaWQgPT09IHZpZXcuaWQsXG4gICAgKTtcblxuICAgIGlmIChleGlzdGluZ1ZpZXdJbmRleCA9PT0gLTEpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0EgdmlldyB3aXRoIHRoZSBpZCB7aWR9IGRvZXMgbm90IGV4aXN0LicsIHZpZXcuaWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50Vmlld3NbZXhpc3RpbmdWaWV3SW5kZXhdID0gdmlldztcbiAgICAgIHRoaXMuI3ZpZXdzLm5leHQoY3VycmVudFZpZXdzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc2V0Vmlld2tlZXBlckNsYXNzZXModmlld0lkOiBzdHJpbmcsIGNsYXNzZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY29uc3Qgdmlld2tlZXBlckNsYXNzZXMgPSB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnZhbHVlO1xuICAgIHZpZXdrZWVwZXJDbGFzc2VzW3ZpZXdJZF0gPSBjbGFzc2VzO1xuXG4gICAgdGhpcy52aWV3a2VlcGVyQ2xhc3Nlcy5uZXh0KHZpZXdrZWVwZXJDbGFzc2VzKTtcbiAgfVxuXG4gICNmaWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKFxuICAgIHN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgIHByb3BlcnRpZXM6IChrZXlvZiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucylbXSB8IHVuZGVmaW5lZCxcbiAgKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIGNvbnN0IHN0YXRlUHJvcGVydGllcyA9IHN0YXRlLmdldFN0YXRlT3B0aW9ucygpO1xuICAgIGNvbnN0IGZpbHRlcmVkU3RhdGVQcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gICAgaWYgKHByb3BlcnRpZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAocHJvcGVydHkgaW4gc3RhdGVQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgZmlsdGVyZWRTdGF0ZVByb3BlcnRpZXNbcHJvcGVydHldID0gc3RhdGVQcm9wZXJ0aWVzW3Byb3BlcnR5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXJlZFN0YXRlUHJvcGVydGllcztcbiAgfVxuXG4gICNnZXREZWZhdWx0U3RhdGVDb21wYXJhdG9yKFxuICAgIHByb3BlcnRpZXM6IChrZXlvZiBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucylbXSB8IHVuZGVmaW5lZCxcbiAgKTogKHN0YXRlMTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc3RhdGUyOiBTa3lEYXRhTWFuYWdlclN0YXRlKSA9PiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3RhdGUxOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgICAgc3RhdGUyOiBTa3lEYXRhTWFuYWdlclN0YXRlLFxuICAgICk6IGJvb2xlYW4gPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWRTdGF0ZTEgPSB0aGlzLiNmaWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKFxuICAgICAgICBzdGF0ZTEsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyZWRTdGF0ZTIgPSB0aGlzLiNmaWx0ZXJEYXRhU3RhdGVQcm9wZXJ0aWVzKFxuICAgICAgICBzdGF0ZTIsXG4gICAgICAgIHByb3BlcnRpZXMsXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZpbHRlcmVkU3RhdGUxKSA9PT0gSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRTdGF0ZTIpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, isStandalone, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyCheckboxModule, SkyRadioModule, } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkyFilterModule, SkySortModule } from '@skyux/lists';\nimport { SkySearchModule } from '@skyux/lookup';\nimport { SkyModalLegacyService, SkyModalService, } from '@skyux/modals';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerResourcesModule } from '../../shared/sky-data-manager-resources.module';\nimport { SkyDataManagerColumnPickerContext } from '../data-manager-column-picker/data-manager-column-picker-context';\nimport { SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS } from '../data-manager-column-picker/data-manager-column-picker-providers';\nimport { SkyDataManagerColumnPickerService } from '../data-manager-column-picker/data-manager-column-picker.service';\nimport { SkyDataManagerFilterModalContext } from '../data-manager-filter-context';\nimport { SkyDataManagerService } from '../data-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@skyux/forms\";\nimport * as i3 from \"@skyux/icon\";\nimport * as i4 from \"@skyux/lists\";\nimport * as i5 from \"@skyux/lookup\";\nimport * as i6 from \"@skyux/layout\";\nimport * as i7 from \"@skyux/i18n\";\n/**\n * Renders a `sky-toolbar` with the contents specified by the active view's `SkyDataViewConfig`\n * and the `SkyDataManagerToolbarLeftItemComponent`, `SkyDataManagerToolbarRightItemComponent`,\n * and `SkyDataManagerToolbarSectionComponent` wrappers.\n */\nexport class SkyDataManagerToolbarComponent {\n get activeView() {\n return this.#_activeView;\n }\n set activeView(value) {\n this.#_activeView = value;\n this.#changeDetector.markForCheck();\n }\n get dataManagerConfig() {\n return this.#_dataManagerConfig;\n }\n set dataManagerConfig(value) {\n this.#_dataManagerConfig = value;\n this.#changeDetector.markForCheck();\n }\n get dataState() {\n return this.#_dataState;\n }\n set dataState(value) {\n this.#_dataState = value;\n if (value) {\n this.#dataManagerService.updateDataState(value, this.#_source);\n }\n }\n get views() {\n return this.#_views;\n }\n set views(value) {\n this.#_views = value;\n this.#changeDetector.markForCheck();\n }\n #logger = inject(SkyLogService, { optional: true });\n #ngUnsubscribe = new Subject();\n // the source to provide for data state changes\n #_source = 'toolbar';\n #_activeView;\n #_dataManagerConfig;\n #_dataState;\n #_views = [];\n #changeDetector = inject(ChangeDetectorRef);\n #columnPickerService = inject(SkyDataManagerColumnPickerService);\n #dataManagerService = inject(SkyDataManagerService);\n #modalService = inject(SkyModalService);\n ngOnInit() {\n this.#dataManagerService\n .getActiveViewIdUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((activeViewId) => {\n /* istanbul ignore else */\n if (activeViewId) {\n this.activeView = this.#dataManagerService.getViewById(activeViewId);\n this.#changeDetector.markForCheck();\n }\n });\n this.#dataManagerService\n .getDataViewsUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((views) => {\n this.views = views;\n if (this.activeView) {\n this.activeView = this.#dataManagerService.getViewById(this.activeView.id);\n }\n this.#changeDetector.markForCheck();\n });\n this.#dataManagerService\n .getDataStateUpdates(this.#_source)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((dataState) => {\n this.#_dataState = dataState;\n this.onlyShowSelected = dataState.onlyShowSelected;\n this.#changeDetector.markForCheck();\n });\n this.#dataManagerService\n .getDataManagerConfigUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((config) => {\n this.dataManagerConfig = config;\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n sortSelected(sortOption) {\n if (this.dataState) {\n this.dataState.activeSortOption = sortOption;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n }\n onViewChange(viewId) {\n this.#dataManagerService.updateActiveViewId(viewId);\n }\n searchApplied(text) {\n if (this.dataState) {\n this.dataState.searchText = text;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n }\n filterButtonClicked() {\n const context = new SkyDataManagerFilterModalContext();\n const filterModal = this.dataManagerConfig && this.dataManagerConfig.filterModalComponent;\n context.filterData = this.dataState?.filterData;\n const options = {\n providers: [\n { provide: SkyDataManagerFilterModalContext, useValue: context },\n ],\n size: 'large',\n };\n if (filterModal) {\n if (!(this.#modalService instanceof SkyModalLegacyService) &&\n !isStandalone(filterModal)) {\n this.#logger?.deprecated('SkyDataManagerConfig.filterModalComponent not standalone', {\n deprecationMajorVersion: 9,\n replacementRecommendation: `The SkyDataManagerConfig.filterModalComponent must be a standalone component in order to receive the right dependency injector context.`,\n });\n }\n const modalInstance = this.#modalService.open(filterModal, options);\n modalInstance.closed.subscribe((result) => {\n if (this.dataState && result.reason === 'save') {\n this.dataState.filterData = result.data;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n });\n }\n }\n openColumnPicker() {\n if (this.dataState && this.activeView && this.activeView.columnOptions) {\n const viewState = this.dataState.getViewStateById(this.activeView.id);\n if (viewState) {\n const context = new SkyDataManagerColumnPickerContext(this.activeView.columnOptions, viewState.displayedColumnIds);\n if (this.activeView.columnPickerSortStrategy) {\n context.columnPickerSortStrategy =\n this.activeView.columnPickerSortStrategy;\n }\n const options = {\n providers: [\n SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS,\n {\n provide: SkyDataManagerColumnPickerContext,\n useValue: context,\n },\n ],\n };\n const modalInstance = this.#modalService.open(this.#columnPickerService.getComponentType(), options);\n modalInstance.closed.subscribe((result) => {\n if (result.reason === 'save') {\n const displayedColumnIds = result.data.map((col) => col.id);\n viewState.displayedColumnIds = displayedColumnIds;\n if (this.dataState && this.activeView) {\n this.dataState = this.dataState.addOrUpdateView(this.activeView.id, viewState);\n }\n }\n });\n }\n }\n }\n selectAll() {\n /* istanbul ignore else */\n if (this.activeView?.onSelectAllClick) {\n this.activeView.onSelectAllClick();\n }\n }\n clearAll() {\n /* istanbul ignore else */\n if (this.activeView?.onClearAllClick) {\n this.activeView.onClearAllClick();\n }\n }\n onOnlyShowSelected(event) {\n if (this.dataState) {\n this.dataState.onlyShowSelected = !!event.checked;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarComponent, isStandalone: true, selector: \"sky-data-manager-toolbar\", ngImport: i0, template: \"<div class=\\\"sky-data-manager-toolbar\\\">\\n <sky-toolbar [listDescriptor]=\\\"dataManagerConfig?.listDescriptor\\\">\\n <sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-primary-item\\\" />\\n\\n @if (activeView?.filterButtonEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-filter\\\">\\n <sky-filter-button\\n [showButtonText]=\\\"activeView?.showFilterButtonText\\\"\\n (filterButtonClick)=\\\"filterButtonClicked()\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.sortEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-sort\\\">\\n <sky-sort [showButtonText]=\\\"activeView?.showSortButtonText\\\">\\n @for (item of dataManagerConfig?.sortOptions; track item.id) {\\n <sky-sort-item\\n [active]=\\\"dataState?.activeSortOption?.id === item.id\\\"\\n (itemSelect)=\\\"sortSelected(item)\\\"\\n >\\n {{ item.label }}\\n </sky-sort-item>\\n }\\n </sky-sort>\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.columnPickerEnabled) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-col-picker-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_columns_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : ('skyux_data_manager_columns_button_title' | skyLibResources)\\n \\\"\\n [attr.title]=\\\"\\n 'skyux_data_manager_columns_button_title' | skyLibResources\\n \\\"\\n (click)=\\\"openColumnPicker()\\\"\\n >\\n <sky-icon iconName=\\\"layout-column-three\\\" />\\n <span class=\\\"sky-column-selector-action-btn-text\\\">\\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\\n </span>\\n </button>\\n </sky-toolbar-item>\\n }\\n\\n <ng-content select=\\\"sky-data-manager-toolbar-left-item\\\" />\\n\\n @if (activeView?.searchEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-search\\\">\\n <sky-search\\n [expandMode]=\\\"activeView?.searchExpandMode\\\"\\n [placeholderText]=\\\"activeView?.searchPlaceholderText\\\"\\n [searchText]=\\\"dataState?.searchText\\\"\\n (searchApply)=\\\"searchApplied($event)\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n <sky-toolbar-view-actions>\\n <ng-content select=\\\"sky-data-manager-toolbar-right-item\\\" />\\n @if (activeView && views && views.length > 1) {\\n <sky-radio-group\\n class=\\\"sky-switch-icon-group\\\"\\n [ariaLabel]=\\\"'data view switcher'\\\"\\n [(ngModel)]=\\\"activeView.id\\\"\\n >\\n @for (view of views; track view.id) {\\n <sky-radio\\n [attr.aria-label]=\\\"view.name\\\"\\n [iconName]=\\\"view.iconName\\\"\\n [value]=\\\"view.id\\\"\\n [label]=\\\"view.name\\\"\\n (change)=\\\"onViewChange(view.id)\\\"\\n />\\n }\\n </sky-radio-group>\\n }\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-section\\\" />\\n </sky-toolbar>\\n\\n <ng-content select=\\\"sky-filter-bar\\\" />\\n <ng-content select=\\\"sky-list-summary\\\" />\\n\\n @if (activeView?.multiselectToolbarEnabled) {\\n <sky-toolbar class=\\\"sky-data-manager-multiselect-toolbar\\\">\\n <sky-toolbar-section>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-select-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_select_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"selectAll()\\\"\\n >\\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_clear_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"clearAll()\\\"\\n >\\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-view-actions class=\\\"sky-data-manager-only-show-selected\\\">\\n <sky-checkbox\\n [checked]=\\\"onlyShowSelected\\\"\\n [label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_show_selected_option_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (change)=\\\"onOnlyShowSelected($event)\\\"\\n >\\n <sky-checkbox-label>\\n {{\\n 'skyux_data_manager_show_selected_option_title'\\n | skyLibResources\\n }}\\n </sky-checkbox-label>\\n </sky-checkbox>\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n </sky-toolbar>\\n }\\n</div>\\n\", styles: [\":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: SkyCheckboxModule }, { kind: \"component\", type: i2.λ3, selector: \"sky-checkbox\", inputs: [\"label\", \"labelledBy\", \"id\", \"disabled\", \"tabindex\", \"name\", \"helpPopoverContent\", \"helpPopoverTitle\", \"iconName\", \"checkboxType\", \"checked\", \"indeterminate\", \"required\", \"labelText\", \"labelHidden\", \"hintText\", \"stacked\", \"helpKey\"], outputs: [\"change\", \"checkedChange\", \"disabledChange\", \"indeterminateChange\"] }, { kind: \"component\", type: i2.λ4, selector: \"sky-checkbox-label\" }, { kind: \"ngmodule\", type: SkyDataManagerResourcesModule }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i3.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyFilterModule }, { kind: \"component\", type: i4.λ1, selector: \"sky-filter-button\", inputs: [\"filterButtonId\", \"ariaControls\", \"ariaExpanded\", \"ariaLabel\", \"active\", \"disabled\", \"showButtonText\"], outputs: [\"filterButtonClick\"] }, { kind: \"ngmodule\", type: SkyRadioModule }, { kind: \"component\", type: i2.λ13, selector: \"sky-radio\", inputs: [\"checked\", \"disabled\", \"id\", \"label\", \"labelledBy\", \"name\", \"tabindex\", \"value\", \"helpPopoverContent\", \"helpPopoverTitle\", \"iconName\", \"radioType\", \"labelText\", \"labelHidden\", \"hintText\", \"helpKey\"], outputs: [\"change\", \"checkedChange\", \"disabledChange\"] }, { kind: \"component\", type: i2.λ11, selector: \"sky-radio-group\", inputs: [\"ariaLabelledBy\", \"ariaLabel\", \"disabled\", \"headingLevel\", \"headingStyle\", \"name\", \"required\", \"stacked\", \"value\", \"tabIndex\", \"headingText\", \"headingHidden\", \"hintText\", \"helpPopoverContent\", \"helpPopoverTitle\", \"helpKey\"] }, { kind: \"ngmodule\", type: SkySearchModule }, { kind: \"component\", type: i5.SkySearchComponent, selector: \"sky-search\", inputs: [\"ariaLabel\", \"ariaLabelledBy\", \"searchText\", \"expandMode\", \"debounceTime\", \"disabled\", \"placeholderText\"], outputs: [\"searchApply\", \"searchChange\", \"searchClear\"] }, { kind: \"ngmodule\", type: SkySortModule }, { kind: \"component\", type: i4.λ14, selector: \"sky-sort\", inputs: [\"ariaLabel\", \"showButtonText\"] }, { kind: \"component\", type: i4.λ13, selector: \"sky-sort-item\", inputs: [\"active\"], outputs: [\"itemSelect\"] }, { kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i6.λ37, selector: \"sky-toolbar\", inputs: [\"listDescriptor\"] }, { kind: \"component\", type: i6.λ39, selector: \"sky-toolbar-item\" }, { kind: \"component\", type: i6.λ38, selector: \"sky-toolbar-section\" }, { kind: \"component\", type: i6.λ40, selector: \"sky-toolbar-view-actions\" }, { kind: \"pipe\", type: i7.SkyLibResourcesPipe, name: \"skyLibResources\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n FormsModule,\n SkyCheckboxModule,\n SkyDataManagerResourcesModule,\n SkyIconModule,\n SkyFilterModule,\n SkyRadioModule,\n SkySearchModule,\n SkySortModule,\n SkyToolbarModule,\n ], template: \"<div class=\\\"sky-data-manager-toolbar\\\">\\n <sky-toolbar [listDescriptor]=\\\"dataManagerConfig?.listDescriptor\\\">\\n <sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-primary-item\\\" />\\n\\n @if (activeView?.filterButtonEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-filter\\\">\\n <sky-filter-button\\n [showButtonText]=\\\"activeView?.showFilterButtonText\\\"\\n (filterButtonClick)=\\\"filterButtonClicked()\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.sortEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-sort\\\">\\n <sky-sort [showButtonText]=\\\"activeView?.showSortButtonText\\\">\\n @for (item of dataManagerConfig?.sortOptions; track item.id) {\\n <sky-sort-item\\n [active]=\\\"dataState?.activeSortOption?.id === item.id\\\"\\n (itemSelect)=\\\"sortSelected(item)\\\"\\n >\\n {{ item.label }}\\n </sky-sort-item>\\n }\\n </sky-sort>\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.columnPickerEnabled) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-col-picker-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_columns_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : ('skyux_data_manager_columns_button_title' | skyLibResources)\\n \\\"\\n [attr.title]=\\\"\\n 'skyux_data_manager_columns_button_title' | skyLibResources\\n \\\"\\n (click)=\\\"openColumnPicker()\\\"\\n >\\n <sky-icon iconName=\\\"layout-column-three\\\" />\\n <span class=\\\"sky-column-selector-action-btn-text\\\">\\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\\n </span>\\n </button>\\n </sky-toolbar-item>\\n }\\n\\n <ng-content select=\\\"sky-data-manager-toolbar-left-item\\\" />\\n\\n @if (activeView?.searchEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-search\\\">\\n <sky-search\\n [expandMode]=\\\"activeView?.searchExpandMode\\\"\\n [placeholderText]=\\\"activeView?.searchPlaceholderText\\\"\\n [searchText]=\\\"dataState?.searchText\\\"\\n (searchApply)=\\\"searchApplied($event)\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n <sky-toolbar-view-actions>\\n <ng-content select=\\\"sky-data-manager-toolbar-right-item\\\" />\\n @if (activeView && views && views.length > 1) {\\n <sky-radio-group\\n class=\\\"sky-switch-icon-group\\\"\\n [ariaLabel]=\\\"'data view switcher'\\\"\\n [(ngModel)]=\\\"activeView.id\\\"\\n >\\n @for (view of views; track view.id) {\\n <sky-radio\\n [attr.aria-label]=\\\"view.name\\\"\\n [iconName]=\\\"view.iconName\\\"\\n [value]=\\\"view.id\\\"\\n [label]=\\\"view.name\\\"\\n (change)=\\\"onViewChange(view.id)\\\"\\n />\\n }\\n </sky-radio-group>\\n }\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-section\\\" />\\n </sky-toolbar>\\n\\n <ng-content select=\\\"sky-filter-bar\\\" />\\n <ng-content select=\\\"sky-list-summary\\\" />\\n\\n @if (activeView?.multiselectToolbarEnabled) {\\n <sky-toolbar class=\\\"sky-data-manager-multiselect-toolbar\\\">\\n <sky-toolbar-section>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-select-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_select_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"selectAll()\\\"\\n >\\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_clear_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"clearAll()\\\"\\n >\\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-view-actions class=\\\"sky-data-manager-only-show-selected\\\">\\n <sky-checkbox\\n [checked]=\\\"onlyShowSelected\\\"\\n [label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_show_selected_option_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (change)=\\\"onOnlyShowSelected($event)\\\"\\n >\\n <sky-checkbox-label>\\n {{\\n 'skyux_data_manager_show_selected_option_title'\\n | skyLibResources\\n }}\\n </sky-checkbox-label>\\n </sky-checkbox>\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n </sky-toolbar>\\n }\\n</div>\\n\", styles: [\":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDZixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFHTCxxQkFBcUIsRUFDckIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8s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TSxTQUFTO1FBQ2QsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7K0dBdE9VLDhCQUE4QjttR0FBOUIsOEJBQThCLG9GQ2hFM0MsOGlMQXFKQSwrOEJEaEdJLFdBQVcsOFZBQ1gsaUJBQWlCLGtlQUNqQiw2QkFBNkIsOEJBQzdCLGFBQWEscUlBQ2IsZUFBZSxrUEFDZixjQUFjLCtvQkFDZCxlQUFlLHVSQUNmLGFBQWEsK09BQ2IsZ0JBQWdCOzs0RkFHUCw4QkFBOEI7a0JBakIxQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsNkJBQTZCO3dCQUM3QixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxuICBpc1N0YW5kYWxvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q2hlY2tib3hDaGFuZ2UsXG4gIFNreUNoZWNrYm94TW9kdWxlLFxuICBTa3lSYWRpb01vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJNb2R1bGUsIFNreVNvcnRNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5U2VhcmNoTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xvb2t1cCc7XG5pbXBvcnQge1xuICBTa3lNb2RhbENsb3NlQXJncyxcbiAgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxuICBTa3lNb2RhbExlZ2FjeVNlcnZpY2UsXG4gIFNreU1vZGFsU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LWRhdGEtbWFuYWdlci1yZXNvdXJjZXMubW9kdWxlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWNvbnRleHQnO1xuaW1wb3J0IHsgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLW9wdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc29ydC1vcHRpb24nO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5cbi8qKlxuICogUmVuZGVycyBhIGBza3ktdG9vbGJhcmAgd2l0aCB0aGUgY29udGVudHMgc3BlY2lmaWVkIGJ5IHRoZSBhY3RpdmUgdmlldydzIGBTa3lEYXRhVmlld0NvbmZpZ2BcbiAqIGFuZCB0aGUgYFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50YCwgYFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudGAsXG4gKiBhbmQgYFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnRgIHdyYXBwZXJzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreURhdGFNYW5hZ2VyUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5RmlsdGVyTW9kdWxlLFxuICAgIFNreVJhZGlvTW9kdWxlLFxuICAgIFNreVNlYXJjaE1vZHVsZSxcbiAgICBTa3lTb3J0TW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHVibGljIGdldCBhY3RpdmVWaWV3KCk6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZVZpZXc7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjdGl2ZVZpZXcodmFsdWU6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FjdGl2ZVZpZXcgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YU1hbmFnZXJDb25maWcoKTogU2t5RGF0YU1hbmFnZXJDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YU1hbmFnZXJDb25maWc7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFNYW5hZ2VyQ29uZmlnKHZhbHVlOiBTa3lEYXRhTWFuYWdlckNvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhTWFuYWdlckNvbmZpZyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhU3RhdGUoKTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kYXRhU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFTdGF0ZSh2YWx1ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhU3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUodmFsdWUsIHRoaXMuI19zb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogU2t5RGF0YVZpZXdDb25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI192aWV3cztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmlld3ModmFsdWU6IFNreURhdGFWaWV3Q29uZmlnW10pIHtcbiAgICB0aGlzLiNfdmlld3MgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNsb2dnZXIgPSBpbmplY3QoU2t5TG9nU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gdGhlIHNvdXJjZSB0byBwcm92aWRlIGZvciBkYXRhIHN0YXRlIGNoYW5nZXNcbiAgI19zb3VyY2UgPSAndG9vbGJhcic7XG4gICNfYWN0aXZlVmlldzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNfZGF0YU1hbmFnZXJDb25maWc6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjX2RhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZDtcbiAgI192aWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IFtdO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNjb2x1bW5QaWNrZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI21vZGFsU2VydmljZSA9IGluamVjdChTa3lNb2RhbFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoYWN0aXZlVmlld0lkKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLmdldFZpZXdCeUlkKGFjdGl2ZVZpZXdJZCk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVZpZXdzVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2aWV3cykgPT4ge1xuICAgICAgICB0aGlzLnZpZXdzID0gdmlld3M7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQoXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiNfc291cmNlKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI19kYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgIHRoaXMub25seVNob3dTZWxlY3RlZCA9IGRhdGFTdGF0ZS5vbmx5U2hvd1NlbGVjdGVkO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YU1hbmFnZXJDb25maWdVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnID0gY29uZmlnO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNvcnRTZWxlY3RlZChzb3J0T3B0aW9uOiBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh0aGlzLmRhdGFTdGF0ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVmlld0NoYW5nZSh2aWV3SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVBY3RpdmVWaWV3SWQodmlld0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUuc2VhcmNoVGV4dCA9IHRleHQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0KCk7XG4gICAgY29uc3QgZmlsdGVyTW9kYWwgPVxuICAgICAgdGhpcy5kYXRhTWFuYWdlckNvbmZpZyAmJiB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50O1xuXG4gICAgY29udGV4dC5maWx0ZXJEYXRhID0gdGhpcy5kYXRhU3RhdGU/LmZpbHRlckRhdGE7XG5cbiAgICBjb25zdCBvcHRpb25zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCwgdXNlVmFsdWU6IGNvbnRleHQgfSxcbiAgICAgIF0sXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgIH07XG5cbiAgICBpZiAoZmlsdGVyTW9kYWwpIHtcbiAgICAgIGlmIChcbiAgICAgICAgISh0aGlzLiNtb2RhbFNlcnZpY2UgaW5zdGFuY2VvZiBTa3lNb2RhbExlZ2FjeVNlcnZpY2UpICYmXG4gICAgICAgICFpc1N0YW5kYWxvbmUoZmlsdGVyTW9kYWwpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jbG9nZ2VyPy5kZXByZWNhdGVkKFxuICAgICAgICAgICdTa3lEYXRhTWFuYWdlckNvbmZpZy5maWx0ZXJNb2RhbENvbXBvbmVudCBub3Qgc3RhbmRhbG9uZScsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICAgICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOiBgVGhlIFNreURhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50IG11c3QgYmUgYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbiBvcmRlciB0byByZWNlaXZlIHRoZSByaWdodCBkZXBlbmRlbmN5IGluamVjdG9yIGNvbnRleHQuYCxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU2VydmljZS5vcGVuKGZpbHRlck1vZGFsLCBvcHRpb25zKTtcblxuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFTdGF0ZSAmJiByZXN1bHQucmVhc29uID09PSAnc2F2ZScpIHtcbiAgICAgICAgICB0aGlzLmRhdGFTdGF0ZS5maWx0ZXJEYXRhID0gcmVzdWx0LmRhdGE7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0YXRlLFxuICAgICAgICAgICAgdGhpcy4jX3NvdXJjZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkNvbHVtblBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgdGhpcy5hY3RpdmVWaWV3ICYmIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zKSB7XG4gICAgICBjb25zdCB2aWV3U3RhdGUgPSB0aGlzLmRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHRoaXMuYWN0aXZlVmlldy5pZCk7XG4gICAgICBpZiAodmlld1N0YXRlKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0KFxuICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zLFxuICAgICAgICAgIHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldy5jb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kpIHtcbiAgICAgICAgICBjb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuY29sdW1uUGlja2VyU29ydFN0cmF0ZWd5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0ge1xuICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0LFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogY29udGV4dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gdGhpcy4jbW9kYWxTZXJ2aWNlLm9wZW4oXG4gICAgICAgICAgdGhpcy4jY29sdW1uUGlja2VyU2VydmljZS5nZXRDb21wb25lbnRUeXBlKCksXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKTtcblxuICAgICAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKHJlc3VsdDogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnJlYXNvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ZWRDb2x1bW5JZHMgPSByZXN1bHQuZGF0YS5tYXAoXG4gICAgICAgICAgICAgIChjb2w6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uKSA9PiBjb2wuaWQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgICAgICAgICB0aGlzLmRhdGFTdGF0ZSA9IHRoaXMuZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgICAgICAgdmlld1N0YXRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXc/Lm9uU2VsZWN0QWxsQ2xpY2spIHtcbiAgICAgIHRoaXMuYWN0aXZlVmlldy5vblNlbGVjdEFsbENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldz8ub25DbGVhckFsbENsaWNrKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXcub25DbGVhckFsbENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uT25seVNob3dTZWxlY3RlZChldmVudDogU2t5Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQgPSAhIWV2ZW50LmNoZWNrZWQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyIFtsaXN0RGVzY3JpcHRvcl09XCJkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcIj5cbiAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW1cIiAvPlxuXG4gICAgICBAaWYgKGFjdGl2ZVZpZXc/LmZpbHRlckJ1dHRvbkVuYWJsZWQpIHtcbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0gY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLWZpbHRlclwiPlxuICAgICAgICAgIDxza3ktZmlsdGVyLWJ1dHRvblxuICAgICAgICAgICAgW3Nob3dCdXR0b25UZXh0XT1cImFjdGl2ZVZpZXc/LnNob3dGaWx0ZXJCdXR0b25UZXh0XCJcbiAgICAgICAgICAgIChmaWx0ZXJCdXR0b25DbGljayk9XCJmaWx0ZXJCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIH1cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5zb3J0RW5hYmxlZCkge1xuICAgICAgICA8c2t5LXRvb2xiYXItaXRlbSBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItc29ydFwiPlxuICAgICAgICAgIDxza3ktc29ydCBbc2hvd0J1dHRvblRleHRdPVwiYWN0aXZlVmlldz8uc2hvd1NvcnRCdXR0b25UZXh0XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGRhdGFNYW5hZ2VyQ29uZmlnPy5zb3J0T3B0aW9uczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICA8c2t5LXNvcnQtaXRlbVxuICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiZGF0YVN0YXRlPy5hY3RpdmVTb3J0T3B0aW9uPy5pZCA9PT0gaXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgKGl0ZW1TZWxlY3QpPVwic29ydFNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9za3ktc29ydC1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc2t5LXNvcnQ+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIH1cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5jb2x1bW5QaWNrZXJFbmFibGVkKSB7XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWNvbC1waWNrZXItYnRuXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtblBpY2tlcigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJsYXlvdXQtY29sdW1uLXRocmVlXCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2t5LWNvbHVtbi1zZWxlY3Rvci1hY3Rpb24tYnRuLXRleHRcIj5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgfVxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtXCIgLz5cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5zZWFyY2hFbmFibGVkKSB7XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1zZWFyY2hcIj5cbiAgICAgICAgICA8c2t5LXNlYXJjaFxuICAgICAgICAgICAgW2V4cGFuZE1vZGVdPVwiYWN0aXZlVmlldz8uc2VhcmNoRXhwYW5kTW9kZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJUZXh0XT1cImFjdGl2ZVZpZXc/LnNlYXJjaFBsYWNlaG9sZGVyVGV4dFwiXG4gICAgICAgICAgICBbc2VhcmNoVGV4dF09XCJkYXRhU3RhdGU/LnNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKHNlYXJjaEFwcGx5KT1cInNlYXJjaEFwcGxpZWQoJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgfVxuXG4gICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbVwiIC8+XG4gICAgICAgIEBpZiAoYWN0aXZlVmlldyAmJiB2aWV3cyAmJiB2aWV3cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgPHNreS1yYWRpby1ncm91cFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIlxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInZGF0YSB2aWV3IHN3aXRjaGVyJ1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjdGl2ZVZpZXcuaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKHZpZXcgb2Ygdmlld3M7IHRyYWNrIHZpZXcuaWQpIHtcbiAgICAgICAgICAgICAgPHNreS1yYWRpb1xuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidmlldy5uYW1lXCJcbiAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwidmlldy5pY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZpZXcuaWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ2aWV3Lm5hbWVcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25WaWV3Q2hhbmdlKHZpZXcuaWQpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NreS1yYWRpby1ncm91cD5cbiAgICAgICAgfVxuICAgICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1zZWN0aW9uXCIgLz5cbiAgPC9za3ktdG9vbGJhcj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZmlsdGVyLWJhclwiIC8+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1saXN0LXN1bW1hcnlcIiAvPlxuXG4gIEBpZiAoYWN0aXZlVmlldz8ubXVsdGlzZWxlY3RUb29sYmFyRW5hYmxlZCkge1xuICAgIDxza3ktdG9vbGJhciBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItbXVsdGlzZWxlY3QtdG9vbGJhclwiPlxuICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWRhdGEtbWFuYWdlci1zZWxlY3QtYWxsLWJ0blwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvclxuICAgICAgICAgICAgICAgID8gKCdza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fYXJpYV9sYWJlbCdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3IpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QWxsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktZGF0YS1tYW5hZ2VyLWNsZWFyLWFsbC1idG5cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fYXJpYV9sYWJlbCdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3IpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jbGVhcl9hbGxfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnMgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLW9ubHktc2hvdy1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIm9ubHlTaG93U2VsZWN0ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX2FyaWFfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbk9ubHlTaG93U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8L3NreS10b29sYmFyPlxuICB9XG48L2Rpdj5cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input, } from '@angular/core';\nimport { SkyLiveAnnouncerService, SkyViewkeeperModule } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyBackToTopMessageType, SkyBackToTopModule, } from '@skyux/layout';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerService } from './data-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\nimport * as i2 from \"@skyux/core\";\nconst VIEWKEEPER_CLASSES_DEFAULT = ['.sky-data-manager-toolbar'];\nconst DEFAULT_DOCK_TYPE = 'none';\n/**\n * The top-level data manager component. Provide `SkyDataManagerService` at this level.\n */\nexport class SkyDataManagerComponent {\n constructor() {\n /**\n * How the data manager docks to the page. Use `fill` to dock the data manager\n * to the container's size where the container is a `sky-page` component with\n * its `layout` set to `fit`, or where the container is another element with\n * a `relative` or `absolute` position and a fixed size.\n * `sky-data-manager-toolbar` will be docked to the top of all other content.\n * @default \"none\"\n */\n this.dock = input(DEFAULT_DOCK_TYPE, ...(ngDevMode ? [{ debugName: \"dock\" }] : []));\n this.dockClass = computed(() => {\n return 'sky-data-manager-dock-' + (this.dock() || DEFAULT_DOCK_TYPE);\n }, ...(ngDevMode ? [{ debugName: \"dockClass\" }] : []));\n this.backToTopController = new Subject();\n this.backToTopOptions = {\n buttonHidden: true,\n };\n this.#allViewkeeperClasses = {};\n this.#ngUnsubscribe = new Subject();\n this.#sourceId = 'dataManagerComponent';\n this.#_isInitialized = false;\n this.#_currentViewkeeperClasses = VIEWKEEPER_CLASSES_DEFAULT;\n this.#changeDetection = inject(ChangeDetectorRef);\n this.#dataManagerService = inject(SkyDataManagerService);\n this.#liveAnnouncer = inject(SkyLiveAnnouncerService);\n this.#resourceSvc = inject(SkyLibResourcesService);\n }\n get currentViewkeeperClasses() {\n return this.#_currentViewkeeperClasses;\n }\n set currentViewkeeperClasses(value) {\n this.#_currentViewkeeperClasses = [\n ...VIEWKEEPER_CLASSES_DEFAULT,\n ...(value || []),\n ];\n this.#changeDetection.markForCheck();\n }\n get isInitialized() {\n return this.#_isInitialized;\n }\n set isInitialized(value) {\n this.#_isInitialized = value;\n this.#changeDetection.markForCheck();\n }\n #activeViewId;\n #allViewkeeperClasses;\n #ngUnsubscribe;\n #sourceId;\n #dataState;\n #_isInitialized;\n #_currentViewkeeperClasses;\n #changeDetection;\n #dataManagerService;\n #liveAnnouncer;\n #resourceSvc;\n ngOnInit() {\n this.#dataManagerService\n .getDataStateUpdates(this.#sourceId)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.isInitialized = true;\n this.#dataState = state;\n });\n this.#dataManagerService\n .getDataSummaryUpdates(this.#sourceId)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((summary) => {\n const itemsSelected = this.#dataState?.selectedIds?.length || 0;\n const resourceString = `skyux_data_manager_status_update_${this.#dataState?.onlyShowSelected\n ? 'only_selected'\n : itemsSelected\n ? 'with_selections'\n : 'without_selections'}`;\n this.#announceState(resourceString, summary.itemsMatching, summary.totalItems, itemsSelected);\n });\n this.#dataManagerService.viewkeeperClasses\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((classes) => {\n this.#allViewkeeperClasses = classes;\n this.currentViewkeeperClasses = this.#activeViewId\n ? classes[this.#activeViewId]\n : undefined;\n });\n this.#dataManagerService\n .getActiveViewIdUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((activeViewId) => {\n this.#activeViewId = activeViewId;\n this.backToTopController.next({\n type: SkyBackToTopMessageType.BackToTop,\n });\n this.currentViewkeeperClasses =\n this.#allViewkeeperClasses[this.#activeViewId];\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #announceState(resourceString, itemsMatching, totalItems, itemsSelected) {\n this.#resourceSvc\n .getString(resourceString, itemsMatching, totalItems, itemsSelected)\n .pipe(take(1))\n .subscribe((internationalizedString) => {\n this.#liveAnnouncer.announce(internationalizedString);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataManagerComponent, isStandalone: true, selector: \"sky-data-manager\", inputs: { dock: { classPropertyName: \"dock\", publicName: \"dock\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (isInitialized) {\\n <div\\n #dataManager\\n skyViewkeeperOmitShadow=\\\".ag-body-horizontal-scroll\\\"\\n [class]=\\\"'sky-data-manager ' + dockClass()\\\"\\n [skyBackToTop]=\\\"backToTopOptions\\\"\\n [skyBackToTopMessageStream]=\\\"backToTopController\\\"\\n [skyViewkeeper]=\\\"currentViewkeeperClasses\\\"\\n >\\n <div class=\\\"sky-data-manager-toolbar-container\\\">\\n <ng-content select=\\\"sky-data-manager-toolbar\\\" />\\n </div>\\n <div class=\\\"sky-data-manager-content\\\">\\n <ng-content />\\n </div>\\n </div>\\n}\\n\", styles: [\".sky-data-manager-dock-fill.sky-data-manager{position:absolute;top:0;right:var(--sky-viewport-right);bottom:var(--sky-viewport-bottom);left:var(--sky-viewport-left);display:flex;flex-direction:column}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-toolbar-container{flex-grow:0;display:block}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-content{display:block;flex-grow:1;overflow:auto;position:relative}.sky-data-manager-content{height:100%;width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyBackToTopModule }, { kind: \"directive\", type: i1.λ7, selector: \"[skyBackToTop]\", inputs: [\"skyBackToTop\", \"skyBackToTopMessageStream\"] }, { kind: \"ngmodule\", type: SkyViewkeeperModule }, { kind: \"directive\", type: i2.λ3, selector: \"[skyViewkeeper]\", inputs: [\"skyViewkeeper\", \"skyViewkeeperOmitShadow\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyBackToTopModule, SkyViewkeeperModule], template: \"@if (isInitialized) {\\n <div\\n #dataManager\\n skyViewkeeperOmitShadow=\\\".ag-body-horizontal-scroll\\\"\\n [class]=\\\"'sky-data-manager ' + dockClass()\\\"\\n [skyBackToTop]=\\\"backToTopOptions\\\"\\n [skyBackToTopMessageStream]=\\\"backToTopController\\\"\\n [skyViewkeeper]=\\\"currentViewkeeperClasses\\\"\\n >\\n <div class=\\\"sky-data-manager-toolbar-container\\\">\\n <ng-content select=\\\"sky-data-manager-toolbar\\\" />\\n </div>\\n <div class=\\\"sky-data-manager-content\\\">\\n <ng-content />\\n </div>\\n </div>\\n}\\n\", styles: [\".sky-data-manager-dock-fill.sky-data-manager{position:absolute;top:0;right:var(--sky-viewport-right);bottom:var(--sky-viewport-bottom);left:var(--sky-viewport-left);display:flex;flex-direction:column}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-toolbar-container{flex-grow:0;display:block}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-content{display:block;flex-grow:1;overflow:auto;position:relative}.sky-data-manager-content{height:100%;width:100%}\\n\"] }]\n }], propDecorators: { dock: [{ type: i0.Input, args: [{ isSignal: true, alias: \"dock\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFLL0QsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDakUsTUFBTSxpQkFBaUIsR0FBMkIsTUFBTSxDQUFDO0FBRXpEOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQTZCRTs7Ozs7OztXQU9HO1FBQ2EsU0FBSSxHQUFHLEtBQUssQ0FBeUIsaUJBQWlCLGdEQUFDLENBQUM7UUFFckQs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UUFFckIsSUFBSSxDQUFDLFlBQVk7YUFDZCxTQUFTLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDO2FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTdIVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2TUN2Q3BDLHNoQkFpQkEsZ2lCRG9CWSxrQkFBa0IscUpBQUUsbUJBQW1COzs0RkFFdEMsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlLCBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7XG4gIFNreUJhY2tUb1RvcE1lc3NhZ2UsXG4gIFNreUJhY2tUb1RvcE1lc3NhZ2VUeXBlLFxuICBTa3lCYWNrVG9Ub3BNb2R1bGUsXG59IGZyb20gJ0Bza3l1eC9sYXlvdXQnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN1bW1hcnkgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3VtbWFyeSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckRvY2tUeXBlIH0gZnJvbSAnLi90eXBlcy9kYXRhLW1hbmFnZXItZG9jay10eXBlJztcblxuY29uc3QgVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQgPSBbJy5za3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInXTtcbmNvbnN0IERFRkFVTFRfRE9DS19UWVBFOiBTa3lEYXRhTWFuYWdlckRvY2tUeXBlID0gJ25vbmUnO1xuXG4vKipcbiAqIFRoZSB0b3AtbGV2ZWwgZGF0YSBtYW5hZ2VyIGNvbXBvbmVudC4gUHJvdmlkZSBgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlYCBhdCB0aGlzIGxldmVsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1NreUJhY2tUb1RvcE1vZHVsZSwgU2t5Vmlld2tlZXBlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jdXJyZW50Vmlld2tlZXBlckNsYXNzZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzID0gW1xuICAgICAgLi4uVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQsXG4gICAgICAuLi4odmFsdWUgfHwgW10pLFxuICAgIF07XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNJbml0aWFsaXplZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNJbml0aWFsaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pc0luaXRpYWxpemVkID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvdyB0aGUgZGF0YSBtYW5hZ2VyIGRvY2tzIHRvIHRoZSBwYWdlLiBVc2UgYGZpbGxgIHRvIGRvY2sgdGhlIGRhdGEgbWFuYWdlclxuICAgKiB0byB0aGUgY29udGFpbmVyJ3Mgc2l6ZSB3aGVyZSB0aGUgY29udGFpbmVyIGlzIGEgYHNreS1wYWdlYCBjb21wb25lbnQgd2l0aFxuICAgKiBpdHMgYGxheW91dGAgc2V0IHRvIGBmaXRgLCBvciB3aGVyZSB0aGUgY29udGFpbmVyIGlzIGFub3RoZXIgZWxlbWVudCB3aXRoXG4gICAqIGEgYHJlbGF0aXZlYCBvciBgYWJzb2x1dGVgIHBvc2l0aW9uIGFuZCBhIGZpeGVkIHNpemUuXG4gICAqIGBza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXJgIHdpbGwgYmUgZG9ja2VkIHRvIHRoZSB0b3Agb2YgYWxsIG90aGVyIGNvbnRlbnQuXG4gICAqIEBkZWZhdWx0IFwibm9uZVwiXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jayA9IGlucHV0PFNreURhdGFNYW5hZ2VyRG9ja1R5cGU+KERFRkFVTFRfRE9DS19UWVBFKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9ja0NsYXNzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAnc2t5LWRhdGEtbWFuYWdlci1kb2NrLScgKyAodGhpcy5kb2NrKCkgfHwgREVGQVVMVF9ET0NLX1RZUEUpO1xuICB9KTtcblxuICBwdWJsaWMgYmFja1RvVG9wQ29udHJvbGxlciA9IG5ldyBTdWJqZWN0PFNreUJhY2tUb1RvcE1lc3NhZ2U+KCk7XG5cbiAgcHVibGljIGJhY2tUb1RvcE9wdGlvbnMgPSB7XG4gICAgYnV0dG9uSGlkZGVuOiB0cnVlLFxuICB9O1xuXG4gICNhY3RpdmVWaWV3SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI2FsbFZpZXdrZWVwZXJDbGFzc2VzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjc291cmNlSWQgPSAnZGF0YU1hbmFnZXJDb21wb25lbnQnO1xuICAjZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gICNfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAjX2N1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9IFZJRVdLRUVQRVJfQ0xBU1NFU19ERUZBVUxUO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3Rpb24gPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNsaXZlQW5ub3VuY2VyID0gaW5qZWN0KFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI3NvdXJjZUlkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZVxuICAgICAgLmdldERhdGFTdW1tYXJ5VXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN1bW1hcnk6IFNreURhdGFNYW5hZ2VyU3VtbWFyeSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtc1NlbGVjdGVkID0gdGhpcy4jZGF0YVN0YXRlPy5zZWxlY3RlZElkcz8ubGVuZ3RoIHx8IDA7XG4gICAgICAgIGNvbnN0IHJlc291cmNlU3RyaW5nID0gYHNreXV4X2RhdGFfbWFuYWdlcl9zdGF0dXNfdXBkYXRlXyR7XG4gICAgICAgICAgdGhpcy4jZGF0YVN0YXRlPy5vbmx5U2hvd1NlbGVjdGVkXG4gICAgICAgICAgICA/ICdvbmx5X3NlbGVjdGVkJ1xuICAgICAgICAgICAgOiBpdGVtc1NlbGVjdGVkXG4gICAgICAgICAgICAgID8gJ3dpdGhfc2VsZWN0aW9ucydcbiAgICAgICAgICAgICAgOiAnd2l0aG91dF9zZWxlY3Rpb25zJ1xuICAgICAgICB9YDtcblxuICAgICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAgIHJlc291cmNlU3RyaW5nLFxuICAgICAgICAgIHN1bW1hcnkuaXRlbXNNYXRjaGluZyxcbiAgICAgICAgICBzdW1tYXJ5LnRvdGFsSXRlbXMsXG4gICAgICAgICAgaXRlbXNTZWxlY3RlZCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnZpZXdrZWVwZXJDbGFzc2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjbGFzc2VzKSA9PiB7XG4gICAgICAgIHRoaXMuI2FsbFZpZXdrZWVwZXJDbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPSB0aGlzLiNhY3RpdmVWaWV3SWRcbiAgICAgICAgICA/IGNsYXNzZXNbdGhpcy4jYWN0aXZlVmlld0lkXVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICB0aGlzLiNhY3RpdmVWaWV3SWQgPSBhY3RpdmVWaWV3SWQ7XG4gICAgICAgIHRoaXMuYmFja1RvVG9wQ29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgICB0eXBlOiBTa3lCYWNrVG9Ub3BNZXNzYWdlVHlwZS5CYWNrVG9Ub3AsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9XG4gICAgICAgICAgdGhpcy4jYWxsVmlld2tlZXBlckNsYXNzZXNbdGhpcy4jYWN0aXZlVmlld0lkXTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICNhbm5vdW5jZVN0YXRlKFxuICAgIHJlc291cmNlU3RyaW5nOiBzdHJpbmcsXG4gICAgaXRlbXNNYXRjaGluZzogbnVtYmVyLFxuICAgIHRvdGFsSXRlbXM6IG51bWJlcixcbiAgICBpdGVtc1NlbGVjdGVkOiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlU3ZjXG4gICAgICAuZ2V0U3RyaW5nKHJlc291cmNlU3RyaW5nLCBpdGVtc01hdGNoaW5nLCB0b3RhbEl0ZW1zLCBpdGVtc1NlbGVjdGVkKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGludGVybmF0aW9uYWxpemVkU3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuI2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaW50ZXJuYXRpb25hbGl6ZWRTdHJpbmcpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAoaXNJbml0aWFsaXplZCkge1xuICA8ZGl2XG4gICAgI2RhdGFNYW5hZ2VyXG4gICAgc2t5Vmlld2tlZXBlck9taXRTaGFkb3c9XCIuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbFwiXG4gICAgW2NsYXNzXT1cIidza3ktZGF0YS1tYW5hZ2VyICcgKyBkb2NrQ2xhc3MoKVwiXG4gICAgW3NreUJhY2tUb1RvcF09XCJiYWNrVG9Ub3BPcHRpb25zXCJcbiAgICBbc2t5QmFja1RvVG9wTWVzc2FnZVN0cmVhbV09XCJiYWNrVG9Ub3BDb250cm9sbGVyXCJcbiAgICBbc2t5Vmlld2tlZXBlcl09XCJjdXJyZW50Vmlld2tlZXBlckNsYXNzZXNcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhclwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, inject, } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\nimport { SkyTextHighlightDirective } from '@skyux/indicators';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerService } from './data-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@skyux/indicators\";\n/**\n * A data view is rendered within a data manager component.\n * It can subscribe to data state changes from `SkyDataManagerService` and apply the filters,\n * search text, and more to the data it displays.\n */\nexport class SkyDataViewComponent {\n get dataViewId() {\n return this.viewId;\n }\n get isActive() {\n return this.#_isActive;\n }\n set isActive(value) {\n this.#_isActive = value;\n this.#changeDetector.markForCheck();\n }\n get textHighlight() {\n return this.#_textHighlight;\n }\n set textHighlight(value) {\n this.#_textHighlight = value;\n this.#textHighlight.skyHighlight = value;\n this.#changeDetector.markForCheck();\n }\n #_isActive = false;\n #_textHighlight;\n #ngUnsubscribe = new Subject();\n #currentState;\n #dataManagerService = inject(SkyDataManagerService);\n #changeDetector = inject(ChangeDetectorRef);\n #textHighlight = inject(SkyTextHighlightDirective, { self: true });\n ngOnInit() {\n this.#dataManagerService\n .getActiveViewIdUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((activeViewId) => {\n this.isActive = this.viewId === activeViewId;\n });\n this.#dataManagerService\n .getDataViewsUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#updateSearchHighlight(this.#currentState);\n });\n /* istanbul ignore else */\n if (this.viewId) {\n this.#dataManagerService\n .getDataStateUpdates(this.viewId)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.#currentState = state;\n this.#updateSearchHighlight(state);\n });\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #updateSearchHighlight(state) {\n if (this.viewId) {\n const view = this.#dataManagerService.getViewById(this.viewId);\n if (view?.searchHighlightEnabled) {\n this.textHighlight = state?.searchText;\n }\n else if (this.textHighlight) {\n this.textHighlight = undefined;\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataViewComponent, isStandalone: true, selector: \"sky-data-view\", inputs: { viewId: \"viewId\" }, host: { properties: { \"attr.data-view-id\": \"this.dataViewId\" } }, hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }, { directive: i2.SkyTextHighlightDirective }], ngImport: i0, template: \"@if (isActive) {\\n <ng-content />\\n}\\n\", styles: [\":host{display:block}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-view', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective, SkyTextHighlightDirective], template: \"@if (isActive) {\\n <ng-content />\\n}\\n\", styles: [\":host{display:block}\\n\"] }]\n }], propDecorators: { viewId: [{\n type: Input\n }], dataViewId: [{\n type: HostBinding,\n args: ['attr.data-view-id']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRy9EOzs7O0dBSUc7QUFjSCxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFB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QUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5cbi8qKlxuICogQSBkYXRhIHZpZXcgaXMgcmVuZGVyZWQgd2l0aGluIGEgZGF0YSBtYW5hZ2VyIGNvbXBvbmVudC5cbiAqIEl0IGNhbiBzdWJzY3JpYmUgdG8gZGF0YSBzdGF0ZSBjaGFuZ2VzIGZyb20gYFNreURhdGFNYW5hZ2VyU2VydmljZWAgYW5kIGFwcGx5IHRoZSBmaWx0ZXJzLFxuICogc2VhcmNoIHRleHQsIGFuZCBtb3JlIHRvIHRoZSBkYXRhIGl0IGRpc3BsYXlzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1NreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlLCBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRhVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdmlldy4gU2VlIHRoZSBgU2t5RGF0YVZpZXdDb25maWdgIGludGVyZmFjZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdmlld0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdmlldy1pZCcpXG4gIHB1YmxpYyBnZXQgZGF0YVZpZXdJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZpZXdJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc0FjdGl2ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNBY3RpdmUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dEhpZ2hsaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGV4dEhpZ2hsaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGV4dEhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RleHRIaWdobGlnaHQgPSB2YWx1ZTtcbiAgICB0aGlzLiN0ZXh0SGlnaGxpZ2h0LnNreUhpZ2hsaWdodCA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI19pc0FjdGl2ZSA9IGZhbHNlO1xuICAjX3RleHRIaWdobGlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNjdXJyZW50U3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2RhdGFNYW5hZ2VyU2VydmljZSA9IGluamVjdChTa3lEYXRhTWFuYWdlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjdGV4dEhpZ2hsaWdodDogU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZSA9IGluamVjdChcbiAgICBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLFxuICAgIHsgc2VsZjogdHJ1ZSB9LFxuICApO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICB0aGlzLmlzQWN0aXZlID0gdGhpcy52aWV3SWQgPT09IGFjdGl2ZVZpZXdJZDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVZpZXdzVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jdXBkYXRlU2VhcmNoSGlnaGxpZ2h0KHRoaXMuI2N1cnJlbnRTdGF0ZSk7XG4gICAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMudmlld0lkKSB7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgICAgLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy52aWV3SWQpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50U3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVTZWFyY2hIaWdobGlnaHQoc3RhdGUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI3VwZGF0ZVNlYXJjaEhpZ2hsaWdodChzdGF0ZT86IFNreURhdGFNYW5hZ2VyU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3SWQpIHtcbiAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQodGhpcy52aWV3SWQpO1xuXG4gICAgICBpZiAodmlldz8uc2VhcmNoSGlnaGxpZ2h0RW5hYmxlZCkge1xuICAgICAgICB0aGlzLnRleHRIaWdobGlnaHQgPSBzdGF0ZT8uc2VhcmNoVGV4dDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50ZXh0SGlnaGxpZ2h0KSB7XG4gICAgICAgIHRoaXMudGV4dEhpZ2hsaWdodCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoaXNBY3RpdmUpIHtcbiAgPG5nLWNvbnRlbnQgLz5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, inject, } from '@angular/core';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyRepeaterModule } from '@skyux/lists';\nimport { SkyModalInstance, SkyModalModule } from '@skyux/modals';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerResourcesModule } from '../../shared/sky-data-manager-resources.module';\nimport { SkyDataManagerToolbarComponent } from '../data-manager-toolbar/data-manager-toolbar.component';\nimport { SkyDataManagerComponent } from '../data-manager.component';\nimport { SkyDataManagerService } from '../data-manager.service';\nimport { SkyDataViewComponent } from '../data-view.component';\nimport { SkyDataManagerColumnPickerSortStrategy } from '../models/data-manager-column-picker-sort-strategy';\nimport { SkyDataManagerState } from '../models/data-manager-state';\nimport { SkyDataManagerColumnPickerContext } from './data-manager-column-picker-context';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/modals\";\nimport * as i2 from \"@skyux/lists\";\nimport * as i3 from \"@skyux/indicators\";\nimport * as i4 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyDataManagerColumnPickerComponent {\n constructor() {\n this.columnData = [];\n this.displayedColumnData = [];\n this.viewConfig = {\n id: 'columnPicker',\n name: 'Column Picker',\n searchEnabled: true,\n searchExpandMode: 'fit',\n multiselectToolbarEnabled: true,\n onSelectAllClick: this.selectAll.bind(this),\n onClearAllClick: this.clearAll.bind(this),\n };\n this.isAnyDisplayedColumnSelected = false;\n this.#ngUnsubscribe = new Subject();\n this.#_dataState = new SkyDataManagerState({});\n this.context = inject(SkyDataManagerColumnPickerContext);\n this.dataManagerService = inject(SkyDataManagerService);\n this.instance = inject(SkyModalInstance);\n }\n get dataState() {\n return this.#_dataState;\n }\n set dataState(value) {\n this.#_dataState = value;\n this.updateData();\n }\n #ngUnsubscribe;\n #_dataState;\n ngOnInit() {\n this.dataManagerService.initDataManager({\n activeViewId: this.viewConfig.id,\n dataManagerConfig: {},\n defaultDataState: this.dataState,\n });\n this.dataManagerService.initDataView(this.viewConfig);\n this.columnData = this.#formatColumnOptions();\n this.dataManagerService\n .getDataStateUpdates('columnPicker')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.dataState = state;\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n updateData() {\n this.displayedColumnData = this.searchColumns(this.columnData.filter((col) => !col.alwaysDisplayed));\n if (this.dataState.onlyShowSelected) {\n this.displayedColumnData = this.displayedColumnData.filter((col) => col.isSelected);\n }\n this.isAnyDisplayedColumnSelected = this.displayedColumnData.some((col) => col.isSelected);\n }\n searchColumns(columns) {\n let searchedColumns = columns;\n const searchText = this.dataState && this.dataState.searchText?.toUpperCase();\n if (searchText) {\n searchedColumns = columns.filter((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property) &&\n (property === 'label' || property === 'description')) {\n const propertyText = item[property]?.toUpperCase();\n if (propertyText && propertyText.indexOf(searchText) > -1) {\n return true;\n }\n }\n }\n return false;\n });\n }\n return searchedColumns;\n }\n selectAll() {\n this.displayedColumnData.forEach((column) => (column.isSelected = true));\n this.updateData();\n }\n clearAll() {\n this.displayedColumnData.forEach((column) => (column.isSelected = false));\n this.updateData();\n }\n onIsSelectedChange() {\n this.updateData();\n }\n cancelChanges() {\n this.instance.cancel();\n }\n isSelected(id) {\n return (this.context.displayedColumnIds.findIndex((colId) => colId === id) !== -1);\n }\n applyChanges() {\n this.instance.save(this.columnData.filter((col) => col.isSelected || col.alwaysDisplayed));\n }\n #formatColumnOptions() {\n const allColumnOptions = this.context.columnOptions;\n const visibleColumnIds = this.context.displayedColumnIds;\n let formattedColumnOptions = [];\n const unselectedColumnOptions = [];\n for (const columnOption of allColumnOptions) {\n // format the column with the properties the column picker needs\n const colIndex = visibleColumnIds.indexOf(columnOption.id);\n const formattedColumn = {\n alwaysDisplayed: columnOption.alwaysDisplayed,\n id: columnOption.id,\n label: columnOption.label,\n description: columnOption.description,\n isSelected: colIndex !== -1,\n };\n // if column picker sorting is currently enabled sort columns by order displayed then alphabetical\n // else display column in order they were specified in the columnOptions\n if (this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical) {\n if (formattedColumn.isSelected) {\n formattedColumnOptions[colIndex] = formattedColumn;\n }\n else {\n unselectedColumnOptions.push(formattedColumn);\n }\n }\n else {\n formattedColumnOptions.push(formattedColumn);\n }\n }\n // if column picker sorting is enabled, sort the columns that are not currently displayed\n // and add them after the currently displayed options\n if (this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical) {\n unselectedColumnOptions.sort((col1, col2) => col1.label.localeCompare(col2.label));\n formattedColumnOptions = formattedColumnOptions.concat(unselectedColumnOptions);\n }\n return formattedColumnOptions;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataManagerColumnPickerComponent, isStandalone: true, selector: \"sky-data-manager-column-picker\", providers: [SkyDataManagerService], ngImport: i0, template: \"<sky-modal class=\\\"sky-data-manager-column-picker\\\">\\n <sky-modal-header>\\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\\n </sky-modal-header>\\n <sky-modal-content class=\\\"sky-data-manager-column-picker-content\\\">\\n <sky-data-manager>\\n <sky-data-manager-toolbar />\\n\\n <sky-data-view [viewId]=\\\"viewConfig.id\\\">\\n <sky-repeater expandMode=\\\"none\\\">\\n @for (column of displayedColumnData; track column.id) {\\n <sky-repeater-item\\n [selectable]=\\\"true\\\"\\n [(isSelected)]=\\\"column.isSelected\\\"\\n (isSelectedChange)=\\\"onIsSelectedChange()\\\"\\n >\\n <sky-repeater-item-title>\\n {{ column.label }}\\n </sky-repeater-item-title>\\n <sky-repeater-item-content>\\n {{ column.description }}\\n </sky-repeater-item-content>\\n </sky-repeater-item>\\n }\\n </sky-repeater>\\n </sky-data-view>\\n </sky-data-manager>\\n </sky-modal-content>\\n <sky-modal-footer>\\n @if (!isAnyDisplayedColumnSelected) {\\n <div class=\\\"sky-data-manager-column-picker-footer-stacked-indicator\\\">\\n <sky-status-indicator descriptionType=\\\"error\\\" indicatorType=\\\"danger\\\">\\n {{\\n 'skyux_data_manager_select_column_status_indicator_title'\\n | skyLibResources\\n }}\\n </sky-status-indicator>\\n </div>\\n }\\n <button\\n sky-cmp-id=\\\"apply-changes\\\"\\n class=\\\"sky-btn sky-btn-primary sky-data-manager-column-picker-apply-btn\\\"\\n type=\\\"button\\\"\\n [disabled]=\\\"!isAnyDisplayedColumnSelected\\\"\\n (click)=\\\"applyChanges()\\\"\\n >\\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\\n </button>\\n <button\\n sky-cmp-id=\\\"cancel\\\"\\n class=\\\"sky-btn sky-btn-link sky-data-manager-column-picker-cancel-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"cancelChanges()\\\"\\n >\\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\\n </button>\\n </sky-modal-footer>\\n</sky-modal>\\n\", styles: [\".sky-data-manager-column-picker:not(.sky-theme-modern *){--sky-override-data-manager-column-picker-item-margin: 5px;--sky-override-data-manager-column-picker-footer-margin: 10px}.sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:var(--sky-override-data-manager-column-picker-item-margin, var(--sky-space-stacked-s))}.sky-data-manager-column-picker-footer-stacked-indicator{margin-bottom:var(--sky-override-data-manager-column-picker-footer-margin, var(--sky-space-gap-stacked_supplemental-xl))}\\n\"], dependencies: [{ kind: \"component\", type: SkyDataManagerComponent, selector: \"sky-data-manager\", inputs: [\"dock\"] }, { kind: \"ngmodule\", type: SkyDataManagerResourcesModule }, { kind: \"component\", type: SkyDataManagerToolbarComponent, selector: \"sky-data-manager-toolbar\" }, { kind: \"component\", type: SkyDataViewComponent, selector: \"sky-data-view\", inputs: [\"viewId\"] }, { kind: \"ngmodule\", type: SkyModalModule }, { kind: \"component\", type: i1.λ5, selector: \"sky-modal\", inputs: [\"formErrors\", \"headingText\", \"helpKey\", \"helpPopoverContent\", \"helpPopoverTitle\", \"ariaRole\", \"tiledBody\", \"ariaDescribedBy\", \"ariaLabelledBy\", \"layout\"] }, { kind: \"component\", type: i1.λ2, selector: \"sky-modal-content\" }, { kind: \"component\", type: i1.λ3, selector: \"sky-modal-footer\" }, { kind: \"component\", type: i1.λ4, selector: \"sky-modal-header\" }, { kind: \"ngmodule\", type: SkyRepeaterModule }, { kind: \"component\", type: i2.λ11, selector: \"sky-repeater\", inputs: [\"activeIndex\", \"ariaLabel\", \"reorderable\", \"expandMode\"], outputs: [\"activeIndexChange\", \"orderChange\"] }, { kind: \"component\", type: i2.λ10, selector: \"sky-repeater-item\", inputs: [\"disabled\", \"itemName\", \"inlineFormConfig\", \"inlineFormTemplate\", \"isExpanded\", \"isSelected\", \"reorderable\", \"selectable\", \"showInlineForm\", \"tag\"], outputs: [\"collapse\", \"expand\", \"inlineFormClose\", \"isSelectedChange\"] }, { kind: \"component\", type: i2.λ8, selector: \"sky-repeater-item-content\" }, { kind: \"component\", type: i2.λ12, selector: \"sky-repeater-item-title\" }, { kind: \"ngmodule\", type: SkyStatusIndicatorModule }, { kind: \"component\", type: i3.λ10, selector: \"sky-status-indicator\", inputs: [\"indicatorType\", \"descriptionType\", \"customDescription\", \"helpPopoverContent\", \"helpPopoverTitle\", \"helpKey\"] }, { kind: \"pipe\", type: i4.SkyLibResourcesPipe, name: \"skyLibResources\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-column-picker', providers: [SkyDataManagerService], changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n SkyDataManagerComponent,\n SkyDataManagerResourcesModule,\n SkyDataManagerToolbarComponent,\n SkyDataViewComponent,\n SkyModalModule,\n SkyRepeaterModule,\n SkyStatusIndicatorModule,\n ], template: \"<sky-modal class=\\\"sky-data-manager-column-picker\\\">\\n <sky-modal-header>\\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\\n </sky-modal-header>\\n <sky-modal-content class=\\\"sky-data-manager-column-picker-content\\\">\\n <sky-data-manager>\\n <sky-data-manager-toolbar />\\n\\n <sky-data-view [viewId]=\\\"viewConfig.id\\\">\\n <sky-repeater expandMode=\\\"none\\\">\\n @for (column of displayedColumnData; track column.id) {\\n <sky-repeater-item\\n [selectable]=\\\"true\\\"\\n [(isSelected)]=\\\"column.isSelected\\\"\\n (isSelectedChange)=\\\"onIsSelectedChange()\\\"\\n >\\n <sky-repeater-item-title>\\n {{ column.label }}\\n </sky-repeater-item-title>\\n <sky-repeater-item-content>\\n {{ column.description }}\\n </sky-repeater-item-content>\\n </sky-repeater-item>\\n }\\n </sky-repeater>\\n </sky-data-view>\\n </sky-data-manager>\\n </sky-modal-content>\\n <sky-modal-footer>\\n @if (!isAnyDisplayedColumnSelected) {\\n <div class=\\\"sky-data-manager-column-picker-footer-stacked-indicator\\\">\\n <sky-status-indicator descriptionType=\\\"error\\\" indicatorType=\\\"danger\\\">\\n {{\\n 'skyux_data_manager_select_column_status_indicator_title'\\n | skyLibResources\\n }}\\n </sky-status-indicator>\\n </div>\\n }\\n <button\\n sky-cmp-id=\\\"apply-changes\\\"\\n class=\\\"sky-btn sky-btn-primary sky-data-manager-column-picker-apply-btn\\\"\\n type=\\\"button\\\"\\n [disabled]=\\\"!isAnyDisplayedColumnSelected\\\"\\n (click)=\\\"applyChanges()\\\"\\n >\\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\\n </button>\\n <button\\n sky-cmp-id=\\\"cancel\\\"\\n class=\\\"sky-btn sky-btn-link sky-data-manager-column-picker-cancel-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"cancelChanges()\\\"\\n >\\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\\n </button>\\n </sky-modal-footer>\\n</sky-modal>\\n\", styles: [\".sky-data-manager-column-picker:not(.sky-theme-modern *){--sky-override-data-manager-column-picker-item-margin: 5px;--sky-override-data-manager-column-picker-footer-margin: 10px}.sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:var(--sky-override-data-manager-column-picker-item-margin, var(--sky-space-stacked-s))}.sky-data-manager-column-picker-footer-stacked-indicator{margin-bottom:var(--sky-override-data-manager-column-picker-footer-margin, var(--sky-space-gap-stacked_supplemental-xl))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FB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QUFzQixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FDcEQsdUJBQXVCLENBQ3hCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOytHQTlLVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw2RUFabkMsQ0FBQyxxQkFBcUIsQ0FBQywwQkN4Q3BDLHVrRUEwREEsb2tCRGZJLHVCQUF1Qiw4RUFDdkIsNkJBQTZCLCtCQUM3Qiw4QkFBOEIscUVBQzlCLG9CQUFvQiw2RUFDcEIsY0FBYyxvY0FDZCxpQkFBaUIsOG9CQUNqQix3QkFBd0I7OzRGQUdmLG1DQUFtQztrQkFoQi9DLFNBQVM7K0JBQ0UsZ0NBQWdDLGFBRy9CLENBQUMscUJBQXFCLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9za3ktZGF0YS1tYW5hZ2VyLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2RhdGEtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXNvcnQtc3RyYXRlZ3knO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmludGVyZmFjZSBDb2x1bW4gZXh0ZW5kcyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURhdGFNYW5hZ2VyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICAgIFNreU1vZGFsTW9kdWxlLFxuICAgIFNreVJlcGVhdGVyTW9kdWxlLFxuICAgIFNreVN0YXR1c0luZGljYXRvck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBnZXQgZGF0YVN0YXRlKCk6IFNreURhdGFNYW5hZ2VyU3RhdGUge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YVN0YXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhU3RhdGUodmFsdWU6IFNreURhdGFNYW5hZ2VyU3RhdGUpIHtcbiAgICB0aGlzLiNfZGF0YVN0YXRlID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgY29sdW1uRGF0YTogQ29sdW1uW10gPSBbXTtcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbkRhdGE6IENvbHVtbltdID0gW107XG4gIHB1YmxpYyB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyA9IHtcbiAgICBpZDogJ2NvbHVtblBpY2tlcicsXG4gICAgbmFtZTogJ0NvbHVtbiBQaWNrZXInLFxuICAgIHNlYXJjaEVuYWJsZWQ6IHRydWUsXG4gICAgc2VhcmNoRXhwYW5kTW9kZTogJ2ZpdCcsXG4gICAgbXVsdGlzZWxlY3RUb29sYmFyRW5hYmxlZDogdHJ1ZSxcbiAgICBvblNlbGVjdEFsbENsaWNrOiB0aGlzLnNlbGVjdEFsbC5iaW5kKHRoaXMpLFxuICAgIG9uQ2xlYXJBbGxDbGljazogdGhpcy5jbGVhckFsbC5iaW5kKHRoaXMpLFxuICB9O1xuXG4gIHB1YmxpYyBpc0FueURpc3BsYXllZENvbHVtblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfZGF0YVN0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YU1hbmFnZXIoe1xuICAgICAgYWN0aXZlVmlld0lkOiB0aGlzLnZpZXdDb25maWcuaWQsXG4gICAgICBkYXRhTWFuYWdlckNvbmZpZzoge30sXG4gICAgICBkZWZhdWx0RGF0YVN0YXRlOiB0aGlzLmRhdGFTdGF0ZSxcbiAgICB9KTtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YVZpZXcodGhpcy52aWV3Q29uZmlnKTtcblxuICAgIHRoaXMuY29sdW1uRGF0YSA9IHRoaXMuI2Zvcm1hdENvbHVtbk9wdGlvbnMoKTtcblxuICAgIHRoaXMuZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcygnY29sdW1uUGlja2VyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEgPSB0aGlzLnNlYXJjaENvbHVtbnMoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+ICFjb2wuYWx3YXlzRGlzcGxheWVkKSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YSA9IHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5maWx0ZXIoXG4gICAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQW55RGlzcGxheWVkQ29sdW1uU2VsZWN0ZWQgPSB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuc29tZShcbiAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ29sdW1ucyhjb2x1bW5zOiBDb2x1bW5bXSk6IENvbHVtbltdIHtcbiAgICBsZXQgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucztcbiAgICBjb25zdCBzZWFyY2hUZXh0ID1cbiAgICAgIHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuZGF0YVN0YXRlLnNlYXJjaFRleHQ/LnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBpdGVtKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sIHByb3BlcnR5KSAmJlxuICAgICAgICAgICAgKHByb3BlcnR5ID09PSAnbGFiZWwnIHx8IHByb3BlcnR5ID09PSAnZGVzY3JpcHRpb24nKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlUZXh0ID0gaXRlbVtwcm9wZXJ0eV0/LnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgICBpZiAocHJvcGVydHlUZXh0ICYmIHByb3BlcnR5VGV4dC5pbmRleE9mKHNlYXJjaFRleHQpID4gLTEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzZWFyY2hlZENvbHVtbnM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5mb3JFYWNoKChjb2x1bW4pID0+IChjb2x1bW4uaXNTZWxlY3RlZCA9IHRydWUpKTtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29sdW1uLmlzU2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIG9uSXNTZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5zdGFuY2UuY2FuY2VsKCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29udGV4dC5kaXNwbGF5ZWRDb2x1bW5JZHMuZmluZEluZGV4KChjb2xJZCkgPT4gY29sSWQgPT09IGlkKSAhPT0gLTFcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGx5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbmNlLnNhdmUoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+IGNvbC5pc1NlbGVjdGVkIHx8IGNvbC5hbHdheXNEaXNwbGF5ZWQpLFxuICAgICk7XG4gIH1cblxuICAjZm9ybWF0Q29sdW1uT3B0aW9ucygpOiBDb2x1bW5bXSB7XG4gICAgY29uc3QgYWxsQ29sdW1uT3B0aW9ucyA9IHRoaXMuY29udGV4dC5jb2x1bW5PcHRpb25zO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5JZHMgPSB0aGlzLmNvbnRleHQuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgIGxldCBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuICAgIGNvbnN0IHVuc2VsZWN0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb2x1bW5PcHRpb24gb2YgYWxsQ29sdW1uT3B0aW9ucykge1xuICAgICAgLy8gZm9ybWF0IHRoZSBjb2x1bW4gd2l0aCB0aGUgcHJvcGVydGllcyB0aGUgY29sdW1uIHBpY2tlciBuZWVkc1xuICAgICAgY29uc3QgY29sSW5kZXggPSB2aXNpYmxlQ29sdW1uSWRzLmluZGV4T2YoY29sdW1uT3B0aW9uLmlkKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZENvbHVtbjogQ29sdW1uID0ge1xuICAgICAgICBhbHdheXNEaXNwbGF5ZWQ6IGNvbHVtbk9wdGlvbi5hbHdheXNEaXNwbGF5ZWQsXG4gICAgICAgIGlkOiBjb2x1bW5PcHRpb24uaWQsXG4gICAgICAgIGxhYmVsOiBjb2x1bW5PcHRpb24ubGFiZWwsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5PcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGNvbEluZGV4ICE9PSAtMSxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIGNvbHVtbiBwaWNrZXIgc29ydGluZyBpcyBjdXJyZW50bHkgZW5hYmxlZCBzb3J0IGNvbHVtbnMgYnkgb3JkZXIgZGlzcGxheWVkIHRoZW4gYWxwaGFiZXRpY2FsXG4gICAgICAvLyBlbHNlIGRpc3BsYXkgY29sdW1uIGluIG9yZGVyIHRoZXkgd2VyZSBzcGVjaWZpZWQgaW4gdGhlIGNvbHVtbk9wdGlvbnNcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgICAgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kuU2VsZWN0ZWRUaGVuQWxwaGFiZXRpY2FsXG4gICAgICApIHtcbiAgICAgICAgaWYgKGZvcm1hdHRlZENvbHVtbi5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgZm9ybWF0dGVkQ29sdW1uT3B0aW9uc1tjb2xJbmRleF0gPSBmb3JtYXR0ZWRDb2x1bW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMucHVzaChmb3JtYXR0ZWRDb2x1bW4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLnB1c2goZm9ybWF0dGVkQ29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiBjb2x1bW4gcGlja2VyIHNvcnRpbmcgaXMgZW5hYmxlZCwgc29ydCB0aGUgY29sdW1ucyB0aGF0IGFyZSBub3QgY3VycmVudGx5IGRpc3BsYXllZFxuICAgIC8vIGFuZCBhZGQgdGhlbSBhZnRlciB0aGUgY3VycmVudGx5IGRpc3BsYXllZCBvcHRpb25zXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgIFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5LlNlbGVjdGVkVGhlbkFscGhhYmV0aWNhbFxuICAgICkge1xuICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMuc29ydCgoY29sMSwgY29sMikgPT5cbiAgICAgICAgY29sMS5sYWJlbC5sb2NhbGVDb21wYXJlKGNvbDIubGFiZWwpLFxuICAgICAgKTtcbiAgICAgIGZvcm1hdHRlZENvbHVtbk9wdGlvbnMgPSBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLmNvbmNhdChcbiAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zO1xuICB9XG59XG4iLCI8c2t5LW1vZGFsIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyXCI+XG4gIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uX3BpY2tlcl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICA8c2t5LW1vZGFsLWNvbnRlbnQgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGVudFwiPlxuICAgIDxza3ktZGF0YS1tYW5hZ2VyPlxuICAgICAgPHNreS1kYXRhLW1hbmFnZXItdG9vbGJhciAvPlxuXG4gICAgICA8c2t5LWRhdGEtdmlldyBbdmlld0lkXT1cInZpZXdDb25maWcuaWRcIj5cbiAgICAgICAgPHNreS1yZXBlYXRlciBleHBhbmRNb2RlPVwibm9uZVwiPlxuICAgICAgICAgIEBmb3IgKGNvbHVtbiBvZiBkaXNwbGF5ZWRDb2x1bW5EYXRhOyB0cmFjayBjb2x1bW4uaWQpIHtcbiAgICAgICAgICAgIDxza3ktcmVwZWF0ZXItaXRlbVxuICAgICAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgWyhpc1NlbGVjdGVkKV09XCJjb2x1bW4uaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChpc1NlbGVjdGVkQ2hhbmdlKT1cIm9uSXNTZWxlY3RlZENoYW5nZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLXRpdGxlPlxuICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L3NreS1yZXBlYXRlci1pdGVtLXRpdGxlPlxuICAgICAgICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICAgICAgICB7eyBjb2x1bW4uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgICAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc2t5LXJlcGVhdGVyPlxuICAgICAgPC9za3ktZGF0YS12aWV3PlxuICAgIDwvc2t5LWRhdGEtbWFuYWdlcj5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgQGlmICghaXNBbnlEaXNwbGF5ZWRDb2x1bW5TZWxlY3RlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1mb290ZXItc3RhY2tlZC1pbmRpY2F0b3JcIj5cbiAgICAgICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yIGRlc2NyaXB0aW9uVHlwZT1cImVycm9yXCIgaW5kaWNhdG9yVHlwZT1cImRhbmdlclwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9jb2x1bW5fc3RhdHVzX2luZGljYXRvcl90aXRsZSdcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICB9fVxuICAgICAgICA8L3NreS1zdGF0dXMtaW5kaWNhdG9yPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxidXR0b25cbiAgICAgIHNreS1jbXAtaWQ9XCJhcHBseS1jaGFuZ2VzXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LWRhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWFwcGx5LWJ0blwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhaXNBbnlEaXNwbGF5ZWRDb2x1bW5TZWxlY3RlZFwiXG4gICAgICAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfYXBwbHlfY2hhbmdlc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgc2t5LWNtcC1pZD1cImNhbmNlbFwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1jYW5jZWwtYnRuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbENoYW5nZXMoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jYW5jZWxfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { SkyDataManagerColumnPickerComponent } from './data-manager-column-picker.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyDataManagerColumnPickerImplService {\n getComponentType() {\n return SkyDataManagerColumnPickerComponent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerImplService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerImplService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerImplService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItaW1wbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWltcGwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUc3RixNQUFNLE9BQU8scUNBQXFDO0lBQ3pDLGdCQUFnQjtRQUNyQixPQUFPLG1DQUFtQyxDQUFDO0lBQzdDLENBQUM7K0dBSFUscUNBQXFDO21IQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJJbXBsU2VydmljZSB7XG4gIHB1YmxpYyBnZXRDb21wb25lbnRUeXBlKCk6IHR5cGVvZiBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29tcG9uZW50O1xuICB9XG59XG4iXX0=","import { SkyDataManagerColumnPickerImplService } from './data-manager-column-picker-impl.service';\nimport { SkyDataManagerColumnPickerService } from './data-manager-column-picker.service';\nexport const SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS = [\n {\n provide: SkyDataManagerColumnPickerService,\n useClass: SkyDataManagerColumnPickerImplService,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBZTtJQUNsRTtRQUNFLE9BQU8sRUFBRSxpQ0FBaUM7UUFDMUMsUUFBUSxFQUFFLHFDQUFxQztLQUNoRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckltcGxTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1pbXBsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IFNLWV9EQVRBX01BTkFHRVJfQ09MVU1OX1BJQ0tFUl9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gIHtcbiAgICBwcm92aWRlOiBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNlcnZpY2UsXG4gICAgdXNlQ2xhc3M6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VySW1wbFNlcnZpY2UsXG4gIH0sXG5dO1xuIl19","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\n/**\n * Concrete implementation of SkyFilterStateService that manages filter state\n * for integration between list components and data managers.\n * @internal\n */\nexport class SkyDataManagerFilterStateService {\n #filterStateChange = new ReplaySubject(1);\n updateFilterState(data, sourceId) {\n const nextState = {\n appliedFilters: data.appliedFilters,\n selectedFilterIds: data.selectedFilterIds,\n };\n this.#filterStateChange.next({\n filterState: nextState,\n sourceId: sourceId,\n });\n }\n getFilterStateUpdates(sourceId) {\n return this.#filterStateChange.pipe(filter((c) => c.sourceId !== sourceId), map((c) => c.filterState));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterStateService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterStateService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1maWx0ZXJzL2RhdGEtbWFuYWdlci1maWx0ZXItc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPN0M7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDbEMsa0JBQWtCLEdBQUcsSUFBSSxhQUFhLENBQXVCLENBQUMsQ0FBQyxDQUFDO0lBRWxFLGlCQUFpQixDQUFDLElBQW9CLEVBQUUsUUFBZ0I7UUFDN0QsTUFBTSxTQUFTLEdBQW1CO1lBQ2hDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQzFDLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFnQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsRUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDOytHQXBCVSxnQ0FBZ0M7bUhBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFENUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUZpbHRlclN0YXRlLCBTa3lGaWx0ZXJTdGF0ZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW50ZXJmYWNlIFNreUZpbHRlclN0YXRlQ2hhbmdlIHtcbiAgZmlsdGVyU3RhdGU6IFNreUZpbHRlclN0YXRlO1xuICBzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIFNreUZpbHRlclN0YXRlU2VydmljZSB0aGF0IG1hbmFnZXMgZmlsdGVyIHN0YXRlXG4gKiBmb3IgaW50ZWdyYXRpb24gYmV0d2VlbiBsaXN0IGNvbXBvbmVudHMgYW5kIGRhdGEgbWFuYWdlcnMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyRmlsdGVyU3RhdGVTZXJ2aWNlIGltcGxlbWVudHMgU2t5RmlsdGVyU3RhdGVTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgI2ZpbHRlclN0YXRlQ2hhbmdlID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5RmlsdGVyU3RhdGVDaGFuZ2U+KDEpO1xuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXJTdGF0ZShkYXRhOiBTa3lGaWx0ZXJTdGF0ZSwgc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRTdGF0ZTogU2t5RmlsdGVyU3RhdGUgPSB7XG4gICAgICBhcHBsaWVkRmlsdGVyczogZGF0YS5hcHBsaWVkRmlsdGVycyxcbiAgICAgIHNlbGVjdGVkRmlsdGVySWRzOiBkYXRhLnNlbGVjdGVkRmlsdGVySWRzLFxuICAgIH07XG5cbiAgICB0aGlzLiNmaWx0ZXJTdGF0ZUNoYW5nZS5uZXh0KHtcbiAgICAgIGZpbHRlclN0YXRlOiBuZXh0U3RhdGUsXG4gICAgICBzb3VyY2VJZDogc291cmNlSWQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsdGVyU3RhdGVVcGRhdGVzKHNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNreUZpbHRlclN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuI2ZpbHRlclN0YXRlQ2hhbmdlLnBpcGUoXG4gICAgICBmaWx0ZXIoKGMpID0+IGMuc291cmNlSWQgIT09IHNvdXJjZUlkKSxcbiAgICAgIG1hcCgoYykgPT4gYy5maWx0ZXJTdGF0ZSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { DestroyRef, Directive, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyFilterStateService } from '@skyux/lists';\nimport { SkyDataManagerService } from '../data-manager.service';\nimport { SkyDataManagerState } from '../models/data-manager-state';\nimport { SkyDataManagerFilterStateService } from './data-manager-filter-state.service';\nimport * as i0 from \"@angular/core\";\n/**\n * A directive applied to a filtering component that enables integration with a data manager.\n */\nexport class SkyDataManagerFilterControllerDirective {\n #currentDataState = new SkyDataManagerState({});\n #dataManagerService = inject(SkyDataManagerService);\n #adapterService = inject(SkyFilterStateService);\n #destroyRef = inject(DestroyRef);\n #sourceId = 'skyDataManagerFilterController';\n ngOnInit() {\n // Subscribe to data manager state changes to update the adapter\n this.#dataManagerService\n .getDataStateUpdates(this.#sourceId)\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((dataState) => {\n this.#currentDataState = dataState;\n this.#updateAdapterFromDataState(dataState);\n });\n // Subscribe to adapter changes (excluding those this controller originated)\n this.#adapterService\n .getFilterStateUpdates(this.#sourceId)\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((data) => {\n this.#updateDataManagerFromAdapter(data);\n });\n }\n /**\n * Updates the adapter's applied filters based on the data manager state.\n */\n #updateAdapterFromDataState(dataState) {\n if (dataState.filterData?.filters) {\n this.#adapterService.updateFilterState(dataState.filterData.filters, this.#sourceId);\n }\n }\n /**\n * Updates the data manager state based on adapter changes.\n */\n #updateDataManagerFromAdapter(filters) {\n const filterData = {\n filtersApplied: !!(filters?.appliedFilters && filters.appliedFilters.length > 0),\n filters,\n };\n this.#currentDataState.filterData = filterData;\n // Update the data manager state\n this.#dataManagerService.updateDataState(this.#currentDataState, this.#sourceId);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterControllerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerFilterControllerDirective, isStandalone: true, selector: \"[skyDataManagerFilterController]\", providers: [\n SkyDataManagerFilterStateService,\n {\n provide: SkyFilterStateService,\n useExisting: SkyDataManagerFilterStateService,\n },\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterControllerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyDataManagerFilterController]',\n providers: [\n SkyDataManagerFilterStateService,\n {\n provide: SkyFilterStateService,\n useExisting: SkyDataManagerFilterStateService,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250cm9sbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItZmlsdGVycy9kYXRhLW1hbmFnZXItZmlsdGVyLWNvbnRyb2xsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUV2Rjs7R0FFRztBQVdILE1BQU0sT0FBTyx1Q0FBdUM7SUFDbEQsaUJBQWlCLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxtQkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxlQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDaEQsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxTQUFTLEdBQUcsZ0NBQWdDLENBQUM7SUFFL0MsUUFBUTtRQUNiLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsQ0FBQyxTQUE4QixFQUFFLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFTCw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLGVBQWU7YUFDakIscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFDLFNBQVMsQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBMkIsQ0FBQyxTQUE4QjtRQUN4RCxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FDcEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQzVCLElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw2QkFBNkIsQ0FBQyxPQUFtQztRQUMvRCxNQUFNLFVBQVUsR0FBRztZQUNqQixjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQ2hCLE9BQU8sRUFBRSxjQUFjLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUM3RDtZQUNELE9BQU87U0FDUixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFL0MsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3RDLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO0lBQ0osQ0FBQzsrR0F4RFUsdUNBQXVDO21HQUF2Qyx1Q0FBdUMsK0VBUnZDO1lBQ1QsZ0NBQWdDO1lBQ2hDO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7YUFDOUM7U0FDRjs7NEZBRVUsdUNBQXVDO2tCQVZuRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRTt3QkFDVCxnQ0FBZ0M7d0JBQ2hDOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7eUJBQzlDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU2t5RmlsdGVyU3RhdGUsIFNreUZpbHRlclN0YXRlU2VydmljZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJGaWx0ZXJTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2RhdGEtbWFuYWdlci1maWx0ZXItc3RhdGUuc2VydmljZSc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgYXBwbGllZCB0byBhIGZpbHRlcmluZyBjb21wb25lbnQgdGhhdCBlbmFibGVzIGludGVncmF0aW9uIHdpdGggYSBkYXRhIG1hbmFnZXIuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lEYXRhTWFuYWdlckZpbHRlckNvbnRyb2xsZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJGaWx0ZXJTdGF0ZVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5RmlsdGVyU3RhdGVTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreURhdGFNYW5hZ2VyRmlsdGVyU3RhdGVTZXJ2aWNlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICNjdXJyZW50RGF0YVN0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoe30pO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNhZGFwdGVyU2VydmljZSA9IGluamVjdChTa3lGaWx0ZXJTdGF0ZVNlcnZpY2UpO1xuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI3NvdXJjZUlkID0gJ3NreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlcic7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFN1YnNjcmliZSB0byBkYXRhIG1hbmFnZXIgc3RhdGUgY2hhbmdlcyB0byB1cGRhdGUgdGhlIGFkYXB0ZXJcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI3NvdXJjZUlkKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgIHRoaXMuI3VwZGF0ZUFkYXB0ZXJGcm9tRGF0YVN0YXRlKGRhdGFTdGF0ZSk7XG4gICAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBhZGFwdGVyIGNoYW5nZXMgKGV4Y2x1ZGluZyB0aG9zZSB0aGlzIGNvbnRyb2xsZXIgb3JpZ2luYXRlZClcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZVxuICAgICAgLmdldEZpbHRlclN0YXRlVXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFNreUZpbHRlclN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI3VwZGF0ZURhdGFNYW5hZ2VyRnJvbUFkYXB0ZXIoZGF0YSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBhZGFwdGVyJ3MgYXBwbGllZCBmaWx0ZXJzIGJhc2VkIG9uIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUuXG4gICAqL1xuICAjdXBkYXRlQWRhcHRlckZyb21EYXRhU3RhdGUoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKTogdm9pZCB7XG4gICAgaWYgKGRhdGFTdGF0ZS5maWx0ZXJEYXRhPy5maWx0ZXJzKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS51cGRhdGVGaWx0ZXJTdGF0ZShcbiAgICAgICAgZGF0YVN0YXRlLmZpbHRlckRhdGEuZmlsdGVycyxcbiAgICAgICAgdGhpcy4jc291cmNlSWQsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUgYmFzZWQgb24gYWRhcHRlciBjaGFuZ2VzLlxuICAgKi9cbiAgI3VwZGF0ZURhdGFNYW5hZ2VyRnJvbUFkYXB0ZXIoZmlsdGVyczogU2t5RmlsdGVyU3RhdGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJEYXRhID0ge1xuICAgICAgZmlsdGVyc0FwcGxpZWQ6ICEhKFxuICAgICAgICBmaWx0ZXJzPy5hcHBsaWVkRmlsdGVycyAmJiBmaWx0ZXJzLmFwcGxpZWRGaWx0ZXJzLmxlbmd0aCA+IDBcbiAgICAgICksXG4gICAgICBmaWx0ZXJzLFxuICAgIH07XG5cbiAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmZpbHRlckRhdGEgPSBmaWx0ZXJEYXRhO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGVcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZSxcbiAgICAgIHRoaXMuI3NvdXJjZUlkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\n/**\n * A wrapper for an item to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered after the standard toolbar actions and before the search box. Each item should be\n * wrapped in its own `sky-data-manager-toolbar-left-item`. The items render in the order they are in in the template.\n */\nexport class SkyDataManagerToolbarLeftItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarLeftItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarLeftItemComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-left-item\", ngImport: i0, template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i1.λ39, selector: \"sky-toolbar-item\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarLeftItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-left-item', imports: [SkyToolbarModule], template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1sZWZ0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLWxlZnQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sc0NBQXNDOytHQUF0QyxzQ0FBc0M7bUdBQXRDLHNDQUFzQyw4RkNibkQsNkRBR0EsMkNEUVksZ0JBQWdCOzs0RkFFZixzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0Usb0NBQW9DLFdBRXJDLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGFuIGl0ZW0gdG8gYmUgcmVuZGVyZWQgaW4gYFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudGAuIFRoZSBjb250ZW50cyBhcmVcbiAqIHJlbmRlcmVkIGFmdGVyIHRoZSBzdGFuZGFyZCB0b29sYmFyIGFjdGlvbnMgYW5kIGJlZm9yZSB0aGUgc2VhcmNoIGJveC4gRWFjaCBpdGVtIHNob3VsZCBiZVxuICogd3JhcHBlZCBpbiBpdHMgb3duIGBza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtYC4gVGhlIGl0ZW1zIHJlbmRlciBpbiB0aGUgb3JkZXIgdGhleSBhcmUgaW4gaW4gdGhlIHRlbXBsYXRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWFuYWdlci10b29sYmFyLWxlZnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtTa3lUb29sYmFyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyTGVmdEl0ZW1Db21wb25lbnQge31cbiIsIjxza3ktdG9vbGJhci1pdGVtPlxuICA8bmctY29udGVudCAvPlxuPC9za3ktdG9vbGJhci1pdGVtPlxuIl19","import { Component } from '@angular/core';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\n/**\n * A wrapper for an item to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered as the first items in the toolbar and should be standard actions. Each item should be\n * wrapped in its own `sky-data-manager-toolbar-primary-item`. The items render in the order they are in in the template.\n */\nexport class SkyDataManagerToolbarPrimaryItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarPrimaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarPrimaryItemComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-primary-item\", ngImport: i0, template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i1.λ39, selector: \"sky-toolbar-item\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarPrimaryItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-primary-item', imports: [SkyToolbarModule], template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItcHJpbWFyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLXByaW1hcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8seUNBQXlDOytHQUF6Qyx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxpR0NidEQsNkRBR0EsMkNEUVksZ0JBQWdCOzs0RkFFZix5Q0FBeUM7a0JBTHJELFNBQVM7K0JBQ0UsdUNBQXVDLFdBRXhDLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGFuIGl0ZW0gdG8gYmUgcmVuZGVyZWQgaW4gYFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudGAuIFRoZSBjb250ZW50cyBhcmVcbiAqIHJlbmRlcmVkIGFzIHRoZSBmaXJzdCBpdGVtcyBpbiB0aGUgdG9vbGJhciBhbmQgc2hvdWxkIGJlIHN0YW5kYXJkIGFjdGlvbnMuIEVhY2ggaXRlbSBzaG91bGQgYmVcbiAqIHdyYXBwZWQgaW4gaXRzIG93biBgc2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXByaW1hcnktaXRlbWAuIFRoZSBpdGVtcyByZW5kZXIgaW4gdGhlIG9yZGVyIHRoZXkgYXJlIGluIGluIHRoZSB0ZW1wbGF0ZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXByaW1hcnktaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbU2t5VG9vbGJhck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50IHt9XG4iLCI8c2t5LXRvb2xiYXItaXRlbT5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvc2t5LXRvb2xiYXItaXRlbT5cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * A wrapper for an item to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered in `sky-toolbar-view-actions` on the right side of the toolbar and before the view\n * switcher icons (if present). Each item should be wrapped in its own\n * `sky-data-manager-toolbar-right-item`. The items render in the order they are in in the template.\n */\nexport class SkyDataManagerToolbarRightItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarRightItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarRightItemComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-right-item\", ngImport: i0, template: \"<ng-content />\\n\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarRightItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-right-item', template: \"<ng-content />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyx1Q0FBdUM7K0dBQXZDLHVDQUF1QzttR0FBdkMsdUNBQXVDLCtGQ1pwRCxrQkFDQTs7NEZEV2EsdUNBQXVDO2tCQUpuRCxTQUFTOytCQUNFLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEEgd3JhcHBlciBmb3IgYW4gaXRlbSB0byBiZSByZW5kZXJlZCBpbiBgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50YC4gVGhlIGNvbnRlbnRzIGFyZVxuICogcmVuZGVyZWQgaW4gYHNreS10b29sYmFyLXZpZXctYWN0aW9uc2Agb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHRvb2xiYXIgYW5kIGJlZm9yZSB0aGUgdmlld1xuICogc3dpdGNoZXIgaWNvbnMgKGlmIHByZXNlbnQpLiBFYWNoIGl0ZW0gc2hvdWxkIGJlIHdyYXBwZWQgaW4gaXRzIG93blxuICogYHNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1yaWdodC1pdGVtYC4gVGhlIGl0ZW1zIHJlbmRlciBpbiB0aGUgb3JkZXIgdGhleSBhcmUgaW4gaW4gdGhlIHRlbXBsYXRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci1yaWdodC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudCAvPlxuIl19","import { Component } from '@angular/core';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\n/**\n * A wrapper for items to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered in an additional toolbar row beneath the primary toolbar and above the multiselect\n * toolbar (if present).\n */\nexport class SkyDataManagerToolbarSectionComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarSectionComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-section\", ngImport: i0, template: \"<sky-toolbar-section>\\n <ng-content />\\n</sky-toolbar-section>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i1.λ38, selector: \"sky-toolbar-section\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarSectionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-section', imports: [SkyToolbarModule], template: \"<sky-toolbar-section>\\n <ng-content />\\n</sky-toolbar-section>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8scUNBQXFDOytHQUFyQyxxQ0FBcUM7bUdBQXJDLHFDQUFxQyw0RkNibEQsbUVBR0EsMkNEUVksZ0JBQWdCOzs0RkFFZixxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0Usa0NBQWtDLFdBRW5DLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGl0ZW1zIHRvIGJlIHJlbmRlcmVkIGluIGBTa3lEYXRhTWFuYWdlclRvb2xiYXJDb21wb25lbnRgLiBUaGUgY29udGVudHMgYXJlXG4gKiByZW5kZXJlZCBpbiBhbiBhZGRpdGlvbmFsIHRvb2xiYXIgcm93IGJlbmVhdGggdGhlIHByaW1hcnkgdG9vbGJhciBhbmQgYWJvdmUgdGhlIG11bHRpc2VsZWN0XG4gKiB0b29sYmFyIChpZiBwcmVzZW50KS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtTa3lUb29sYmFyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyU2VjdGlvbkNvbXBvbmVudCB7fVxuIiwiPHNreS10b29sYmFyLXNlY3Rpb24+XG4gIDxuZy1jb250ZW50IC8+XG48L3NreS10b29sYmFyLXNlY3Rpb24+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS } from './data-manager-column-picker/data-manager-column-picker-providers';\nimport { SkyDataManagerFilterControllerDirective } from './data-manager-filters/data-manager-filter-controller.directive';\nimport { SkyDataManagerToolbarLeftItemComponent } from './data-manager-toolbar/data-manager-toolbar-left-item.component';\nimport { SkyDataManagerToolbarPrimaryItemComponent } from './data-manager-toolbar/data-manager-toolbar-primary-item.component';\nimport { SkyDataManagerToolbarRightItemComponent } from './data-manager-toolbar/data-manager-toolbar-right-item.component';\nimport { SkyDataManagerToolbarSectionComponent } from './data-manager-toolbar/data-manager-toolbar-section.component';\nimport { SkyDataManagerToolbarComponent } from './data-manager-toolbar/data-manager-toolbar.component';\nimport { SkyDataManagerComponent } from './data-manager.component';\nimport { SkyDataViewComponent } from './data-view.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyDataManagerModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, imports: [SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent], exports: [SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS], imports: [SkyDataManagerComponent,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarSectionComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent,\n ],\n exports: [\n SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent,\n ],\n providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDN0gsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0gsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDM0gsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBeUI3RCxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixZQXJCN0IsdUJBQXVCO1lBQ3ZCLHVDQUF1QztZQUN2Qyw4QkFBOEI7WUFDOUIsc0NBQXNDO1lBQ3RDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMscUNBQXFDO1lBQ3JDLG9CQUFvQixhQUdwQix1QkFBdUI7WUFDdkIsdUNBQXVDO1lBQ3ZDLDhCQUE4QjtZQUM5QixzQ0FBc0M7WUFDdEMseUNBQXlDO1lBQ3pDLHVDQUF1QztZQUN2QyxxQ0FBcUM7WUFDckMsb0JBQW9CO2dIQUlYLG9CQUFvQixhQUZwQixDQUFDLHdDQUF3QyxDQUFDLFlBbkJuRCx1QkFBdUI7WUFFdkIsOEJBQThCO1lBQzlCLHNDQUFzQztZQUN0Qyx5Q0FBeUM7WUFFekMscUNBQXFDOzs0RkFlNUIsb0JBQW9CO2tCQXZCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qix1Q0FBdUM7d0JBQ3ZDLDhCQUE4Qjt3QkFDOUIsc0NBQXNDO3dCQUN0Qyx5Q0FBeUM7d0JBQ3pDLHVDQUF1Qzt3QkFDdkMscUNBQXFDO3dCQUNyQyxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHVDQUF1Qzt3QkFDdkMsOEJBQThCO3dCQUM5QixzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2QyxxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWZpbHRlcnMvZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250cm9sbGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclRvb2xiYXJMZWZ0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclRvb2xiYXJQcmltYXJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcHJpbWFyeS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclRvb2xiYXJSaWdodEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLXJpZ2h0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNreURhdGFNYW5hZ2VyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlckRpcmVjdGl2ZSxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyTGVmdEl0ZW1Db21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyUHJpbWFyeUl0ZW1Db21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnQsXG4gICAgU2t5RGF0YVZpZXdDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lEYXRhTWFuYWdlckNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlckZpbHRlckNvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtTS1lfREFUQV9NQU5BR0VSX0NPTFVNTl9QSUNLRVJfUFJPVklERVJTXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZGF0YS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvc2t5dXgtZGF0YS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i4","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-data-manager.mjs","sources":["../tmp-esm2022/lib/modules/data-manager/data-manager-filter-context.js","../tmp-esm2022/lib/modules/shared/sky-data-manager-resources.module.js","../tmp-esm2022/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-context.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.service.js","../tmp-esm2022/lib/modules/data-manager/models/data-view-state.js","../tmp-esm2022/lib/modules/data-manager/models/data-manager-state.js","../tmp-esm2022/lib/modules/data-manager/models/data-manager-state-change.js","../tmp-esm2022/lib/modules/data-manager/data-manager.service.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager.component.js","../tmp-esm2022/lib/modules/data-manager/data-view.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-impl.service.js","../tmp-esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-providers.js","../tmp-esm2022/lib/modules/data-manager/data-manager-filters/data-manager-filter-state.service.js","../tmp-esm2022/lib/modules/data-manager/data-manager-filters/data-manager-filter-controller.directive.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-left-item.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-primary-item.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-right-item.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-section.component.js","../tmp-esm2022/lib/modules/data-manager/data-manager.module.js","../tmp-esm2022/skyux-data-manager.js"],"sourcesContent":["// TODO: In a future breaking change convert this to an interface\n/**\n * Sets the state of the filters.\n */\nexport class SkyDataManagerFilterModalContext {\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1maWx0ZXItY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxpRUFBaUU7QUFDakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0NBQWdDO0NBSzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJGaWx0ZXJEYXRhIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWZpbHRlci1kYXRhJztcblxuLy8gVE9ETzogSW4gYSBmdXR1cmUgYnJlYWtpbmcgY2hhbmdlIGNvbnZlcnQgdGhpcyB0byBhbiBpbnRlcmZhY2Vcbi8qKlxuICogU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGZpbHRlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZmlsdGVycy5cbiAgICovXG4gIHB1YmxpYyBmaWx0ZXJEYXRhOiBTa3lEYXRhTWFuYWdlckZpbHRlckRhdGEgfCB1bmRlZmluZWQ7XG59XG4iXX0=","/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-data-manager' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_data_manager_column_picker_title: {\n message: 'Choose columns to show in the list',\n },\n skyux_data_manager_apply_changes_button_title: { message: 'Apply changes' },\n skyux_data_manager_cancel_button_title: { message: 'Cancel' },\n skyux_data_manager_select_all_button_aria_label: {\n message: 'Select all {0}',\n },\n skyux_data_manager_select_all_button_title: { message: 'Select all' },\n skyux_data_manager_clear_all_button_aria_label: {\n message: 'Clear all selected {0}',\n },\n skyux_data_manager_clear_all_button_title: { message: 'Clear all' },\n skyux_data_manager_show_selected_option_aria_label: {\n message: 'Show only selected {0}',\n },\n skyux_data_manager_show_selected_option_title: {\n message: 'Show only selected items',\n },\n skyux_data_manager_columns_button_aria_label: {\n message: 'Choose columns for {0}',\n },\n skyux_data_manager_columns_button_title: { message: 'Columns' },\n skyux_data_manager_select_column_status_indicator_title: {\n message: 'Select at least one column.',\n },\n skyux_data_manager_status_update_with_selections: {\n message: '{0} of {1} items meet criteria and {2} selected.',\n },\n skyux_data_manager_status_update_without_selections: {\n message: '{0} of {1} items meet criteria.',\n },\n skyux_data_manager_status_update_only_selected: {\n message: '{0} of {1} items meet criteria and {2} selected. Only selected items are displayed.',\n },\n },\n 'FR-CA': {\n skyux_data_manager_column_picker_title: {\n message: 'Choisir les colonnes à indiquer dans la liste',\n },\n skyux_data_manager_apply_changes_button_title: {\n message: 'Appliquez les changements',\n },\n skyux_data_manager_cancel_button_title: { message: 'Annuler' },\n skyux_data_manager_select_all_button_aria_label: {\n message: 'Sélectionner tout {0}',\n },\n skyux_data_manager_select_all_button_title: {\n message: 'Sélectionner tout',\n },\n skyux_data_manager_clear_all_button_aria_label: {\n message: 'Supprimer tous les éléments sélectionnés {0}',\n },\n skyux_data_manager_clear_all_button_title: { message: 'Effacer tout' },\n skyux_data_manager_show_selected_option_aria_label: {\n message: 'Montrer seulement ce qui est sélectionné {0}',\n },\n skyux_data_manager_show_selected_option_title: {\n message: 'Montrer seulement les éléments sélectionnés',\n },\n skyux_data_manager_columns_button_aria_label: {\n message: 'Choisir les colonnes pour {0}',\n },\n skyux_data_manager_columns_button_title: { message: 'Colonnes' },\n skyux_data_manager_select_column_status_indicator_title: {\n message: 'Sélectionnez au moins une colonne.',\n },\n skyux_data_manager_status_update_with_selections: {\n message: '{0} de {1} éléments répondent aux critères et {2} sont sélectionnés.',\n },\n skyux_data_manager_status_update_without_selections: {\n message: '{0} de {1} éléments répondent aux critères.',\n },\n skyux_data_manager_status_update_only_selected: {\n message: '{0} de {1} éléments répondent aux critères et {2} sont sélectionnés. Seuls les éléments sélectionnés sont affichés.',\n },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyDataManagerResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWRhdGEtbWFuYWdlci1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1kYXRhLW1hbmFnZXItcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1Asc0NBQXNDLEVBQUU7WUFDdEMsT0FBTyxFQUFFLG9DQUFvQztTQUM5QztRQUNELDZDQUE2QyxFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRTtRQUMzRSxzQ0FBc0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDN0QsK0NBQStDLEVBQUU7WUFDL0MsT0FBTyxFQUFFLGdCQUFnQjtTQUMxQjtRQUNELDBDQUEwQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUNyRSw4Q0FBOEMsRUFBRTtZQUM5QyxPQUFPLEVBQUUsd0JBQXdCO1NBQ2xDO1FBQ0QseUNBQXlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ25FLGtEQUFrRCxFQUFFO1lBQ2xELE9BQU8sRUFBRSx3QkFBd0I7U0FDbEM7UUFDRCw2Q0FBNkMsRUFBRTtZQUM3QyxPQUFPLEVBQUUsMEJBQTBCO1NBQ3BDO1FBQ0QsNENBQTRDLEVBQUU7WUFDNUMsT0FBTyxFQUFFLHdCQUF3QjtTQUNsQztRQUNELHVDQUF1QyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUMvRCx1REFBdUQsRUFBRTtZQUN2RCxPQUFPLEVBQUUsNkJBQTZCO1NBQ3ZDO1FBQ0QsZ0RBQWdELEVBQUU7WUFDaEQsT0FBTyxFQUFFLGtEQUFrRDtTQUM1RDtRQUNELG1EQUFtRCxFQUFFO1lBQ25ELE9BQU8sRUFBRSxpQ0FBaUM7U0FDM0M7UUFDRCw4Q0FBOEMsRUFBRTtZQUM5QyxPQUFPLEVBQ0wscUZBQXFGO1NBQ3hGO0tBQ0Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxzQ0FBc0MsRUFBRTtZQUN0QyxPQUFPLEVBQUUsK0NBQStDO1NBQ3pEO1FBQ0QsNkNBQTZDLEVBQUU7WUFDN0MsT0FBTyxFQUFFLDJCQUEyQjtTQUNyQztRQUNELHNDQUFzQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUM5RCwrQ0FBK0MsRUFBRTtZQUMvQyxPQUFPLEVBQUUsdUJBQXVCO1NBQ2pDO1FBQ0QsMENBQTBDLEVBQUU7WUFDMUMsT0FBTyxFQUFFLG1CQUFtQjtTQUM3QjtRQUNELDhDQUE4QyxFQUFFO1lBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7U0FDeEQ7UUFDRCx5Q0FBeUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUU7UUFDdEUsa0RBQWtELEVBQUU7WUFDbEQsT0FBTyxFQUFFLDhDQUE4QztTQUN4RDtRQUNELDZDQUE2QyxFQUFFO1lBQzdDLE9BQU8sRUFBRSw2Q0FBNkM7U0FDdkQ7UUFDRCw0Q0FBNEMsRUFBRTtZQUM1QyxPQUFPLEVBQUUsK0JBQStCO1NBQ3pDO1FBQ0QsdUNBQXVDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ2hFLHVEQUF1RCxFQUFFO1lBQ3ZELE9BQU8sRUFBRSxvQ0FBb0M7U0FDOUM7UUFDRCxnREFBZ0QsRUFBRTtZQUNoRCxPQUFPLEVBQ0wsc0VBQXNFO1NBQ3pFO1FBQ0QsbURBQW1ELEVBQUU7WUFDbkQsT0FBTyxFQUFFLDZDQUE2QztTQUN2RDtRQUNELDhDQUE4QyxFQUFFO1lBQzlDLE9BQU8sRUFDTCxxSEFBcUg7U0FDeEg7S0FDRjtDQUNGLENBQUM7QUFFRixzQkFBc0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFL0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCOytHQUE3Qiw2QkFBNkI7Z0hBQTdCLDZCQUE2QixZQUY5QixhQUFhO2dIQUVaLDZCQUE2QixZQUY5QixhQUFhOzs0RkFFWiw2QkFBNkI7a0JBSHpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGlzdGFuYnVsIGlnbm9yZSBmaWxlICovXG4vKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1kYXRhLW1hbmFnZXInIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IFJlY29yZDxzdHJpbmcsIFNreUxpYlJlc291cmNlcz4gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uX3BpY2tlcl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ0Nob29zZSBjb2x1bW5zIHRvIHNob3cgaW4gdGhlIGxpc3QnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2FwcGx5X2NoYW5nZXNfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdBcHBseSBjaGFuZ2VzJyB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9jYW5jZWxfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdDYW5jZWwnIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9hbGxfYnV0dG9uX2FyaWFfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdTZWxlY3QgYWxsIHswfScsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ1NlbGVjdCBhbGwnIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ0NsZWFyIGFsbCBzZWxlY3RlZCB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0NsZWFyIGFsbCcgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2hvd19zZWxlY3RlZF9vcHRpb25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ1Nob3cgb25seSBzZWxlY3RlZCB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnU2hvdyBvbmx5IHNlbGVjdGVkIGl0ZW1zJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl9hcmlhX2xhYmVsOiB7XG4gICAgICBtZXNzYWdlOiAnQ2hvb3NlIGNvbHVtbnMgZm9yIHswfScsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0NvbHVtbnMnIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9jb2x1bW5fc3RhdHVzX2luZGljYXRvcl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ1NlbGVjdCBhdCBsZWFzdCBvbmUgY29sdW1uLicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV93aXRoX3NlbGVjdGlvbnM6IHtcbiAgICAgIG1lc3NhZ2U6ICd7MH0gb2YgezF9IGl0ZW1zIG1lZXQgY3JpdGVyaWEgYW5kIHsyfSBzZWxlY3RlZC4nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3N0YXR1c191cGRhdGVfd2l0aG91dF9zZWxlY3Rpb25zOiB7XG4gICAgICBtZXNzYWdlOiAnezB9IG9mIHsxfSBpdGVtcyBtZWV0IGNyaXRlcmlhLicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV9vbmx5X3NlbGVjdGVkOiB7XG4gICAgICBtZXNzYWdlOlxuICAgICAgICAnezB9IG9mIHsxfSBpdGVtcyBtZWV0IGNyaXRlcmlhIGFuZCB7Mn0gc2VsZWN0ZWQuIE9ubHkgc2VsZWN0ZWQgaXRlbXMgYXJlIGRpc3BsYXllZC4nLFxuICAgIH0sXG4gIH0sXG4gICdGUi1DQSc6IHtcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uX3BpY2tlcl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ0Nob2lzaXIgbGVzIGNvbG9ubmVzIMOgIGluZGlxdWVyIGRhbnMgbGEgbGlzdGUnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2FwcGx5X2NoYW5nZXNfYnV0dG9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnQXBwbGlxdWV6IGxlcyBjaGFuZ2VtZW50cycsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY2FuY2VsX2J1dHRvbl90aXRsZTogeyBtZXNzYWdlOiAnQW5udWxlcicgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ1PDqWxlY3Rpb25uZXIgdG91dCB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9hbGxfYnV0dG9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnU8OpbGVjdGlvbm5lciB0b3V0JyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9jbGVhcl9hbGxfYnV0dG9uX2FyaWFfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdTdXBwcmltZXIgdG91cyBsZXMgw6lsw6ltZW50cyBzw6lsZWN0aW9ubsOpcyB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0VmZmFjZXIgdG91dCcgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc2hvd19zZWxlY3RlZF9vcHRpb25fYXJpYV9sYWJlbDoge1xuICAgICAgbWVzc2FnZTogJ01vbnRyZXIgc2V1bGVtZW50IGNlIHF1aSBlc3Qgc8OpbGVjdGlvbm7DqSB7MH0nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlOiB7XG4gICAgICBtZXNzYWdlOiAnTW9udHJlciBzZXVsZW1lbnQgbGVzIMOpbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMnLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX2FyaWFfbGFiZWw6IHtcbiAgICAgIG1lc3NhZ2U6ICdDaG9pc2lyIGxlcyBjb2xvbm5lcyBwb3VyIHswfScsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ0NvbG9ubmVzJyB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfY29sdW1uX3N0YXR1c19pbmRpY2F0b3JfdGl0bGU6IHtcbiAgICAgIG1lc3NhZ2U6ICdTw6lsZWN0aW9ubmV6IGF1IG1vaW5zIHVuZSBjb2xvbm5lLicsXG4gICAgfSxcbiAgICBza3l1eF9kYXRhX21hbmFnZXJfc3RhdHVzX3VwZGF0ZV93aXRoX3NlbGVjdGlvbnM6IHtcbiAgICAgIG1lc3NhZ2U6XG4gICAgICAgICd7MH0gZGUgezF9wqDDqWzDqW1lbnRzIHLDqXBvbmRlbnQgYXV4IGNyaXTDqHJlcyBldCB7Mn0gc29udCBzw6lsZWN0aW9ubsOpcy4nLFxuICAgIH0sXG4gICAgc2t5dXhfZGF0YV9tYW5hZ2VyX3N0YXR1c191cGRhdGVfd2l0aG91dF9zZWxlY3Rpb25zOiB7XG4gICAgICBtZXNzYWdlOiAnezB9IGRlIHsxfcKgw6lsw6ltZW50cyByw6lwb25kZW50IGF1eCBjcml0w6hyZXMuJyxcbiAgICB9LFxuICAgIHNreXV4X2RhdGFfbWFuYWdlcl9zdGF0dXNfdXBkYXRlX29ubHlfc2VsZWN0ZWQ6IHtcbiAgICAgIG1lc3NhZ2U6XG4gICAgICAgICd7MH0gZGUgezF9wqDDqWzDqW1lbnRzIHLDqXBvbmRlbnQgYXV4IGNyaXTDqHJlcyBldCB7Mn0gc29udCBzw6lsZWN0aW9ubsOpcy4gU2V1bHMgbGVzIMOpbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMgc29udCBhZmZpY2jDqXMuJyxcbiAgICB9LFxuICB9LFxufTtcblxuU2t5TGliUmVzb3VyY2VzU2VydmljZS5hZGRSZXNvdXJjZXMoUkVTT1VSQ0VTKTtcblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==","/**\n * These options specify the sorting strategy applied to columns when `columnPickerEnabled` is enabled.\n */\nexport var SkyDataManagerColumnPickerSortStrategy;\n(function (SkyDataManagerColumnPickerSortStrategy) {\n /**\n * No sorting is applied to the columns.\n */\n SkyDataManagerColumnPickerSortStrategy[\"None\"] = \"none\";\n /**\n * If `sortEnabled` is set to `true`, then the selected columns are displayed before the unselected columns. Unselected columns are sorted alphabetically.\n * If `sortEnabled` is set to `false`, then the columns are displayed in the order specified by `columnOptions`.\n */\n SkyDataManagerColumnPickerSortStrategy[\"SelectedThenAlphabetical\"] = \"selectedThenAlphabetical\";\n})(SkyDataManagerColumnPickerSortStrategy || (SkyDataManagerColumnPickerSortStrategy = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItc29ydC1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItc29ydC1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLHNDQVVYO0FBVkQsV0FBWSxzQ0FBc0M7SUFDaEQ7O09BRUc7SUFDSCx1REFBYSxDQUFBO0lBQ2I7OztPQUdHO0lBQ0gsK0ZBQXFELENBQUE7QUFDdkQsQ0FBQyxFQVZXLHNDQUFzQyxLQUF0QyxzQ0FBc0MsUUFVakQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZXNlIG9wdGlvbnMgc3BlY2lmeSB0aGUgc29ydGluZyBzdHJhdGVneSBhcHBsaWVkIHRvIGNvbHVtbnMgd2hlbiBgY29sdW1uUGlja2VyRW5hYmxlZGAgaXMgZW5hYmxlZC5cbiAqL1xuZXhwb3J0IGVudW0gU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kge1xuICAvKipcbiAgICogTm8gc29ydGluZyBpcyBhcHBsaWVkIHRvIHRoZSBjb2x1bW5zLlxuICAgKi9cbiAgTm9uZSA9ICdub25lJyxcbiAgLyoqXG4gICAqIElmIGBzb3J0RW5hYmxlZGAgaXMgc2V0IHRvIGB0cnVlYCwgdGhlbiB0aGUgc2VsZWN0ZWQgY29sdW1ucyBhcmUgZGlzcGxheWVkIGJlZm9yZSB0aGUgdW5zZWxlY3RlZCBjb2x1bW5zLiBVbnNlbGVjdGVkIGNvbHVtbnMgYXJlIHNvcnRlZCBhbHBoYWJldGljYWxseS5cbiAgICogSWYgYHNvcnRFbmFibGVkYCBpcyBzZXQgdG8gYGZhbHNlYCwgdGhlbiB0aGUgY29sdW1ucyBhcmUgZGlzcGxheWVkIGluIHRoZSBvcmRlciBzcGVjaWZpZWQgYnkgYGNvbHVtbk9wdGlvbnNgLlxuICAgKi9cbiAgU2VsZWN0ZWRUaGVuQWxwaGFiZXRpY2FsID0gJ3NlbGVjdGVkVGhlbkFscGhhYmV0aWNhbCcsXG59XG4iXX0=","import { SkyDataManagerColumnPickerSortStrategy } from '../models/data-manager-column-picker-sort-strategy';\nexport class SkyDataManagerColumnPickerContext {\n constructor(columnOptions, displayedColumnIds, columnPickerSortStrategy = SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical) {\n this.columnOptions = columnOptions;\n this.displayedColumnIds = displayedColumnIds;\n this.columnPickerSortStrategy = columnPickerSortStrategy;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTVHLE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsWUFDUyxhQUFpRCxFQUNqRCxrQkFBNEIsRUFDNUIsMkJBQW1FLHNDQUFzQyxDQUFDLHdCQUF3QjtRQUZsSSxrQkFBYSxHQUFiLGFBQWEsQ0FBb0M7UUFDakQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFVO1FBQzVCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEc7SUFDeEksQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXNvcnQtc3RyYXRlZ3knO1xuXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbHVtbk9wdGlvbnM6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uW10sXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbklkczogc3RyaW5nW10sXG4gICAgcHVibGljIGNvbHVtblBpY2tlclNvcnRTdHJhdGVneTogU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kgPSBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNvcnRTdHJhdGVneS5TZWxlY3RlZFRoZW5BbHBoYWJldGljYWwsXG4gICkge31cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Service that provides the column picker component type so it can be dynamically\n * created in the toolbar component. This avoids a circular reference between column\n * picker and toolbar.\n * https://angular.dev/errors/NG3003\n */\nexport class SkyDataManagerColumnPickerService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFnQixpQ0FBaUM7K0dBQWpDLGlDQUFpQzttSEFBakMsaUNBQWlDOzs0RkFBakMsaUNBQWlDO2tCQUR0RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyB0aGUgY29sdW1uIHBpY2tlciBjb21wb25lbnQgdHlwZSBzbyBpdCBjYW4gYmUgZHluYW1pY2FsbHlcbiAqIGNyZWF0ZWQgaW4gdGhlIHRvb2xiYXIgY29tcG9uZW50LiBUaGlzIGF2b2lkcyBhIGNpcmN1bGFyIHJlZmVyZW5jZSBiZXR3ZWVuIGNvbHVtblxuICogcGlja2VyIGFuZCB0b29sYmFyLlxuICogaHR0cHM6Ly9hbmd1bGFyLmRldi9lcnJvcnMvTkczMDAzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNlcnZpY2Uge1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q29tcG9uZW50VHlwZSgpOiB0eXBlb2YgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb21wb25lbnQ7XG59XG4iXX0=","/**\n * Provides options for defining how data is displayed, such as which columns appear.\n */\nexport class SkyDataViewState {\n constructor(data) {\n /**\n * The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.\n */\n this.columnIds = [];\n /**\n * The widths of columns in column-based views for xs and sm+ breakpoints. If using sticky settings, the widths a user sets will be persisted.\n */\n this.columnWidths = { xs: {}, sm: {} };\n /**\n * The IDs of the columns displayed for column-based views.\n */\n this.displayedColumnIds = [];\n this.viewId = data.viewId;\n this.columnIds = data.columnIds || [];\n this.columnWidths = data.columnWidths || { xs: {}, sm: {} };\n this.displayedColumnIds = data.displayedColumnIds || [];\n this.additionalData = data.additionalData;\n }\n /**\n * Returns the `SkyDataViewStateOptions` for the current view.\n * @returns The `SkyDataViewStateOptions`.\n */\n getViewStateOptions() {\n return {\n viewId: this.viewId,\n columnIds: this.columnIds,\n columnWidths: this.columnWidths,\n displayedColumnIds: this.displayedColumnIds,\n additionalData: this.additionalData,\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLXZpZXctc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBeUIzQixZQUFZLElBQTZCO1FBeEJ6Qzs7V0FFRztRQUNJLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFDSSxpQkFBWSxHQUE0QixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2xFOztXQUVHO1FBQ0ksdUJBQWtCLEdBQWEsRUFBRSxDQUFDO1FBYXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNwQyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2t5RGF0YVZpZXdDb2x1bW5XaWR0aHMgfSBmcm9tICcuL2RhdGEtdmlldy1jb2x1bW4td2lkdGhzJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGVPcHRpb25zIH0gZnJvbSAnLi9kYXRhLXZpZXctc3RhdGUtb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvdmlkZXMgb3B0aW9ucyBmb3IgZGVmaW5pbmcgaG93IGRhdGEgaXMgZGlzcGxheWVkLCBzdWNoIGFzIHdoaWNoIGNvbHVtbnMgYXBwZWFyLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RGF0YVZpZXdTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgSURzIG9mIHRoZSBjb2x1bW5zIGFibGUgdG8gYmUgZGlzcGxheWVkIGZvciBjb2x1bW4tYmFzZWQgdmlld3MuIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgd2hlbiB1dGlsaXppbmcgYSBncmlkLWJhc2VkIHZpZXcsIGEgY29sdW1uIHBpY2tlciwgb3IgYm90aC5cbiAgICovXG4gIHB1YmxpYyBjb2x1bW5JZHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqXG4gICAqIFRoZSB3aWR0aHMgb2YgY29sdW1ucyBpbiBjb2x1bW4tYmFzZWQgdmlld3MgZm9yIHhzIGFuZCBzbSsgYnJlYWtwb2ludHMuIElmIHVzaW5nIHN0aWNreSBzZXR0aW5ncywgdGhlIHdpZHRocyBhIHVzZXIgc2V0cyB3aWxsIGJlIHBlcnNpc3RlZC5cbiAgICovXG4gIHB1YmxpYyBjb2x1bW5XaWR0aHM6IFNreURhdGFWaWV3Q29sdW1uV2lkdGhzID0geyB4czoge30sIHNtOiB7fSB9O1xuICAvKipcbiAgICogVGhlIElEcyBvZiB0aGUgY29sdW1ucyBkaXNwbGF5ZWQgZm9yIGNvbHVtbi1iYXNlZCB2aWV3cy5cbiAgICovXG4gIHB1YmxpYyBkaXNwbGF5ZWRDb2x1bW5JZHM6IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhpcyB2aWV3LlxuICAgKi9cbiAgcHVibGljIHZpZXdJZDogc3RyaW5nO1xuICAvKipcbiAgICogQW4gdW50eXBlZCBwcm9wZXJ0eSB0aGF0IHRyYWNrcyBhbnkgdmlldy1zcGVjaWZpYyBzdGF0ZSBpbmZvcm1hdGlvblxuICAgKiB0aGF0IGlzIHJlbGV2YW50IHRvIGEgZGF0YSBtYW5hZ2VyIGJ1dCB0aGF0IGV4aXN0aW5nIHByb3BlcnRpZXMgZG8gbm90IGNvdmVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIGFkZGl0aW9uYWxEYXRhOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoZGF0YTogU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnMpIHtcbiAgICB0aGlzLnZpZXdJZCA9IGRhdGEudmlld0lkO1xuICAgIHRoaXMuY29sdW1uSWRzID0gZGF0YS5jb2x1bW5JZHMgfHwgW107XG4gICAgdGhpcy5jb2x1bW5XaWR0aHMgPSBkYXRhLmNvbHVtbldpZHRocyB8fCB7IHhzOiB7fSwgc206IHt9IH07XG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5JZHMgPSBkYXRhLmRpc3BsYXllZENvbHVtbklkcyB8fCBbXTtcbiAgICB0aGlzLmFkZGl0aW9uYWxEYXRhID0gZGF0YS5hZGRpdGlvbmFsRGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnNgIGZvciB0aGUgY3VycmVudCB2aWV3LlxuICAgKiBAcmV0dXJucyBUaGUgYFNreURhdGFWaWV3U3RhdGVPcHRpb25zYC5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWV3U3RhdGVPcHRpb25zKCk6IFNreURhdGFWaWV3U3RhdGVPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmlld0lkOiB0aGlzLnZpZXdJZCxcbiAgICAgIGNvbHVtbklkczogdGhpcy5jb2x1bW5JZHMsXG4gICAgICBjb2x1bW5XaWR0aHM6IHRoaXMuY29sdW1uV2lkdGhzLFxuICAgICAgZGlzcGxheWVkQ29sdW1uSWRzOiB0aGlzLmRpc3BsYXllZENvbHVtbklkcyxcbiAgICAgIGFkZGl0aW9uYWxEYXRhOiB0aGlzLmFkZGl0aW9uYWxEYXRhLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { SkyDataViewState } from './data-view-state';\n/**\n * Provides options that control which data to display.\n */\nexport class SkyDataManagerState {\n constructor(data) {\n /**\n * The states of the individual views.\n */\n this.views = [];\n const views = data.views && data.views.map((view) => new SkyDataViewState(view));\n this.activeSortOption = data.activeSortOption;\n this.additionalData = data.additionalData;\n this.filterData = data.filterData;\n this.onlyShowSelected = data.onlyShowSelected;\n this.selectedIds = data.selectedIds;\n this.searchText = data.searchText;\n this.views = views || [];\n }\n /**\n * Returns the `SkyDataManagerStateOptions` for the data manager.\n * @returns The `SkyDataManagerStateOptions` for the data manager.\n */\n getStateOptions() {\n const viewStates = this.views.map((view) => {\n return view.getViewStateOptions();\n });\n return {\n activeSortOption: this.activeSortOption,\n additionalData: this.additionalData,\n filterData: this.filterData,\n onlyShowSelected: this.onlyShowSelected,\n searchText: this.searchText,\n selectedIds: this.selectedIds,\n views: viewStates,\n };\n }\n /**\n * Returns the `SkyDataViewState` for the specified view.\n * @param viewId The ID for the view.\n * @returns The `SkyDataViewState` for the specified view.\n */\n getViewStateById(viewId) {\n return this.views.find((view) => view.viewId === viewId);\n }\n /**\n * Adds a `SkyDataViewState` to a view or updates an existing view.\n * @param viewId The ID for the view.\n * @param view The `SkyDataViewState` option to add or update.\n * @returns The state of the data manager for the specified view.\n */\n addOrUpdateView(viewId, view) {\n const existingViewIndex = this.views.findIndex((v) => v.viewId === viewId);\n if (existingViewIndex !== -1) {\n this.views[existingViewIndex] = view;\n }\n else {\n this.views.push(view);\n }\n return new SkyDataManagerState({\n activeSortOption: this.activeSortOption,\n additionalData: this.additionalData,\n filterData: this.filterData,\n searchText: this.searchText,\n selectedIds: this.selectedIds,\n views: this.views,\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBaUM5QixZQUFZLElBQWdDO1FBTDVDOztXQUVHO1FBQ0ksVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHcEMsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLE1BQU0sVUFBVSxHQUE4QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsVUFBVTtTQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZUFBZSxDQUNwQixNQUFjLEVBQ2QsSUFBc0I7UUFFdEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUUzRSxJQUFJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxPQUFPLElBQUksbUJBQW1CLENBQUM7WUFDN0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreURhdGFNYW5hZ2VyRmlsdGVyRGF0YSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWZpbHRlci1kYXRhJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbiB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXNvcnQtb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItc3RhdGUtb3B0aW9ucyc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld1N0YXRlIH0gZnJvbSAnLi9kYXRhLXZpZXctc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdTdGF0ZU9wdGlvbnMgfSBmcm9tICcuL2RhdGEtdmlldy1zdGF0ZS1vcHRpb25zJztcblxuLyoqXG4gKiBQcm92aWRlcyBvcHRpb25zIHRoYXQgY29udHJvbCB3aGljaCBkYXRhIHRvIGRpc3BsYXkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclN0YXRlIHtcbiAgLyoqXG4gICAqIFRoZSBzZWxlY3RlZCBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gdG8gYXBwbHkuXG4gICAqL1xuICBwdWJsaWMgYWN0aXZlU29ydE9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogQW4gdW50eXBlZCBwcm9wZXJ0eSB0aGF0IHRyYWNrcyBhbnkgc3RhdGUgaW5mb3JtYXRpb24gdGhhdCdzIHJlbGV2YW50IHRvIGEgZGF0YVxuICAgKiBtYW5hZ2VyIGJ1dCB0aGF0IHRoZSBleGlzdGluZyBwcm9wZXJ0aWVzIGRvIG5vdCBjb3Zlci5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBhZGRpdGlvbmFsRGF0YTogYW55O1xuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBmaWx0ZXJzLlxuICAgKi9cbiAgcHVibGljIGZpbHRlckRhdGE6IFNreURhdGFNYW5hZ2VyRmlsdGVyRGF0YSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBvbmx5IHRoZSBzZWxlY3RlZCByb3dzIG9yIG9iamVjdHMuIFRoZSBtdWx0aXNlbGVjdCB0b29sYmFyXG4gICAqIHVzZXMgdGhpcyBwcm9wZXJ0eS5cbiAgICovXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIHNlYXJjaCB0ZXh0IHRvIGFwcGx5LlxuICAgKi9cbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcm93cyBvciBvYmplY3RzLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdGVkSWRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBzdGF0ZXMgb2YgdGhlIGluZGl2aWR1YWwgdmlld3MuXG4gICAqL1xuICBwdWJsaWMgdmlld3M6IFNreURhdGFWaWV3U3RhdGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKSB7XG4gICAgY29uc3Qgdmlld3MgPVxuICAgICAgZGF0YS52aWV3cyAmJiBkYXRhLnZpZXdzLm1hcCgodmlldykgPT4gbmV3IFNreURhdGFWaWV3U3RhdGUodmlldykpO1xuXG4gICAgdGhpcy5hY3RpdmVTb3J0T3B0aW9uID0gZGF0YS5hY3RpdmVTb3J0T3B0aW9uO1xuICAgIHRoaXMuYWRkaXRpb25hbERhdGEgPSBkYXRhLmFkZGl0aW9uYWxEYXRhO1xuICAgIHRoaXMuZmlsdGVyRGF0YSA9IGRhdGEuZmlsdGVyRGF0YTtcbiAgICB0aGlzLm9ubHlTaG93U2VsZWN0ZWQgPSBkYXRhLm9ubHlTaG93U2VsZWN0ZWQ7XG4gICAgdGhpcy5zZWxlY3RlZElkcyA9IGRhdGEuc2VsZWN0ZWRJZHM7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gZGF0YS5zZWFyY2hUZXh0O1xuICAgIHRoaXMudmlld3MgPSB2aWV3cyB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBgU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnNgIGZvciB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBAcmV0dXJucyBUaGUgYFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zYCBmb3IgdGhlIGRhdGEgbWFuYWdlci5cbiAgICovXG4gIHB1YmxpYyBnZXRTdGF0ZU9wdGlvbnMoKTogU2t5RGF0YU1hbmFnZXJTdGF0ZU9wdGlvbnMge1xuICAgIGNvbnN0IHZpZXdTdGF0ZXM6IFNreURhdGFWaWV3U3RhdGVPcHRpb25zW10gPSB0aGlzLnZpZXdzLm1hcCgodmlldykgPT4ge1xuICAgICAgcmV0dXJuIHZpZXcuZ2V0Vmlld1N0YXRlT3B0aW9ucygpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGl2ZVNvcnRPcHRpb246IHRoaXMuYWN0aXZlU29ydE9wdGlvbixcbiAgICAgIGFkZGl0aW9uYWxEYXRhOiB0aGlzLmFkZGl0aW9uYWxEYXRhLFxuICAgICAgZmlsdGVyRGF0YTogdGhpcy5maWx0ZXJEYXRhLFxuICAgICAgb25seVNob3dTZWxlY3RlZDogdGhpcy5vbmx5U2hvd1NlbGVjdGVkLFxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0LFxuICAgICAgc2VsZWN0ZWRJZHM6IHRoaXMuc2VsZWN0ZWRJZHMsXG4gICAgICB2aWV3czogdmlld1N0YXRlcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBTa3lEYXRhVmlld1N0YXRlYCBmb3IgdGhlIHNwZWNpZmllZCB2aWV3LlxuICAgKiBAcGFyYW0gdmlld0lkIFRoZSBJRCBmb3IgdGhlIHZpZXcuXG4gICAqIEByZXR1cm5zIFRoZSBgU2t5RGF0YVZpZXdTdGF0ZWAgZm9yIHRoZSBzcGVjaWZpZWQgdmlldy5cbiAgICovXG4gIHB1YmxpYyBnZXRWaWV3U3RhdGVCeUlkKHZpZXdJZDogc3RyaW5nKTogU2t5RGF0YVZpZXdTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MuZmluZCgodmlldykgPT4gdmlldy52aWV3SWQgPT09IHZpZXdJZCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGBTa3lEYXRhVmlld1N0YXRlYCB0byBhIHZpZXcgb3IgdXBkYXRlcyBhbiBleGlzdGluZyB2aWV3LlxuICAgKiBAcGFyYW0gdmlld0lkIFRoZSBJRCBmb3IgdGhlIHZpZXcuXG4gICAqIEBwYXJhbSB2aWV3IFRoZSBgU2t5RGF0YVZpZXdTdGF0ZWAgb3B0aW9uIHRvIGFkZCBvciB1cGRhdGUuXG4gICAqIEByZXR1cm5zIFRoZSBzdGF0ZSBvZiB0aGUgZGF0YSBtYW5hZ2VyIGZvciB0aGUgc3BlY2lmaWVkIHZpZXcuXG4gICAqL1xuICBwdWJsaWMgYWRkT3JVcGRhdGVWaWV3KFxuICAgIHZpZXdJZDogc3RyaW5nLFxuICAgIHZpZXc6IFNreURhdGFWaWV3U3RhdGUsXG4gICk6IFNreURhdGFNYW5hZ2VyU3RhdGUge1xuICAgIGNvbnN0IGV4aXN0aW5nVmlld0luZGV4ID0gdGhpcy52aWV3cy5maW5kSW5kZXgoKHYpID0+IHYudmlld0lkID09PSB2aWV3SWQpO1xuXG4gICAgaWYgKGV4aXN0aW5nVmlld0luZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy52aWV3c1tleGlzdGluZ1ZpZXdJbmRleF0gPSB2aWV3O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpZXdzLnB1c2godmlldyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlKHtcbiAgICAgIGFjdGl2ZVNvcnRPcHRpb246IHRoaXMuYWN0aXZlU29ydE9wdGlvbixcbiAgICAgIGFkZGl0aW9uYWxEYXRhOiB0aGlzLmFkZGl0aW9uYWxEYXRhLFxuICAgICAgZmlsdGVyRGF0YTogdGhpcy5maWx0ZXJEYXRhLFxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0LFxuICAgICAgc2VsZWN0ZWRJZHM6IHRoaXMuc2VsZWN0ZWRJZHMsXG4gICAgICB2aWV3czogdGhpcy52aWV3cyxcbiAgICB9KTtcbiAgfVxufVxuIl19","import { SkyDataManagerState } from './data-manager-state';\n/**\n * @internal\n */\nexport class SkyDataManagerStateChange {\n constructor(dataState, source) {\n this.dataState = new SkyDataManagerState(dataState.getStateOptions());\n this.source = source;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXN0YXRlLWNoYW5nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlLWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFJcEMsWUFBWSxTQUE4QixFQUFFLE1BQWM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclN0YXRlQ2hhbmdlIHtcbiAgcHVibGljIGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZTtcbiAgcHVibGljIHNvdXJjZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSwgc291cmNlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRhdGFTdGF0ZSA9IG5ldyBTa3lEYXRhTWFuYWdlclN0YXRlKGRhdGFTdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSk7XG4gICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gIH1cbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, ReplaySubject, Subject, switchMap, } from 'rxjs';\nimport { distinctUntilChanged, filter, map, take, takeUntil, } from 'rxjs/operators';\nimport { SkyDataManagerState } from './models/data-manager-state';\nimport { SkyDataManagerStateChange } from './models/data-manager-state-change';\nimport { SkyDataViewState } from './models/data-view-state';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\n/**\n * The data manager service provides ways for data views, toolbar items, and more to stay up to date\n * with the active view ID, data manager config, registered views and their configs, and data state.\n * There are methods to get current values, update values, and get subscriptions to the changing values.\n *\n * Provide this service at the component level for each instance of a data manager. Do not\n * provide it at the module level or in `app-extras`. This allows multiple data\n * managers to be used and self-contained.\n */\nexport class SkyDataManagerService {\n #activeViewId;\n #dataManagerConfig;\n #views;\n #dataStateChange;\n #dataSummary;\n #isInitialized;\n #ngUnsubscribe;\n #initSource;\n #uiConfigService;\n constructor(uiConfigService) {\n /**\n * @internal\n */\n this.viewkeeperClasses = new BehaviorSubject({});\n this.#activeViewId = new ReplaySubject(1);\n this.#dataManagerConfig = new BehaviorSubject({});\n this.#views = new BehaviorSubject([]);\n this.#dataStateChange = new ReplaySubject(1);\n this.#dataSummary = new Subject();\n this.#ngUnsubscribe = new Subject();\n this.#initSource = 'dataManagerServiceInit';\n this.#uiConfigService = uiConfigService;\n }\n ngOnDestroy() {\n this.#activeViewId.complete();\n this.#dataManagerConfig.complete();\n this.#views.complete();\n this.#dataStateChange.complete();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n /**\n * Initializes the data manager with the given settings and sets `isInitialized` to `true`.\n * This must be called for the data manager to render.\n * @param args The initial active view ID, data manager config, and state to use for the data manager.\n * If a settings key is provided, it checks for a saved data state in the SKY UI config service before using the default data state\n * and saves any state changes to the service.\n */\n initDataManager(args) {\n if (this.#isInitialized) {\n console.warn('This data manager instance has already been initialized.');\n return;\n }\n this.#isInitialized = true;\n const defaultDataState = args.defaultDataState;\n const settingsKey = args.settingsKey;\n this.updateActiveViewId(args.activeViewId);\n this.updateDataManagerConfig(args.dataManagerConfig);\n if (settingsKey) {\n this.#uiConfigService\n .getConfig(settingsKey, defaultDataState.getStateOptions())\n .pipe(take(1))\n .subscribe((config) => {\n this.updateDataState(new SkyDataManagerState(config), this.#initSource);\n });\n }\n else {\n this.updateDataState(defaultDataState, this.#initSource);\n }\n if (settingsKey) {\n this.getDataStateUpdates(this.#initSource)\n .pipe(takeUntil(this.#ngUnsubscribe), switchMap((state) => this.#uiConfigService.setConfig(settingsKey, state.getStateOptions())))\n .subscribe({\n error: (err) => {\n console.warn('Could not save data manager settings.');\n console.warn(err);\n },\n });\n }\n }\n /**\n * Initializes a view within the data manager. This must be called for each view for the views to appear within the data manager.\n * @param viewConfig The SkyDataViewConfig settings for the view being registered.\n */\n initDataView(viewConfig) {\n const currentViews = this.#views.value;\n if (this.getViewById(viewConfig.id)) {\n console.warn(`A data manager view with the id ${viewConfig.id} has already been initialized.`);\n return;\n }\n currentViews.push(viewConfig);\n this.#views.next(currentViews);\n // When the initial activeViewId is set there are no views registered. We have to re-emit\n // the activeId so the newly registered view is notified that it is active.\n this.#activeViewId.pipe(take(1)).subscribe((id) => {\n this.#activeViewId.next(id);\n });\n this.#dataStateChange\n .pipe(takeUntil(this.#ngUnsubscribe), take(1))\n .subscribe((change) => {\n const dataState = change.dataState;\n const currentViewState = dataState.getViewStateById(viewConfig.id);\n if (!currentViewState) {\n const newViewState = new SkyDataViewState({ viewId: viewConfig.id });\n // Ensure that the view state's available columns match with the view config. Also,\n // add columns to the `displayedColumnIds` as long as they are not `initialHide`\n if (viewConfig.columnOptions) {\n const columnIds = viewConfig.columnOptions.map((columnOptions) => {\n return columnOptions.id;\n });\n const displayedColumnIds = viewConfig.columnOptions\n .filter((columnOption) => {\n return !columnOption.initialHide;\n })\n .map((columnOption) => {\n return columnOption.id;\n });\n newViewState.columnIds = columnIds;\n newViewState.displayedColumnIds = displayedColumnIds;\n }\n const newDataState = dataState.addOrUpdateView(viewConfig.id, newViewState);\n this.updateDataState(newDataState, this.#initSource);\n }\n else {\n const currentAvailableColumnIds = viewConfig.columnOptions?.map((columnOptions) => {\n return columnOptions.id;\n }) || [];\n // Ensure that the view state's available columns match with the view config. Also,\n // add new columns to the `displayedColumnIds` as long as they are not `initialHide`.\n // We only add columns to `displayedColumnsIds` if we had previously tracked\n // `columnIds` to avoid breaking changes.\n if (currentViewState.columnIds.length > 0) {\n let newColumnIds = currentAvailableColumnIds?.filter((id) => currentViewState.columnIds.indexOf(id) < 0);\n newColumnIds = newColumnIds?.filter((columnId) => {\n return viewConfig.columnOptions?.find((columnOption) => columnOption.id === columnId && !columnOption.initialHide);\n });\n // Add the column IDs that now exist to the data manager state both as available\n // and as shown.\n currentViewState.displayedColumnIds =\n currentViewState.displayedColumnIds.concat(newColumnIds);\n }\n // Add the column IDs that now exist to the data manager state both as available\n // and as shown.\n currentViewState.columnIds = currentAvailableColumnIds;\n const newDataState = dataState.addOrUpdateView(viewConfig.id, currentViewState);\n this.updateDataState(newDataState, this.#initSource);\n }\n })\n .unsubscribe();\n }\n /**\n * Returns an observable of data state changes that views and other data manager entities can subscribe to.\n * It excludes updates originating from the provided source. This allows subscribers to only respond to\n * changes they did not create and helps prevent infinite loops of updates and responses.\n * @param sourceId The ID of the entity subscribing to data state updates. This can be any value you choose\n * but should be unique within the data manager instance and should also be used when that entity updates the state.\n */\n getDataStateUpdates(sourceId, updateFilter) {\n // filter out events from the provided source and emit just the dataState\n if (updateFilter) {\n return this.#dataStateChange.pipe(filter((stateChange) => sourceId !== stateChange.source), map((stateChange) => stateChange.dataState), updateFilter.comparator\n ? distinctUntilChanged(updateFilter.comparator)\n : distinctUntilChanged(this.#getDefaultStateComparator(updateFilter.properties)));\n }\n else {\n return this.#dataStateChange.pipe(filter((stateChange) => sourceId !== stateChange.source), map((stateChange) => stateChange.dataState));\n }\n }\n /**\n * Updates the data state and emits a new value to entities subscribed to data state changes.\n * @param state The new `SkyDataManagerState` value.\n * @param sourceId The ID of the entity updating the state. This can be any value you choose,\n * but should be unique within the data manager instance and should also be used when that entity\n * subscribes to state changes from `getDataStateUpdates`.\n */\n updateDataState(state, sourceId) {\n const newState = new SkyDataManagerState(state.getStateOptions());\n const newStateChange = new SkyDataManagerStateChange(newState, sourceId);\n this.#dataStateChange.next(newStateChange);\n }\n /**\n * Returns an observable of data summary changes that views and other data manager entities can subscribe to.\n * It excludes updates originating from the provided source. This allows subscribers to only respond to\n * changes they did not create and helps prevent infinite loops of updates and responses.\n * @param sourceId The ID of the entity subscribing to data summary updates. This can be any value you choose\n * but should be unique within the data manager instance and should also be used when that entity updates the summary.\n */\n getDataSummaryUpdates(sourceId) {\n return this.#dataSummary.pipe(filter((summaryChange) => sourceId !== summaryChange.source), map((summaryChange) => summaryChange.dataSummary));\n }\n /**\n * Updates the data summary and emits a new value to entities subscribed to data summary changes.\n * @param summary The new `SkyDataManagerSummary` value.\n * @param sourceId The ID of the entity updating the summary. This can be any value you choose,\n * but should be unique within the data manager instance and should also be used when that entity\n * subscribes to summary changes from `getDataSummaryUpdates`.\n */\n updateDataSummary(summary, sourceId) {\n this.#dataSummary.next({ dataSummary: summary, source: sourceId });\n }\n /**\n * Returns the current `SkyDataManagerConfig`.\n */\n getCurrentDataManagerConfig() {\n return this.#dataManagerConfig.value;\n }\n /**\n * Returns an observable of data manager config changes that views and other data manager entities can subscribe to.\n */\n getDataManagerConfigUpdates() {\n return this.#dataManagerConfig;\n }\n /**\n * Updates the data manager config and emits a new value to entities subscribed to data config changes.\n * @param value The new `SkyDataManagerConfig` value.\n */\n updateDataManagerConfig(value) {\n this.#dataManagerConfig.next(value);\n }\n /**\n * Returns an observable of data view config changes that views and other data manager entities can subscribe to.\n */\n getDataViewsUpdates() {\n return this.#views;\n }\n /**\n * Returns an observable of the active view ID that views and other data manager entities can subscribe to.\n */\n getActiveViewIdUpdates() {\n return this.#activeViewId;\n }\n /**\n * Updates the active view ID. The data manager changes the displayed view.\n * @param id The new active view ID.\n */\n updateActiveViewId(id) {\n this.#activeViewId.next(id);\n }\n /**\n * Returns the `SkyDataViewConfig` for the given view ID.\n * @param viewId The ID of the view config to get.\n */\n getViewById(viewId) {\n const currentViews = this.#views.value;\n const viewConfig = currentViews.find((view) => view.id === viewId);\n return viewConfig;\n }\n /**\n * Updates the given view config. The registered view with the same ID is updated to the\n * provided config, so include all properties regardless of whether they changed. If the\n * view was not initialized already, no update happens.\n * @param view The new `SkyDataViewConfig` containing all properties.\n */\n updateViewConfig(view) {\n const currentViews = this.#views.value;\n const existingViewIndex = currentViews.findIndex((currentView) => currentView.id === view.id);\n if (existingViewIndex === -1) {\n console.error('A view with the id {id} does not exist.', view.id);\n }\n else {\n currentViews[existingViewIndex] = view;\n this.#views.next(currentViews);\n }\n }\n /**\n * @internal\n */\n setViewkeeperClasses(viewId, classes) {\n const viewkeeperClasses = this.viewkeeperClasses.value;\n viewkeeperClasses[viewId] = classes;\n this.viewkeeperClasses.next(viewkeeperClasses);\n }\n #filterDataStateProperties(state, properties) {\n const stateProperties = state.getStateOptions();\n const filteredStateProperties = {};\n if (properties) {\n for (const property of properties) {\n if (property in stateProperties) {\n filteredStateProperties[property] = stateProperties[property];\n }\n }\n }\n return filteredStateProperties;\n }\n #getDefaultStateComparator(properties) {\n return (state1, state2) => {\n const filteredState1 = this.#filterDataStateProperties(state1, properties);\n const filteredState2 = this.#filterDataStateProperties(state2, properties);\n return JSON.stringify(filteredState1) === JSON.stringify(filteredState2);\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerService, deps: [{ token: i1.SkyUIConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.SkyUIConfigService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEVBQ0wsZUFBZSxFQUVmLGFBQWEsRUFDYixPQUFPLEVBQ1AsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU0vRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTVEOzs7Ozs7OztHQVFHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQU12QixhQUFhLENBQWdDO0lBQzdDLGtCQUFrQixDQUFpRDtJQUNuRSxNQUFNLENBQWdEO0lBQ3RELGdCQUFnQixDQUFtRDtJQUNuRSxZQUFZLENBQThDO0lBRW5FLGNBQWMsQ0FBc0I7SUFDcEMsY0FBYyxDQUF1QjtJQUNyQyxXQUFXLENBQTRCO0lBQ3ZDLGdCQUFnQixDQUFxQjtJQUVyQyxZQUFZLGVBQW1DO1FBaEIvQzs7V0FFRztRQUNJLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUEyQixFQUFFLENBQUMsQ0FBQztRQUVwRSxrQkFBYSxHQUFHLElBQUksYUFBYSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzdDLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUF1QixFQUFF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LENBQ0wsTUFBMkIsRUFDM0IsTUFBMkIsRUFDbEIsRUFBRTtZQUNYLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDcEQsTUFBTSxFQUNOLFVBQVUsQ0FDWCxDQUFDO1lBQ0YsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUNwRCxNQUFNLEVBQ04sVUFBVSxDQUNYLENBQUM7WUFDRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUM7SUFDSixDQUFDOytHQTNYVSxxQkFBcUI7bUhBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VUlDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFJlcGxheVN1YmplY3QsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb25maWcnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJJbml0QXJncyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1pbml0LWFyZ3MnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlQ2hhbmdlIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN0YXRlT3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZS1vcHRpb25zJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGVVcGRhdGVGaWx0ZXJBcmdzIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlLXVwZGF0ZS1maWx0ZXItYXJncyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN1bW1hcnkgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3VtbWFyeSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN1bW1hcnlDaGFuZ2UgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3VtbWFyeS1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFWaWV3U3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRhLXZpZXctc3RhdGUnO1xuXG4vKipcbiAqIFRoZSBkYXRhIG1hbmFnZXIgc2VydmljZSBwcm92aWRlcyB3YXlzIGZvciBkYXRhIHZpZXdzLCB0b29sYmFyIGl0ZW1zLCBhbmQgbW9yZSB0byBzdGF5IHVwIHRvIGRhdGVcbiAqIHdpdGggdGhlIGFjdGl2ZSB2aWV3IElELCBkYXRhIG1hbmFnZXIgY29uZmlnLCByZWdpc3RlcmVkIHZpZXdzIGFuZCB0aGVpciBjb25maWdzLCBhbmQgZGF0YSBzdGF0ZS5cbiAqIFRoZXJlIGFyZSBtZXRob2RzIHRvIGdldCBjdXJyZW50IHZhbHVlcywgdXBkYXRlIHZhbHVlcywgYW5kIGdldCBzdWJzY3JpcHRpb25zIHRvIHRoZSBjaGFuZ2luZyB2YWx1ZXMuXG4gKlxuICogUHJvdmlkZSB0aGlzIHNlcnZpY2UgYXQgdGhlIGNvbXBvbmVudCBsZXZlbCBmb3IgZWFjaCBpbnN0YW5jZSBvZiBhIGRhdGEgbWFuYWdlci4gRG8gbm90XG4gKiBwcm92aWRlIGl0IGF0IHRoZSBtb2R1bGUgbGV2ZWwgb3IgaW4gYGFwcC1leHRyYXNgLiBUaGlzIGFsbG93cyBtdWx0aXBsZSBkYXRhXG4gKiBtYW5hZ2VycyB0byBiZSB1c2VkIGFuZCBzZWxmLWNvbnRhaW5lZC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyB2aWV3a2VlcGVyQ2xhc3NlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UmVjb3JkPHN0cmluZywgc3RyaW5nW10+Pih7fSk7XG5cbiAgcmVhZG9ubHkgI2FjdGl2ZVZpZXdJZCA9IG5ldyBSZXBsYXlTdWJqZWN0PHN0cmluZz4oMSk7XG4gIHJlYWRvbmx5ICNkYXRhTWFuYWdlckNvbmZpZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2t5RGF0YU1hbmFnZXJDb25maWc+KHt9KTtcbiAgcmVhZG9ubHkgI3ZpZXdzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTa3lEYXRhVmlld0NvbmZpZ1tdPihbXSk7XG4gIHJlYWRvbmx5ICNkYXRhU3RhdGVDaGFuZ2UgPSBuZXcgUmVwbGF5U3ViamVjdDxTa3lEYXRhTWFuYWdlclN0YXRlQ2hhbmdlPigxKTtcbiAgcmVhZG9ubHkgI2RhdGFTdW1tYXJ5ID0gbmV3IFN1YmplY3Q8U2t5RGF0YU1hbmFnZXJTdW1tYXJ5Q2hhbmdlPigpO1xuXG4gICNpc0luaXRpYWxpemVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNpbml0U291cmNlID0gJ2RhdGFNYW5hZ2VyU2VydmljZUluaXQnO1xuICAjdWlDb25maWdTZXJ2aWNlOiBTa3lVSUNvbmZpZ1NlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IodWlDb25maWdTZXJ2aWNlOiBTa3lVSUNvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2UgPSB1aUNvbmZpZ1NlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jYWN0aXZlVmlld0lkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJDb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLiN2aWV3cy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2RhdGFTdGF0ZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgZGF0YSBtYW5hZ2VyIHdpdGggdGhlIGdpdmVuIHNldHRpbmdzIGFuZCBzZXRzIGBpc0luaXRpYWxpemVkYCB0byBgdHJ1ZWAuXG4gICAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgZm9yIHRoZSBkYXRhIG1hbmFnZXIgdG8gcmVuZGVyLlxuICAgKiBAcGFyYW0gYXJncyBUaGUgaW5pdGlhbCBhY3RpdmUgdmlldyBJRCwgZGF0YSBtYW5hZ2VyIGNvbmZpZywgYW5kIHN0YXRlIHRvIHVzZSBmb3IgdGhlIGRhdGEgbWFuYWdlci5cbiAgICogSWYgYSBzZXR0aW5ncyBrZXkgaXMgcHJvdmlkZWQsIGl0IGNoZWNrcyBmb3IgYSBzYXZlZCBkYXRhIHN0YXRlIGluIHRoZSBTS1kgVUkgY29uZmlnIHNlcnZpY2UgYmVmb3JlIHVzaW5nIHRoZSBkZWZhdWx0IGRhdGEgc3RhdGVcbiAgICogYW5kIHNhdmVzIGFueSBzdGF0ZSBjaGFuZ2VzIHRvIHRoZSBzZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIGluaXREYXRhTWFuYWdlcihhcmdzOiBTa3lEYXRhTWFuYWdlckluaXRBcmdzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2lzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignVGhpcyBkYXRhIG1hbmFnZXIgaW5zdGFuY2UgaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZC4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNpc0luaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IGRlZmF1bHREYXRhU3RhdGUgPSBhcmdzLmRlZmF1bHREYXRhU3RhdGU7XG4gICAgY29uc3Qgc2V0dGluZ3NLZXkgPSBhcmdzLnNldHRpbmdzS2V5O1xuXG4gICAgdGhpcy51cGRhdGVBY3RpdmVWaWV3SWQoYXJncy5hY3RpdmVWaWV3SWQpO1xuICAgIHRoaXMudXBkYXRlRGF0YU1hbmFnZXJDb25maWcoYXJncy5kYXRhTWFuYWdlckNvbmZpZyk7XG5cbiAgICBpZiAoc2V0dGluZ3NLZXkpIHtcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuZ2V0Q29uZmlnKHNldHRpbmdzS2V5LCBkZWZhdWx0RGF0YVN0YXRlLmdldFN0YXRlT3B0aW9ucygpKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKChjb25maWc6IFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKSA9PiB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhU3RhdGUoXG4gICAgICAgICAgICBuZXcgU2t5RGF0YU1hbmFnZXJTdGF0ZShjb25maWcpLFxuICAgICAgICAgICAgdGhpcy4jaW5pdFNvdXJjZSxcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVEYXRhU3RhdGUoZGVmYXVsdERhdGFTdGF0ZSwgdGhpcy4jaW5pdFNvdXJjZSk7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy4jaW5pdFNvdXJjZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgIHN3aXRjaE1hcCgoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+XG4gICAgICAgICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2Uuc2V0Q29uZmlnKFxuICAgICAgICAgICAgICBzZXR0aW5nc0tleSxcbiAgICAgICAgICAgICAgc3RhdGUuZ2V0U3RhdGVPcHRpb25zKCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHNhdmUgZGF0YSBtYW5hZ2VyIHNldHRpbmdzLicpO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGVycik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgdmlldyB3aXRoaW4gdGhlIGRhdGEgbWFuYWdlci4gVGhpcyBtdXN0IGJlIGNhbGxlZCBmb3IgZWFjaCB2aWV3IGZvciB0aGUgdmlld3MgdG8gYXBwZWFyIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyLlxuICAgKiBAcGFyYW0gdmlld0NvbmZpZyBUaGUgU2t5RGF0YVZpZXdDb25maWcgc2V0dGluZ3MgZm9yIHRoZSB2aWV3IGJlaW5nIHJlZ2lzdGVyZWQuXG4gICAqL1xuICBwdWJsaWMgaW5pdERhdGFWaWV3KHZpZXdDb25maWc6IFNreURhdGFWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy4jdmlld3MudmFsdWU7XG5cbiAgICBpZiAodGhpcy5nZXRWaWV3QnlJZCh2aWV3Q29uZmlnLmlkKSkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgQSBkYXRhIG1hbmFnZXIgdmlldyB3aXRoIHRoZSBpZCAke3ZpZXdDb25maWcuaWR9IGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuYCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3VycmVudFZpZXdzLnB1c2godmlld0NvbmZpZyk7XG4gICAgdGhpcy4jdmlld3MubmV4dChjdXJyZW50Vmlld3MpO1xuXG4gICAgLy8gV2hlbiB0aGUgaW5pdGlhbCBhY3RpdmVWaWV3SWQgaXMgc2V0IHRoZXJlIGFyZSBubyB2aWV3cyByZWdpc3RlcmVkLiBXZSBoYXZlIHRvIHJlLWVtaXRcbiAgICAvLyB0aGUgYWN0aXZlSWQgc28gdGhlIG5ld2x5IHJlZ2lzdGVyZWQgdmlldyBpcyBub3RpZmllZCB0aGF0IGl0IGlzIGFjdGl2ZS5cbiAgICB0aGlzLiNhY3RpdmVWaWV3SWQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGlkKSA9PiB7XG4gICAgICB0aGlzLiNhY3RpdmVWaWV3SWQubmV4dChpZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhU3RhdGVDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZSkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhU3RhdGUgPSBjaGFuZ2UuZGF0YVN0YXRlO1xuICAgICAgICBjb25zdCBjdXJyZW50Vmlld1N0YXRlID0gZGF0YVN0YXRlLmdldFZpZXdTdGF0ZUJ5SWQodmlld0NvbmZpZy5pZCk7XG5cbiAgICAgICAgaWYgKCFjdXJyZW50Vmlld1N0YXRlKSB7XG4gICAgICAgICAgY29uc3QgbmV3Vmlld1N0YXRlID0gbmV3IFNreURhdGFWaWV3U3RhdGUoeyB2aWV3SWQ6IHZpZXdDb25maWcuaWQgfSk7XG5cbiAgICAgICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgdmlldyBzdGF0ZSdzIGF2YWlsYWJsZSBjb2x1bW5zIG1hdGNoIHdpdGggdGhlIHZpZXcgY29uZmlnLiBBbHNvLFxuICAgICAgICAgIC8vIGFkZCBjb2x1bW5zIHRvIHRoZSBgZGlzcGxheWVkQ29sdW1uSWRzYCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBgaW5pdGlhbEhpZGVgXG4gICAgICAgICAgaWYgKHZpZXdDb25maWcuY29sdW1uT3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgY29sdW1uSWRzID0gdmlld0NvbmZpZy5jb2x1bW5PcHRpb25zLm1hcCgoY29sdW1uT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gY29sdW1uT3B0aW9ucy5pZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgZGlzcGxheWVkQ29sdW1uSWRzID0gdmlld0NvbmZpZy5jb2x1bW5PcHRpb25zXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGNvbHVtbk9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAhY29sdW1uT3B0aW9uLmluaXRpYWxIaWRlO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAubWFwKChjb2x1bW5PcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1uT3B0aW9uLmlkO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgbmV3Vmlld1N0YXRlLmNvbHVtbklkcyA9IGNvbHVtbklkcztcbiAgICAgICAgICAgIG5ld1ZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMgPSBkaXNwbGF5ZWRDb2x1bW5JZHM7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG5ld0RhdGFTdGF0ZSA9IGRhdGFTdGF0ZS5hZGRPclVwZGF0ZVZpZXcoXG4gICAgICAgICAgICB2aWV3Q29uZmlnLmlkLFxuICAgICAgICAgICAgbmV3Vmlld1N0YXRlLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFTdGF0ZShuZXdEYXRhU3RhdGUsIHRoaXMuI2luaXRTb3VyY2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRBdmFpbGFibGVDb2x1bW5JZHMgPVxuICAgICAgICAgICAgdmlld0NvbmZpZy5jb2x1bW5PcHRpb25zPy5tYXAoKGNvbHVtbk9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbk9wdGlvbnMuaWQ7XG4gICAgICAgICAgICB9KSB8fCBbXTtcblxuICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB2aWV3IHN0YXRlJ3MgYXZhaWxhYmxlIGNvbHVtbnMgbWF0Y2ggd2l0aCB0aGUgdmlldyBjb25maWcuIEFsc28sXG4gICAgICAgICAgLy8gYWRkIG5ldyBjb2x1bW5zIHRvIHRoZSBgZGlzcGxheWVkQ29sdW1uSWRzYCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBgaW5pdGlhbEhpZGVgLlxuICAgICAgICAgIC8vIFdlIG9ubHkgYWRkIGNvbHVtbnMgdG8gYGRpc3BsYXllZENvbHVtbnNJZHNgIGlmIHdlIGhhZCBwcmV2aW91c2x5IHRyYWNrZWRcbiAgICAgICAgICAvLyBgY29sdW1uSWRzYCB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VzLlxuICAgICAgICAgIGlmIChjdXJyZW50Vmlld1N0YXRlLmNvbHVtbklkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgbmV3Q29sdW1uSWRzID0gY3VycmVudEF2YWlsYWJsZUNvbHVtbklkcz8uZmlsdGVyKFxuICAgICAgICAgICAgICAoaWQpID0+IGN1cnJlbnRWaWV3U3RhdGUuY29sdW1uSWRzLmluZGV4T2YoaWQpIDwgMCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBuZXdDb2x1bW5JZHMgPSBuZXdDb2x1bW5JZHM/LmZpbHRlcigoY29sdW1uSWQpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZpZXdDb25maWcuY29sdW1uT3B0aW9ucz8uZmluZChcbiAgICAgICAgICAgICAgICAoY29sdW1uT3B0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgY29sdW1uT3B0aW9uLmlkID09PSBjb2x1bW5JZCAmJiAhY29sdW1uT3B0aW9uLmluaXRpYWxIaWRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIEFkZCB0aGUgY29sdW1uIElEcyB0aGF0IG5vdyBleGlzdCB0byB0aGUgZGF0YSBtYW5hZ2VyIHN0YXRlIGJvdGggYXMgYXZhaWxhYmxlXG4gICAgICAgICAgICAvLyBhbmQgYXMgc2hvd24uXG4gICAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9XG4gICAgICAgICAgICAgIGN1cnJlbnRWaWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzLmNvbmNhdChuZXdDb2x1bW5JZHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBZGQgdGhlIGNvbHVtbiBJRHMgdGhhdCBub3cgZXhpc3QgdG8gdGhlIGRhdGEgbWFuYWdlciBzdGF0ZSBib3RoIGFzIGF2YWlsYWJsZVxuICAgICAgICAgIC8vIGFuZCBhcyBzaG93bi5cbiAgICAgICAgICBjdXJyZW50Vmlld1N0YXRlLmNvbHVtbklkcyA9IGN1cnJlbnRBdmFpbGFibGVDb2x1bW5JZHM7XG5cbiAgICAgICAgICBjb25zdCBuZXdEYXRhU3RhdGUgPSBkYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KFxuICAgICAgICAgICAgdmlld0NvbmZpZy5pZCxcbiAgICAgICAgICAgIGN1cnJlbnRWaWV3U3RhdGUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlRGF0YVN0YXRlKG5ld0RhdGFTdGF0ZSwgdGhpcy4jaW5pdFNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgZGF0YSBzdGF0ZSBjaGFuZ2VzIHRoYXQgdmlld3MgYW5kIG90aGVyIGRhdGEgbWFuYWdlciBlbnRpdGllcyBjYW4gc3Vic2NyaWJlIHRvLlxuICAgKiBJdCBleGNsdWRlcyB1cGRhdGVzIG9yaWdpbmF0aW5nIGZyb20gdGhlIHByb3ZpZGVkIHNvdXJjZS4gVGhpcyBhbGxvd3Mgc3Vic2NyaWJlcnMgdG8gb25seSByZXNwb25kIHRvXG4gICAqIGNoYW5nZXMgdGhleSBkaWQgbm90IGNyZWF0ZSBhbmQgaGVscHMgcHJldmVudCBpbmZpbml0ZSBsb29wcyBvZiB1cGRhdGVzIGFuZCByZXNwb25zZXMuXG4gICAqIEBwYXJhbSBzb3VyY2VJZCBUaGUgSUQgb2YgdGhlIGVudGl0eSBzdWJzY3JpYmluZyB0byBkYXRhIHN0YXRlIHVwZGF0ZXMuIFRoaXMgY2FuIGJlIGFueSB2YWx1ZSB5b3UgY2hvb3NlXG4gICAqIGJ1dCBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGFuZCBzaG91bGQgYWxzbyBiZSB1c2VkIHdoZW4gdGhhdCBlbnRpdHkgdXBkYXRlcyB0aGUgc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YVN0YXRlVXBkYXRlcyhcbiAgICBzb3VyY2VJZDogc3RyaW5nLFxuICAgIHVwZGF0ZUZpbHRlcj86IFNreURhdGFNYW5hZ2VyU3RhdGVVcGRhdGVGaWx0ZXJBcmdzLFxuICApOiBPYnNlcnZhYmxlPFNreURhdGFNYW5hZ2VyU3RhdGU+IHtcbiAgICAvLyBmaWx0ZXIgb3V0IGV2ZW50cyBmcm9tIHRoZSBwcm92aWRlZCBzb3VyY2UgYW5kIGVtaXQganVzdCB0aGUgZGF0YVN0YXRlXG4gICAgaWYgKHVwZGF0ZUZpbHRlcikge1xuICAgICAgcmV0dXJuIHRoaXMuI2RhdGFTdGF0ZUNoYW5nZS5waXBlKFxuICAgICAgICBmaWx0ZXIoKHN0YXRlQ2hhbmdlKSA9PiBzb3VyY2VJZCAhPT0gc3RhdGVDaGFuZ2Uuc291cmNlKSxcbiAgICAgICAgbWFwKChzdGF0ZUNoYW5nZSkgPT4gc3RhdGVDaGFuZ2UuZGF0YVN0YXRlKSxcbiAgICAgICAgdXBkYXRlRmlsdGVyLmNvbXBhcmF0b3JcbiAgICAgICAgICA/IGRpc3RpbmN0VW50aWxDaGFuZ2VkKHVwZGF0ZUZpbHRlci5jb21wYXJhdG9yKVxuICAgICAgICAgIDogZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgICAgICAgIHRoaXMuI2dldERlZmF1bHRTdGF0ZUNvbXBhcmF0b3IoXG4gICAgICAgICAgICAgICAgdXBkYXRlRmlsdGVyLnByb3BlcnRpZXMgYXMgKGtleW9mIFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKVtdLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLiNkYXRhU3RhdGVDaGFuZ2UucGlwZShcbiAgICAgICAgZmlsdGVyKChzdGF0ZUNoYW5nZSkgPT4gc291cmNlSWQgIT09IHN0YXRlQ2hhbmdlLnNvdXJjZSksXG4gICAgICAgIG1hcCgoc3RhdGVDaGFuZ2UpID0+IHN0YXRlQ2hhbmdlLmRhdGFTdGF0ZSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIHN0YXRlIGFuZCBlbWl0cyBhIG5ldyB2YWx1ZSB0byBlbnRpdGllcyBzdWJzY3JpYmVkIHRvIGRhdGEgc3RhdGUgY2hhbmdlcy5cbiAgICogQHBhcmFtIHN0YXRlIFRoZSBuZXcgYFNreURhdGFNYW5hZ2VyU3RhdGVgIHZhbHVlLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgdXBkYXRpbmcgdGhlIHN0YXRlLiBUaGlzIGNhbiBiZSBhbnkgdmFsdWUgeW91IGNob29zZSxcbiAgICogYnV0IHNob3VsZCBiZSB1bmlxdWUgd2l0aGluIHRoZSBkYXRhIG1hbmFnZXIgaW5zdGFuY2UgYW5kIHNob3VsZCBhbHNvIGJlIHVzZWQgd2hlbiB0aGF0IGVudGl0eVxuICAgKiBzdWJzY3JpYmVzIHRvIHN0YXRlIGNoYW5nZXMgZnJvbSBgZ2V0RGF0YVN0YXRlVXBkYXRlc2AuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlRGF0YVN0YXRlKHN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlLCBzb3VyY2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSBuZXcgU2t5RGF0YU1hbmFnZXJTdGF0ZShzdGF0ZS5nZXRTdGF0ZU9wdGlvbnMoKSk7XG4gICAgY29uc3QgbmV3U3RhdGVDaGFuZ2UgPSBuZXcgU2t5RGF0YU1hbmFnZXJTdGF0ZUNoYW5nZShuZXdTdGF0ZSwgc291cmNlSWQpO1xuXG4gICAgdGhpcy4jZGF0YVN0YXRlQ2hhbmdlLm5leHQobmV3U3RhdGVDaGFuZ2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBkYXRhIHN1bW1hcnkgY2hhbmdlcyB0aGF0IHZpZXdzIGFuZCBvdGhlciBkYXRhIG1hbmFnZXIgZW50aXRpZXMgY2FuIHN1YnNjcmliZSB0by5cbiAgICogSXQgZXhjbHVkZXMgdXBkYXRlcyBvcmlnaW5hdGluZyBmcm9tIHRoZSBwcm92aWRlZCBzb3VyY2UuIFRoaXMgYWxsb3dzIHN1YnNjcmliZXJzIHRvIG9ubHkgcmVzcG9uZCB0b1xuICAgKiBjaGFuZ2VzIHRoZXkgZGlkIG5vdCBjcmVhdGUgYW5kIGhlbHBzIHByZXZlbnQgaW5maW5pdGUgbG9vcHMgb2YgdXBkYXRlcyBhbmQgcmVzcG9uc2VzLlxuICAgKiBAcGFyYW0gc291cmNlSWQgVGhlIElEIG9mIHRoZSBlbnRpdHkgc3Vic2NyaWJpbmcgdG8gZGF0YSBzdW1tYXJ5IHVwZGF0ZXMuIFRoaXMgY2FuIGJlIGFueSB2YWx1ZSB5b3UgY2hvb3NlXG4gICAqIGJ1dCBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGFuZCBzaG91bGQgYWxzbyBiZSB1c2VkIHdoZW4gdGhhdCBlbnRpdHkgdXBkYXRlcyB0aGUgc3VtbWFyeS5cbiAgICovXG4gIHB1YmxpYyBnZXREYXRhU3VtbWFyeVVwZGF0ZXMoXG4gICAgc291cmNlSWQ6IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxTa3lEYXRhTWFuYWdlclN1bW1hcnk+IHtcbiAgICByZXR1cm4gdGhpcy4jZGF0YVN1bW1hcnkucGlwZShcbiAgICAgIGZpbHRlcigoc3VtbWFyeUNoYW5nZSkgPT4gc291cmNlSWQgIT09IHN1bW1hcnlDaGFuZ2Uuc291cmNlKSxcbiAgICAgIG1hcCgoc3VtbWFyeUNoYW5nZSkgPT4gc3VtbWFyeUNoYW5nZS5kYXRhU3VtbWFyeSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIHN1bW1hcnkgYW5kIGVtaXRzIGEgbmV3IHZhbHVlIHRvIGVudGl0aWVzIHN1YnNjcmliZWQgdG8gZGF0YSBzdW1tYXJ5IGNoYW5nZXMuXG4gICAqIEBwYXJhbSBzdW1tYXJ5IFRoZSBuZXcgYFNreURhdGFNYW5hZ2VyU3VtbWFyeWAgdmFsdWUuXG4gICAqIEBwYXJhbSBzb3VyY2VJZCBUaGUgSUQgb2YgdGhlIGVudGl0eSB1cGRhdGluZyB0aGUgc3VtbWFyeS4gVGhpcyBjYW4gYmUgYW55IHZhbHVlIHlvdSBjaG9vc2UsXG4gICAqIGJ1dCBzaG91bGQgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZGF0YSBtYW5hZ2VyIGluc3RhbmNlIGFuZCBzaG91bGQgYWxzbyBiZSB1c2VkIHdoZW4gdGhhdCBlbnRpdHlcbiAgICogc3Vic2NyaWJlcyB0byBzdW1tYXJ5IGNoYW5nZXMgZnJvbSBgZ2V0RGF0YVN1bW1hcnlVcGRhdGVzYC5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVEYXRhU3VtbWFyeShcbiAgICBzdW1tYXJ5OiBTa3lEYXRhTWFuYWdlclN1bW1hcnksXG4gICAgc291cmNlSWQ6IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YVN1bW1hcnkubmV4dCh7IGRhdGFTdW1tYXJ5OiBzdW1tYXJ5LCBzb3VyY2U6IHNvdXJjZUlkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgYFNreURhdGFNYW5hZ2VyQ29uZmlnYC5cbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50RGF0YU1hbmFnZXJDb25maWcoKTogU2t5RGF0YU1hbmFnZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLiNkYXRhTWFuYWdlckNvbmZpZy52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgZGF0YSBtYW5hZ2VyIGNvbmZpZyBjaGFuZ2VzIHRoYXQgdmlld3MgYW5kIG90aGVyIGRhdGEgbWFuYWdlciBlbnRpdGllcyBjYW4gc3Vic2NyaWJlIHRvLlxuICAgKi9cbiAgcHVibGljIGdldERhdGFNYW5hZ2VyQ29uZmlnVXBkYXRlcygpOiBPYnNlcnZhYmxlPFNreURhdGFNYW5hZ2VyQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuI2RhdGFNYW5hZ2VyQ29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGRhdGEgbWFuYWdlciBjb25maWcgYW5kIGVtaXRzIGEgbmV3IHZhbHVlIHRvIGVudGl0aWVzIHN1YnNjcmliZWQgdG8gZGF0YSBjb25maWcgY2hhbmdlcy5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBuZXcgYFNreURhdGFNYW5hZ2VyQ29uZmlnYCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVEYXRhTWFuYWdlckNvbmZpZyh2YWx1ZTogU2t5RGF0YU1hbmFnZXJDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlckNvbmZpZy5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgZGF0YSB2aWV3IGNvbmZpZyBjaGFuZ2VzIHRoYXQgdmlld3MgYW5kIG90aGVyIGRhdGEgbWFuYWdlciBlbnRpdGllcyBjYW4gc3Vic2NyaWJlIHRvLlxuICAgKi9cbiAgcHVibGljIGdldERhdGFWaWV3c1VwZGF0ZXMoKTogT2JzZXJ2YWJsZTxTa3lEYXRhVmlld0NvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuI3ZpZXdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiB0aGUgYWN0aXZlIHZpZXcgSUQgdGhhdCB2aWV3cyBhbmQgb3RoZXIgZGF0YSBtYW5hZ2VyIGVudGl0aWVzIGNhbiBzdWJzY3JpYmUgdG8uXG4gICAqL1xuICBwdWJsaWMgZ2V0QWN0aXZlVmlld0lkVXBkYXRlcygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLiNhY3RpdmVWaWV3SWQ7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgYWN0aXZlIHZpZXcgSUQuIFRoZSBkYXRhIG1hbmFnZXIgY2hhbmdlcyB0aGUgZGlzcGxheWVkIHZpZXcuXG4gICAqIEBwYXJhbSBpZCBUaGUgbmV3IGFjdGl2ZSB2aWV3IElELlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUFjdGl2ZVZpZXdJZChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jYWN0aXZlVmlld0lkLm5leHQoaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGBTa3lEYXRhVmlld0NvbmZpZ2AgZm9yIHRoZSBnaXZlbiB2aWV3IElELlxuICAgKiBAcGFyYW0gdmlld0lkIFRoZSBJRCBvZiB0aGUgdmlldyBjb25maWcgdG8gZ2V0LlxuICAgKi9cbiAgcHVibGljIGdldFZpZXdCeUlkKHZpZXdJZDogc3RyaW5nKTogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IHRoaXMuI3ZpZXdzLnZhbHVlO1xuICAgIGNvbnN0IHZpZXdDb25maWc6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkID0gY3VycmVudFZpZXdzLmZpbmQoXG4gICAgICAodmlldykgPT4gdmlldy5pZCA9PT0gdmlld0lkLFxuICAgICk7XG5cbiAgICByZXR1cm4gdmlld0NvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBnaXZlbiB2aWV3IGNvbmZpZy4gVGhlIHJlZ2lzdGVyZWQgdmlldyB3aXRoIHRoZSBzYW1lIElEIGlzIHVwZGF0ZWQgdG8gdGhlXG4gICAqIHByb3ZpZGVkIGNvbmZpZywgc28gaW5jbHVkZSBhbGwgcHJvcGVydGllcyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSBjaGFuZ2VkLiBJZiB0aGVcbiAgICogdmlldyB3YXMgbm90IGluaXRpYWxpemVkIGFscmVhZHksIG5vIHVwZGF0ZSBoYXBwZW5zLlxuICAgKiBAcGFyYW0gdmlldyBUaGUgbmV3IGBTa3lEYXRhVmlld0NvbmZpZ2AgY29udGFpbmluZyBhbGwgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVWaWV3Q29uZmlnKHZpZXc6IFNreURhdGFWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzOiBTa3lEYXRhVmlld0NvbmZpZ1tdID0gdGhpcy4jdmlld3MudmFsdWU7XG4gICAgY29uc3QgZXhpc3RpbmdWaWV3SW5kZXggPSBjdXJyZW50Vmlld3MuZmluZEluZGV4KFxuICAgICAgKGN1cnJlbnRWaWV3KSA9PiBjdXJyZW50Vmlldy5pZCA9PT0gdmlldy5pZCxcbiAgICApO1xuXG4gICAgaWYgKGV4aXN0aW5nVmlld0luZGV4ID09PSAtMSkge1xuICAgICAgY29uc29sZS5lcnJvcignQSB2aWV3IHdpdGggdGhlIGlkIHtpZH0gZG9lcyBub3QgZXhpc3QuJywgdmlldy5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRWaWV3c1tleGlzdGluZ1ZpZXdJbmRleF0gPSB2aWV3O1xuICAgICAgdGhpcy4jdmlld3MubmV4dChjdXJyZW50Vmlld3MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzZXRWaWV3a2VlcGVyQ2xhc3Nlcyh2aWV3SWQ6IHN0cmluZywgY2xhc3Nlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBjb25zdCB2aWV3a2VlcGVyQ2xhc3NlcyA9IHRoaXMudmlld2tlZXBlckNsYXNzZXMudmFsdWU7XG4gICAgdmlld2tlZXBlckNsYXNzZXNbdmlld0lkXSA9IGNsYXNzZXM7XG5cbiAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLm5leHQodmlld2tlZXBlckNsYXNzZXMpO1xuICB9XG5cbiAgI2ZpbHRlckRhdGFTdGF0ZVByb3BlcnRpZXMoXG4gICAgc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gICAgcHJvcGVydGllczogKGtleW9mIFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKVtdIHwgdW5kZWZpbmVkLFxuICApOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgY29uc3Qgc3RhdGVQcm9wZXJ0aWVzID0gc3RhdGUuZ2V0U3RhdGVPcHRpb25zKCk7XG4gICAgY29uc3QgZmlsdGVyZWRTdGF0ZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cbiAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmIChwcm9wZXJ0eSBpbiBzdGF0ZVByb3BlcnRpZXMpIHtcbiAgICAgICAgICBmaWx0ZXJlZFN0YXRlUHJvcGVydGllc1twcm9wZXJ0eV0gPSBzdGF0ZVByb3BlcnRpZXNbcHJvcGVydHldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbHRlcmVkU3RhdGVQcm9wZXJ0aWVzO1xuICB9XG5cbiAgI2dldERlZmF1bHRTdGF0ZUNvbXBhcmF0b3IoXG4gICAgcHJvcGVydGllczogKGtleW9mIFNreURhdGFNYW5hZ2VyU3RhdGVPcHRpb25zKVtdIHwgdW5kZWZpbmVkLFxuICApOiAoc3RhdGUxOiBTa3lEYXRhTWFuYWdlclN0YXRlLCBzdGF0ZTI6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdGF0ZTE6IFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gICAgICBzdGF0ZTI6IFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gICAgKTogYm9vbGVhbiA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZFN0YXRlMSA9IHRoaXMuI2ZpbHRlckRhdGFTdGF0ZVByb3BlcnRpZXMoXG4gICAgICAgIHN0YXRlMSxcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICk7XG4gICAgICBjb25zdCBmaWx0ZXJlZFN0YXRlMiA9IHRoaXMuI2ZpbHRlckRhdGFTdGF0ZVByb3BlcnRpZXMoXG4gICAgICAgIHN0YXRlMixcbiAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICk7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZmlsdGVyZWRTdGF0ZTEpID09PSBKU09OLnN0cmluZ2lmeShmaWx0ZXJlZFN0YXRlMik7XG4gICAgfTtcbiAgfVxufVxuIl19","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, isStandalone, } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SkyLogService } from '@skyux/core';\nimport { SkyCheckboxModule, SkyRadioModule, } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkyFilterModule, SkySortModule } from '@skyux/lists';\nimport { SkySearchModule } from '@skyux/lookup';\nimport { SkyModalLegacyService, SkyModalService, } from '@skyux/modals';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerResourcesModule } from '../../shared/sky-data-manager-resources.module';\nimport { SkyDataManagerColumnPickerContext } from '../data-manager-column-picker/data-manager-column-picker-context';\nimport { SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS } from '../data-manager-column-picker/data-manager-column-picker-providers';\nimport { SkyDataManagerColumnPickerService } from '../data-manager-column-picker/data-manager-column-picker.service';\nimport { SkyDataManagerFilterModalContext } from '../data-manager-filter-context';\nimport { SkyDataManagerService } from '../data-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@skyux/forms\";\nimport * as i3 from \"@skyux/icon\";\nimport * as i4 from \"@skyux/lists\";\nimport * as i5 from \"@skyux/lookup\";\nimport * as i6 from \"@skyux/layout\";\nimport * as i7 from \"@skyux/i18n\";\n/**\n * Renders a `sky-toolbar` with the contents specified by the active view's `SkyDataViewConfig`\n * and the `SkyDataManagerToolbarLeftItemComponent`, `SkyDataManagerToolbarRightItemComponent`,\n * and `SkyDataManagerToolbarSectionComponent` wrappers.\n */\nexport class SkyDataManagerToolbarComponent {\n get activeView() {\n return this.#_activeView;\n }\n set activeView(value) {\n this.#_activeView = value;\n this.#changeDetector.markForCheck();\n }\n get dataManagerConfig() {\n return this.#_dataManagerConfig;\n }\n set dataManagerConfig(value) {\n this.#_dataManagerConfig = value;\n this.#changeDetector.markForCheck();\n }\n get dataState() {\n return this.#_dataState;\n }\n set dataState(value) {\n this.#_dataState = value;\n if (value) {\n this.#dataManagerService.updateDataState(value, this.#_source);\n }\n }\n get views() {\n return this.#_views;\n }\n set views(value) {\n this.#_views = value;\n this.#changeDetector.markForCheck();\n }\n #logger = inject(SkyLogService, { optional: true });\n #ngUnsubscribe = new Subject();\n // the source to provide for data state changes\n #_source = 'toolbar';\n #_activeView;\n #_dataManagerConfig;\n #_dataState;\n #_views = [];\n #changeDetector = inject(ChangeDetectorRef);\n #columnPickerService = inject(SkyDataManagerColumnPickerService);\n #dataManagerService = inject(SkyDataManagerService);\n #modalService = inject(SkyModalService);\n ngOnInit() {\n this.#dataManagerService\n .getActiveViewIdUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((activeViewId) => {\n /* istanbul ignore else */\n if (activeViewId) {\n this.activeView = this.#dataManagerService.getViewById(activeViewId);\n this.#changeDetector.markForCheck();\n }\n });\n this.#dataManagerService\n .getDataViewsUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((views) => {\n this.views = views;\n if (this.activeView) {\n this.activeView = this.#dataManagerService.getViewById(this.activeView.id);\n }\n this.#changeDetector.markForCheck();\n });\n this.#dataManagerService\n .getDataStateUpdates(this.#_source)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((dataState) => {\n this.#_dataState = dataState;\n this.onlyShowSelected = dataState.onlyShowSelected;\n this.#changeDetector.markForCheck();\n });\n this.#dataManagerService\n .getDataManagerConfigUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((config) => {\n this.dataManagerConfig = config;\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n sortSelected(sortOption) {\n if (this.dataState) {\n this.dataState.activeSortOption = sortOption;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n }\n onViewChange(viewId) {\n this.#dataManagerService.updateActiveViewId(viewId);\n }\n searchApplied(text) {\n if (this.dataState) {\n this.dataState.searchText = text;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n }\n filterButtonClicked() {\n const context = new SkyDataManagerFilterModalContext();\n const filterModal = this.dataManagerConfig && this.dataManagerConfig.filterModalComponent;\n context.filterData = this.dataState?.filterData;\n const options = {\n providers: [\n { provide: SkyDataManagerFilterModalContext, useValue: context },\n ],\n size: 'large',\n };\n if (filterModal) {\n if (!(this.#modalService instanceof SkyModalLegacyService) &&\n !isStandalone(filterModal)) {\n this.#logger?.deprecated('SkyDataManagerConfig.filterModalComponent not standalone', {\n deprecationMajorVersion: 9,\n replacementRecommendation: `The SkyDataManagerConfig.filterModalComponent must be a standalone component in order to receive the right dependency injector context.`,\n });\n }\n const modalInstance = this.#modalService.open(filterModal, options);\n modalInstance.closed.subscribe((result) => {\n if (this.dataState && result.reason === 'save') {\n this.dataState.filterData = result.data;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n });\n }\n }\n openColumnPicker() {\n if (this.dataState && this.activeView && this.activeView.columnOptions) {\n const viewState = this.dataState.getViewStateById(this.activeView.id);\n if (viewState) {\n const context = new SkyDataManagerColumnPickerContext(this.activeView.columnOptions, viewState.displayedColumnIds);\n if (this.activeView.columnPickerSortStrategy) {\n context.columnPickerSortStrategy =\n this.activeView.columnPickerSortStrategy;\n }\n const options = {\n providers: [\n SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS,\n {\n provide: SkyDataManagerColumnPickerContext,\n useValue: context,\n },\n ],\n };\n const modalInstance = this.#modalService.open(this.#columnPickerService.getComponentType(), options);\n modalInstance.closed.subscribe((result) => {\n if (result.reason === 'save') {\n const displayedColumnIds = result.data.map((col) => col.id);\n viewState.displayedColumnIds = displayedColumnIds;\n if (this.dataState && this.activeView) {\n this.dataState = this.dataState.addOrUpdateView(this.activeView.id, viewState);\n }\n }\n });\n }\n }\n }\n selectAll() {\n /* istanbul ignore else */\n if (this.activeView?.onSelectAllClick) {\n this.activeView.onSelectAllClick();\n }\n }\n clearAll() {\n /* istanbul ignore else */\n if (this.activeView?.onClearAllClick) {\n this.activeView.onClearAllClick();\n }\n }\n onOnlyShowSelected(event) {\n if (this.dataState) {\n this.dataState.onlyShowSelected = !!event.checked;\n this.#dataManagerService.updateDataState(this.dataState, this.#_source);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarComponent, isStandalone: true, selector: \"sky-data-manager-toolbar\", ngImport: i0, template: \"<div class=\\\"sky-data-manager-toolbar\\\">\\n <sky-toolbar [listDescriptor]=\\\"dataManagerConfig?.listDescriptor\\\">\\n <sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-primary-item\\\" />\\n\\n @if (activeView?.filterButtonEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-filter\\\">\\n <sky-filter-button\\n [showButtonText]=\\\"activeView?.showFilterButtonText\\\"\\n (filterButtonClick)=\\\"filterButtonClicked()\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.sortEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-sort\\\">\\n <sky-sort [showButtonText]=\\\"activeView?.showSortButtonText\\\">\\n @for (item of dataManagerConfig?.sortOptions; track item.id) {\\n <sky-sort-item\\n [active]=\\\"dataState?.activeSortOption?.id === item.id\\\"\\n (itemSelect)=\\\"sortSelected(item)\\\"\\n >\\n {{ item.label }}\\n </sky-sort-item>\\n }\\n </sky-sort>\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.columnPickerEnabled) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-col-picker-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_columns_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : ('skyux_data_manager_columns_button_title' | skyLibResources)\\n \\\"\\n [attr.title]=\\\"\\n 'skyux_data_manager_columns_button_title' | skyLibResources\\n \\\"\\n (click)=\\\"openColumnPicker()\\\"\\n >\\n <sky-icon iconName=\\\"layout-column-three\\\" />\\n <span class=\\\"sky-column-selector-action-btn-text\\\">\\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\\n </span>\\n </button>\\n </sky-toolbar-item>\\n }\\n\\n <ng-content select=\\\"sky-data-manager-toolbar-left-item\\\" />\\n\\n @if (activeView?.searchEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-search\\\">\\n <sky-search\\n [expandMode]=\\\"activeView?.searchExpandMode\\\"\\n [placeholderText]=\\\"activeView?.searchPlaceholderText\\\"\\n [searchText]=\\\"dataState?.searchText\\\"\\n (searchApply)=\\\"searchApplied($event)\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n <sky-toolbar-view-actions>\\n <ng-content select=\\\"sky-data-manager-toolbar-right-item\\\" />\\n @if (activeView && views && views.length > 1) {\\n <sky-radio-group\\n class=\\\"sky-switch-icon-group\\\"\\n [ariaLabel]=\\\"'data view switcher'\\\"\\n [(ngModel)]=\\\"activeView.id\\\"\\n >\\n @for (view of views; track view.id) {\\n <sky-radio\\n [attr.aria-label]=\\\"view.name\\\"\\n [iconName]=\\\"view.iconName\\\"\\n [value]=\\\"view.id\\\"\\n [label]=\\\"view.name\\\"\\n (change)=\\\"onViewChange(view.id)\\\"\\n />\\n }\\n </sky-radio-group>\\n }\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-section\\\" />\\n </sky-toolbar>\\n\\n <ng-content select=\\\"sky-filter-bar\\\" />\\n <ng-content select=\\\"sky-list-summary\\\" />\\n\\n @if (activeView?.multiselectToolbarEnabled) {\\n <sky-toolbar class=\\\"sky-data-manager-multiselect-toolbar\\\">\\n <sky-toolbar-section>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-select-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_select_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"selectAll()\\\"\\n >\\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_clear_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"clearAll()\\\"\\n >\\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-view-actions class=\\\"sky-data-manager-only-show-selected\\\">\\n <sky-checkbox\\n [checked]=\\\"onlyShowSelected\\\"\\n [label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_show_selected_option_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (change)=\\\"onOnlyShowSelected($event)\\\"\\n >\\n <sky-checkbox-label>\\n {{\\n 'skyux_data_manager_show_selected_option_title'\\n | skyLibResources\\n }}\\n </sky-checkbox-label>\\n </sky-checkbox>\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n </sky-toolbar>\\n }\\n</div>\\n\", styles: [\":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\\n\"], dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: SkyCheckboxModule }, { kind: \"component\", type: i2.λ3, selector: \"sky-checkbox\", inputs: [\"label\", \"labelledBy\", \"id\", \"disabled\", \"tabindex\", \"name\", \"helpPopoverContent\", \"helpPopoverTitle\", \"iconName\", \"checkboxType\", \"checked\", \"indeterminate\", \"required\", \"labelText\", \"labelHidden\", \"hintText\", \"stacked\", \"helpKey\"], outputs: [\"change\", \"checkedChange\", \"disabledChange\", \"indeterminateChange\"] }, { kind: \"component\", type: i2.λ4, selector: \"sky-checkbox-label\" }, { kind: \"ngmodule\", type: SkyDataManagerResourcesModule }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i3.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyFilterModule }, { kind: \"component\", type: i4.λ1, selector: \"sky-filter-button\", inputs: [\"filterButtonId\", \"ariaControls\", \"ariaExpanded\", \"ariaLabel\", \"active\", \"disabled\", \"showButtonText\"], outputs: [\"filterButtonClick\"] }, { kind: \"ngmodule\", type: SkyRadioModule }, { kind: \"component\", type: i2.λ13, selector: \"sky-radio\", inputs: [\"checked\", \"disabled\", \"id\", \"label\", \"labelledBy\", \"name\", \"tabindex\", \"value\", \"helpPopoverContent\", \"helpPopoverTitle\", \"iconName\", \"radioType\", \"labelText\", \"labelHidden\", \"hintText\", \"helpKey\"], outputs: [\"change\", \"checkedChange\", \"disabledChange\"] }, { kind: \"component\", type: i2.λ11, selector: \"sky-radio-group\", inputs: [\"ariaLabelledBy\", \"ariaLabel\", \"disabled\", \"headingLevel\", \"headingStyle\", \"name\", \"required\", \"stacked\", \"value\", \"tabIndex\", \"headingText\", \"headingHidden\", \"hintText\", \"helpPopoverContent\", \"helpPopoverTitle\", \"helpKey\"] }, { kind: \"ngmodule\", type: SkySearchModule }, { kind: \"component\", type: i5.SkySearchComponent, selector: \"sky-search\", inputs: [\"ariaLabel\", \"ariaLabelledBy\", \"searchText\", \"expandMode\", \"debounceTime\", \"disabled\", \"placeholderText\"], outputs: [\"searchApply\", \"searchChange\", \"searchClear\"] }, { kind: \"ngmodule\", type: SkySortModule }, { kind: \"component\", type: i4.λ14, selector: \"sky-sort\", inputs: [\"ariaLabel\", \"showButtonText\"] }, { kind: \"component\", type: i4.λ13, selector: \"sky-sort-item\", inputs: [\"active\"], outputs: [\"itemSelect\"] }, { kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i6.λ37, selector: \"sky-toolbar\", inputs: [\"listDescriptor\"] }, { kind: \"component\", type: i6.λ39, selector: \"sky-toolbar-item\" }, { kind: \"component\", type: i6.λ38, selector: \"sky-toolbar-section\" }, { kind: \"component\", type: i6.λ40, selector: \"sky-toolbar-view-actions\" }, { kind: \"pipe\", type: i7.SkyLibResourcesPipe, name: \"skyLibResources\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n FormsModule,\n SkyCheckboxModule,\n SkyDataManagerResourcesModule,\n SkyIconModule,\n SkyFilterModule,\n SkyRadioModule,\n SkySearchModule,\n SkySortModule,\n SkyToolbarModule,\n ], template: \"<div class=\\\"sky-data-manager-toolbar\\\">\\n <sky-toolbar [listDescriptor]=\\\"dataManagerConfig?.listDescriptor\\\">\\n <sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-primary-item\\\" />\\n\\n @if (activeView?.filterButtonEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-filter\\\">\\n <sky-filter-button\\n [showButtonText]=\\\"activeView?.showFilterButtonText\\\"\\n (filterButtonClick)=\\\"filterButtonClicked()\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.sortEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-sort\\\">\\n <sky-sort [showButtonText]=\\\"activeView?.showSortButtonText\\\">\\n @for (item of dataManagerConfig?.sortOptions; track item.id) {\\n <sky-sort-item\\n [active]=\\\"dataState?.activeSortOption?.id === item.id\\\"\\n (itemSelect)=\\\"sortSelected(item)\\\"\\n >\\n {{ item.label }}\\n </sky-sort-item>\\n }\\n </sky-sort>\\n </sky-toolbar-item>\\n }\\n\\n @if (activeView?.columnPickerEnabled) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-col-picker-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_columns_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : ('skyux_data_manager_columns_button_title' | skyLibResources)\\n \\\"\\n [attr.title]=\\\"\\n 'skyux_data_manager_columns_button_title' | skyLibResources\\n \\\"\\n (click)=\\\"openColumnPicker()\\\"\\n >\\n <sky-icon iconName=\\\"layout-column-three\\\" />\\n <span class=\\\"sky-column-selector-action-btn-text\\\">\\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\\n </span>\\n </button>\\n </sky-toolbar-item>\\n }\\n\\n <ng-content select=\\\"sky-data-manager-toolbar-left-item\\\" />\\n\\n @if (activeView?.searchEnabled) {\\n <sky-toolbar-item class=\\\"sky-data-manager-search\\\">\\n <sky-search\\n [expandMode]=\\\"activeView?.searchExpandMode\\\"\\n [placeholderText]=\\\"activeView?.searchPlaceholderText\\\"\\n [searchText]=\\\"dataState?.searchText\\\"\\n (searchApply)=\\\"searchApplied($event)\\\"\\n />\\n </sky-toolbar-item>\\n }\\n\\n <sky-toolbar-view-actions>\\n <ng-content select=\\\"sky-data-manager-toolbar-right-item\\\" />\\n @if (activeView && views && views.length > 1) {\\n <sky-radio-group\\n class=\\\"sky-switch-icon-group\\\"\\n [ariaLabel]=\\\"'data view switcher'\\\"\\n [(ngModel)]=\\\"activeView.id\\\"\\n >\\n @for (view of views; track view.id) {\\n <sky-radio\\n [attr.aria-label]=\\\"view.name\\\"\\n [iconName]=\\\"view.iconName\\\"\\n [value]=\\\"view.id\\\"\\n [label]=\\\"view.name\\\"\\n (change)=\\\"onViewChange(view.id)\\\"\\n />\\n }\\n </sky-radio-group>\\n }\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n <ng-content select=\\\"sky-data-manager-toolbar-section\\\" />\\n </sky-toolbar>\\n\\n <ng-content select=\\\"sky-filter-bar\\\" />\\n <ng-content select=\\\"sky-list-summary\\\" />\\n\\n @if (activeView?.multiselectToolbarEnabled) {\\n <sky-toolbar class=\\\"sky-data-manager-multiselect-toolbar\\\">\\n <sky-toolbar-section>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-select-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_select_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"selectAll()\\\"\\n >\\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_clear_all_button_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (click)=\\\"clearAll()\\\"\\n >\\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-view-actions class=\\\"sky-data-manager-only-show-selected\\\">\\n <sky-checkbox\\n [checked]=\\\"onlyShowSelected\\\"\\n [label]=\\\"\\n dataManagerConfig?.listDescriptor\\n ? ('skyux_data_manager_show_selected_option_aria_label'\\n | skyLibResources: dataManagerConfig?.listDescriptor)\\n : undefined\\n \\\"\\n (change)=\\\"onOnlyShowSelected($event)\\\"\\n >\\n <sky-checkbox-label>\\n {{\\n 'skyux_data_manager_show_selected_option_title'\\n | skyLibResources\\n }}\\n </sky-checkbox-label>\\n </sky-checkbox>\\n </sky-toolbar-view-actions>\\n </sky-toolbar-section>\\n </sky-toolbar>\\n }\\n</div>\\n\", styles: [\":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDZixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFHTCxxQkFBcUIsRUFDckIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8s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TSxTQUFTO1FBQ2QsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7K0dBdE9VLDhCQUE4QjttR0FBOUIsOEJBQThCLG9GQ2hFM0MsOGlMQXFKQSwrOEJEaEdJLFdBQVcsOFZBQ1gsaUJBQWlCLGtlQUNqQiw2QkFBNkIsOEJBQzdCLGFBQWEscUlBQ2IsZUFBZSxrUEFDZixjQUFjLCtvQkFDZCxlQUFlLHVSQUNmLGFBQWEsK09BQ2IsZ0JBQWdCOzs0RkFHUCw4QkFBOEI7a0JBakIxQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsNkJBQTZCO3dCQUM3QixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxuICBpc1N0YW5kYWxvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5Q2hlY2tib3hDaGFuZ2UsXG4gIFNreUNoZWNrYm94TW9kdWxlLFxuICBTa3lSYWRpb01vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJNb2R1bGUsIFNreVNvcnRNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5U2VhcmNoTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xvb2t1cCc7XG5pbXBvcnQge1xuICBTa3lNb2RhbENsb3NlQXJncyxcbiAgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxuICBTa3lNb2RhbExlZ2FjeVNlcnZpY2UsXG4gIFNreU1vZGFsU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LWRhdGEtbWFuYWdlci1yZXNvdXJjZXMubW9kdWxlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWNvbnRleHQnO1xuaW1wb3J0IHsgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250ZXh0JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLW9wdGlvbic7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItY29uZmlnJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc29ydC1vcHRpb24nO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5cbi8qKlxuICogUmVuZGVycyBhIGBza3ktdG9vbGJhcmAgd2l0aCB0aGUgY29udGVudHMgc3BlY2lmaWVkIGJ5IHRoZSBhY3RpdmUgdmlldydzIGBTa3lEYXRhVmlld0NvbmZpZ2BcbiAqIGFuZCB0aGUgYFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50YCwgYFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudGAsXG4gKiBhbmQgYFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnRgIHdyYXBwZXJzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreURhdGFNYW5hZ2VyUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5RmlsdGVyTW9kdWxlLFxuICAgIFNreVJhZGlvTW9kdWxlLFxuICAgIFNreVNlYXJjaE1vZHVsZSxcbiAgICBTa3lTb3J0TW9kdWxlLFxuICAgIFNreVRvb2xiYXJNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHVibGljIGdldCBhY3RpdmVWaWV3KCk6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZVZpZXc7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjdGl2ZVZpZXcodmFsdWU6IFNreURhdGFWaWV3Q29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2FjdGl2ZVZpZXcgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YU1hbmFnZXJDb25maWcoKTogU2t5RGF0YU1hbmFnZXJDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YU1hbmFnZXJDb25maWc7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFNYW5hZ2VyQ29uZmlnKHZhbHVlOiBTa3lEYXRhTWFuYWdlckNvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhTWFuYWdlckNvbmZpZyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhU3RhdGUoKTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kYXRhU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRhdGFTdGF0ZSh2YWx1ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kYXRhU3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUodmFsdWUsIHRoaXMuI19zb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogU2t5RGF0YVZpZXdDb25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI192aWV3cztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmlld3ModmFsdWU6IFNreURhdGFWaWV3Q29uZmlnW10pIHtcbiAgICB0aGlzLiNfdmlld3MgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmx5U2hvd1NlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNsb2dnZXIgPSBpbmplY3QoU2t5TG9nU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gdGhlIHNvdXJjZSB0byBwcm92aWRlIGZvciBkYXRhIHN0YXRlIGNoYW5nZXNcbiAgI19zb3VyY2UgPSAndG9vbGJhcic7XG4gICNfYWN0aXZlVmlldzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNfZGF0YU1hbmFnZXJDb25maWc6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjX2RhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZDtcbiAgI192aWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IFtdO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNjb2x1bW5QaWNrZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI21vZGFsU2VydmljZSA9IGluamVjdChTa3lNb2RhbFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoYWN0aXZlVmlld0lkKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLmdldFZpZXdCeUlkKGFjdGl2ZVZpZXdJZCk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVZpZXdzVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2aWV3cykgPT4ge1xuICAgICAgICB0aGlzLnZpZXdzID0gdmlld3M7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQoXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiNfc291cmNlKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI19kYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgIHRoaXMub25seVNob3dTZWxlY3RlZCA9IGRhdGFTdGF0ZS5vbmx5U2hvd1NlbGVjdGVkO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YU1hbmFnZXJDb25maWdVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnID0gY29uZmlnO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNvcnRTZWxlY3RlZChzb3J0T3B0aW9uOiBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh0aGlzLmRhdGFTdGF0ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVmlld0NoYW5nZSh2aWV3SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVBY3RpdmVWaWV3SWQodmlld0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUuc2VhcmNoVGV4dCA9IHRleHQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0KCk7XG4gICAgY29uc3QgZmlsdGVyTW9kYWwgPVxuICAgICAgdGhpcy5kYXRhTWFuYWdlckNvbmZpZyAmJiB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50O1xuXG4gICAgY29udGV4dC5maWx0ZXJEYXRhID0gdGhpcy5kYXRhU3RhdGU/LmZpbHRlckRhdGE7XG5cbiAgICBjb25zdCBvcHRpb25zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCwgdXNlVmFsdWU6IGNvbnRleHQgfSxcbiAgICAgIF0sXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgIH07XG5cbiAgICBpZiAoZmlsdGVyTW9kYWwpIHtcbiAgICAgIGlmIChcbiAgICAgICAgISh0aGlzLiNtb2RhbFNlcnZpY2UgaW5zdGFuY2VvZiBTa3lNb2RhbExlZ2FjeVNlcnZpY2UpICYmXG4gICAgICAgICFpc1N0YW5kYWxvbmUoZmlsdGVyTW9kYWwpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jbG9nZ2VyPy5kZXByZWNhdGVkKFxuICAgICAgICAgICdTa3lEYXRhTWFuYWdlckNvbmZpZy5maWx0ZXJNb2RhbENvbXBvbmVudCBub3Qgc3RhbmRhbG9uZScsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICAgICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOiBgVGhlIFNreURhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50IG11c3QgYmUgYSBzdGFuZGFsb25lIGNvbXBvbmVudCBpbiBvcmRlciB0byByZWNlaXZlIHRoZSByaWdodCBkZXBlbmRlbmN5IGluamVjdG9yIGNvbnRleHQuYCxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU2VydmljZS5vcGVuKGZpbHRlck1vZGFsLCBvcHRpb25zKTtcblxuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFTdGF0ZSAmJiByZXN1bHQucmVhc29uID09PSAnc2F2ZScpIHtcbiAgICAgICAgICB0aGlzLmRhdGFTdGF0ZS5maWx0ZXJEYXRhID0gcmVzdWx0LmRhdGE7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0YXRlLFxuICAgICAgICAgICAgdGhpcy4jX3NvdXJjZSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkNvbHVtblBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgdGhpcy5hY3RpdmVWaWV3ICYmIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zKSB7XG4gICAgICBjb25zdCB2aWV3U3RhdGUgPSB0aGlzLmRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHRoaXMuYWN0aXZlVmlldy5pZCk7XG4gICAgICBpZiAodmlld1N0YXRlKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0KFxuICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zLFxuICAgICAgICAgIHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlVmlldy5jb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kpIHtcbiAgICAgICAgICBjb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuY29sdW1uUGlja2VyU29ydFN0cmF0ZWd5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlID0ge1xuICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0LFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogY29udGV4dCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBtb2RhbEluc3RhbmNlID0gdGhpcy4jbW9kYWxTZXJ2aWNlLm9wZW4oXG4gICAgICAgICAgdGhpcy4jY29sdW1uUGlja2VyU2VydmljZS5nZXRDb21wb25lbnRUeXBlKCksXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgKTtcblxuICAgICAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKHJlc3VsdDogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnJlYXNvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ZWRDb2x1bW5JZHMgPSByZXN1bHQuZGF0YS5tYXAoXG4gICAgICAgICAgICAgIChjb2w6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uKSA9PiBjb2wuaWQsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgICAgICAgICB0aGlzLmRhdGFTdGF0ZSA9IHRoaXMuZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgICAgICAgdmlld1N0YXRlLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXc/Lm9uU2VsZWN0QWxsQ2xpY2spIHtcbiAgICAgIHRoaXMuYWN0aXZlVmlldy5vblNlbGVjdEFsbENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldz8ub25DbGVhckFsbENsaWNrKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXcub25DbGVhckFsbENsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uT25seVNob3dTZWxlY3RlZChldmVudDogU2t5Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQgPSAhIWV2ZW50LmNoZWNrZWQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyIFtsaXN0RGVzY3JpcHRvcl09XCJkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcIj5cbiAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW1cIiAvPlxuXG4gICAgICBAaWYgKGFjdGl2ZVZpZXc/LmZpbHRlckJ1dHRvbkVuYWJsZWQpIHtcbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0gY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLWZpbHRlclwiPlxuICAgICAgICAgIDxza3ktZmlsdGVyLWJ1dHRvblxuICAgICAgICAgICAgW3Nob3dCdXR0b25UZXh0XT1cImFjdGl2ZVZpZXc/LnNob3dGaWx0ZXJCdXR0b25UZXh0XCJcbiAgICAgICAgICAgIChmaWx0ZXJCdXR0b25DbGljayk9XCJmaWx0ZXJCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIH1cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5zb3J0RW5hYmxlZCkge1xuICAgICAgICA8c2t5LXRvb2xiYXItaXRlbSBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItc29ydFwiPlxuICAgICAgICAgIDxza3ktc29ydCBbc2hvd0J1dHRvblRleHRdPVwiYWN0aXZlVmlldz8uc2hvd1NvcnRCdXR0b25UZXh0XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIGRhdGFNYW5hZ2VyQ29uZmlnPy5zb3J0T3B0aW9uczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICA8c2t5LXNvcnQtaXRlbVxuICAgICAgICAgICAgICAgIFthY3RpdmVdPVwiZGF0YVN0YXRlPy5hY3RpdmVTb3J0T3B0aW9uPy5pZCA9PT0gaXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgKGl0ZW1TZWxlY3QpPVwic29ydFNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9za3ktc29ydC1pdGVtPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc2t5LXNvcnQ+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIH1cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5jb2x1bW5QaWNrZXJFbmFibGVkKSB7XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWNvbC1waWNrZXItYnRuXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgPyAoJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl9hcmlhX2xhYmVsJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcylcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtblBpY2tlcigpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJsYXlvdXQtY29sdW1uLXRocmVlXCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2t5LWNvbHVtbi1zZWxlY3Rvci1hY3Rpb24tYnRuLXRleHRcIj5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgfVxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtXCIgLz5cblxuICAgICAgQGlmIChhY3RpdmVWaWV3Py5zZWFyY2hFbmFibGVkKSB7XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1zZWFyY2hcIj5cbiAgICAgICAgICA8c2t5LXNlYXJjaFxuICAgICAgICAgICAgW2V4cGFuZE1vZGVdPVwiYWN0aXZlVmlldz8uc2VhcmNoRXhwYW5kTW9kZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJUZXh0XT1cImFjdGl2ZVZpZXc/LnNlYXJjaFBsYWNlaG9sZGVyVGV4dFwiXG4gICAgICAgICAgICBbc2VhcmNoVGV4dF09XCJkYXRhU3RhdGU/LnNlYXJjaFRleHRcIlxuICAgICAgICAgICAgKHNlYXJjaEFwcGx5KT1cInNlYXJjaEFwcGxpZWQoJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgfVxuXG4gICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbVwiIC8+XG4gICAgICAgIEBpZiAoYWN0aXZlVmlldyAmJiB2aWV3cyAmJiB2aWV3cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgPHNreS1yYWRpby1ncm91cFxuICAgICAgICAgICAgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIlxuICAgICAgICAgICAgW2FyaWFMYWJlbF09XCInZGF0YSB2aWV3IHN3aXRjaGVyJ1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjdGl2ZVZpZXcuaWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKHZpZXcgb2Ygdmlld3M7IHRyYWNrIHZpZXcuaWQpIHtcbiAgICAgICAgICAgICAgPHNreS1yYWRpb1xuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidmlldy5uYW1lXCJcbiAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwidmlldy5pY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZpZXcuaWRcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJ2aWV3Lm5hbWVcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25WaWV3Q2hhbmdlKHZpZXcuaWQpXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NreS1yYWRpby1ncm91cD5cbiAgICAgICAgfVxuICAgICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1zZWN0aW9uXCIgLz5cbiAgPC9za3ktdG9vbGJhcj5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZmlsdGVyLWJhclwiIC8+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1saXN0LXN1bW1hcnlcIiAvPlxuXG4gIEBpZiAoYWN0aXZlVmlldz8ubXVsdGlzZWxlY3RUb29sYmFyRW5hYmxlZCkge1xuICAgIDxza3ktdG9vbGJhciBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItbXVsdGlzZWxlY3QtdG9vbGJhclwiPlxuICAgICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWRhdGEtbWFuYWdlci1zZWxlY3QtYWxsLWJ0blwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICAgICAgIGRhdGFNYW5hZ2VyQ29uZmlnPy5saXN0RGVzY3JpcHRvclxuICAgICAgICAgICAgICAgID8gKCdza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fYXJpYV9sYWJlbCdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3IpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QWxsKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfc2VsZWN0X2FsbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktZGF0YS1tYW5hZ2VyLWNsZWFyLWFsbC1idG5cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fYXJpYV9sYWJlbCdcbiAgICAgICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3IpXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jbGVhcl9hbGxfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnMgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLW9ubHktc2hvdy1zZWxlY3RlZFwiPlxuICAgICAgICAgIDxza3ktY2hlY2tib3hcbiAgICAgICAgICAgIFtjaGVja2VkXT1cIm9ubHlTaG93U2VsZWN0ZWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIlxuICAgICAgICAgICAgICBkYXRhTWFuYWdlckNvbmZpZz8ubGlzdERlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICA/ICgnc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX2FyaWFfbGFiZWwnXG4gICAgICAgICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZGF0YU1hbmFnZXJDb25maWc/Lmxpc3REZXNjcmlwdG9yKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbk9ubHlTaG93U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfZGF0YV9tYW5hZ2VyX3Nob3dfc2VsZWN0ZWRfb3B0aW9uX3RpdGxlJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8L3NreS10b29sYmFyPlxuICB9XG48L2Rpdj5cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input, } from '@angular/core';\nimport { SkyLiveAnnouncerService, SkyViewkeeperModule } from '@skyux/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyBackToTopMessageType, SkyBackToTopModule, } from '@skyux/layout';\nimport { Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerService } from './data-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\nimport * as i2 from \"@skyux/core\";\nconst VIEWKEEPER_CLASSES_DEFAULT = ['.sky-data-manager-toolbar'];\nconst DEFAULT_DOCK_TYPE = 'none';\n/**\n * The top-level data manager component. Provide `SkyDataManagerService` at this level.\n */\nexport class SkyDataManagerComponent {\n constructor() {\n /**\n * How the data manager docks to the page. Use `fill` to dock the data manager\n * to the container's size where the container is a `sky-page` component with\n * its `layout` set to `fit`, or where the container is another element with\n * a `relative` or `absolute` position and a fixed size.\n * `sky-data-manager-toolbar` will be docked to the top of all other content.\n * @default \"none\"\n */\n this.dock = input(DEFAULT_DOCK_TYPE, ...(ngDevMode ? [{ debugName: \"dock\" }] : []));\n this.dockClass = computed(() => {\n return 'sky-data-manager-dock-' + (this.dock() || DEFAULT_DOCK_TYPE);\n }, ...(ngDevMode ? [{ debugName: \"dockClass\" }] : []));\n this.backToTopController = new Subject();\n this.backToTopOptions = {\n buttonHidden: true,\n };\n this.#allViewkeeperClasses = {};\n this.#ngUnsubscribe = new Subject();\n this.#sourceId = 'dataManagerComponent';\n this.#_isInitialized = false;\n this.#_currentViewkeeperClasses = VIEWKEEPER_CLASSES_DEFAULT;\n this.#changeDetection = inject(ChangeDetectorRef);\n this.#dataManagerService = inject(SkyDataManagerService);\n this.#liveAnnouncer = inject(SkyLiveAnnouncerService);\n this.#resourceSvc = inject(SkyLibResourcesService);\n }\n get currentViewkeeperClasses() {\n return this.#_currentViewkeeperClasses;\n }\n set currentViewkeeperClasses(value) {\n this.#_currentViewkeeperClasses = [\n ...VIEWKEEPER_CLASSES_DEFAULT,\n ...(value || []),\n ];\n this.#changeDetection.markForCheck();\n }\n get isInitialized() {\n return this.#_isInitialized;\n }\n set isInitialized(value) {\n this.#_isInitialized = value;\n this.#changeDetection.markForCheck();\n }\n #activeViewId;\n #allViewkeeperClasses;\n #ngUnsubscribe;\n #sourceId;\n #dataState;\n #_isInitialized;\n #_currentViewkeeperClasses;\n #changeDetection;\n #dataManagerService;\n #liveAnnouncer;\n #resourceSvc;\n ngOnInit() {\n this.#dataManagerService\n .getDataStateUpdates(this.#sourceId)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.isInitialized = true;\n this.#dataState = state;\n });\n this.#dataManagerService\n .getDataSummaryUpdates(this.#sourceId)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((summary) => {\n const itemsSelected = this.#dataState?.selectedIds?.length || 0;\n const resourceString = `skyux_data_manager_status_update_${this.#dataState?.onlyShowSelected\n ? 'only_selected'\n : itemsSelected\n ? 'with_selections'\n : 'without_selections'}`;\n this.#announceState(resourceString, summary.itemsMatching, summary.totalItems, itemsSelected);\n });\n this.#dataManagerService.viewkeeperClasses\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((classes) => {\n this.#allViewkeeperClasses = classes;\n this.currentViewkeeperClasses = this.#activeViewId\n ? classes[this.#activeViewId]\n : undefined;\n });\n this.#dataManagerService\n .getActiveViewIdUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((activeViewId) => {\n this.#activeViewId = activeViewId;\n this.backToTopController.next({\n type: SkyBackToTopMessageType.BackToTop,\n });\n this.currentViewkeeperClasses =\n this.#allViewkeeperClasses[this.#activeViewId];\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #announceState(resourceString, itemsMatching, totalItems, itemsSelected) {\n this.#resourceSvc\n .getString(resourceString, itemsMatching, totalItems, itemsSelected)\n .pipe(take(1))\n .subscribe((internationalizedString) => {\n this.#liveAnnouncer.announce(internationalizedString);\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataManagerComponent, isStandalone: true, selector: \"sky-data-manager\", inputs: { dock: { classPropertyName: \"dock\", publicName: \"dock\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (isInitialized) {\\n <div\\n #dataManager\\n skyViewkeeperOmitShadow=\\\".ag-body-horizontal-scroll\\\"\\n [class]=\\\"'sky-data-manager ' + dockClass()\\\"\\n [skyBackToTop]=\\\"backToTopOptions\\\"\\n [skyBackToTopMessageStream]=\\\"backToTopController\\\"\\n [skyViewkeeper]=\\\"currentViewkeeperClasses\\\"\\n >\\n <div class=\\\"sky-data-manager-toolbar-container\\\">\\n <ng-content select=\\\"sky-data-manager-toolbar\\\" />\\n </div>\\n <div class=\\\"sky-data-manager-content\\\">\\n <ng-content />\\n </div>\\n </div>\\n}\\n\", styles: [\".sky-data-manager-dock-fill.sky-data-manager{position:absolute;top:0;right:var(--sky-viewport-right);bottom:var(--sky-viewport-bottom);left:var(--sky-viewport-left);display:flex;flex-direction:column}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-toolbar-container{flex-grow:0;display:block}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-content{display:block;flex-grow:1;overflow:auto;position:relative}.sky-data-manager-content{height:100%;width:100%}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SkyBackToTopModule }, { kind: \"directive\", type: i1.λ7, selector: \"[skyBackToTop]\", inputs: [\"skyBackToTop\", \"skyBackToTopMessageStream\"] }, { kind: \"ngmodule\", type: SkyViewkeeperModule }, { kind: \"directive\", type: i2.λ3, selector: \"[skyViewkeeper]\", inputs: [\"skyViewkeeper\", \"skyViewkeeperOmitShadow\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyBackToTopModule, SkyViewkeeperModule], template: \"@if (isInitialized) {\\n <div\\n #dataManager\\n skyViewkeeperOmitShadow=\\\".ag-body-horizontal-scroll\\\"\\n [class]=\\\"'sky-data-manager ' + dockClass()\\\"\\n [skyBackToTop]=\\\"backToTopOptions\\\"\\n [skyBackToTopMessageStream]=\\\"backToTopController\\\"\\n [skyViewkeeper]=\\\"currentViewkeeperClasses\\\"\\n >\\n <div class=\\\"sky-data-manager-toolbar-container\\\">\\n <ng-content select=\\\"sky-data-manager-toolbar\\\" />\\n </div>\\n <div class=\\\"sky-data-manager-content\\\">\\n <ng-content />\\n </div>\\n </div>\\n}\\n\", styles: [\".sky-data-manager-dock-fill.sky-data-manager{position:absolute;top:0;right:var(--sky-viewport-right);bottom:var(--sky-viewport-bottom);left:var(--sky-viewport-left);display:flex;flex-direction:column}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-toolbar-container{flex-grow:0;display:block}.sky-data-manager-dock-fill.sky-data-manager .sky-data-manager-content{display:block;flex-grow:1;overflow:auto;position:relative}.sky-data-manager-content{height:100%;width:100%}\\n\"] }]\n }], propDecorators: { dock: [{ type: i0.Input, args: [{ isSignal: true, alias: \"dock\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFLL0QsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDakUsTUFBTSxpQkFBaUIsR0FBMkIsTUFBTSxDQUFDO0FBRXpEOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQTZCRTs7Ozs7OztXQU9HO1FBQ2EsU0FBSSxHQUFHLEtBQUssQ0FBeUIsaUJBQWlCLGdEQUFDLENBQUM7UUFFckQs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UUFFckIsSUFBSSxDQUFDLFlBQVk7YUFDZCxTQUFTLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDO2FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTdIVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2TUN2Q3BDLHNoQkFpQkEsZ2lCRG9CWSxrQkFBa0IscUpBQUUsbUJBQW1COzs0RkFFdEMsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlLCBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7XG4gIFNreUJhY2tUb1RvcE1lc3NhZ2UsXG4gIFNreUJhY2tUb1RvcE1lc3NhZ2VUeXBlLFxuICBTa3lCYWNrVG9Ub3BNb2R1bGUsXG59IGZyb20gJ0Bza3l1eC9sYXlvdXQnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclN1bW1hcnkgfSBmcm9tICcuL21vZGVscy9kYXRhLW1hbmFnZXItc3VtbWFyeSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckRvY2tUeXBlIH0gZnJvbSAnLi90eXBlcy9kYXRhLW1hbmFnZXItZG9jay10eXBlJztcblxuY29uc3QgVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQgPSBbJy5za3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInXTtcbmNvbnN0IERFRkFVTFRfRE9DS19UWVBFOiBTa3lEYXRhTWFuYWdlckRvY2tUeXBlID0gJ25vbmUnO1xuXG4vKipcbiAqIFRoZSB0b3AtbGV2ZWwgZGF0YSBtYW5hZ2VyIGNvbXBvbmVudC4gUHJvdmlkZSBgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlYCBhdCB0aGlzIGxldmVsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1NreUJhY2tUb1RvcE1vZHVsZSwgU2t5Vmlld2tlZXBlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgZ2V0IGN1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI19jdXJyZW50Vmlld2tlZXBlckNsYXNzZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0IGN1cnJlbnRWaWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzID0gW1xuICAgICAgLi4uVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQsXG4gICAgICAuLi4odmFsdWUgfHwgW10pLFxuICAgIF07XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNJbml0aWFsaXplZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNJbml0aWFsaXplZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI19pc0luaXRpYWxpemVkID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0aW9uLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvdyB0aGUgZGF0YSBtYW5hZ2VyIGRvY2tzIHRvIHRoZSBwYWdlLiBVc2UgYGZpbGxgIHRvIGRvY2sgdGhlIGRhdGEgbWFuYWdlclxuICAgKiB0byB0aGUgY29udGFpbmVyJ3Mgc2l6ZSB3aGVyZSB0aGUgY29udGFpbmVyIGlzIGEgYHNreS1wYWdlYCBjb21wb25lbnQgd2l0aFxuICAgKiBpdHMgYGxheW91dGAgc2V0IHRvIGBmaXRgLCBvciB3aGVyZSB0aGUgY29udGFpbmVyIGlzIGFub3RoZXIgZWxlbWVudCB3aXRoXG4gICAqIGEgYHJlbGF0aXZlYCBvciBgYWJzb2x1dGVgIHBvc2l0aW9uIGFuZCBhIGZpeGVkIHNpemUuXG4gICAqIGBza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXJgIHdpbGwgYmUgZG9ja2VkIHRvIHRoZSB0b3Agb2YgYWxsIG90aGVyIGNvbnRlbnQuXG4gICAqIEBkZWZhdWx0IFwibm9uZVwiXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jayA9IGlucHV0PFNreURhdGFNYW5hZ2VyRG9ja1R5cGU+KERFRkFVTFRfRE9DS19UWVBFKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9ja0NsYXNzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiAnc2t5LWRhdGEtbWFuYWdlci1kb2NrLScgKyAodGhpcy5kb2NrKCkgfHwgREVGQVVMVF9ET0NLX1RZUEUpO1xuICB9KTtcblxuICBwdWJsaWMgYmFja1RvVG9wQ29udHJvbGxlciA9IG5ldyBTdWJqZWN0PFNreUJhY2tUb1RvcE1lc3NhZ2U+KCk7XG5cbiAgcHVibGljIGJhY2tUb1RvcE9wdGlvbnMgPSB7XG4gICAgYnV0dG9uSGlkZGVuOiB0cnVlLFxuICB9O1xuXG4gICNhY3RpdmVWaWV3SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgI2FsbFZpZXdrZWVwZXJDbGFzc2VzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjc291cmNlSWQgPSAnZGF0YU1hbmFnZXJDb21wb25lbnQnO1xuICAjZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkO1xuXG4gICNfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAjX2N1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9IFZJRVdLRUVQRVJfQ0xBU1NFU19ERUZBVUxUO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3Rpb24gPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNsaXZlQW5ub3VuY2VyID0gaW5qZWN0KFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI3Jlc291cmNlU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI3NvdXJjZUlkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy5pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZVxuICAgICAgLmdldERhdGFTdW1tYXJ5VXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN1bW1hcnk6IFNreURhdGFNYW5hZ2VyU3VtbWFyeSkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtc1NlbGVjdGVkID0gdGhpcy4jZGF0YVN0YXRlPy5zZWxlY3RlZElkcz8ubGVuZ3RoIHx8IDA7XG4gICAgICAgIGNvbnN0IHJlc291cmNlU3RyaW5nID0gYHNreXV4X2RhdGFfbWFuYWdlcl9zdGF0dXNfdXBkYXRlXyR7XG4gICAgICAgICAgdGhpcy4jZGF0YVN0YXRlPy5vbmx5U2hvd1NlbGVjdGVkXG4gICAgICAgICAgICA/ICdvbmx5X3NlbGVjdGVkJ1xuICAgICAgICAgICAgOiBpdGVtc1NlbGVjdGVkXG4gICAgICAgICAgICAgID8gJ3dpdGhfc2VsZWN0aW9ucydcbiAgICAgICAgICAgICAgOiAnd2l0aG91dF9zZWxlY3Rpb25zJ1xuICAgICAgICB9YDtcblxuICAgICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAgIHJlc291cmNlU3RyaW5nLFxuICAgICAgICAgIHN1bW1hcnkuaXRlbXNNYXRjaGluZyxcbiAgICAgICAgICBzdW1tYXJ5LnRvdGFsSXRlbXMsXG4gICAgICAgICAgaXRlbXNTZWxlY3RlZCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnZpZXdrZWVwZXJDbGFzc2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChjbGFzc2VzKSA9PiB7XG4gICAgICAgIHRoaXMuI2FsbFZpZXdrZWVwZXJDbGFzc2VzID0gY2xhc3NlcztcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPSB0aGlzLiNhY3RpdmVWaWV3SWRcbiAgICAgICAgICA/IGNsYXNzZXNbdGhpcy4jYWN0aXZlVmlld0lkXVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICB0aGlzLiNhY3RpdmVWaWV3SWQgPSBhY3RpdmVWaWV3SWQ7XG4gICAgICAgIHRoaXMuYmFja1RvVG9wQ29udHJvbGxlci5uZXh0KHtcbiAgICAgICAgICB0eXBlOiBTa3lCYWNrVG9Ub3BNZXNzYWdlVHlwZS5CYWNrVG9Ub3AsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9XG4gICAgICAgICAgdGhpcy4jYWxsVmlld2tlZXBlckNsYXNzZXNbdGhpcy4jYWN0aXZlVmlld0lkXTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICNhbm5vdW5jZVN0YXRlKFxuICAgIHJlc291cmNlU3RyaW5nOiBzdHJpbmcsXG4gICAgaXRlbXNNYXRjaGluZzogbnVtYmVyLFxuICAgIHRvdGFsSXRlbXM6IG51bWJlcixcbiAgICBpdGVtc1NlbGVjdGVkOiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlU3ZjXG4gICAgICAuZ2V0U3RyaW5nKHJlc291cmNlU3RyaW5nLCBpdGVtc01hdGNoaW5nLCB0b3RhbEl0ZW1zLCBpdGVtc1NlbGVjdGVkKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGludGVybmF0aW9uYWxpemVkU3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuI2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UoaW50ZXJuYXRpb25hbGl6ZWRTdHJpbmcpO1xuICAgICAgfSk7XG4gIH1cbn1cbiIsIkBpZiAoaXNJbml0aWFsaXplZCkge1xuICA8ZGl2XG4gICAgI2RhdGFNYW5hZ2VyXG4gICAgc2t5Vmlld2tlZXBlck9taXRTaGFkb3c9XCIuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbFwiXG4gICAgW2NsYXNzXT1cIidza3ktZGF0YS1tYW5hZ2VyICcgKyBkb2NrQ2xhc3MoKVwiXG4gICAgW3NreUJhY2tUb1RvcF09XCJiYWNrVG9Ub3BPcHRpb25zXCJcbiAgICBbc2t5QmFja1RvVG9wTWVzc2FnZVN0cmVhbV09XCJiYWNrVG9Ub3BDb250cm9sbGVyXCJcbiAgICBbc2t5Vmlld2tlZXBlcl09XCJjdXJyZW50Vmlld2tlZXBlckNsYXNzZXNcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhclwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, inject, } from '@angular/core';\nimport { SkyResponsiveHostDirective } from '@skyux/core';\nimport { SkyTextHighlightDirective } from '@skyux/indicators';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerService } from './data-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/core\";\nimport * as i2 from \"@skyux/indicators\";\n/**\n * A data view is rendered within a data manager component.\n * It can subscribe to data state changes from `SkyDataManagerService` and apply the filters,\n * search text, and more to the data it displays.\n */\nexport class SkyDataViewComponent {\n get dataViewId() {\n return this.viewId;\n }\n get isActive() {\n return this.#_isActive;\n }\n set isActive(value) {\n this.#_isActive = value;\n this.#changeDetector.markForCheck();\n }\n get textHighlight() {\n return this.#_textHighlight;\n }\n set textHighlight(value) {\n this.#_textHighlight = value;\n this.#textHighlight.skyHighlight = value;\n this.#changeDetector.markForCheck();\n }\n #_isActive = false;\n #_textHighlight;\n #ngUnsubscribe = new Subject();\n #currentState;\n #dataManagerService = inject(SkyDataManagerService);\n #changeDetector = inject(ChangeDetectorRef);\n #textHighlight = inject(SkyTextHighlightDirective, { self: true });\n ngOnInit() {\n this.#dataManagerService\n .getActiveViewIdUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((activeViewId) => {\n this.isActive = this.viewId === activeViewId;\n });\n this.#dataManagerService\n .getDataViewsUpdates()\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#updateSearchHighlight(this.#currentState);\n });\n /* istanbul ignore else */\n if (this.viewId) {\n this.#dataManagerService\n .getDataStateUpdates(this.viewId)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.#currentState = state;\n this.#updateSearchHighlight(state);\n });\n }\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n #updateSearchHighlight(state) {\n if (this.viewId) {\n const view = this.#dataManagerService.getViewById(this.viewId);\n if (view?.searchHighlightEnabled) {\n this.textHighlight = state?.searchText;\n }\n else if (this.textHighlight) {\n this.textHighlight = undefined;\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataViewComponent, isStandalone: true, selector: \"sky-data-view\", inputs: { viewId: \"viewId\" }, host: { properties: { \"attr.data-view-id\": \"this.dataViewId\" } }, hostDirectives: [{ directive: i1.SkyResponsiveHostDirective }, { directive: i2.SkyTextHighlightDirective }], ngImport: i0, template: \"@if (isActive) {\\n <ng-content />\\n}\\n\", styles: [\":host{display:block}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataViewComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-view', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [SkyResponsiveHostDirective, SkyTextHighlightDirective], template: \"@if (isActive) {\\n <ng-content />\\n}\\n\", styles: [\":host{display:block}\\n\"] }]\n }], propDecorators: { viewId: [{\n type: Input\n }], dataViewId: [{\n type: HostBinding,\n args: ['attr.data-view-id']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRy9EOzs7O0dBSUc7QUFjSCxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFB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QUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5UmVzcG9uc2l2ZUhvc3REaXJlY3RpdmUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4vbW9kZWxzL2RhdGEtbWFuYWdlci1zdGF0ZSc7XG5cbi8qKlxuICogQSBkYXRhIHZpZXcgaXMgcmVuZGVyZWQgd2l0aGluIGEgZGF0YSBtYW5hZ2VyIGNvbXBvbmVudC5cbiAqIEl0IGNhbiBzdWJzY3JpYmUgdG8gZGF0YSBzdGF0ZSBjaGFuZ2VzIGZyb20gYFNreURhdGFNYW5hZ2VyU2VydmljZWAgYW5kIGFwcGx5IHRoZSBmaWx0ZXJzLFxuICogc2VhcmNoIHRleHQsIGFuZCBtb3JlIHRvIHRoZSBkYXRhIGl0IGRpc3BsYXlzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0RGlyZWN0aXZlczogW1NreVJlc3BvbnNpdmVIb3N0RGlyZWN0aXZlLCBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlXSxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRhVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdmlldy4gU2VlIHRoZSBgU2t5RGF0YVZpZXdDb25maWdgIGludGVyZmFjZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdmlld0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdmlldy1pZCcpXG4gIHB1YmxpYyBnZXQgZGF0YVZpZXdJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZpZXdJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19pc0FjdGl2ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaXNBY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNBY3RpdmUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGV4dEhpZ2hsaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfdGV4dEhpZ2hsaWdodDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGV4dEhpZ2hsaWdodCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3RleHRIaWdobGlnaHQgPSB2YWx1ZTtcbiAgICB0aGlzLiN0ZXh0SGlnaGxpZ2h0LnNreUhpZ2hsaWdodCA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI19pc0FjdGl2ZSA9IGZhbHNlO1xuICAjX3RleHRIaWdobGlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNjdXJyZW50U3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgI2RhdGFNYW5hZ2VyU2VydmljZSA9IGluamVjdChTa3lEYXRhTWFuYWdlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjdGV4dEhpZ2hsaWdodDogU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZSA9IGluamVjdChcbiAgICBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLFxuICAgIHsgc2VsZjogdHJ1ZSB9LFxuICApO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICB0aGlzLmlzQWN0aXZlID0gdGhpcy52aWV3SWQgPT09IGFjdGl2ZVZpZXdJZDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVZpZXdzVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jdXBkYXRlU2VhcmNoSGlnaGxpZ2h0KHRoaXMuI2N1cnJlbnRTdGF0ZSk7XG4gICAgICB9KTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMudmlld0lkKSB7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgICAgLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy52aWV3SWQpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50U3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVTZWFyY2hIaWdobGlnaHQoc3RhdGUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI3VwZGF0ZVNlYXJjaEhpZ2hsaWdodChzdGF0ZT86IFNreURhdGFNYW5hZ2VyU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3SWQpIHtcbiAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQodGhpcy52aWV3SWQpO1xuXG4gICAgICBpZiAodmlldz8uc2VhcmNoSGlnaGxpZ2h0RW5hYmxlZCkge1xuICAgICAgICB0aGlzLnRleHRIaWdobGlnaHQgPSBzdGF0ZT8uc2VhcmNoVGV4dDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50ZXh0SGlnaGxpZ2h0KSB7XG4gICAgICAgIHRoaXMudGV4dEhpZ2hsaWdodCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoaXNBY3RpdmUpIHtcbiAgPG5nLWNvbnRlbnQgLz5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, inject, } from '@angular/core';\nimport { SkyStatusIndicatorModule } from '@skyux/indicators';\nimport { SkyRepeaterModule } from '@skyux/lists';\nimport { SkyModalInstance, SkyModalModule } from '@skyux/modals';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SkyDataManagerResourcesModule } from '../../shared/sky-data-manager-resources.module';\nimport { SkyDataManagerToolbarComponent } from '../data-manager-toolbar/data-manager-toolbar.component';\nimport { SkyDataManagerComponent } from '../data-manager.component';\nimport { SkyDataManagerService } from '../data-manager.service';\nimport { SkyDataViewComponent } from '../data-view.component';\nimport { SkyDataManagerColumnPickerSortStrategy } from '../models/data-manager-column-picker-sort-strategy';\nimport { SkyDataManagerState } from '../models/data-manager-state';\nimport { SkyDataManagerColumnPickerContext } from './data-manager-column-picker-context';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/modals\";\nimport * as i2 from \"@skyux/lists\";\nimport * as i3 from \"@skyux/indicators\";\nimport * as i4 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyDataManagerColumnPickerComponent {\n constructor() {\n this.columnData = [];\n this.displayedColumnData = [];\n this.viewConfig = {\n id: 'columnPicker',\n name: 'Column Picker',\n searchEnabled: true,\n searchExpandMode: 'fit',\n multiselectToolbarEnabled: true,\n onSelectAllClick: this.selectAll.bind(this),\n onClearAllClick: this.clearAll.bind(this),\n };\n this.isAnyDisplayedColumnSelected = false;\n this.#ngUnsubscribe = new Subject();\n this.#_dataState = new SkyDataManagerState({});\n this.context = inject(SkyDataManagerColumnPickerContext);\n this.dataManagerService = inject(SkyDataManagerService);\n this.instance = inject(SkyModalInstance);\n }\n get dataState() {\n return this.#_dataState;\n }\n set dataState(value) {\n this.#_dataState = value;\n this.updateData();\n }\n #ngUnsubscribe;\n #_dataState;\n ngOnInit() {\n this.dataManagerService.initDataManager({\n activeViewId: this.viewConfig.id,\n dataManagerConfig: {},\n defaultDataState: this.dataState,\n });\n this.dataManagerService.initDataView(this.viewConfig);\n this.columnData = this.#formatColumnOptions();\n this.dataManagerService\n .getDataStateUpdates('columnPicker')\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((state) => {\n this.dataState = state;\n });\n }\n ngOnDestroy() {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n updateData() {\n this.displayedColumnData = this.searchColumns(this.columnData.filter((col) => !col.alwaysDisplayed));\n if (this.dataState.onlyShowSelected) {\n this.displayedColumnData = this.displayedColumnData.filter((col) => col.isSelected);\n }\n this.isAnyDisplayedColumnSelected = this.displayedColumnData.some((col) => col.isSelected);\n }\n searchColumns(columns) {\n let searchedColumns = columns;\n const searchText = this.dataState && this.dataState.searchText?.toUpperCase();\n if (searchText) {\n searchedColumns = columns.filter((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property) &&\n (property === 'label' || property === 'description')) {\n const propertyText = item[property]?.toUpperCase();\n if (propertyText && propertyText.indexOf(searchText) > -1) {\n return true;\n }\n }\n }\n return false;\n });\n }\n return searchedColumns;\n }\n selectAll() {\n this.displayedColumnData.forEach((column) => (column.isSelected = true));\n this.updateData();\n }\n clearAll() {\n this.displayedColumnData.forEach((column) => (column.isSelected = false));\n this.updateData();\n }\n onIsSelectedChange() {\n this.updateData();\n }\n cancelChanges() {\n this.instance.cancel();\n }\n isSelected(id) {\n return (this.context.displayedColumnIds.findIndex((colId) => colId === id) !== -1);\n }\n applyChanges() {\n this.instance.save(this.columnData.filter((col) => col.isSelected || col.alwaysDisplayed));\n }\n #formatColumnOptions() {\n const allColumnOptions = this.context.columnOptions;\n const visibleColumnIds = this.context.displayedColumnIds;\n let formattedColumnOptions = [];\n const unselectedColumnOptions = [];\n for (const columnOption of allColumnOptions) {\n // format the column with the properties the column picker needs\n const colIndex = visibleColumnIds.indexOf(columnOption.id);\n const formattedColumn = {\n alwaysDisplayed: columnOption.alwaysDisplayed,\n id: columnOption.id,\n label: columnOption.label,\n description: columnOption.description,\n isSelected: colIndex !== -1,\n };\n // if column picker sorting is currently enabled sort columns by order displayed then alphabetical\n // else display column in order they were specified in the columnOptions\n if (this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical) {\n if (formattedColumn.isSelected) {\n formattedColumnOptions[colIndex] = formattedColumn;\n }\n else {\n unselectedColumnOptions.push(formattedColumn);\n }\n }\n else {\n formattedColumnOptions.push(formattedColumn);\n }\n }\n // if column picker sorting is enabled, sort the columns that are not currently displayed\n // and add them after the currently displayed options\n if (this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical) {\n unselectedColumnOptions.sort((col1, col2) => col1.label.localeCompare(col2.label));\n formattedColumnOptions = formattedColumnOptions.concat(unselectedColumnOptions);\n }\n return formattedColumnOptions;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.15\", type: SkyDataManagerColumnPickerComponent, isStandalone: true, selector: \"sky-data-manager-column-picker\", providers: [SkyDataManagerService], ngImport: i0, template: \"<sky-modal class=\\\"sky-data-manager-column-picker\\\">\\n <sky-modal-header>\\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\\n </sky-modal-header>\\n <sky-modal-content class=\\\"sky-data-manager-column-picker-content\\\">\\n <sky-data-manager>\\n <sky-data-manager-toolbar />\\n\\n <sky-data-view [viewId]=\\\"viewConfig.id\\\">\\n <sky-repeater expandMode=\\\"none\\\">\\n @for (column of displayedColumnData; track column.id) {\\n <sky-repeater-item\\n [selectable]=\\\"true\\\"\\n [(isSelected)]=\\\"column.isSelected\\\"\\n (isSelectedChange)=\\\"onIsSelectedChange()\\\"\\n >\\n <sky-repeater-item-title>\\n {{ column.label }}\\n </sky-repeater-item-title>\\n <sky-repeater-item-content>\\n {{ column.description }}\\n </sky-repeater-item-content>\\n </sky-repeater-item>\\n }\\n </sky-repeater>\\n </sky-data-view>\\n </sky-data-manager>\\n </sky-modal-content>\\n <sky-modal-footer>\\n @if (!isAnyDisplayedColumnSelected) {\\n <div class=\\\"sky-data-manager-column-picker-footer-stacked-indicator\\\">\\n <sky-status-indicator descriptionType=\\\"error\\\" indicatorType=\\\"danger\\\">\\n {{\\n 'skyux_data_manager_select_column_status_indicator_title'\\n | skyLibResources\\n }}\\n </sky-status-indicator>\\n </div>\\n }\\n <button\\n sky-cmp-id=\\\"apply-changes\\\"\\n class=\\\"sky-btn sky-btn-primary sky-data-manager-column-picker-apply-btn\\\"\\n type=\\\"button\\\"\\n [disabled]=\\\"!isAnyDisplayedColumnSelected\\\"\\n (click)=\\\"applyChanges()\\\"\\n >\\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\\n </button>\\n <button\\n sky-cmp-id=\\\"cancel\\\"\\n class=\\\"sky-btn sky-btn-link sky-data-manager-column-picker-cancel-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"cancelChanges()\\\"\\n >\\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\\n </button>\\n </sky-modal-footer>\\n</sky-modal>\\n\", styles: [\".sky-data-manager-column-picker:not(.sky-theme-modern *){--sky-override-data-manager-column-picker-item-margin: 5px;--sky-override-data-manager-column-picker-footer-margin: 10px}.sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:var(--sky-override-data-manager-column-picker-item-margin, var(--sky-space-stacked-s))}.sky-data-manager-column-picker-footer-stacked-indicator{margin-bottom:var(--sky-override-data-manager-column-picker-footer-margin, var(--sky-space-gap-stacked_supplemental-xl))}\\n\"], dependencies: [{ kind: \"component\", type: SkyDataManagerComponent, selector: \"sky-data-manager\", inputs: [\"dock\"] }, { kind: \"ngmodule\", type: SkyDataManagerResourcesModule }, { kind: \"component\", type: SkyDataManagerToolbarComponent, selector: \"sky-data-manager-toolbar\" }, { kind: \"component\", type: SkyDataViewComponent, selector: \"sky-data-view\", inputs: [\"viewId\"] }, { kind: \"ngmodule\", type: SkyModalModule }, { kind: \"component\", type: i1.λ5, selector: \"sky-modal\", inputs: [\"formErrors\", \"headingText\", \"helpKey\", \"helpPopoverContent\", \"helpPopoverTitle\", \"ariaRole\", \"tiledBody\", \"ariaDescribedBy\", \"ariaLabelledBy\", \"layout\"] }, { kind: \"component\", type: i1.λ2, selector: \"sky-modal-content\" }, { kind: \"component\", type: i1.λ3, selector: \"sky-modal-footer\" }, { kind: \"component\", type: i1.λ4, selector: \"sky-modal-header\" }, { kind: \"ngmodule\", type: SkyRepeaterModule }, { kind: \"component\", type: i2.λ11, selector: \"sky-repeater\", inputs: [\"activeIndex\", \"ariaLabel\", \"reorderable\", \"expandMode\"], outputs: [\"activeIndexChange\", \"orderChange\"] }, { kind: \"component\", type: i2.λ10, selector: \"sky-repeater-item\", inputs: [\"disabled\", \"itemName\", \"inlineFormConfig\", \"inlineFormTemplate\", \"isExpanded\", \"isSelected\", \"reorderable\", \"selectable\", \"showInlineForm\", \"tag\"], outputs: [\"collapse\", \"expand\", \"inlineFormClose\", \"isSelectedChange\"] }, { kind: \"component\", type: i2.λ8, selector: \"sky-repeater-item-content\" }, { kind: \"component\", type: i2.λ12, selector: \"sky-repeater-item-title\" }, { kind: \"ngmodule\", type: SkyStatusIndicatorModule }, { kind: \"component\", type: i3.λ10, selector: \"sky-status-indicator\", inputs: [\"indicatorType\", \"descriptionType\", \"customDescription\", \"helpPopoverContent\", \"helpPopoverTitle\", \"helpKey\"] }, { kind: \"pipe\", type: i4.SkyLibResourcesPipe, name: \"skyLibResources\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-column-picker', providers: [SkyDataManagerService], changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n SkyDataManagerComponent,\n SkyDataManagerResourcesModule,\n SkyDataManagerToolbarComponent,\n SkyDataViewComponent,\n SkyModalModule,\n SkyRepeaterModule,\n SkyStatusIndicatorModule,\n ], template: \"<sky-modal class=\\\"sky-data-manager-column-picker\\\">\\n <sky-modal-header>\\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\\n </sky-modal-header>\\n <sky-modal-content class=\\\"sky-data-manager-column-picker-content\\\">\\n <sky-data-manager>\\n <sky-data-manager-toolbar />\\n\\n <sky-data-view [viewId]=\\\"viewConfig.id\\\">\\n <sky-repeater expandMode=\\\"none\\\">\\n @for (column of displayedColumnData; track column.id) {\\n <sky-repeater-item\\n [selectable]=\\\"true\\\"\\n [(isSelected)]=\\\"column.isSelected\\\"\\n (isSelectedChange)=\\\"onIsSelectedChange()\\\"\\n >\\n <sky-repeater-item-title>\\n {{ column.label }}\\n </sky-repeater-item-title>\\n <sky-repeater-item-content>\\n {{ column.description }}\\n </sky-repeater-item-content>\\n </sky-repeater-item>\\n }\\n </sky-repeater>\\n </sky-data-view>\\n </sky-data-manager>\\n </sky-modal-content>\\n <sky-modal-footer>\\n @if (!isAnyDisplayedColumnSelected) {\\n <div class=\\\"sky-data-manager-column-picker-footer-stacked-indicator\\\">\\n <sky-status-indicator descriptionType=\\\"error\\\" indicatorType=\\\"danger\\\">\\n {{\\n 'skyux_data_manager_select_column_status_indicator_title'\\n | skyLibResources\\n }}\\n </sky-status-indicator>\\n </div>\\n }\\n <button\\n sky-cmp-id=\\\"apply-changes\\\"\\n class=\\\"sky-btn sky-btn-primary sky-data-manager-column-picker-apply-btn\\\"\\n type=\\\"button\\\"\\n [disabled]=\\\"!isAnyDisplayedColumnSelected\\\"\\n (click)=\\\"applyChanges()\\\"\\n >\\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\\n </button>\\n <button\\n sky-cmp-id=\\\"cancel\\\"\\n class=\\\"sky-btn sky-btn-link sky-data-manager-column-picker-cancel-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"cancelChanges()\\\"\\n >\\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\\n </button>\\n </sky-modal-footer>\\n</sky-modal>\\n\", styles: [\".sky-data-manager-column-picker:not(.sky-theme-modern *){--sky-override-data-manager-column-picker-item-margin: 5px;--sky-override-data-manager-column-picker-footer-margin: 10px}.sky-data-manager-column-picker-content sky-repeater-item-content{margin-top:var(--sky-override-data-manager-column-picker-item-margin, var(--sky-space-stacked-s))}.sky-data-manager-column-picker-footer-stacked-indicator{margin-bottom:var(--sky-override-data-manager-column-picker-footer-margin, var(--sky-space-gap-stacked_supplemental-xl))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDL0YsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FB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QUFzQixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FDcEQsdUJBQXVCLENBQ3hCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDOytHQTlLVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyw2RUFabkMsQ0FBQyxxQkFBcUIsQ0FBQywwQkN4Q3BDLHVrRUEwREEsb2tCRGZJLHVCQUF1Qiw4RUFDdkIsNkJBQTZCLCtCQUM3Qiw4QkFBOEIscUVBQzlCLG9CQUFvQiw2RUFDcEIsY0FBYyxvY0FDZCxpQkFBaUIsOG9CQUNqQix3QkFBd0I7OzRGQUdmLG1DQUFtQztrQkFoQi9DLFNBQVM7K0JBQ0UsZ0NBQWdDLGFBRy9CLENBQUMscUJBQXFCLENBQUMsbUJBQ2pCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlIH0gZnJvbSAnQHNreXV4L2luZGljYXRvcnMnO1xuaW1wb3J0IHsgU2t5UmVwZWF0ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSwgU2t5TW9kYWxNb2R1bGUgfSBmcm9tICdAc2t5dXgvbW9kYWxzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9za3ktZGF0YS1tYW5hZ2VyLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4uL2RhdGEtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXNvcnQtc3RyYXRlZ3knO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJTdGF0ZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItc3RhdGUnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS12aWV3LWNvbmZpZyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmludGVyZmFjZSBDb2x1bW4gZXh0ZW5kcyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreURhdGFNYW5hZ2VyU2VydmljZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICAgIFNreU1vZGFsTW9kdWxlLFxuICAgIFNreVJlcGVhdGVyTW9kdWxlLFxuICAgIFNreVN0YXR1c0luZGljYXRvck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBnZXQgZGF0YVN0YXRlKCk6IFNreURhdGFNYW5hZ2VyU3RhdGUge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YVN0YXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhU3RhdGUodmFsdWU6IFNreURhdGFNYW5hZ2VyU3RhdGUpIHtcbiAgICB0aGlzLiNfZGF0YVN0YXRlID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVEYXRhKCk7XG4gIH1cblxuICBwdWJsaWMgY29sdW1uRGF0YTogQ29sdW1uW10gPSBbXTtcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbkRhdGE6IENvbHVtbltdID0gW107XG4gIHB1YmxpYyB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyA9IHtcbiAgICBpZDogJ2NvbHVtblBpY2tlcicsXG4gICAgbmFtZTogJ0NvbHVtbiBQaWNrZXInLFxuICAgIHNlYXJjaEVuYWJsZWQ6IHRydWUsXG4gICAgc2VhcmNoRXhwYW5kTW9kZTogJ2ZpdCcsXG4gICAgbXVsdGlzZWxlY3RUb29sYmFyRW5hYmxlZDogdHJ1ZSxcbiAgICBvblNlbGVjdEFsbENsaWNrOiB0aGlzLnNlbGVjdEFsbC5iaW5kKHRoaXMpLFxuICAgIG9uQ2xlYXJBbGxDbGljazogdGhpcy5jbGVhckFsbC5iaW5kKHRoaXMpLFxuICB9O1xuXG4gIHB1YmxpYyBpc0FueURpc3BsYXllZENvbHVtblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNfZGF0YVN0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoe30pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluc3RhbmNlID0gaW5qZWN0KFNreU1vZGFsSW5zdGFuY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YU1hbmFnZXIoe1xuICAgICAgYWN0aXZlVmlld0lkOiB0aGlzLnZpZXdDb25maWcuaWQsXG4gICAgICBkYXRhTWFuYWdlckNvbmZpZzoge30sXG4gICAgICBkZWZhdWx0RGF0YVN0YXRlOiB0aGlzLmRhdGFTdGF0ZSxcbiAgICB9KTtcbiAgICB0aGlzLmRhdGFNYW5hZ2VyU2VydmljZS5pbml0RGF0YVZpZXcodGhpcy52aWV3Q29uZmlnKTtcblxuICAgIHRoaXMuY29sdW1uRGF0YSA9IHRoaXMuI2Zvcm1hdENvbHVtbk9wdGlvbnMoKTtcblxuICAgIHRoaXMuZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcygnY29sdW1uUGlja2VyJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVN0YXRlID0gc3RhdGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEgPSB0aGlzLnNlYXJjaENvbHVtbnMoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+ICFjb2wuYWx3YXlzRGlzcGxheWVkKSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YSA9IHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5maWx0ZXIoXG4gICAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzQW55RGlzcGxheWVkQ29sdW1uU2VsZWN0ZWQgPSB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuc29tZShcbiAgICAgIChjb2wpID0+IGNvbC5pc1NlbGVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoQ29sdW1ucyhjb2x1bW5zOiBDb2x1bW5bXSk6IENvbHVtbltdIHtcbiAgICBsZXQgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucztcbiAgICBjb25zdCBzZWFyY2hUZXh0ID1cbiAgICAgIHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuZGF0YVN0YXRlLnNlYXJjaFRleHQ/LnRvVXBwZXJDYXNlKCk7XG5cbiAgICBpZiAoc2VhcmNoVGV4dCkge1xuICAgICAgc2VhcmNoZWRDb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBpdGVtKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGl0ZW0sIHByb3BlcnR5KSAmJlxuICAgICAgICAgICAgKHByb3BlcnR5ID09PSAnbGFiZWwnIHx8IHByb3BlcnR5ID09PSAnZGVzY3JpcHRpb24nKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlUZXh0ID0gaXRlbVtwcm9wZXJ0eV0/LnRvVXBwZXJDYXNlKCk7XG4gICAgICAgICAgICBpZiAocHJvcGVydHlUZXh0ICYmIHByb3BlcnR5VGV4dC5pbmRleE9mKHNlYXJjaFRleHQpID4gLTEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzZWFyY2hlZENvbHVtbnM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1uRGF0YS5mb3JFYWNoKChjb2x1bW4pID0+IChjb2x1bW4uaXNTZWxlY3RlZCA9IHRydWUpKTtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbkRhdGEuZm9yRWFjaCgoY29sdW1uKSA9PiAoY29sdW1uLmlzU2VsZWN0ZWQgPSBmYWxzZSkpO1xuICAgIHRoaXMudXBkYXRlRGF0YSgpO1xuICB9XG5cbiAgcHVibGljIG9uSXNTZWxlY3RlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5zdGFuY2UuY2FuY2VsKCk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWxlY3RlZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29udGV4dC5kaXNwbGF5ZWRDb2x1bW5JZHMuZmluZEluZGV4KChjb2xJZCkgPT4gY29sSWQgPT09IGlkKSAhPT0gLTFcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFwcGx5Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbmNlLnNhdmUoXG4gICAgICB0aGlzLmNvbHVtbkRhdGEuZmlsdGVyKChjb2wpID0+IGNvbC5pc1NlbGVjdGVkIHx8IGNvbC5hbHdheXNEaXNwbGF5ZWQpLFxuICAgICk7XG4gIH1cblxuICAjZm9ybWF0Q29sdW1uT3B0aW9ucygpOiBDb2x1bW5bXSB7XG4gICAgY29uc3QgYWxsQ29sdW1uT3B0aW9ucyA9IHRoaXMuY29udGV4dC5jb2x1bW5PcHRpb25zO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5JZHMgPSB0aGlzLmNvbnRleHQuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgIGxldCBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuICAgIGNvbnN0IHVuc2VsZWN0ZWRDb2x1bW5PcHRpb25zOiBDb2x1bW5bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBjb2x1bW5PcHRpb24gb2YgYWxsQ29sdW1uT3B0aW9ucykge1xuICAgICAgLy8gZm9ybWF0IHRoZSBjb2x1bW4gd2l0aCB0aGUgcHJvcGVydGllcyB0aGUgY29sdW1uIHBpY2tlciBuZWVkc1xuICAgICAgY29uc3QgY29sSW5kZXggPSB2aXNpYmxlQ29sdW1uSWRzLmluZGV4T2YoY29sdW1uT3B0aW9uLmlkKTtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZENvbHVtbjogQ29sdW1uID0ge1xuICAgICAgICBhbHdheXNEaXNwbGF5ZWQ6IGNvbHVtbk9wdGlvbi5hbHdheXNEaXNwbGF5ZWQsXG4gICAgICAgIGlkOiBjb2x1bW5PcHRpb24uaWQsXG4gICAgICAgIGxhYmVsOiBjb2x1bW5PcHRpb24ubGFiZWwsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb2x1bW5PcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGlzU2VsZWN0ZWQ6IGNvbEluZGV4ICE9PSAtMSxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIGNvbHVtbiBwaWNrZXIgc29ydGluZyBpcyBjdXJyZW50bHkgZW5hYmxlZCBzb3J0IGNvbHVtbnMgYnkgb3JkZXIgZGlzcGxheWVkIHRoZW4gYWxwaGFiZXRpY2FsXG4gICAgICAvLyBlbHNlIGRpc3BsYXkgY29sdW1uIGluIG9yZGVyIHRoZXkgd2VyZSBzcGVjaWZpZWQgaW4gdGhlIGNvbHVtbk9wdGlvbnNcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgICAgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kuU2VsZWN0ZWRUaGVuQWxwaGFiZXRpY2FsXG4gICAgICApIHtcbiAgICAgICAgaWYgKGZvcm1hdHRlZENvbHVtbi5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgZm9ybWF0dGVkQ29sdW1uT3B0aW9uc1tjb2xJbmRleF0gPSBmb3JtYXR0ZWRDb2x1bW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMucHVzaChmb3JtYXR0ZWRDb2x1bW4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLnB1c2goZm9ybWF0dGVkQ29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiBjb2x1bW4gcGlja2VyIHNvcnRpbmcgaXMgZW5hYmxlZCwgc29ydCB0aGUgY29sdW1ucyB0aGF0IGFyZSBub3QgY3VycmVudGx5IGRpc3BsYXllZFxuICAgIC8vIGFuZCBhZGQgdGhlbSBhZnRlciB0aGUgY3VycmVudGx5IGRpc3BsYXllZCBvcHRpb25zXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSA9PT1cbiAgICAgIFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU29ydFN0cmF0ZWd5LlNlbGVjdGVkVGhlbkFscGhhYmV0aWNhbFxuICAgICkge1xuICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMuc29ydCgoY29sMSwgY29sMikgPT5cbiAgICAgICAgY29sMS5sYWJlbC5sb2NhbGVDb21wYXJlKGNvbDIubGFiZWwpLFxuICAgICAgKTtcbiAgICAgIGZvcm1hdHRlZENvbHVtbk9wdGlvbnMgPSBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zLmNvbmNhdChcbiAgICAgICAgdW5zZWxlY3RlZENvbHVtbk9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXR0ZWRDb2x1bW5PcHRpb25zO1xuICB9XG59XG4iLCI8c2t5LW1vZGFsIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyXCI+XG4gIDxza3ktbW9kYWwtaGVhZGVyPlxuICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uX3BpY2tlcl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgPC9za3ktbW9kYWwtaGVhZGVyPlxuICA8c2t5LW1vZGFsLWNvbnRlbnQgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItY29udGVudFwiPlxuICAgIDxza3ktZGF0YS1tYW5hZ2VyPlxuICAgICAgPHNreS1kYXRhLW1hbmFnZXItdG9vbGJhciAvPlxuXG4gICAgICA8c2t5LWRhdGEtdmlldyBbdmlld0lkXT1cInZpZXdDb25maWcuaWRcIj5cbiAgICAgICAgPHNreS1yZXBlYXRlciBleHBhbmRNb2RlPVwibm9uZVwiPlxuICAgICAgICAgIEBmb3IgKGNvbHVtbiBvZiBkaXNwbGF5ZWRDb2x1bW5EYXRhOyB0cmFjayBjb2x1bW4uaWQpIHtcbiAgICAgICAgICAgIDxza3ktcmVwZWF0ZXItaXRlbVxuICAgICAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgWyhpc1NlbGVjdGVkKV09XCJjb2x1bW4uaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgIChpc1NlbGVjdGVkQ2hhbmdlKT1cIm9uSXNTZWxlY3RlZENoYW5nZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNreS1yZXBlYXRlci1pdGVtLXRpdGxlPlxuICAgICAgICAgICAgICAgIHt7IGNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L3NreS1yZXBlYXRlci1pdGVtLXRpdGxlPlxuICAgICAgICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICAgICAgICB7eyBjb2x1bW4uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbS1jb250ZW50PlxuICAgICAgICAgICAgPC9za3ktcmVwZWF0ZXItaXRlbT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc2t5LXJlcGVhdGVyPlxuICAgICAgPC9za3ktZGF0YS12aWV3PlxuICAgIDwvc2t5LWRhdGEtbWFuYWdlcj5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgQGlmICghaXNBbnlEaXNwbGF5ZWRDb2x1bW5TZWxlY3RlZCkge1xuICAgICAgPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1mb290ZXItc3RhY2tlZC1pbmRpY2F0b3JcIj5cbiAgICAgICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yIGRlc2NyaXB0aW9uVHlwZT1cImVycm9yXCIgaW5kaWNhdG9yVHlwZT1cImRhbmdlclwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9jb2x1bW5fc3RhdHVzX2luZGljYXRvcl90aXRsZSdcbiAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICB9fVxuICAgICAgICA8L3NreS1zdGF0dXMtaW5kaWNhdG9yPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxidXR0b25cbiAgICAgIHNreS1jbXAtaWQ9XCJhcHBseS1jaGFuZ2VzXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLXByaW1hcnkgc2t5LWRhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWFwcGx5LWJ0blwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhaXNBbnlEaXNwbGF5ZWRDb2x1bW5TZWxlY3RlZFwiXG4gICAgICAoY2xpY2spPVwiYXBwbHlDaGFuZ2VzKClcIlxuICAgID5cbiAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfYXBwbHlfY2hhbmdlc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgc2t5LWNtcC1pZD1cImNhbmNlbFwiXG4gICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1jYW5jZWwtYnRuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cImNhbmNlbENoYW5nZXMoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jYW5jZWxfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NreS1tb2RhbC1mb290ZXI+XG48L3NreS1tb2RhbD5cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { SkyDataManagerColumnPickerComponent } from './data-manager-column-picker.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyDataManagerColumnPickerImplService {\n getComponentType() {\n return SkyDataManagerColumnPickerComponent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerImplService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerImplService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerColumnPickerImplService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItaW1wbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWltcGwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUc3RixNQUFNLE9BQU8scUNBQXFDO0lBQ3pDLGdCQUFnQjtRQUNyQixPQUFPLG1DQUFtQyxDQUFDO0lBQzdDLENBQUM7K0dBSFUscUNBQXFDO21IQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJJbXBsU2VydmljZSB7XG4gIHB1YmxpYyBnZXRDb21wb25lbnRUeXBlKCk6IHR5cGVvZiBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29tcG9uZW50O1xuICB9XG59XG4iXX0=","import { SkyDataManagerColumnPickerImplService } from './data-manager-column-picker-impl.service';\nimport { SkyDataManagerColumnPickerService } from './data-manager-column-picker.service';\nexport const SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS = [\n {\n provide: SkyDataManagerColumnPickerService,\n useClass: SkyDataManagerColumnPickerImplService,\n },\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLXByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSx3Q0FBd0MsR0FBZTtJQUNsRTtRQUNFLE9BQU8sRUFBRSxpQ0FBaUM7UUFDMUMsUUFBUSxFQUFFLHFDQUFxQztLQUNoRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckltcGxTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1pbXBsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IFNLWV9EQVRBX01BTkFHRVJfQ09MVU1OX1BJQ0tFUl9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gIHtcbiAgICBwcm92aWRlOiBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlclNlcnZpY2UsXG4gICAgdXNlQ2xhc3M6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VySW1wbFNlcnZpY2UsXG4gIH0sXG5dO1xuIl19","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\n/**\n * Concrete implementation of SkyFilterStateService that manages filter state\n * for integration between list components and data managers.\n * @internal\n */\nexport class SkyDataManagerFilterStateService {\n #filterStateChange = new ReplaySubject(1);\n updateFilterState(data, sourceId) {\n const nextState = {\n appliedFilters: data.appliedFilters,\n selectedFilterIds: data.selectedFilterIds,\n };\n this.#filterStateChange.next({\n filterState: nextState,\n sourceId: sourceId,\n });\n }\n getFilterStateUpdates(sourceId) {\n return this.#filterStateChange.pipe(filter((c) => c.sourceId !== sourceId), map((c) => c.filterState));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterStateService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterStateService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci1maWx0ZXJzL2RhdGEtbWFuYWdlci1maWx0ZXItc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPN0M7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDbEMsa0JBQWtCLEdBQUcsSUFBSSxhQUFhLENBQXVCLENBQUMsQ0FBQyxDQUFDO0lBRWxFLGlCQUFpQixDQUFDLElBQW9CLEVBQUUsUUFBZ0I7UUFDN0QsTUFBTSxTQUFTLEdBQW1CO1lBQ2hDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQzFDLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxRQUFnQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsRUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQzFCLENBQUM7SUFDSixDQUFDOytHQXBCVSxnQ0FBZ0M7bUhBQWhDLGdDQUFnQzs7NEZBQWhDLGdDQUFnQztrQkFENUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUZpbHRlclN0YXRlLCBTa3lGaWx0ZXJTdGF0ZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW50ZXJmYWNlIFNreUZpbHRlclN0YXRlQ2hhbmdlIHtcbiAgZmlsdGVyU3RhdGU6IFNreUZpbHRlclN0YXRlO1xuICBzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIFNreUZpbHRlclN0YXRlU2VydmljZSB0aGF0IG1hbmFnZXMgZmlsdGVyIHN0YXRlXG4gKiBmb3IgaW50ZWdyYXRpb24gYmV0d2VlbiBsaXN0IGNvbXBvbmVudHMgYW5kIGRhdGEgbWFuYWdlcnMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyRmlsdGVyU3RhdGVTZXJ2aWNlIGltcGxlbWVudHMgU2t5RmlsdGVyU3RhdGVTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgI2ZpbHRlclN0YXRlQ2hhbmdlID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5RmlsdGVyU3RhdGVDaGFuZ2U+KDEpO1xuXG4gIHB1YmxpYyB1cGRhdGVGaWx0ZXJTdGF0ZShkYXRhOiBTa3lGaWx0ZXJTdGF0ZSwgc291cmNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRTdGF0ZTogU2t5RmlsdGVyU3RhdGUgPSB7XG4gICAgICBhcHBsaWVkRmlsdGVyczogZGF0YS5hcHBsaWVkRmlsdGVycyxcbiAgICAgIHNlbGVjdGVkRmlsdGVySWRzOiBkYXRhLnNlbGVjdGVkRmlsdGVySWRzLFxuICAgIH07XG5cbiAgICB0aGlzLiNmaWx0ZXJTdGF0ZUNoYW5nZS5uZXh0KHtcbiAgICAgIGZpbHRlclN0YXRlOiBuZXh0U3RhdGUsXG4gICAgICBzb3VyY2VJZDogc291cmNlSWQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmlsdGVyU3RhdGVVcGRhdGVzKHNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNreUZpbHRlclN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuI2ZpbHRlclN0YXRlQ2hhbmdlLnBpcGUoXG4gICAgICBmaWx0ZXIoKGMpID0+IGMuc291cmNlSWQgIT09IHNvdXJjZUlkKSxcbiAgICAgIG1hcCgoYykgPT4gYy5maWx0ZXJTdGF0ZSksXG4gICAgKTtcbiAgfVxufVxuIl19","import { DestroyRef, Directive, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SkyFilterStateService } from '@skyux/lists';\nimport { SkyDataManagerService } from '../data-manager.service';\nimport { SkyDataManagerState } from '../models/data-manager-state';\nimport { SkyDataManagerFilterStateService } from './data-manager-filter-state.service';\nimport * as i0 from \"@angular/core\";\n/**\n * A directive applied to a filtering component that enables integration with a data manager.\n */\nexport class SkyDataManagerFilterControllerDirective {\n #currentDataState = new SkyDataManagerState({});\n #dataManagerService = inject(SkyDataManagerService);\n #adapterService = inject(SkyFilterStateService);\n #destroyRef = inject(DestroyRef);\n #sourceId = 'skyDataManagerFilterController';\n ngOnInit() {\n // Subscribe to data manager state changes to update the adapter\n this.#dataManagerService\n .getDataStateUpdates(this.#sourceId)\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((dataState) => {\n this.#currentDataState = dataState;\n this.#updateAdapterFromDataState(dataState);\n });\n // Subscribe to adapter changes (excluding those this controller originated)\n this.#adapterService\n .getFilterStateUpdates(this.#sourceId)\n .pipe(takeUntilDestroyed(this.#destroyRef))\n .subscribe((data) => {\n this.#updateDataManagerFromAdapter(data);\n });\n }\n /**\n * Updates the adapter's applied filters based on the data manager state.\n */\n #updateAdapterFromDataState(dataState) {\n if (dataState.filterData?.filters) {\n this.#adapterService.updateFilterState(dataState.filterData.filters, this.#sourceId);\n }\n }\n /**\n * Updates the data manager state based on adapter changes.\n */\n #updateDataManagerFromAdapter(filters) {\n const filterData = {\n filtersApplied: !!(filters?.appliedFilters && filters.appliedFilters.length > 0),\n filters,\n };\n this.#currentDataState.filterData = filterData;\n // Update the data manager state\n this.#dataManagerService.updateDataState(this.#currentDataState, this.#sourceId);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterControllerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerFilterControllerDirective, isStandalone: true, selector: \"[skyDataManagerFilterController]\", providers: [\n SkyDataManagerFilterStateService,\n {\n provide: SkyFilterStateService,\n useExisting: SkyDataManagerFilterStateService,\n },\n ], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerFilterControllerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[skyDataManagerFilterController]',\n providers: [\n SkyDataManagerFilterStateService,\n {\n provide: SkyFilterStateService,\n useExisting: SkyDataManagerFilterStateService,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250cm9sbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItZmlsdGVycy9kYXRhLW1hbmFnZXItZmlsdGVyLWNvbnRyb2xsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUV2Rjs7R0FFRztBQVdILE1BQU0sT0FBTyx1Q0FBdUM7SUFDbEQsaUJBQWlCLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxtQkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxlQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDaEQsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxTQUFTLEdBQUcsZ0NBQWdDLENBQUM7SUFFL0MsUUFBUTtRQUNiLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUMxQyxTQUFTLENBQUMsQ0FBQyxTQUE4QixFQUFFLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFTCw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLGVBQWU7YUFDakIscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFDLFNBQVMsQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBMkIsQ0FBQyxTQUE4QjtRQUN4RCxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FDcEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQzVCLElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw2QkFBNkIsQ0FBQyxPQUFtQztRQUMvRCxNQUFNLFVBQVUsR0FBRztZQUNqQixjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQ2hCLE9BQU8sRUFBRSxjQUFjLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUM3RDtZQUNELE9BQU87U0FDUixDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFL0MsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3RDLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO0lBQ0osQ0FBQzsrR0F4RFUsdUNBQXVDO21HQUF2Qyx1Q0FBdUMsK0VBUnZDO1lBQ1QsZ0NBQWdDO1lBQ2hDO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7YUFDOUM7U0FDRjs7NEZBRVUsdUNBQXVDO2tCQVZuRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRTt3QkFDVCxnQ0FBZ0M7d0JBQ2hDOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7eUJBQzlDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgU2t5RmlsdGVyU3RhdGUsIFNreUZpbHRlclN0YXRlU2VydmljZSB9IGZyb20gJ0Bza3l1eC9saXN0cyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcblxuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJGaWx0ZXJTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2RhdGEtbWFuYWdlci1maWx0ZXItc3RhdGUuc2VydmljZSc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgYXBwbGllZCB0byBhIGZpbHRlcmluZyBjb21wb25lbnQgdGhhdCBlbmFibGVzIGludGVncmF0aW9uIHdpdGggYSBkYXRhIG1hbmFnZXIuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lEYXRhTWFuYWdlckZpbHRlckNvbnRyb2xsZXJdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJGaWx0ZXJTdGF0ZVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogU2t5RmlsdGVyU3RhdGVTZXJ2aWNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNreURhdGFNYW5hZ2VyRmlsdGVyU3RhdGVTZXJ2aWNlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICNjdXJyZW50RGF0YVN0YXRlID0gbmV3IFNreURhdGFNYW5hZ2VyU3RhdGUoe30pO1xuICByZWFkb25seSAjZGF0YU1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNhZGFwdGVyU2VydmljZSA9IGluamVjdChTa3lGaWx0ZXJTdGF0ZVNlcnZpY2UpO1xuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI3NvdXJjZUlkID0gJ3NreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlcic7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFN1YnNjcmliZSB0byBkYXRhIG1hbmFnZXIgc3RhdGUgY2hhbmdlcyB0byB1cGRhdGUgdGhlIGFkYXB0ZXJcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI3NvdXJjZUlkKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgIHRoaXMuI3VwZGF0ZUFkYXB0ZXJGcm9tRGF0YVN0YXRlKGRhdGFTdGF0ZSk7XG4gICAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBhZGFwdGVyIGNoYW5nZXMgKGV4Y2x1ZGluZyB0aG9zZSB0aGlzIGNvbnRyb2xsZXIgb3JpZ2luYXRlZClcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZVxuICAgICAgLmdldEZpbHRlclN0YXRlVXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IFNreUZpbHRlclN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI3VwZGF0ZURhdGFNYW5hZ2VyRnJvbUFkYXB0ZXIoZGF0YSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBhZGFwdGVyJ3MgYXBwbGllZCBmaWx0ZXJzIGJhc2VkIG9uIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUuXG4gICAqL1xuICAjdXBkYXRlQWRhcHRlckZyb21EYXRhU3RhdGUoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKTogdm9pZCB7XG4gICAgaWYgKGRhdGFTdGF0ZS5maWx0ZXJEYXRhPy5maWx0ZXJzKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS51cGRhdGVGaWx0ZXJTdGF0ZShcbiAgICAgICAgZGF0YVN0YXRlLmZpbHRlckRhdGEuZmlsdGVycyxcbiAgICAgICAgdGhpcy4jc291cmNlSWQsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGUgYmFzZWQgb24gYWRhcHRlciBjaGFuZ2VzLlxuICAgKi9cbiAgI3VwZGF0ZURhdGFNYW5hZ2VyRnJvbUFkYXB0ZXIoZmlsdGVyczogU2t5RmlsdGVyU3RhdGUgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWx0ZXJEYXRhID0ge1xuICAgICAgZmlsdGVyc0FwcGxpZWQ6ICEhKFxuICAgICAgICBmaWx0ZXJzPy5hcHBsaWVkRmlsdGVycyAmJiBmaWx0ZXJzLmFwcGxpZWRGaWx0ZXJzLmxlbmd0aCA+IDBcbiAgICAgICksXG4gICAgICBmaWx0ZXJzLFxuICAgIH07XG5cbiAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmZpbHRlckRhdGEgPSBmaWx0ZXJEYXRhO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBkYXRhIG1hbmFnZXIgc3RhdGVcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZSxcbiAgICAgIHRoaXMuI3NvdXJjZUlkLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\n/**\n * A wrapper for an item to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered after the standard toolbar actions and before the search box. Each item should be\n * wrapped in its own `sky-data-manager-toolbar-left-item`. The items render in the order they are in in the template.\n */\nexport class SkyDataManagerToolbarLeftItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarLeftItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarLeftItemComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-left-item\", ngImport: i0, template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i1.λ39, selector: \"sky-toolbar-item\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarLeftItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-left-item', imports: [SkyToolbarModule], template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1sZWZ0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLWxlZnQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sc0NBQXNDOytHQUF0QyxzQ0FBc0M7bUdBQXRDLHNDQUFzQyw4RkNibkQsNkRBR0EsMkNEUVksZ0JBQWdCOzs0RkFFZixzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0Usb0NBQW9DLFdBRXJDLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGFuIGl0ZW0gdG8gYmUgcmVuZGVyZWQgaW4gYFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudGAuIFRoZSBjb250ZW50cyBhcmVcbiAqIHJlbmRlcmVkIGFmdGVyIHRoZSBzdGFuZGFyZCB0b29sYmFyIGFjdGlvbnMgYW5kIGJlZm9yZSB0aGUgc2VhcmNoIGJveC4gRWFjaCBpdGVtIHNob3VsZCBiZVxuICogd3JhcHBlZCBpbiBpdHMgb3duIGBza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtYC4gVGhlIGl0ZW1zIHJlbmRlciBpbiB0aGUgb3JkZXIgdGhleSBhcmUgaW4gaW4gdGhlIHRlbXBsYXRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWFuYWdlci10b29sYmFyLWxlZnQtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtTa3lUb29sYmFyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyTGVmdEl0ZW1Db21wb25lbnQge31cbiIsIjxza3ktdG9vbGJhci1pdGVtPlxuICA8bmctY29udGVudCAvPlxuPC9za3ktdG9vbGJhci1pdGVtPlxuIl19","import { Component } from '@angular/core';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\n/**\n * A wrapper for an item to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered as the first items in the toolbar and should be standard actions. Each item should be\n * wrapped in its own `sky-data-manager-toolbar-primary-item`. The items render in the order they are in in the template.\n */\nexport class SkyDataManagerToolbarPrimaryItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarPrimaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarPrimaryItemComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-primary-item\", ngImport: i0, template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i1.λ39, selector: \"sky-toolbar-item\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarPrimaryItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-primary-item', imports: [SkyToolbarModule], template: \"<sky-toolbar-item>\\n <ng-content />\\n</sky-toolbar-item>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItcHJpbWFyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLXByaW1hcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8seUNBQXlDOytHQUF6Qyx5Q0FBeUM7bUdBQXpDLHlDQUF5QyxpR0NidEQsNkRBR0EsMkNEUVksZ0JBQWdCOzs0RkFFZix5Q0FBeUM7a0JBTHJELFNBQVM7K0JBQ0UsdUNBQXVDLFdBRXhDLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGFuIGl0ZW0gdG8gYmUgcmVuZGVyZWQgaW4gYFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudGAuIFRoZSBjb250ZW50cyBhcmVcbiAqIHJlbmRlcmVkIGFzIHRoZSBmaXJzdCBpdGVtcyBpbiB0aGUgdG9vbGJhciBhbmQgc2hvdWxkIGJlIHN0YW5kYXJkIGFjdGlvbnMuIEVhY2ggaXRlbSBzaG91bGQgYmVcbiAqIHdyYXBwZWQgaW4gaXRzIG93biBgc2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXByaW1hcnktaXRlbWAuIFRoZSBpdGVtcyByZW5kZXIgaW4gdGhlIG9yZGVyIHRoZXkgYXJlIGluIGluIHRoZSB0ZW1wbGF0ZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXByaW1hcnktaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbU2t5VG9vbGJhck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50IHt9XG4iLCI8c2t5LXRvb2xiYXItaXRlbT5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvc2t5LXRvb2xiYXItaXRlbT5cbiJdfQ==","import { Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * A wrapper for an item to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered in `sky-toolbar-view-actions` on the right side of the toolbar and before the view\n * switcher icons (if present). Each item should be wrapped in its own\n * `sky-data-manager-toolbar-right-item`. The items render in the order they are in in the template.\n */\nexport class SkyDataManagerToolbarRightItemComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarRightItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarRightItemComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-right-item\", ngImport: i0, template: \"<ng-content />\\n\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarRightItemComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-right-item', template: \"<ng-content />\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxQzs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyx1Q0FBdUM7K0dBQXZDLHVDQUF1QzttR0FBdkMsdUNBQXVDLCtGQ1pwRCxrQkFDQTs7NEZEV2EsdUNBQXVDO2tCQUpuRCxTQUFTOytCQUNFLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEEgd3JhcHBlciBmb3IgYW4gaXRlbSB0byBiZSByZW5kZXJlZCBpbiBgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50YC4gVGhlIGNvbnRlbnRzIGFyZVxuICogcmVuZGVyZWQgaW4gYHNreS10b29sYmFyLXZpZXctYWN0aW9uc2Agb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHRvb2xiYXIgYW5kIGJlZm9yZSB0aGUgdmlld1xuICogc3dpdGNoZXIgaWNvbnMgKGlmIHByZXNlbnQpLiBFYWNoIGl0ZW0gc2hvdWxkIGJlIHdyYXBwZWQgaW4gaXRzIG93blxuICogYHNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1yaWdodC1pdGVtYC4gVGhlIGl0ZW1zIHJlbmRlciBpbiB0aGUgb3JkZXIgdGhleSBhcmUgaW4gaW4gdGhlIHRlbXBsYXRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci1yaWdodC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtQ29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudCAvPlxuIl19","import { Component } from '@angular/core';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/layout\";\n/**\n * A wrapper for items to be rendered in `SkyDataManagerToolbarComponent`. The contents are\n * rendered in an additional toolbar row beneath the primary toolbar and above the multiselect\n * toolbar (if present).\n */\nexport class SkyDataManagerToolbarSectionComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.15\", type: SkyDataManagerToolbarSectionComponent, isStandalone: true, selector: \"sky-data-manager-toolbar-section\", ngImport: i0, template: \"<sky-toolbar-section>\\n <ng-content />\\n</sky-toolbar-section>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i1.λ38, selector: \"sky-toolbar-section\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerToolbarSectionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-data-manager-toolbar-section', imports: [SkyToolbarModule], template: \"<sky-toolbar-section>\\n <ng-content />\\n</sky-toolbar-section>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyL3NyYy9saWIvbW9kdWxlcy9kYXRhLW1hbmFnZXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWpEOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8scUNBQXFDOytHQUFyQyxxQ0FBcUM7bUdBQXJDLHFDQUFxQyw0RkNibEQsbUVBR0EsMkNEUVksZ0JBQWdCOzs0RkFFZixxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0Usa0NBQWtDLFdBRW5DLENBQUMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRvb2xiYXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGF5b3V0JztcblxuLyoqXG4gKiBBIHdyYXBwZXIgZm9yIGl0ZW1zIHRvIGJlIHJlbmRlcmVkIGluIGBTa3lEYXRhTWFuYWdlclRvb2xiYXJDb21wb25lbnRgLiBUaGUgY29udGVudHMgYXJlXG4gKiByZW5kZXJlZCBpbiBhbiBhZGRpdGlvbmFsIHRvb2xiYXIgcm93IGJlbmVhdGggdGhlIHByaW1hcnkgdG9vbGJhciBhbmQgYWJvdmUgdGhlIG11bHRpc2VsZWN0XG4gKiB0b29sYmFyIChpZiBwcmVzZW50KS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtTa3lUb29sYmFyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyU2VjdGlvbkNvbXBvbmVudCB7fVxuIiwiPHNreS10b29sYmFyLXNlY3Rpb24+XG4gIDxuZy1jb250ZW50IC8+XG48L3NreS10b29sYmFyLXNlY3Rpb24+XG4iXX0=","import { NgModule } from '@angular/core';\nimport { SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS } from './data-manager-column-picker/data-manager-column-picker-providers';\nimport { SkyDataManagerFilterControllerDirective } from './data-manager-filters/data-manager-filter-controller.directive';\nimport { SkyDataManagerToolbarLeftItemComponent } from './data-manager-toolbar/data-manager-toolbar-left-item.component';\nimport { SkyDataManagerToolbarPrimaryItemComponent } from './data-manager-toolbar/data-manager-toolbar-primary-item.component';\nimport { SkyDataManagerToolbarRightItemComponent } from './data-manager-toolbar/data-manager-toolbar-right-item.component';\nimport { SkyDataManagerToolbarSectionComponent } from './data-manager-toolbar/data-manager-toolbar-section.component';\nimport { SkyDataManagerToolbarComponent } from './data-manager-toolbar/data-manager-toolbar.component';\nimport { SkyDataManagerComponent } from './data-manager.component';\nimport { SkyDataViewComponent } from './data-view.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyDataManagerModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, imports: [SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent], exports: [SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS], imports: [SkyDataManagerComponent,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarSectionComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.15\", ngImport: i0, type: SkyDataManagerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent,\n ],\n exports: [\n SkyDataManagerComponent,\n SkyDataManagerFilterControllerDirective,\n SkyDataManagerToolbarComponent,\n SkyDataManagerToolbarLeftItemComponent,\n SkyDataManagerToolbarPrimaryItemComponent,\n SkyDataManagerToolbarRightItemComponent,\n SkyDataManagerToolbarSectionComponent,\n SkyDataViewComponent,\n ],\n providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDN0gsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDMUgsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0gsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDM0gsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBeUI3RCxNQUFNLE9BQU8sb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixZQXJCN0IsdUJBQXVCO1lBQ3ZCLHVDQUF1QztZQUN2Qyw4QkFBOEI7WUFDOUIsc0NBQXNDO1lBQ3RDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMscUNBQXFDO1lBQ3JDLG9CQUFvQixhQUdwQix1QkFBdUI7WUFDdkIsdUNBQXVDO1lBQ3ZDLDhCQUE4QjtZQUM5QixzQ0FBc0M7WUFDdEMseUNBQXlDO1lBQ3pDLHVDQUF1QztZQUN2QyxxQ0FBcUM7WUFDckMsb0JBQW9CO2dIQUlYLG9CQUFvQixhQUZwQixDQUFDLHdDQUF3QyxDQUFDLFlBbkJuRCx1QkFBdUI7WUFFdkIsOEJBQThCO1lBQzlCLHNDQUFzQztZQUN0Qyx5Q0FBeUM7WUFFekMscUNBQXFDOzs0RkFlNUIsb0JBQW9CO2tCQXZCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qix1Q0FBdUM7d0JBQ3ZDLDhCQUE4Qjt3QkFDOUIsc0NBQXNDO3dCQUN0Qyx5Q0FBeUM7d0JBQ3pDLHVDQUF1Qzt3QkFDdkMscUNBQXFDO3dCQUNyQyxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHVDQUF1Qzt3QkFDdkMsOEJBQThCO3dCQUM5QixzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2QyxxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWZpbHRlcnMvZGF0YS1tYW5hZ2VyLWZpbHRlci1jb250cm9sbGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclRvb2xiYXJMZWZ0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclRvb2xiYXJQcmltYXJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcHJpbWFyeS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclRvb2xiYXJSaWdodEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLXJpZ2h0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLXZpZXcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFNreURhdGFNYW5hZ2VyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyRmlsdGVyQ29udHJvbGxlckRpcmVjdGl2ZSxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyTGVmdEl0ZW1Db21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyUHJpbWFyeUl0ZW1Db21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnQsXG4gICAgU2t5RGF0YVZpZXdDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lEYXRhTWFuYWdlckNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlckZpbHRlckNvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtTS1lfREFUQV9NQU5BR0VSX0NPTFVNTl9QSUNLRVJfUFJPVklERVJTXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtZGF0YS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvc2t5dXgtZGF0YS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i4","i2","i3"],"mappings":"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"}