@ngrdt/table 0.0.85 → 0.0.89

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":"ngrdt-table.mjs","sources":["../tmp-esm2022/lib/models/state/rdt-table-message.js","../tmp-esm2022/lib/table/rdt-table/rdt-table.constants.js","../tmp-esm2022/lib/models/state/rdt-table-state.js","../tmp-esm2022/lib/models/state/rdt-table-store.js","../tmp-esm2022/lib/table/rdt-table/rdt-table.utilts.js","../tmp-esm2022/lib/models/columns/rdt-base-column-builder.js","../tmp-esm2022/lib/renderers/rdt-base-cell-renderer.component.js","../tmp-esm2022/lib/renderers/rdt-static-cell-renderer/rdt-static-cell-renderer.component.js","../tmp-esm2022/lib/models/columns/rdt-static-column-builder.js","../tmp-esm2022/lib/models/datasource/rdt-table-datasource.js","../tmp-esm2022/lib/table/rdt-table-paginator/rdt-table-paginator.component.js","../tmp-esm2022/lib/renderers/rdt-header-cell-renderer/rdt-header-cell-renderer.component.js","../tmp-esm2022/lib/table/rdt-table/rdt-table.component.js","../tmp-esm2022/lib/directives/rdt-table-no-state.directive.js","../tmp-esm2022/lib/models/datasource/rdt-table-offline-datasource.js","../tmp-esm2022/lib/directives/rdt-table-offline-datasouce.directive.js","../tmp-esm2022/lib/directives/rdt-table-state.directive.js","../tmp-esm2022/lib/table/rdt-table.module.js","../tmp-esm2022/ngrdt-table.js"],"sourcesContent":["export function isRdtTableMessage(obj) {\n return (obj && typeof obj.header === 'string' && typeof obj.message === 'string');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9tb2RlbHMvc3RhdGUvcmR0LXRhYmxlLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxDQUNMLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQ3pFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZHRUYWJsZU1lc3NhZ2Uge1xuICBoZWFkZXI6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZHRUYWJsZU1lc3NhZ2Uob2JqOiBhbnkpOiBvYmogaXMgUmR0VGFibGVNZXNzYWdlIHtcbiAgcmV0dXJuIChcbiAgICBvYmogJiYgdHlwZW9mIG9iai5oZWFkZXIgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBvYmoubWVzc2FnZSA9PT0gJ3N0cmluZydcbiAgKTtcbn1cbiJdfQ==","export const RDT_TABLE_PAGE_SIZE_OPTIONS = [20, 50, 100];\nexport const RDT_TABLE_DEFAULT_PAGE_SIZE = RDT_TABLE_PAGE_SIZE_OPTIONS[0];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBSRFRfVEFCTEVfUEFHRV9TSVpFX09QVElPTlMgPSBbMjAsIDUwLCAxMDBdO1xuZXhwb3J0IGNvbnN0IFJEVF9UQUJMRV9ERUZBVUxUX1BBR0VfU0laRSA9IFJEVF9UQUJMRV9QQUdFX1NJWkVfT1BUSU9OU1swXTtcbiJdfQ==","import { RDT_TABLE_DEFAULT_PAGE_SIZE, RDT_TABLE_PAGE_SIZE_OPTIONS, } from '../../table/rdt-table/rdt-table.constants';\nexport const rdtTableInitialState = {\n ready: false,\n pageIndex: 0,\n pageSize: RDT_TABLE_DEFAULT_PAGE_SIZE,\n pageSizeOptions: RDT_TABLE_PAGE_SIZE_OPTIONS,\n totalCount: 0,\n selectedIds: {},\n loading: true,\n totalCountKnown: true,\n displayedColumns: [],\n datasource: null,\n headerFilters: [],\n staticFilters: [],\n extendedFilter: null,\n sort: null,\n selectId: (item) => ('id' in item ? item.id : JSON.stringify(item)),\n _fetchWhenDatasourceSet: false,\n fetchError: null,\n _fetchSubscription: null,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvbW9kZWxzL3N0YXRlL3JkdC10YWJsZS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM1QixNQUFNLDJDQUEyQyxDQUFDO0FBOEJuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBdUI7SUFDdEQsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSwyQkFBMkI7SUFDckMsZUFBZSxFQUFFLDJCQUEyQjtJQUM1QyxVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRUFBRSxFQUFFO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsSUFBSTtJQUNyQixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLElBQUksRUFBRSxJQUFJO0lBQ1YsUUFBUSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsdUJBQXVCLEVBQUUsS0FBSztJQUM5QixVQUFVLEVBQUUsSUFBSTtJQUNoQixrQkFBa0IsRUFBRSxJQUFJO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgUkRUX1RBQkxFX0RFRkFVTFRfUEFHRV9TSVpFLFxuICBSRFRfVEFCTEVfUEFHRV9TSVpFX09QVElPTlMsXG59IGZyb20gJy4uLy4uL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUuY29uc3RhbnRzJztcbmltcG9ydCB7IFJkdFRhYmxlRGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHtcbiAgUmR0VGFibGVGaWx0ZXIsXG4gIFJkdFRhYmxlRmlsdGVyUmVjLFxuICBSZHRUYWJsZVNvcnQsXG59IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLXJlcXVlc3QtcGFyYW1zJztcbmltcG9ydCB7IFJkdFRhYmxlTWVzc2FnZSB9IGZyb20gJy4vcmR0LXRhYmxlLW1lc3NhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdFRhYmxlU3RhdGU8VCwgVEZpbHRlciA9IFQ+IHtcbiAgcmVhZHk6IGJvb2xlYW47XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkSWRzOiBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyLCBib29sZWFuPjtcbiAgc29ydDogUmR0VGFibGVTb3J0PFQ+IHwgbnVsbDtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgdG90YWxDb3VudEtub3duOiBib29sZWFuO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcbiAgZGF0YXNvdXJjZTogUmR0VGFibGVEYXRhc291cmNlPFQsIFRGaWx0ZXI+IHwgbnVsbDtcbiAgaGVhZGVyRmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXTtcbiAgc3RhdGljRmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXTtcbiAgZXh0ZW5kZWRGaWx0ZXI6IFJkdFRhYmxlRmlsdGVyUmVjPFRGaWx0ZXI+IHwgbnVsbDtcbiAgX2ZldGNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuICBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldDogYm9vbGVhbjtcbiAgZmV0Y2hFcnJvcjogUmR0VGFibGVNZXNzYWdlIHwgbnVsbDtcbiAgc2VsZWN0SWQ6IChpdGVtOiBUKSA9PiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCByZHRUYWJsZUluaXRpYWxTdGF0ZTogUmR0VGFibGVTdGF0ZTxhbnk+ID0ge1xuICByZWFkeTogZmFsc2UsXG4gIHBhZ2VJbmRleDogMCxcbiAgcGFnZVNpemU6IFJEVF9UQUJMRV9ERUZBVUxUX1BBR0VfU0laRSxcbiAgcGFnZVNpemVPcHRpb25zOiBSRFRfVEFCTEVfUEFHRV9TSVpFX09QVElPTlMsXG4gIHRvdGFsQ291bnQ6IDAsXG4gIHNlbGVjdGVkSWRzOiB7fSxcbiAgbG9hZGluZzogdHJ1ZSxcbiAgdG90YWxDb3VudEtub3duOiB0cnVlLFxuICBkaXNwbGF5ZWRDb2x1bW5zOiBbXSxcbiAgZGF0YXNvdXJjZTogbnVsbCxcbiAgaGVhZGVyRmlsdGVyczogW10sXG4gIHN0YXRpY0ZpbHRlcnM6IFtdLFxuICBleHRlbmRlZEZpbHRlcjogbnVsbCxcbiAgc29ydDogbnVsbCxcbiAgc2VsZWN0SWQ6IChpdGVtOiBhbnkpID0+ICgnaWQnIGluIGl0ZW0gPyBpdGVtLmlkIDogSlNPTi5zdHJpbmdpZnkoaXRlbSkpLFxuICBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldDogZmFsc2UsXG4gIGZldGNoRXJyb3I6IG51bGwsXG4gIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbn07XG4iXX0=","import { computed, untracked } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState, } from '@ngrx/signals';\nimport { setAllEntities, withEntities } from '@ngrx/signals/entities';\nimport { isRdtTableMessage } from './rdt-table-message';\nimport { rdtTableInitialState } from './rdt-table-state';\nfunction getRdtTableStore(initialState = rdtTableInitialState) {\n return signalStore(withState(initialState), withEntities(), withHooks({\n onDestroy(store) {\n store._fetchSubscription?.()?.unsubscribe();\n },\n }), withComputed((state) => ({\n allFilters: computed(() => [\n ...state.headerFilters(),\n ...state.staticFilters(),\n state.extendedFilter(),\n ]),\n pageCount: computed(() => {\n const totalCount = state.totalCount();\n const pageSize = state.pageSize();\n return totalCount ? Math.ceil(totalCount / pageSize) : 0;\n }),\n selectedItems: computed(() => {\n const selection = state.selectedIds();\n const selectId = state.selectId();\n if (!selection || !Object.keys(selection).length) {\n return [];\n }\n return state.entities().filter((item) => selection[selectId(item)]);\n }),\n selectedAll: computed(() => {\n const selection = state.selectedIds();\n const items = state.entities();\n if (!selection || !Object.keys(selection).length) {\n return false;\n }\n return (items.length > 0 && items.length === Object.keys(selection).length);\n }),\n requestParams: computed(() => ({\n filters: [...state.headerFilters(), ...state.staticFilters()],\n extendedFilter: state.extendedFilter() ?? null,\n sort: state.sort?.() ?? null,\n pageIndex: state.pageIndex(),\n pageSize: state.pageSize(),\n })),\n firstRowIndex: computed(() => {\n const pageIndex = state.pageIndex();\n const pageSize = state.pageSize();\n return pageIndex * pageSize;\n }),\n lastRowIndex: computed(() => {\n const startIndex = state.pageIndex() * state.pageSize();\n const pageSize = state.pageSize();\n return Math.min(startIndex + pageSize, state.totalCount()) - 1;\n }),\n })), withMethods((store) => ({\n fetch() {\n const datasource = untracked(store.datasource);\n if (!datasource) {\n patchState(store, { _fetchWhenDatasourceSet: true });\n return;\n }\n untracked(store._fetchSubscription)?.unsubscribe();\n const requestParams = untracked(store.requestParams);\n const observer = this._getFetchObserver(requestParams);\n patchState(store, { loading: true });\n const sub = datasource.getData(requestParams).subscribe(observer);\n patchState(store, { _fetchSubscription: sub });\n },\n _getFetchObserver(requestParams) {\n return {\n next: (page) => this._onFetchSuccess(page, requestParams),\n error: (error) => this._onFetchError(error),\n complete: () => this._onFetchComplete(),\n };\n },\n _onFetchSuccess(page, requestParams) {\n const selectId = untracked(store.selectId);\n patchState(store, {\n totalCount: page.totalCount ??\n Math.max(untracked(store.totalCount), page.pageIndex * requestParams.pageSize + page.data.length),\n pageIndex: page.pageIndex,\n totalCountKnown: page.totalCount !== null ||\n page.data.length < requestParams.pageSize,\n loading: false,\n _fetchSubscription: null,\n fetchError: null,\n });\n patchState(store, setAllEntities(page.data, { selectId: selectId }));\n },\n _onFetchError(error) {\n const selectId = untracked(store.selectId);\n patchState(store, {\n loading: false,\n fetchError: getRdtTableError(error),\n totalCount: 0,\n totalCountKnown: true,\n pageIndex: 0,\n _fetchSubscription: null,\n });\n patchState(store, setAllEntities([], { selectId: selectId }));\n },\n _onFetchComplete() {\n patchState(store, {\n _fetchSubscription: null,\n loading: false,\n });\n },\n setPagination(pageSize, pageIndex) {\n patchState(store, { pageSize, pageIndex });\n this.unselectAll();\n },\n setSort(sort) {\n patchState(store, {\n sort,\n });\n this.unselectAll();\n },\n setHeaderFilters(filters) {\n patchState(store, {\n headerFilters: filters,\n });\n this.resetTotalCountKnown();\n this.unselectAll();\n },\n setStaticFilters(filters) {\n patchState(store, {\n staticFilters: filters,\n });\n this.unselectAll();\n this.resetTotalCountKnown();\n },\n setExtendedFilter(filters) {\n patchState(store, {\n extendedFilter: filters,\n });\n this.unselectAll();\n this.resetTotalCountKnown();\n },\n setReady() {\n const _fetchWhenDatasourceSet = untracked(store._fetchWhenDatasourceSet);\n if (untracked(store.datasource) && _fetchWhenDatasourceSet) {\n patchState(store, { ready: true, _fetchWhenDatasourceSet: false });\n this.fetch();\n }\n else {\n patchState(store, { ready: true });\n }\n },\n setDatasource(datasource) {\n untracked(store._fetchSubscription)?.unsubscribe();\n const _fetchWhenDatasourceSet = untracked(store._fetchWhenDatasourceSet);\n patchState(store, {\n datasource,\n _fetchSubscription: null,\n fetchError: null,\n totalCountKnown: datasource.totalCountKnown,\n });\n if (untracked(store.ready) && _fetchWhenDatasourceSet) {\n patchState(store, { _fetchWhenDatasourceSet: false });\n this.fetch();\n }\n },\n selectAll() {\n const items = untracked(store.entities);\n const selectedIds = {};\n items.forEach((item) => {\n selectedIds[untracked(store.selectId)(item)] = true;\n });\n patchState(store, { selectedIds });\n },\n unselectAll() {\n patchState(store, {\n selectedIds: {},\n });\n },\n toggleSelectAll() {\n if (untracked(store.selectedAll)) {\n this.unselectAll();\n }\n else {\n this.selectAll();\n }\n },\n resetTotalCountKnown() {\n patchState(store, {\n totalCountKnown: untracked(store.datasource)?.totalCountKnown ?? true,\n });\n },\n toggleSelectItem(item) {\n const selectId = untracked(store.selectId);\n const oldIds = untracked(store.selectedIds);\n const id = selectId(item);\n const selectedIds = { ...oldIds, [id]: !oldIds[id] };\n patchState(store, { selectedIds });\n },\n toggleSelectSingleItem(item) {\n const selectId = untracked(store.selectId);\n const oldIds = untracked(store.selectedIds);\n const id = selectId(item);\n if (oldIds[id]) {\n patchState(store, { selectedIds: {} });\n }\n else {\n patchState(store, { selectedIds: { [id]: true } });\n }\n },\n cancelFetch() {\n untracked(store._fetchSubscription)?.unsubscribe();\n patchState(store, {\n _fetchSubscription: null,\n loading: false,\n fetchError: null,\n });\n },\n isSelected(item) {\n const selectId = untracked(store.selectId);\n return !!untracked(store.selectedIds)[selectId(item)];\n },\n getSortDirection(column) {\n const currentSort = store.sort();\n if (currentSort?.key === column.sortKey) {\n return currentSort.direction;\n }\n return null;\n },\n resetHeaderFilters() {\n this.setHeaderFilters([]);\n },\n toggleSort(column) {\n const currentSort = untracked(store.sort);\n const sortKey = column.sortKey ?? column.key;\n let direction = 'asc';\n if (currentSort?.key === sortKey) {\n switch (currentSort.direction) {\n case 'asc':\n direction = 'desc';\n break;\n case 'desc':\n this.setSort(null);\n this.fetch();\n return;\n }\n }\n else {\n direction = 'asc';\n }\n const sort = {\n key: column.key,\n direction,\n type: column.cellRendererParams?.dataType ?? 'string',\n };\n this.setSort(sort);\n this.fetch();\n },\n setDisplayedColumns(displayedColumns) {\n patchState(store, { displayedColumns });\n },\n })));\n}\nexport const RdtTableStore = getRdtTableStore();\nfunction getRdtTableError(error) {\n if (isRdtTableMessage(error)) {\n return error;\n }\n if (typeof error === 'string') {\n return { message: error, header: 'RDT_TABLE_ERROR_HEADER' };\n }\n if (error && typeof error === 'object' && 'message' in error) {\n return { message: error.message, header: 'RDT_TABLE_ERROR_HEADER' };\n }\n return {\n header: 'RDT_TABLE_ERROR_HEADER',\n message: 'RDT_TABLE_ERROR_MESSAGE',\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvbW9kZWxzL3N0YXRlL3JkdC10YWJsZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVd0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBRXhFLFNBQVMsZ0JBQWdCLENBQ3ZCLGVBQWUsb0JBQWlEO0lBRWhFLE9BQU8sV0FBVyxDQUNoQixTQUFTLENBQUMsWUFBWSxDQUFDLEVBQ3ZCLFlBQVksRUFBSyxFQUNqQixTQUFTLENBQUM7UUFDUixTQUFTLENBQUMsS0FBSztZQUNiLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDOUMsQ0FBQztLQUNGLENBQUMsRUFDRixZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDeEIsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUU7U0FDdkIsQ0FBQztRQUNGLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sVUFBVSxHQUFHLEtB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LEtBQVU7SUFDbEMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUNELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFLENBQUM7UUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFDRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxPQUFPLEVBQUUseUJBQXlCO0tBQ25DLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgcGF0Y2hTdGF0ZSxcbiAgc2lnbmFsU3RvcmUsXG4gIHdpdGhDb21wdXRlZCxcbiAgd2l0aEhvb2tzLFxuICB3aXRoTWV0aG9kcyxcbiAgd2l0aFN0YXRlLFxufSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IHNldEFsbEVudGl0aWVzLCB3aXRoRW50aXRpZXMgfSBmcm9tICdAbmdyeC9zaWduYWxzL2VudGl0aWVzJztcbmltcG9ydCB7IE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRDb2xEZWYgfSBmcm9tICcuLi9jb2x1bW5zL3JkdC1jb2wtZGVmJztcbmltcG9ydCB7IFJkdFRhYmxlRGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9yZHQtdGFibGUtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRUYWJsZUZpbHRlcixcbiAgUmR0VGFibGVGaWx0ZXJSZWMsXG4gIFJkdFRhYmxlUmVxdWVzdFBhcmFtcyxcbiAgUmR0VGFibGVTb3J0LFxufSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC10YWJsZS1yZXF1ZXN0LXBhcmFtcyc7XG5pbXBvcnQgeyBpc1JkdFRhYmxlTWVzc2FnZSwgUmR0VGFibGVNZXNzYWdlIH0gZnJvbSAnLi9yZHQtdGFibGUtbWVzc2FnZSc7XG5pbXBvcnQgeyByZHRUYWJsZUluaXRpYWxTdGF0ZSwgUmR0VGFibGVTdGF0ZSB9IGZyb20gJy4vcmR0LXRhYmxlLXN0YXRlJztcblxuZnVuY3Rpb24gZ2V0UmR0VGFibGVTdG9yZTxUIGV4dGVuZHMgb2JqZWN0LCBURmlsdGVyID0gVD4oXG4gIGluaXRpYWxTdGF0ZSA9IHJkdFRhYmxlSW5pdGlhbFN0YXRlIGFzIFJkdFRhYmxlU3RhdGU8VCwgVEZpbHRlcj5cbikge1xuICByZXR1cm4gc2lnbmFsU3RvcmUoXG4gICAgd2l0aFN0YXRlKGluaXRpYWxTdGF0ZSksXG4gICAgd2l0aEVudGl0aWVzPFQ+KCksXG4gICAgd2l0aEhvb2tzKHtcbiAgICAgIG9uRGVzdHJveShzdG9yZSkge1xuICAgICAgICBzdG9yZS5fZmV0Y2hTdWJzY3JpcHRpb24/LigpPy51bnN1YnNjcmliZSgpO1xuICAgICAgfSxcbiAgICB9KSxcbiAgICB3aXRoQ29tcHV0ZWQoKHN0YXRlKSA9PiAoe1xuICAgICAgYWxsRmlsdGVyczogY29tcHV0ZWQoKCkgPT4gW1xuICAgICAgICAuLi5zdGF0ZS5oZWFkZXJGaWx0ZXJzKCksXG4gICAgICAgIC4uLnN0YXRlLnN0YXRpY0ZpbHRlcnMoKSxcbiAgICAgICAgc3RhdGUuZXh0ZW5kZWRGaWx0ZXIoKSxcbiAgICAgIF0pLFxuICAgICAgcGFnZUNvdW50OiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvdGFsQ291bnQgPSBzdGF0ZS50b3RhbENvdW50KCk7XG4gICAgICAgIGNvbnN0IHBhZ2VTaXplID0gc3RhdGUucGFnZVNpemUoKTtcbiAgICAgICAgcmV0dXJuIHRvdGFsQ291bnQgPyBNYXRoLmNlaWwodG90YWxDb3VudCAvIHBhZ2VTaXplKSA6IDA7XG4gICAgICB9KSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0SWQgPSBzdGF0ZS5zZWxlY3RJZCgpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbiB8fCAhT2JqZWN0LmtleXMoc2VsZWN0aW9uKS5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXRlLmVudGl0aWVzKCkuZmlsdGVyKChpdGVtKSA9PiBzZWxlY3Rpb25bc2VsZWN0SWQoaXRlbSldKTtcbiAgICAgIH0pLFxuICAgICAgc2VsZWN0ZWRBbGw6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBzdGF0ZS5lbnRpdGllcygpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbiB8fCAhT2JqZWN0LmtleXMoc2VsZWN0aW9uKS5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPiAwICYmIGl0ZW1zLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMoc2VsZWN0aW9uKS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgcmVxdWVzdFBhcmFtczogY29tcHV0ZWQ8UmR0VGFibGVSZXF1ZXN0UGFyYW1zPFQsIFRGaWx0ZXI+PigoKSA9PiAoe1xuICAgICAgICBmaWx0ZXJzOiBbLi4uc3RhdGUuaGVhZGVyRmlsdGVycygpLCAuLi5zdGF0ZS5zdGF0aWNGaWx0ZXJzKCldLFxuICAgICAgICBleHRlbmRlZEZpbHRlcjogc3RhdGUuZXh0ZW5kZWRGaWx0ZXIoKSA/PyBudWxsLFxuICAgICAgICBzb3J0OiBzdGF0ZS5zb3J0Py4oKSA/PyBudWxsLFxuICAgICAgICBwYWdlSW5kZXg6IHN0YXRlLnBhZ2VJbmRleCgpLFxuICAgICAgICBwYWdlU2l6ZTogc3RhdGUucGFnZVNpemUoKSxcbiAgICAgIH0pKSxcbiAgICAgIGZpcnN0Um93SW5kZXg6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFnZUluZGV4ID0gc3RhdGUucGFnZUluZGV4KCk7XG4gICAgICAgIGNvbnN0IHBhZ2VTaXplID0gc3RhdGUucGFnZVNpemUoKTtcbiAgICAgICAgcmV0dXJuIHBhZ2VJbmRleCAqIHBhZ2VTaXplO1xuICAgICAgfSksXG4gICAgICBsYXN0Um93SW5kZXg6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHN0YXRlLnBhZ2VJbmRleCgpICogc3RhdGUucGFnZVNpemUoKTtcbiAgICAgICAgY29uc3QgcGFnZVNpemUgPSBzdGF0ZS5wYWdlU2l6ZSgpO1xuICAgICAgICByZXR1cm4gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplLCBzdGF0ZS50b3RhbENvdW50KCkpIC0gMTtcbiAgICAgIH0pLFxuICAgIH0pKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICBmZXRjaCgpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgaWYgKCFkYXRhc291cmNlKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldDogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW50cmFja2VkKHN0b3JlLl9mZXRjaFN1YnNjcmlwdGlvbik/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB1bnRyYWNrZWQoc3RvcmUucmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gdGhpcy5fZ2V0RmV0Y2hPYnNlcnZlcihyZXF1ZXN0UGFyYW1zKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBsb2FkaW5nOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBzdWIgPSBkYXRhc291cmNlLmdldERhdGEocmVxdWVzdFBhcmFtcykuc3Vic2NyaWJlKG9ic2VydmVyKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfZmV0Y2hTdWJzY3JpcHRpb246IHN1YiB9KTtcbiAgICAgIH0sXG4gICAgICBfZ2V0RmV0Y2hPYnNlcnZlcihcbiAgICAgICAgcmVxdWVzdFBhcmFtczogUmR0VGFibGVSZXF1ZXN0UGFyYW1zPFQsIFRGaWx0ZXI+XG4gICAgICApOiBPYnNlcnZlcjxSZHRUYWJsZVBhZ2U8VD4+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuZXh0OiAocGFnZSkgPT4gdGhpcy5fb25GZXRjaFN1Y2Nlc3MocGFnZSwgcmVxdWVzdFBhcmFtcyksXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5fb25GZXRjaEVycm9yKGVycm9yKSxcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5fb25GZXRjaENvbXBsZXRlKCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgX29uRmV0Y2hTdWNjZXNzKFxuICAgICAgICBwYWdlOiBSZHRUYWJsZVBhZ2U8VD4sXG4gICAgICAgIHJlcXVlc3RQYXJhbXM6IFJkdFRhYmxlUmVxdWVzdFBhcmFtczxULCBURmlsdGVyPlxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdElkID0gdW50cmFja2VkKHN0b3JlLnNlbGVjdElkKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHRvdGFsQ291bnQ6XG4gICAgICAgICAgICBwYWdlLnRvdGFsQ291bnQgPz9cbiAgICAgICAgICAgIE1hdGgubWF4KFxuICAgICAgICAgICAgICB1bnRyYWNrZWQoc3RvcmUudG90YWxDb3VudCksXG4gICAgICAgICAgICAgIHBhZ2UucGFnZUluZGV4ICogcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSArIHBhZ2UuZGF0YS5sZW5ndGhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgcGFnZUluZGV4OiBwYWdlLnBhZ2VJbmRleCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246XG4gICAgICAgICAgICBwYWdlLnRvdGFsQ291bnQgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHBhZ2UuZGF0YS5sZW5ndGggPCByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplLFxuICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgICBmZXRjaEVycm9yOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgc2V0QWxsRW50aXRpZXMocGFnZS5kYXRhLCB7IHNlbGVjdElkOiBzZWxlY3RJZCB9KSk7XG4gICAgICB9LFxuICAgICAgX29uRmV0Y2hFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdElkID0gdW50cmFja2VkKHN0b3JlLnNlbGVjdElkKTtcblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgZmV0Y2hFcnJvcjogZ2V0UmR0VGFibGVFcnJvcihlcnJvciksXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IHRydWUsXG4gICAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICAgIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHNldEFsbEVudGl0aWVzKFtdIGFzIFRbXSwgeyBzZWxlY3RJZDogc2VsZWN0SWQgfSkpO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoQ29tcGxldGUoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hTdWJzY3JpcHRpb246IG51bGwsXG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHNldFBhZ2luYXRpb24ocGFnZVNpemU6IG51bWJlciwgcGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBwYWdlU2l6ZSwgcGFnZUluZGV4IH0pO1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgICB9LFxuICAgICAgc2V0U29ydChzb3J0OiBSZHRUYWJsZVNvcnQ8VD4gfCBudWxsKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzb3J0LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgICAgfSxcbiAgICAgIHNldEhlYWRlckZpbHRlcnMoZmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgaGVhZGVyRmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVzZXRUb3RhbENvdW50S25vd24oKTtcbiAgICAgICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgICAgfSxcbiAgICAgIHNldFN0YXRpY0ZpbHRlcnMoZmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdGljRmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudW5zZWxlY3RBbGwoKTtcbiAgICAgICAgdGhpcy5yZXNldFRvdGFsQ291bnRLbm93bigpO1xuICAgICAgfSxcbiAgICAgIHNldEV4dGVuZGVkRmlsdGVyKGZpbHRlcnM6IFJkdFRhYmxlRmlsdGVyUmVjPFRGaWx0ZXI+IHwgbnVsbCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZXh0ZW5kZWRGaWx0ZXI6IGZpbHRlcnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgICAgIHRoaXMucmVzZXRUb3RhbENvdW50S25vd24oKTtcbiAgICAgIH0sXG4gICAgICBzZXRSZWFkeSgpIHtcbiAgICAgICAgY29uc3QgX2ZldGNoV2hlbkRhdGFzb3VyY2VTZXQgPSB1bnRyYWNrZWQoXG4gICAgICAgICAgc3RvcmUuX2ZldGNoV2hlbkRhdGFzb3VyY2VTZXRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKSAmJiBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldCkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgcmVhZHk6IHRydWUsIF9mZXRjaFdoZW5EYXRhc291cmNlU2V0OiBmYWxzZSB9KTtcbiAgICAgICAgICB0aGlzLmZldGNoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyByZWFkeTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNldERhdGFzb3VyY2UoZGF0YXNvdXJjZTogUmR0VGFibGVEYXRhc291cmNlPFQsIFRGaWx0ZXI+KSB7XG4gICAgICAgIHVudHJhY2tlZChzdG9yZS5fZmV0Y2hTdWJzY3JpcHRpb24pPy51bnN1YnNjcmliZSgpO1xuICAgICAgICBjb25zdCBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldCA9IHVudHJhY2tlZChcbiAgICAgICAgICBzdG9yZS5fZmV0Y2hXaGVuRGF0YXNvdXJjZVNldFxuICAgICAgICApO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBkYXRhc291cmNlLFxuICAgICAgICAgIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgICBmZXRjaEVycm9yOiBudWxsLFxuICAgICAgICAgIHRvdGFsQ291bnRLbm93bjogZGF0YXNvdXJjZS50b3RhbENvdW50S25vd24sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodW50cmFja2VkKHN0b3JlLnJlYWR5KSAmJiBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldCkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgX2ZldGNoV2hlbkRhdGFzb3VyY2VTZXQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQoc3RvcmUuZW50aXRpZXMpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkczogUmVjb3JkPHN0cmluZyB8IG51bWJlciwgYm9vbGVhbj4gPSB7fTtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHNlbGVjdGVkSWRzW3VudHJhY2tlZChzdG9yZS5zZWxlY3RJZCkoaXRlbSldID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRJZHMgfSk7XG4gICAgICB9LFxuICAgICAgdW5zZWxlY3RBbGwoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzZWxlY3RlZElkczoge30sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZEFsbCkpIHtcbiAgICAgICAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHJlc2V0VG90YWxDb3VudEtub3duKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk/LnRvdGFsQ291bnRLbm93biA/PyB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGVTZWxlY3RJdGVtKGl0ZW06IFQpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0SWQgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0SWQpO1xuICAgICAgICBjb25zdCBvbGRJZHMgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRJZHMpO1xuICAgICAgICBjb25zdCBpZCA9IHNlbGVjdElkKGl0ZW0pO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHsgLi4ub2xkSWRzLCBbaWRdOiAhb2xkSWRzW2lkXSB9O1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkSWRzIH0pO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZVNlbGVjdFNpbmdsZUl0ZW0oaXRlbTogVCkge1xuICAgICAgICBjb25zdCBzZWxlY3RJZCA9IHVudHJhY2tlZChzdG9yZS5zZWxlY3RJZCk7XG4gICAgICAgIGNvbnN0IG9sZElkcyA9IHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZElkcyk7XG4gICAgICAgIGNvbnN0IGlkID0gc2VsZWN0SWQoaXRlbSk7XG4gICAgICAgIGlmIChvbGRJZHNbaWRdKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZElkczoge30gfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZElkczogeyBbaWRdOiB0cnVlIH0gfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjYW5jZWxGZXRjaCgpIHtcbiAgICAgICAgdW50cmFja2VkKHN0b3JlLl9mZXRjaFN1YnNjcmlwdGlvbik/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hTdWJzY3JpcHRpb246IG51bGwsXG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgZmV0Y2hFcnJvcjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgaXNTZWxlY3RlZChpdGVtOiBUKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdElkID0gdW50cmFja2VkKHN0b3JlLnNlbGVjdElkKTtcbiAgICAgICAgcmV0dXJuICEhdW50cmFja2VkKHN0b3JlLnNlbGVjdGVkSWRzKVtzZWxlY3RJZChpdGVtKV07XG4gICAgICB9LFxuICAgICAgZ2V0U29ydERpcmVjdGlvbihjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgICAgICBjb25zdCBjdXJyZW50U29ydCA9IHN0b3JlLnNvcnQoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRTb3J0Py5rZXkgPT09IGNvbHVtbi5zb3J0S2V5KSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnRTb3J0LmRpcmVjdGlvbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0sXG4gICAgICByZXNldEhlYWRlckZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0SGVhZGVyRmlsdGVycyhbXSk7XG4gICAgICB9LFxuICAgICAgdG9nZ2xlU29ydChjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgICAgICBjb25zdCBjdXJyZW50U29ydCA9IHVudHJhY2tlZChzdG9yZS5zb3J0KTtcbiAgICAgICAgY29uc3Qgc29ydEtleSA9IGNvbHVtbi5zb3J0S2V5ID8/IGNvbHVtbi5rZXk7XG4gICAgICAgIGxldCBkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYyc7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTb3J0Py5rZXkgPT09IHNvcnRLZXkpIHtcbiAgICAgICAgICBzd2l0Y2ggKGN1cnJlbnRTb3J0LmRpcmVjdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnYXNjJzpcbiAgICAgICAgICAgICAgZGlyZWN0aW9uID0gJ2Rlc2MnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rlc2MnOlxuICAgICAgICAgICAgICB0aGlzLnNldFNvcnQobnVsbCk7XG4gICAgICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSAnYXNjJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzb3J0OiBSZHRUYWJsZVNvcnQ8VD4gPSB7XG4gICAgICAgICAga2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgICB0eXBlOiBjb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zPy5kYXRhVHlwZSA/PyAnc3RyaW5nJyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZXRTb3J0KHNvcnQpO1xuICAgICAgICB0aGlzLmZldGNoKCk7XG4gICAgICB9LFxuICAgICAgc2V0RGlzcGxheWVkQ29sdW1ucyhkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGRpc3BsYXllZENvbHVtbnMgfSk7XG4gICAgICB9LFxuICAgIH0pKVxuICApO1xufVxuXG5leHBvcnQgY29uc3QgUmR0VGFibGVTdG9yZSA9IGdldFJkdFRhYmxlU3RvcmU8YW55PigpO1xuZXhwb3J0IHR5cGUgUmR0VGFibGVTdG9yZTxUIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBURmlsdGVyID0gVD4gPSBJbnN0YW5jZVR5cGU8XG4gIFJldHVyblR5cGU8dHlwZW9mIGdldFJkdFRhYmxlU3RvcmU8VCwgVEZpbHRlcj4+XG4+O1xuXG5mdW5jdGlvbiBnZXRSZHRUYWJsZUVycm9yKGVycm9yOiBhbnkpOiBSZHRUYWJsZU1lc3NhZ2UgfCBudWxsIHtcbiAgaWYgKGlzUmR0VGFibGVNZXNzYWdlKGVycm9yKSkge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxuICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7IG1lc3NhZ2U6IGVycm9yLCBoZWFkZXI6ICdSRFRfVEFCTEVfRVJST1JfSEVBREVSJyB9O1xuICB9XG4gIGlmIChlcnJvciAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmICdtZXNzYWdlJyBpbiBlcnJvcikge1xuICAgIHJldHVybiB7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIGhlYWRlcjogJ1JEVF9UQUJMRV9FUlJPUl9IRUFERVInIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBoZWFkZXI6ICdSRFRfVEFCTEVfRVJST1JfSEVBREVSJyxcbiAgICBtZXNzYWdlOiAnUkRUX1RBQkxFX0VSUk9SX01FU1NBR0UnLFxuICB9O1xufVxuIl19","export function selectIdTransform(value) {\n if (typeof value === 'function') {\n return value;\n }\n return (item) => item[value];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLnV0aWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUudXRpbHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsS0FBK0M7SUFFL0MsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFvQixDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gc2VsZWN0SWRUcmFuc2Zvcm08VD4oXG4gIHZhbHVlOiBrZXlvZiBUIHwgKChpdGVtOiBUKSA9PiBzdHJpbmcgfCBudW1iZXIpXG4pOiAoaXRlbTogVCkgPT4gc3RyaW5nIHwgbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gKGl0ZW06IFQpID0+IGl0ZW1bdmFsdWVdIGFzIHN0cmluZyB8IG51bWJlcjtcbn1cbiJdfQ==","/* import humanizeString from 'humanize-string'; */\nexport class RdtBaseColumnBuilder {\n _key;\n _header;\n _sortable = false;\n _sortKey;\n _cellClass = '';\n _cellStyle = '';\n _headerStyle = '';\n _headerClass = '';\n _minWidth;\n _maxWidth;\n _interactive = () => false;\n _sticky;\n constructor(key) {\n this._key = key;\n }\n withSticky(sticky = 'end') {\n this._sticky = sticky;\n return this;\n }\n withHeader(header) {\n this._header = header;\n return this;\n }\n withSortable(sortable = true) {\n this._sortable = sortable;\n return this;\n }\n withSortKey(sortKey) {\n this._sortKey = sortKey;\n return this;\n }\n withCellClass(cellClass) {\n this._cellClass = cellClass;\n return this;\n }\n withCellStyle(cellStyle) {\n this._cellStyle = cellStyle;\n return this;\n }\n withHeaderStyle(headerStyle) {\n this._headerStyle = headerStyle;\n return this;\n }\n withHeaderClass(headerClass) {\n this._headerClass = headerClass;\n return this;\n }\n withMinWidth(minWidth) {\n this._minWidth = typeof minWidth === 'string' ? minWidth : `${minWidth}px`;\n return this;\n }\n withMaxWidth(maxWidth) {\n this._maxWidth = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;\n return this;\n }\n withInteractive(interactive = true) {\n this._interactive =\n typeof interactive === 'function' ? interactive : () => interactive;\n return this;\n }\n getCellClassFn() {\n const cellClass = this._cellClass;\n return typeof cellClass === 'function' ? cellClass : () => cellClass;\n }\n getCellStyleFn() {\n const cellStyle = this._cellStyle;\n return typeof cellStyle === 'function' ? cellStyle : () => cellStyle;\n }\n getSortKey() {\n return this._sortKey ?? this._key;\n }\n getHeader() {\n return this._header ?? this._key; /* ?? humanizeString(this._key); */\n }\n build() {\n return {\n key: this._key,\n header: this.getHeader(),\n sortable: this._sortable,\n sortKey: this.getSortKey(),\n cellClass: this.getCellClassFn(),\n cellStyle: this.getCellStyleFn(),\n headerStyle: this._headerStyle,\n headerClass: this._headerClass,\n cellRenderer: this.getCellRenderer(),\n cellRendererParams: this.getCellRendererParams(),\n interactive: this._interactive,\n minWidth: this._minWidth,\n maxWidth: this._maxWidth,\n sticky: this._sticky,\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtY29sdW1uLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9tb2RlbHMvY29sdW1ucy9yZHQtYmFzZS1jb2x1bW4tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxtREFBbUQ7QUFFbkQsTUFBTSxPQUFnQixvQkFBb0I7SUFDOUIsSUFBSSxDQUFxQjtJQUN6QixPQUFPLENBQVU7SUFDakIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixRQUFRLENBQVU7SUFDbEIsVUFBVSxHQUFrQyxFQUFFLENBQUM7SUFDL0MsVUFBVSxHQUFrQyxFQUFFLENBQUM7SUFDL0MsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDbkIsWUFBWSxHQUF3QixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDaEQsT0FBTyxDQUFtQjtJQU9wQyxZQUFZLEdBQXVCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxVQUFVLENBQUMsU0FBMEIsS0FBSztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsT0FB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QUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb3ROb3RhdGlvblBhdGggfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgUmR0QmFzZUNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3JlbmRlcmVycy9yZHQtYmFzZS1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHRDb2xEZWYgfSBmcm9tICcuL3JkdC1jb2wtZGVmJztcbi8qIGltcG9ydCBodW1hbml6ZVN0cmluZyBmcm9tICdodW1hbml6ZS1zdHJpbmcnOyAqL1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QmFzZUNvbHVtbkJ1aWxkZXI8VCBleHRlbmRzIG9iamVjdCwgVFJlbmRlcmVyUGFyYW1zPiB7XG4gIHByb3RlY3RlZCBfa2V5OiBEb3ROb3RhdGlvblBhdGg8VD47XG4gIHByb3RlY3RlZCBfaGVhZGVyPzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NvcnRhYmxlID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfc29ydEtleT86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9jZWxsQ2xhc3M6ICgocm93OiBUKSA9PiBzdHJpbmcpIHwgc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCBfY2VsbFN0eWxlOiAoKHJvdzogVCkgPT4gc3RyaW5nKSB8IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgX2hlYWRlclN0eWxlID0gJyc7XG4gIHByb3RlY3RlZCBfaGVhZGVyQ2xhc3MgPSAnJztcbiAgcHJvdGVjdGVkIF9taW5XaWR0aD86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tYXhXaWR0aD86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9pbnRlcmFjdGl2ZTogKHJvdzogVCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3N0aWNreT86ICdzdGFydCcgfCAnZW5kJztcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q2VsbFJlbmRlcmVyKCk6IFR5cGU8XG4gICAgUmR0QmFzZUNlbGxSZW5kZXJlckNvbXBvbmVudDxULCBUUmVuZGVyZXJQYXJhbXM+XG4gID47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDZWxsUmVuZGVyZXJQYXJhbXMoKTogVFJlbmRlcmVyUGFyYW1zO1xuXG4gIGNvbnN0cnVjdG9yKGtleTogRG90Tm90YXRpb25QYXRoPFQ+KSB7XG4gICAgdGhpcy5fa2V5ID0ga2V5O1xuICB9XG5cbiAgcHVibGljIHdpdGhTdGlja3koc3RpY2t5OiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJyk6IHRoaXMge1xuICAgIHRoaXMuX3N0aWNreSA9IHN0aWNreTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoSGVhZGVyKGhlYWRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5faGVhZGVyID0gaGVhZGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhTb3J0YWJsZShzb3J0YWJsZSA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLl9zb3J0YWJsZSA9IHNvcnRhYmxlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhTb3J0S2V5KHNvcnRLZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3NvcnRLZXkgPSBzb3J0S2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhDZWxsQ2xhc3MoY2VsbENsYXNzOiAoKHJvdzogVCkgPT4gc3RyaW5nKSB8IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2NlbGxDbGFzcyA9IGNlbGxDbGFzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoQ2VsbFN0eWxlKGNlbGxTdHlsZTogKChyb3c6IFQpID0+IHN0cmluZykgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9jZWxsU3R5bGUgPSBjZWxsU3R5bGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEhlYWRlclN0eWxlKGhlYWRlclN0eWxlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9oZWFkZXJTdHlsZSA9IGhlYWRlclN0eWxlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhIZWFkZXJDbGFzcyhoZWFkZXJDbGFzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5faGVhZGVyQ2xhc3MgPSBoZWFkZXJDbGFzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTWluV2lkdGgobWluV2lkdGg6IHN0cmluZyB8IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuX21pbldpZHRoID0gdHlwZW9mIG1pbldpZHRoID09PSAnc3RyaW5nJyA/IG1pbldpZHRoIDogYCR7bWluV2lkdGh9cHhgO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhNYXhXaWR0aChtYXhXaWR0aDogc3RyaW5nIHwgbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5fbWF4V2lkdGggPSB0eXBlb2YgbWF4V2lkdGggPT09ICdzdHJpbmcnID8gbWF4V2lkdGggOiBgJHttYXhXaWR0aH1weGA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEludGVyYWN0aXZlKFxuICAgIGludGVyYWN0aXZlOiBib29sZWFuIHwgKChyb3c6IFQpID0+IGJvb2xlYW4pID0gdHJ1ZVxuICApOiB0aGlzIHtcbiAgICB0aGlzLl9pbnRlcmFjdGl2ZSA9XG4gICAgICB0eXBlb2YgaW50ZXJhY3RpdmUgPT09ICdmdW5jdGlvbicgPyBpbnRlcmFjdGl2ZSA6ICgpID0+IGludGVyYWN0aXZlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENlbGxDbGFzc0ZuKCkge1xuICAgIGNvbnN0IGNlbGxDbGFzcyA9IHRoaXMuX2NlbGxDbGFzcztcbiAgICByZXR1cm4gdHlwZW9mIGNlbGxDbGFzcyA9PT0gJ2Z1bmN0aW9uJyA/IGNlbGxDbGFzcyA6ICgpID0+IGNlbGxDbGFzcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDZWxsU3R5bGVGbigpIHtcbiAgICBjb25zdCBjZWxsU3R5bGUgPSB0aGlzLl9jZWxsU3R5bGU7XG4gICAgcmV0dXJuIHR5cGVvZiBjZWxsU3R5bGUgPT09ICdmdW5jdGlvbicgPyBjZWxsU3R5bGUgOiAoKSA9PiBjZWxsU3R5bGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U29ydEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydEtleSA/PyB0aGlzLl9rZXk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGVhZGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9oZWFkZXIgPz8gdGhpcy5fa2V5OyAvKiA/PyBodW1hbml6ZVN0cmluZyh0aGlzLl9rZXkpOyAqL1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFJkdENvbERlZjxUPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogdGhpcy5fa2V5LFxuICAgICAgaGVhZGVyOiB0aGlzLmdldEhlYWRlcigpLFxuICAgICAgc29ydGFibGU6IHRoaXMuX3NvcnRhYmxlLFxuICAgICAgc29ydEtleTogdGhpcy5nZXRTb3J0S2V5KCksXG4gICAgICBjZWxsQ2xhc3M6IHRoaXMuZ2V0Q2VsbENsYXNzRm4oKSxcbiAgICAgIGNlbGxTdHlsZTogdGhpcy5nZXRDZWxsU3R5bGVGbigpLFxuICAgICAgaGVhZGVyU3R5bGU6IHRoaXMuX2hlYWRlclN0eWxlLFxuICAgICAgaGVhZGVyQ2xhc3M6IHRoaXMuX2hlYWRlckNsYXNzLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmdldENlbGxSZW5kZXJlcigpLFxuICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB0aGlzLmdldENlbGxSZW5kZXJlclBhcmFtcygpLFxuICAgICAgaW50ZXJhY3RpdmU6IHRoaXMuX2ludGVyYWN0aXZlLFxuICAgICAgbWluV2lkdGg6IHRoaXMuX21pbldpZHRoLFxuICAgICAgbWF4V2lkdGg6IHRoaXMuX21heFdpZHRoLFxuICAgICAgc3RpY2t5OiB0aGlzLl9zdGlja3ksXG4gICAgfTtcbiAgfVxufVxuIl19","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RdtBaseCellRendererComponent {\n row = input.required();\n index = input.required();\n store = input.required();\n cellRendererParams = input.required();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtBaseCellRendererComponent, isStandalone: true, selector: \"rdt-base-cell-renderer\", inputs: { row: { classPropertyName: \"row\", publicName: \"row\", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: \"index\", publicName: \"index\", isSignal: true, isRequired: true, transformFunction: null }, store: { classPropertyName: \"store\", publicName: \"store\", isSignal: true, isRequired: true, transformFunction: null }, cellRendererParams: { classPropertyName: \"cellRendererParams\", publicName: \"cellRendererParams\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseCellRendererComponent, decorators: [{\n type: Directive,\n args: [{\n selector: 'rdt-base-cell-renderer',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9yZW5kZXJlcnMvcmR0LWJhc2UtY2VsbC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpELE1BQU0sT0FBZ0IsNEJBQTRCO0lBSXZDLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7SUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUNqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBd0IsQ0FBQztJQUMvQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7dUdBUHBDLDRCQUE0QjsyRkFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUhqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0VGFibGVTdG9yZSB9IGZyb20gJy4uL21vZGVscy9zdGF0ZS9yZHQtdGFibGUtc3RvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdyZHQtYmFzZS1jZWxsLXJlbmRlcmVyJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QmFzZUNlbGxSZW5kZXJlckNvbXBvbmVudDxcbiAgVERhdGEgZXh0ZW5kcyBvYmplY3QsXG4gIFRQYXJhbXNcbj4ge1xuICByZWFkb25seSByb3cgPSBpbnB1dC5yZXF1aXJlZDxURGF0YT4oKTtcbiAgcmVhZG9ubHkgaW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5wdXQucmVxdWlyZWQ8UmR0VGFibGVTdG9yZTxURGF0YT4+KCk7XG4gIHJlYWRvbmx5IGNlbGxSZW5kZXJlclBhcmFtcyA9IGlucHV0LnJlcXVpcmVkPFRQYXJhbXM+KCk7XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, ViewEncapsulation, } from '@angular/core';\nimport { RdtBaseCellRendererComponent } from './../rdt-base-cell-renderer.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtStaticCellRendererComponent extends RdtBaseCellRendererComponent {\n value = computed(() => this.cellRendererParams().valueFormatter(this.row()));\n tooltip = computed(() => this.cellRendererParams().tooltipFormatter(this.row()));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtStaticCellRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtStaticCellRendererComponent, isStandalone: false, selector: \"rdt-static-cell-renderer\", host: { classAttribute: \"cell-value-base\" }, usesInheritance: true, ngImport: i0, template: \"@let val = value();\\n{{ val }}\\n\", styles: [\"\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtStaticCellRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-static-cell-renderer', host: {\n class: 'cell-value-base',\n }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"@let val = value();\\n{{ val }}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtc3RhdGljLWNlbGwtcmVuZGVyZXIvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtc3RhdGljLWNlbGwtcmVuZGVyZXIvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBY3JGLE1BQU0sT0FBTyw4QkFFWCxTQUFRLDRCQUdUO0lBQ1UsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO0lBQ08sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQ3ZELENBQUM7dUdBWFMsOEJBQThCOzJGQUE5Qiw4QkFBOEIseUpDckIzQyxrQ0FFQTs7MkZEbUJhLDhCQUE4QjtrQkFYMUMsU0FBUzsrQkFDRSwwQkFBMEIsUUFFOUI7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtxQkFDekIsY0FFVyxLQUFLLG1CQUNBLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZHRCYXNlQ2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9yZHQtYmFzZS1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHRTdGF0aWNDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICcuL3JkdC1zdGF0aWMtY2VsbC1yZW5kZXJlci1wYXJhbXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHQtc3RhdGljLWNlbGwtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnY2VsbC12YWx1ZS1iYXNlJyxcbiAgfSxcbiAgc3R5bGVVcmw6ICcuL3JkdC1zdGF0aWMtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0U3RhdGljQ2VsbFJlbmRlcmVyQ29tcG9uZW50PFxuICBURGF0YSBleHRlbmRzIG9iamVjdFxuPiBleHRlbmRzIFJkdEJhc2VDZWxsUmVuZGVyZXJDb21wb25lbnQ8XG4gIFREYXRhLFxuICBSZHRTdGF0aWNDZWxsUmVuZGVyZXJQYXJhbXM8VERhdGE+XG4+IHtcbiAgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zKCkudmFsdWVGb3JtYXR0ZXIodGhpcy5yb3coKSlcbiAgKTtcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5jZWxsUmVuZGVyZXJQYXJhbXMoKS50b29sdGlwRm9ybWF0dGVyKHRoaXMucm93KCkpXG4gICk7XG59XG4iLCJAbGV0IHZhbCA9IHZhbHVlKCk7XG57eyB2YWwgfX1cbiJdfQ==","import { inject } from '@angular/core';\nimport { RdtTranslateService } from '@ngrdt/core';\nimport { RdtDateUtils, RdtObjectUtils } from '@ngrdt/utils';\nimport { RdtStaticCellRendererComponent } from '../../renderers/rdt-static-cell-renderer/rdt-static-cell-renderer.component';\nimport { RdtBaseColumnBuilder } from './rdt-base-column-builder';\nexport class RdtStaticColumnBuilder extends RdtBaseColumnBuilder {\n translateService = inject(RdtTranslateService);\n _dataType = 'string';\n _valueFormatter;\n _tooltipFormatter;\n _enumValues;\n _tooltipEnabled = true;\n constructor(key) {\n super(key);\n }\n withDataType(dataType) {\n this._dataType = dataType;\n return this;\n }\n withValueFormatter(formatter) {\n this._valueFormatter = formatter;\n return this;\n }\n withTooltipFormatter(formatter) {\n this._tooltipFormatter = formatter;\n return this;\n }\n withTooltipEnabled(enabled) {\n this._tooltipEnabled = enabled;\n return this;\n }\n withEnumValues(enumValues) {\n this._enumValues = enumValues;\n return this;\n }\n getCellRenderer() {\n return RdtStaticCellRendererComponent;\n }\n formatNumber(value) {\n let numericValue;\n if (typeof value === 'number') {\n numericValue = value;\n }\n else if (value == null) {\n return '';\n }\n else if (typeof value === 'string') {\n numericValue = Number(value);\n if (isNaN(numericValue)) {\n return value;\n }\n }\n else {\n return '';\n }\n return numericValue.toFixed(2).replace(/\\.0+$/, '');\n }\n formatDecimal(value) {\n if (typeof value === 'number') {\n return value.toFixed(2);\n }\n else if (typeof value === 'string') {\n const num = parseFloat(value);\n return isNaN(num) ? value : num.toFixed(2);\n }\n return '';\n }\n formatDate(value) {\n return RdtDateUtils.formatDate(value);\n }\n formatDateTime(date) {\n if (date === null || date === undefined || date === '') {\n return '';\n }\n const d = date instanceof Date ? date : new Date(date);\n if (RdtDateUtils.isValidDate(d)) {\n const year = d.getFullYear();\n const month = `${d.getMonth() + 1}`.padStart(2, '0');\n const day = `${d.getDate()}`.padStart(2, '0');\n const hour = `${d.getHours()}`.padStart(2, '0');\n const minute = `${d.getMinutes()}`.padStart(2, '0');\n return `${day}.${month}.${year} ${hour}:${minute}`;\n }\n else {\n return '';\n }\n }\n formatBoolean(value) {\n switch (value) {\n case true:\n case 'true':\n case 1:\n case '1':\n return this.translateService.instant('RDT_YES');\n case false:\n case 'false':\n case 0:\n case '0':\n return this.translateService.instant('RDT_NO');\n default:\n return '';\n }\n }\n formatEnum(value) {\n if (!this._enumValues) {\n throw new Error('Enum values are not set');\n }\n return this._enumValues[value] || value;\n }\n getValueFormatter() {\n if (this._valueFormatter) {\n return this._valueFormatter;\n }\n switch (this._dataType) {\n case 'boolean':\n return (row) => this.formatBoolean(this.pluck(row, this._key));\n case 'date':\n return (row) => this.formatDate(this.pluck(row, this._key));\n case 'date-time':\n return (row) => this.formatDateTime(this.pluck(row, this._key));\n case 'decimal':\n return (row) => this.formatDecimal(this.pluck(row, this._key));\n case 'enum':\n return (row) => this.formatEnum(this.pluck(row, this._key));\n case 'number':\n return (row) => this.formatNumber(this.pluck(row, this._key));\n default:\n return (row) => this.pluck(row, this._key);\n }\n }\n pluck(row, key) {\n if (key in row) {\n return row[key];\n }\n else {\n return RdtObjectUtils.pluck(row, key);\n }\n }\n getTooltipFormatter() {\n return this._tooltipFormatter ?? this.getValueFormatter();\n }\n getCellRendererParams() {\n return {\n dataType: this._dataType,\n valueFormatter: this.getValueFormatter(),\n tooltipEnabled: this._tooltipEnabled,\n tooltipFormatter: this.getTooltipFormatter(),\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXN0YXRpYy1jb2x1bW4tYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL21vZGVscy9jb2x1bW5zL3JkdC1zdGF0aWMtY29sdW1uLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFtQixZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBRTdILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE1BQU0sT0FBTyxzQkFFWCxTQUFRLG9CQUF1RDtJQUN2RCxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM3QyxTQUFTLEdBQXdCLFFBQVEsQ0FBQztJQUMxQyxlQUFlLENBQXdCO0lBQ3ZDLGlCQUFpQixDQUF3QjtJQUN6QyxXQUFXLENBQXVCO0lBQ2xDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFFakMsWUFBWSxHQUErQztRQUN6RCxLQUFLLENBQUMsR0FBeUIsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBNkI7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsU0FBK0I7UUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsU0FBK0I7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztR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QUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNmLE9BQVEsR0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRWtCLHFCQUFxQjtRQUN0QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEMsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUM3QyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5ncmR0L2NvcmUnO1xuaW1wb3J0IHsgRG90Tm90YXRpb25QYXRoLCBSZHREYXRlVXRpbHMsIFJkdE9iamVjdFV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IFJkdFN0YXRpY0NlbGxSZW5kZXJlclBhcmFtcyB9IGZyb20gJy4uLy4uL3JlbmRlcmVycy9yZHQtc3RhdGljLWNlbGwtcmVuZGVyZXIvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLXBhcmFtcyc7XG5pbXBvcnQgeyBSZHRTdGF0aWNDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yZW5kZXJlcnMvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyL3JkdC1zdGF0aWMtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0VGFibGVEaXNwbGF5VHlwZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLXJlcXVlc3QtcGFyYW1zJztcbmltcG9ydCB7IFJkdEJhc2VDb2x1bW5CdWlsZGVyIH0gZnJvbSAnLi9yZHQtYmFzZS1jb2x1bW4tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBSZHRTdGF0aWNDb2x1bW5CdWlsZGVyPFxuICBUIGV4dGVuZHMgb2JqZWN0XG4+IGV4dGVuZHMgUmR0QmFzZUNvbHVtbkJ1aWxkZXI8VCwgUmR0U3RhdGljQ2VsbFJlbmRlcmVyUGFyYW1zPFQ+PiB7XG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChSZHRUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIF9kYXRhVHlwZTogUmR0VGFibGVEaXNwbGF5VHlwZSA9ICdzdHJpbmcnO1xuICBwcm90ZWN0ZWQgX3ZhbHVlRm9ybWF0dGVyPzogKHZhbHVlOiBUKSA9PiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdG9vbHRpcEZvcm1hdHRlcj86ICh2YWx1ZTogVCkgPT4gc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2VudW1WYWx1ZXM/OiBSZWNvcmQ8YW55LCBzdHJpbmc+O1xuICBwcm90ZWN0ZWQgX3Rvb2x0aXBFbmFibGVkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihrZXk6IERvdE5vdGF0aW9uUGF0aDxUPiB8IGAke3N0cmluZ306JHtzdHJpbmd9YCkge1xuICAgIHN1cGVyKGtleSBhcyBEb3ROb3RhdGlvblBhdGg8VD4pO1xuICB9XG5cbiAgcHVibGljIHdpdGhEYXRhVHlwZShkYXRhVHlwZTogUmR0VGFibGVEaXNwbGF5VHlwZSk6IHRoaXMge1xuICAgIHRoaXMuX2RhdGFUeXBlID0gZGF0YVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFZhbHVlRm9ybWF0dGVyKGZvcm1hdHRlcjogKHZhbHVlOiBUKSA9PiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl92YWx1ZUZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVG9vbHRpcEZvcm1hdHRlcihmb3JtYXR0ZXI6ICh2YWx1ZTogVCkgPT4gc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fdG9vbHRpcEZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVG9vbHRpcEVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX3Rvb2x0aXBFbmFibGVkID0gZW5hYmxlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoRW51bVZhbHVlcyhlbnVtVmFsdWVzOiBSZWNvcmQ8YW55LCBzdHJpbmc+KTogdGhpcyB7XG4gICAgdGhpcy5fZW51bVZhbHVlcyA9IGVudW1WYWx1ZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0Q2VsbFJlbmRlcmVyKCkge1xuICAgIHJldHVybiBSZHRTdGF0aWNDZWxsUmVuZGVyZXJDb21wb25lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0TnVtYmVyKHZhbHVlOiBhbnkpIHtcbiAgICBsZXQgbnVtZXJpY1ZhbHVlOiBudW1iZXI7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgbnVtZXJpY1ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBudW1lcmljVmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICAgICAgaWYgKGlzTmFOKG51bWVyaWNWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bWVyaWNWYWx1ZS50b0ZpeGVkKDIpLnJlcGxhY2UoL1xcLjArJC8sICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXREZWNpbWFsKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHZhbHVlLnRvRml4ZWQoMik7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgIHJldHVybiBpc05hTihudW0pID8gdmFsdWUgOiBudW0udG9GaXhlZCgyKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZvcm1hdERhdGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiBSZHREYXRlVXRpbHMuZm9ybWF0RGF0ZSh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0RGF0ZVRpbWUoZGF0ZTogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoZGF0ZSA9PT0gbnVsbCB8fCBkYXRlID09PSB1bmRlZmluZWQgfHwgZGF0ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBkID0gZGF0ZSBpbnN0YW5jZW9mIERhdGUgPyBkYXRlIDogbmV3IERhdGUoZGF0ZSk7XG5cbiAgICBpZiAoUmR0RGF0ZVV0aWxzLmlzVmFsaWREYXRlKGQpKSB7XG4gICAgICBjb25zdCB5ZWFyID0gZC5nZXRGdWxsWWVhcigpO1xuICAgICAgY29uc3QgbW9udGggPSBgJHtkLmdldE1vbnRoKCkgKyAxfWAucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgIGNvbnN0IGRheSA9IGAke2QuZ2V0RGF0ZSgpfWAucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgIGNvbnN0IGhvdXIgPSBgJHtkLmdldEhvdXJzKCl9YC5wYWRTdGFydCgyLCAnMCcpO1xuICAgICAgY29uc3QgbWludXRlID0gYCR7ZC5nZXRNaW51dGVzKCl9YC5wYWRTdGFydCgyLCAnMCcpO1xuXG4gICAgICByZXR1cm4gYCR7ZGF5fS4ke21vbnRofS4ke3llYXJ9ICR7aG91cn06JHttaW51dGV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXRCb29sZWFuKHZhbHVlOiBhbnkpIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIHRydWU6XG4gICAgICBjYXNlICd0cnVlJzpcbiAgICAgIGNhc2UgMTpcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1JEVF9ZRVMnKTtcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICBjYXNlICdmYWxzZSc6XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlICcwJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdSRFRfTk8nKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0RW51bSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLl9lbnVtVmFsdWVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VudW0gdmFsdWVzIGFyZSBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9lbnVtVmFsdWVzW3ZhbHVlXSB8fCB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRWYWx1ZUZvcm1hdHRlcigpIHtcbiAgICBpZiAodGhpcy5fdmFsdWVGb3JtYXR0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZUZvcm1hdHRlcjtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLl9kYXRhVHlwZSkge1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdEJvb2xlYW4odGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdERhdGUodGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZGF0ZS10aW1lJzpcbiAgICAgICAgcmV0dXJuIChyb3c6IFQpID0+IHRoaXMuZm9ybWF0RGF0ZVRpbWUodGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZGVjaW1hbCc6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdERlY2ltYWwodGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZW51bSc6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdEVudW0odGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuIChyb3c6IFQpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMucGx1Y2socm93LCB0aGlzLl9rZXkpKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLnBsdWNrKHJvdywgdGhpcy5fa2V5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBsdWNrKHJvdzogVCwga2V5OiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5IGluIHJvdykge1xuICAgICAgcmV0dXJuIChyb3cgYXMgYW55KVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUmR0T2JqZWN0VXRpbHMucGx1Y2socm93LCBrZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUb29sdGlwRm9ybWF0dGVyKCkge1xuICAgIHJldHVybiB0aGlzLl90b29sdGlwRm9ybWF0dGVyID8/IHRoaXMuZ2V0VmFsdWVGb3JtYXR0ZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXRDZWxsUmVuZGVyZXJQYXJhbXMoKTogUmR0U3RhdGljQ2VsbFJlbmRlcmVyUGFyYW1zPFQ+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YVR5cGU6IHRoaXMuX2RhdGFUeXBlLFxuICAgICAgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZ2V0VmFsdWVGb3JtYXR0ZXIoKSxcbiAgICAgIHRvb2x0aXBFbmFibGVkOiB0aGlzLl90b29sdGlwRW5hYmxlZCxcbiAgICAgIHRvb2x0aXBGb3JtYXR0ZXI6IHRoaXMuZ2V0VG9vbHRpcEZvcm1hdHRlcigpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","export class RdtTableDatasource {\n totalCountKnown = true;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9tb2RlbHMvZGF0YXNvdXJjZS9yZHQtdGFibGUtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLGtCQUFrQjtJQUs3QixlQUFlLEdBQUcsSUFBSSxDQUFDO0NBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdlIH0gZnJvbSAnLi9yZHQtdGFibGUtcGFnZSc7XG5pbXBvcnQgeyBSZHRUYWJsZVJlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3JkdC10YWJsZS1yZXF1ZXN0LXBhcmFtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRUYWJsZURhdGFzb3VyY2U8VCwgVEZpbHRlciA9IFQ+IHtcbiAgYWJzdHJhY3QgZ2V0RGF0YShcbiAgICBwYXJhbXM6IFJkdFRhYmxlUmVxdWVzdFBhcmFtczxULCBURmlsdGVyPlxuICApOiBPYnNlcnZhYmxlPFJkdFRhYmxlUGFnZTxUPj47XG5cbiAgcmVhZG9ubHkgdG90YWxDb3VudEtub3duID0gdHJ1ZTtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation, } from '@angular/core';\nimport { RdtIcon, RdtIconRegistryService } from '@ngrdt/icon';\nimport { RdtTableStore } from '../../models';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@ngrdt/icon\";\nexport class RdtTablePaginatorComponent {\n store = inject(RdtTableStore);\n iconRegistry = inject(RdtIconRegistryService);\n from = computed(() => this.store.totalCount() > 0 ? this.store.firstRowIndex() + 1 : 0);\n to = computed(() => this.store.lastRowIndex() + 1);\n total = computed(() => this.store.totalCount());\n pageSize = computed(() => this.store.pageSize());\n currentPageNumber = computed(() => this.store.pageIndex() + 1);\n pageSizeOptions = computed(() => this.store.pageSizeOptions().map((opt) => ({ label: `${opt}`, value: opt })));\n pageCount = computed(() => this.store.pageCount());\n skipRightIcon = this.iconRegistry.getIcon(RdtIcon.SkipRight);\n skipDoubleRightIcon = this.iconRegistry.getIcon(RdtIcon.SkipDoubleRight);\n skipLeftIcon = this.iconRegistry.getIcon(RdtIcon.SkipLeft);\n skipDoubleLeftIcon = this.iconRegistry.getIcon(RdtIcon.SkipDoubleLeft);\n pageWindow = computed(() => {\n const pageCount = this.pageCount();\n const current = this.currentPageNumber();\n const windowSize = 2;\n const start = Math.max(1, current - windowSize);\n const end = Math.min(pageCount, current + windowSize);\n const pages = [];\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n return pages;\n });\n onPageSizeChange(event) {\n const value = event.target.value;\n const pageSize = parseInt(value);\n this.store.setPagination(pageSize ?? 10, 0);\n this.store.fetch();\n }\n onPageChange(pageNumber) {\n const pageIndex = pageNumber - 1;\n this.store.setPagination(this.pageSize(), pageIndex);\n this.store.fetch();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTablePaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.0\", type: RdtTablePaginatorComponent, isStandalone: false, selector: \"rdt-table-paginator\", ngImport: i0, template: \"@if (store.ready()) {\\n<div\\n class=\\\"flex flex-row-reverse flex-wrap-reverse justify-between items-center gap-2\\\"\\n [class.invisible]=\\\"total() === 0\\\"\\n>\\n <div class=\\\"paginator\\\">\\n <div class=\\\"paginator-info\\\">\\n Zobrazeno <b>{{ from() }} - {{ to() }} z\\u00E1znam\\u016F z {{ total() }}</b>\\n </div>\\n <div class=\\\"paginator-controls\\\">\\n <select\\n class=\\\"action-btn\\\"\\n [value]=\\\"pageSize()\\\"\\n (change)=\\\"onPageSizeChange($event)\\\"\\n >\\n @for (option of pageSizeOptions(); track $index) {\\n <option [value]=\\\"option.value\\\">{{ option.value }}</option>\\n }\\n </select>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039\\u2039 -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(currentPageNumber() - 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039 -->\\n </button>\\n @for (page of pageWindow(); track $index) {\\n <button\\n class=\\\"action-btn\\\"\\n [class.selected]=\\\"currentPageNumber() === page\\\"\\n [disabled]=\\\"currentPageNumber() === page\\\"\\n (click)=\\\"onPageChange(page)\\\"\\n >\\n {{ page }}\\n </button>\\n }\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(currentPageNumber() + 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(pageCount())\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A\\u203A -->\\n </button>\\n </div>\\n </div>\\n</div>\\n}\\n\", styles: [\".paginator{display:flex;flex-wrap:wrap;justify-content:space-between;margin:1rem 1rem 0}.paginator-controls{display:flex;gap:.3rem}.paginator-controls select{margin-right:10px}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgSelectOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i1.ɵNgSelectMultipleOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i2.RdtIconOutletDirective, selector: \"[rdtIconOutlet]\", exportAs: [\"rdtIconOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTablePaginatorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, encapsulation: ViewEncapsulation.None, template: \"@if (store.ready()) {\\n<div\\n class=\\\"flex flex-row-reverse flex-wrap-reverse justify-between items-center gap-2\\\"\\n [class.invisible]=\\\"total() === 0\\\"\\n>\\n <div class=\\\"paginator\\\">\\n <div class=\\\"paginator-info\\\">\\n Zobrazeno <b>{{ from() }} - {{ to() }} z\\u00E1znam\\u016F z {{ total() }}</b>\\n </div>\\n <div class=\\\"paginator-controls\\\">\\n <select\\n class=\\\"action-btn\\\"\\n [value]=\\\"pageSize()\\\"\\n (change)=\\\"onPageSizeChange($event)\\\"\\n >\\n @for (option of pageSizeOptions(); track $index) {\\n <option [value]=\\\"option.value\\\">{{ option.value }}</option>\\n }\\n </select>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039\\u2039 -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(currentPageNumber() - 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039 -->\\n </button>\\n @for (page of pageWindow(); track $index) {\\n <button\\n class=\\\"action-btn\\\"\\n [class.selected]=\\\"currentPageNumber() === page\\\"\\n [disabled]=\\\"currentPageNumber() === page\\\"\\n (click)=\\\"onPageChange(page)\\\"\\n >\\n {{ page }}\\n </button>\\n }\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(currentPageNumber() + 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(pageCount())\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A\\u203A -->\\n </button>\\n </div>\\n </div>\\n</div>\\n}\\n\", styles: [\".paginator{display:flex;flex-wrap:wrap;justify-content:space-between;margin:1rem 1rem 0}.paginator-controls{display:flex;gap:.3rem}.paginator-controls select{margin-right:10px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi90YWJsZS9yZHQtdGFibGUtcGFnaW5hdG9yL3JkdC10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvdGFibGUvcmR0LXRhYmxlLXBhZ2luYXRvci9yZHQtdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQVU3QyxNQUFNLE9BQU8sMEJBQTBCO0lBQzVCLEtBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzlDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRSxDQUFDO0lBQ08sRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25ELEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FDN0UsQ0FBQztJQUNPLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0QsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQ3RELE9BQU8sQ0FBQyxlQUFlLENBQ3hCLENBQUM7SUFDTyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUNyRCxPQUFPLENBQUMsY0FBYyxDQUN2QixDQUFDO0lBRU8sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLEtBQVk7UUFDM0IsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTRCLENBQUMsS0FBSyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7dUdBaERVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLGdGQ2xCdkMsbXhFQTZFQTs7MkZEM0RhLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLLGlCQUNGLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRJY29uLCBSZHRJY29uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQG5ncmR0L2ljb24nO1xuaW1wb3J0IHsgUmR0VGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JkdC10YWJsZS1wYWdpbmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZHQtdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJsZVBhZ2luYXRvckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFRhYmxlU3RvcmUpO1xuICByZWFkb25seSBpY29uUmVnaXN0cnkgPSBpbmplY3QoUmR0SWNvblJlZ2lzdHJ5U2VydmljZSk7XG4gIHJlYWRvbmx5IGZyb20gPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuc3RvcmUudG90YWxDb3VudCgpID4gMCA/IHRoaXMuc3RvcmUuZmlyc3RSb3dJbmRleCgpICsgMSA6IDBcbiAgKTtcbiAgcmVhZG9ubHkgdG8gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN0b3JlLmxhc3RSb3dJbmRleCgpICsgMSk7XG4gIHJlYWRvbmx5IHRvdGFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdG9yZS50b3RhbENvdW50KCkpO1xuICByZWFkb25seSBwYWdlU2l6ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RvcmUucGFnZVNpemUoKSk7XG4gIHJlYWRvbmx5IGN1cnJlbnRQYWdlTnVtYmVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdG9yZS5wYWdlSW5kZXgoKSArIDEpO1xuICByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuc3RvcmUucGFnZVNpemVPcHRpb25zKCkubWFwKChvcHQpID0+ICh7IGxhYmVsOiBgJHtvcHR9YCwgdmFsdWU6IG9wdCB9KSlcbiAgKTtcbiAgcmVhZG9ubHkgcGFnZUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdG9yZS5wYWdlQ291bnQoKSk7XG5cbiAgcmVhZG9ubHkgc2tpcFJpZ2h0SWNvbiA9IHRoaXMuaWNvblJlZ2lzdHJ5LmdldEljb24oUmR0SWNvbi5Ta2lwUmlnaHQpO1xuICByZWFkb25seSBza2lwRG91YmxlUmlnaHRJY29uID0gdGhpcy5pY29uUmVnaXN0cnkuZ2V0SWNvbihcbiAgICBSZHRJY29uLlNraXBEb3VibGVSaWdodFxuICApO1xuICByZWFkb25seSBza2lwTGVmdEljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFJkdEljb24uU2tpcExlZnQpO1xuICByZWFkb25seSBza2lwRG91YmxlTGVmdEljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFxuICAgIFJkdEljb24uU2tpcERvdWJsZUxlZnRcbiAgKTtcblxuICByZWFkb25seSBwYWdlV2luZG93ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHBhZ2VDb3VudCA9IHRoaXMucGFnZUNvdW50KCk7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIoKTtcbiAgICBjb25zdCB3aW5kb3dTaXplID0gMjtcbiAgICBjb25zdCBzdGFydCA9IE1hdGgubWF4KDEsIGN1cnJlbnQgLSB3aW5kb3dTaXplKTtcbiAgICBjb25zdCBlbmQgPSBNYXRoLm1pbihwYWdlQ291bnQsIGN1cnJlbnQgKyB3aW5kb3dTaXplKTtcbiAgICBjb25zdCBwYWdlczogbnVtYmVyW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgIHBhZ2VzLnB1c2goaSk7XG4gICAgfVxuICAgIHJldHVybiBwYWdlcztcbiAgfSk7XG5cbiAgb25QYWdlU2l6ZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlO1xuICAgIGNvbnN0IHBhZ2VTaXplID0gcGFyc2VJbnQodmFsdWUpO1xuICAgIHRoaXMuc3RvcmUuc2V0UGFnaW5hdGlvbihwYWdlU2l6ZSA/PyAxMCwgMCk7XG4gICAgdGhpcy5zdG9yZS5mZXRjaCgpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIGNvbnN0IHBhZ2VJbmRleCA9IHBhZ2VOdW1iZXIgLSAxO1xuICAgIHRoaXMuc3RvcmUuc2V0UGFnaW5hdGlvbih0aGlzLnBhZ2VTaXplKCksIHBhZ2VJbmRleCk7XG4gICAgdGhpcy5zdG9yZS5mZXRjaCgpO1xuICB9XG59XG4iLCJAaWYgKHN0b3JlLnJlYWR5KCkpIHtcbjxkaXZcbiAgY2xhc3M9XCJmbGV4IGZsZXgtcm93LXJldmVyc2UgZmxleC13cmFwLXJldmVyc2UganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gIFtjbGFzcy5pbnZpc2libGVdPVwidG90YWwoKSA9PT0gMFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwYWdpbmF0b3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdG9yLWluZm9cIj5cbiAgICAgIFpvYnJhemVubyA8Yj57eyBmcm9tKCkgfX0gLSB7eyB0bygpIH19IHrDoXpuYW3FryB6IHt7IHRvdGFsKCkgfX08L2I+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRvci1jb250cm9sc1wiPlxuICAgICAgPHNlbGVjdFxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbdmFsdWVdPVwicGFnZVNpemUoKVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIHBhZ2VTaXplT3B0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+e3sgb3B0aW9uLnZhbHVlIH19PC9vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvc2VsZWN0PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gMVwiXG4gICAgICAgIChjbGljayk9XCJvblBhZ2VDaGFuZ2UoMSlcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgcmR0SWNvbk91dGxldFxuICAgICAgICAgIFtpbnB1dHNdPVwieyBuYW1lOiBza2lwRG91YmxlTGVmdEljb24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSAgICAgICAgIOKAueKAuSAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gMVwiXG4gICAgICAgIChjbGljayk9XCJvblBhZ2VDaGFuZ2UoY3VycmVudFBhZ2VOdW1iZXIoKSAtIDEpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIHJkdEljb25PdXRsZXRcbiAgICAgICAgICBbaW5wdXRzXT1cInsgbmFtZTogc2tpcExlZnRJY29uIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gICAgIOKAuSAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgQGZvciAocGFnZSBvZiBwYWdlV2luZG93KCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gcGFnZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZU51bWJlcigpID09PSBwYWdlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUGFnZUNoYW5nZShwYWdlKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gcGFnZUNvdW50KClcIlxuICAgICAgICAoY2xpY2spPVwib25QYWdlQ2hhbmdlKGN1cnJlbnRQYWdlTnVtYmVyKCkgKyAxKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICByZHRJY29uT3V0bGV0XG4gICAgICAgICAgW2lucHV0c109XCJ7IG5hbWU6IHNraXBSaWdodEljb24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSAgIOKAuiAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gcGFnZUNvdW50KClcIlxuICAgICAgICAoY2xpY2spPVwib25QYWdlQ2hhbmdlKHBhZ2VDb3VudCgpKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICByZHRJY29uT3V0bGV0XG4gICAgICAgICAgW2lucHV0c109XCJ7IG5hbWU6IHNraXBEb3VibGVSaWdodEljb24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSAgICAg4oC64oC6IC0tPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, inject, input, } from '@angular/core';\nimport { RdtIcon, RdtIconRegistryService } from '@ngrdt/icon';\nimport { RdtTableStore } from '../../models/state/rdt-table-store';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngrdt/icon\";\nexport class RdtHeaderCellRendererComponent {\n iconRegistry = inject(RdtIconRegistryService);\n store = inject(RdtTableStore);\n column = input.required();\n sortDirection = computed(() => this.store.getSortDirection(this.column()));\n sortAscIcon = this.iconRegistry.getIcon(RdtIcon.SortAsc);\n sortDescIcon = this.iconRegistry.getIcon(RdtIcon.SortDesc);\n sortEnabledIcon = this.iconRegistry.getIcon(RdtIcon.SortEnabled);\n sort(event) {\n if (this.column().sortable) {\n event.stopPropagation();\n this.store.toggleSort(this.column());\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtHeaderCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.0\", type: RdtHeaderCellRendererComponent, isStandalone: false, selector: \"rdt-header-cell-renderer\", inputs: { column: { classPropertyName: \"column\", publicName: \"column\", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { \"class.sortable-header-cell\": \"column().sortable\" } }, ngImport: i0, template: \"@let col = column();\\n<div class=\\\"space-between\\\">\\n <div class=\\\"table-header\\\">\\n <span\\n (click)=\\\"sort($event)\\\"\\n (keyup.enter)=\\\"sort($event)\\\"\\n class=\\\"header-cell-text\\\"\\n [attr.tabindex]=\\\"col.sortable ? 0 : -1\\\"\\n [attr.role]=\\\"col.sortable ? 'button' : 'presentation'\\\"\\n >\\n {{ col.header }}\\n </span>\\n </div>\\n @if (col.sortable) { @let direction = sortDirection(); @if (direction ===\\n 'asc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container rdtIconOutlet [inputs]=\\\"{ name: sortAscIcon }\\\"></ng-container>\\n </button>\\n } @else if (direction === 'desc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortDescIcon }\\\"\\n ></ng-container>\\n </button>\\n } @else {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortEnabledIcon }\\\"\\n ></ng-container>\\n </button>\\n }}\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"directive\", type: i1.RdtIconOutletDirective, selector: \"[rdtIconOutlet]\", exportAs: [\"rdtIconOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtHeaderCellRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-header-cell-renderer', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.sortable-header-cell]': 'column().sortable',\n }, template: \"@let col = column();\\n<div class=\\\"space-between\\\">\\n <div class=\\\"table-header\\\">\\n <span\\n (click)=\\\"sort($event)\\\"\\n (keyup.enter)=\\\"sort($event)\\\"\\n class=\\\"header-cell-text\\\"\\n [attr.tabindex]=\\\"col.sortable ? 0 : -1\\\"\\n [attr.role]=\\\"col.sortable ? 'button' : 'presentation'\\\"\\n >\\n {{ col.header }}\\n </span>\\n </div>\\n @if (col.sortable) { @let direction = sortDirection(); @if (direction ===\\n 'asc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container rdtIconOutlet [inputs]=\\\"{ name: sortAscIcon }\\\"></ng-container>\\n </button>\\n } @else if (direction === 'desc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortDescIcon }\\\"\\n ></ng-container>\\n </button>\\n } @else {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortEnabledIcon }\\\"\\n ></ng-container>\\n </button>\\n }}\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvcmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvcmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFZbkUsTUFBTSxPQUFPLDhCQUE4QjtJQUN0QixZQUFZLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDeEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztJQUMxQyxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO0lBQ08sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUUsSUFBSSxDQUFDLEtBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7dUdBZlUsOEJBQThCOzJGQUE5Qiw4QkFBOEIsd1NDckIzQywwZ0NBa0NBOzsyRkRiYSw4QkFBOEI7a0JBVjFDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBR3hCLEtBQUssbUJBQ0EsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSiw4QkFBOEIsRUFBRSxtQkFBbUI7cUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0SWNvbiwgUmR0SWNvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BuZ3JkdC9pY29uJztcbmltcG9ydCB7IFJkdENvbERlZiB9IGZyb20gJy4uLy4uL21vZGVscy9jb2x1bW5zL3JkdC1jb2wtZGVmJztcbmltcG9ydCB7IFJkdFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3RhdGUvcmR0LXRhYmxlLXN0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JkdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLnNvcnRhYmxlLWhlYWRlci1jZWxsXSc6ICdjb2x1bW4oKS5zb3J0YWJsZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uUmVnaXN0cnkgPSBpbmplY3QoUmR0SWNvblJlZ2lzdHJ5U2VydmljZSk7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFRhYmxlU3RvcmUpO1xuICByZWFkb25seSBjb2x1bW4gPSBpbnB1dC5yZXF1aXJlZDxSZHRDb2xEZWY8YW55Pj4oKTtcbiAgcmVhZG9ubHkgc29ydERpcmVjdGlvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zdG9yZS5nZXRTb3J0RGlyZWN0aW9uKHRoaXMuY29sdW1uKCkpXG4gICk7XG4gIHJlYWRvbmx5IHNvcnRBc2NJY29uID0gdGhpcy5pY29uUmVnaXN0cnkuZ2V0SWNvbihSZHRJY29uLlNvcnRBc2MpO1xuICByZWFkb25seSBzb3J0RGVzY0ljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFJkdEljb24uU29ydERlc2MpO1xuICByZWFkb25seSBzb3J0RW5hYmxlZEljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFJkdEljb24uU29ydEVuYWJsZWQpO1xuICBzb3J0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLmNvbHVtbigpLnNvcnRhYmxlKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuc3RvcmUudG9nZ2xlU29ydCh0aGlzLmNvbHVtbigpKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBsZXQgY29sID0gY29sdW1uKCk7XG48ZGl2IGNsYXNzPVwic3BhY2UtYmV0d2VlblwiPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgPHNwYW5cbiAgICAgIChjbGljayk9XCJzb3J0KCRldmVudClcIlxuICAgICAgKGtleXVwLmVudGVyKT1cInNvcnQoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImhlYWRlci1jZWxsLXRleHRcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwiY29sLnNvcnRhYmxlID8gMCA6IC0xXCJcbiAgICAgIFthdHRyLnJvbGVdPVwiY29sLnNvcnRhYmxlID8gJ2J1dHRvbicgOiAncHJlc2VudGF0aW9uJ1wiXG4gICAgPlxuICAgICAge3sgY29sLmhlYWRlciB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIEBpZiAoY29sLnNvcnRhYmxlKSB7IEBsZXQgZGlyZWN0aW9uID0gc29ydERpcmVjdGlvbigpOyBAaWYgKGRpcmVjdGlvbiA9PT1cbiAgJ2FzYycpIHtcbiAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIiAoY2xpY2spPVwic29ydCgkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciByZHRJY29uT3V0bGV0IFtpbnB1dHNdPVwieyBuYW1lOiBzb3J0QXNjSWNvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuICB9IEBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdkZXNjJykge1xuICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiIChjbGljayk9XCJzb3J0KCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICByZHRJY29uT3V0bGV0XG4gICAgICBbaW5wdXRzXT1cInsgbmFtZTogc29ydERlc2NJY29uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG4gIH0gQGVsc2Uge1xuICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiIChjbGljayk9XCJzb3J0KCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICByZHRJY29uT3V0bGV0XG4gICAgICBbaW5wdXRzXT1cInsgbmFtZTogc29ydEVuYWJsZWRJY29uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG4gIH19XG48L2Rpdj5cbiJdfQ==","import { afterRenderEffect, booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, ElementRef, inject, Injector, input, linkedSignal, output, Renderer2, signal, untracked, ViewChild, ViewChildren, ViewEncapsulation, } from '@angular/core';\nimport { RdtRouterService } from '@ngrdt/router';\nimport { RdtTableStore } from '../../models/state/rdt-table-store';\nimport { selectIdTransform } from './rdt-table.utilts';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/cdk/table\";\nimport * as i4 from \"@ngrdt/forms\";\nimport * as i5 from \"../rdt-table-paginator/rdt-table-paginator.component\";\nimport * as i6 from \"../../renderers/rdt-header-cell-renderer/rdt-header-cell-renderer.component\";\nexport class RdtTableComponent {\n router = inject(RdtRouterService);\n itemIdFn = input.required({ transform: (selectIdTransform) });\n colDefsInput = input([], { alias: 'colDefs' });\n colDefs = linkedSignal(() => this.colDefsInput());\n size = input('md');\n selectMode = input('none');\n showPaginator = input(true, { transform: booleanAttribute });\n showSelectAll = input(true, { transform: booleanAttribute });\n autoSize = input(true, { transform: booleanAttribute });\n displayedColumns = input(undefined);\n notFoundConfig = input({\n header: 'RDT_TABLE_NOT_FOUND_HEADER',\n message: 'RDT_TABLE_NOT_FOUND_MESSAGE',\n });\n usesDoubleClickInput = input(false, {\n transform: booleanAttribute,\n alias: 'usesDoubleClick',\n });\n usesDoubleClick = linkedSignal(() => this.usesDoubleClickInput());\n tableEl;\n headerCells = [];\n defaultColumnWidth = 200; //px\n savedColumnWidths = signal(new Map());\n hasInitializedWidths = signal(false);\n explicitWidthsApplied = signal(new Set());\n rowDoubleClick = output();\n selectKey = 'RdtTableSelectColumnKey';\n allColumnKeys = computed(() => {\n return this.colDefs().map((col) => col.key);\n });\n realDisplayedColumns = computed(() => {\n const columns = this.displayedColumns() ?? this.allColumnKeys();\n if (this.selectMode() !== 'none') {\n return [this.selectKey, ...columns];\n }\n else {\n return columns;\n }\n });\n clickDebounceTime = computed(() => this.usesDoubleClick() ? 250 : 0);\n getColumnWidth(col) {\n return col?.width;\n }\n getMinColumnWidth(col) {\n return col?.minWidth;\n }\n getMaxColumnWidth(col) {\n if (!this.autoSize()) {\n return col.maxWidth;\n }\n return col?.maxWidth ?? `${this.defaultColumnWidth}px`;\n }\n injector = inject(Injector);\n cd = inject(ChangeDetectorRef);\n renderer = inject(Renderer2);\n store = inject(RdtTableStore);\n dataChangeEffect = afterRenderEffect({\n earlyRead: () => {\n const data = this.store.entities();\n const loading = this.store.loading();\n if (!loading && this.autoSize() && data.length > 0) {\n const table = this.tableEl?.nativeElement;\n if (!table)\n return [];\n return this.headerCells.map((cellRef, index) => {\n const col = cellRef.nativeElement;\n const colDefIndex = index - 1;\n const colDef = this.colDefs()[colDefIndex];\n const colWidth = col.getBoundingClientRect().width;\n return {\n col: col,\n index,\n colDef,\n colWidth,\n hasExplicitMinWidth: colDef?.minWidth !== undefined,\n hasExplicitMaxWidth: colDef?.maxWidth !== undefined,\n };\n });\n }\n return [];\n },\n write: (measurementsSignal) => {\n const measurements = measurementsSignal();\n if (!measurements || measurements.length === 0)\n return;\n measurements.forEach(({ col, index, colDef, colWidth, hasExplicitMinWidth, hasExplicitMaxWidth, }) => {\n if (hasExplicitMinWidth || hasExplicitMaxWidth) {\n if (colDef) {\n this.applyColumnWidths(col, index, colDef, hasExplicitMinWidth, hasExplicitMaxWidth);\n }\n }\n else {\n this.handleAutoSizing(col, index, colWidth);\n }\n });\n this.hasInitializedWidths.set(true);\n },\n });\n onCellDblClick(row, column) {\n if (column.interactive(row)) {\n return;\n }\n this.rowDoubleClick.emit(row);\n }\n onCellClick(row, column) {\n if (column.interactive(row)) {\n return;\n }\n this.onSelect(row);\n }\n onSelect(row) {\n const mode = untracked(this.selectMode);\n if (mode === 'multi') {\n this.store.toggleSelectItem(row);\n }\n else if (mode === 'single') {\n this.store.toggleSelectSingleItem(row);\n }\n }\n selectAll() {\n this.store.toggleSelectAll();\n }\n getCellCursor(row, column) {\n if (column.interactive(row)) {\n return 'default';\n }\n if (this.selectMode() !== 'none' || this.usesDoubleClick()) {\n return 'pointer';\n }\n return 'default';\n }\n applyColumnWidths(col, index, colDef, hasExplicitMinWidth, hasExplicitMaxWidth) {\n const { minWidth, maxWidth } = colDef;\n if (!this.explicitWidthsApplied().has(index)) {\n if (hasExplicitMinWidth) {\n this.renderer.setStyle(col, 'minWidth', minWidth);\n }\n if (hasExplicitMaxWidth) {\n this.renderer.setStyle(col, 'maxWidth', maxWidth);\n }\n this.renderer.setStyle(col, 'width', maxWidth ? maxWidth : minWidth);\n this.explicitWidthsApplied.update((set) => new Set([...set, index]));\n }\n }\n handleAutoSizing(col, index, colWidth) {\n let finalWidth;\n if (!this.hasInitializedWidths()) {\n // first render\n finalWidth =\n colWidth < this.defaultColumnWidth ? colWidth : this.defaultColumnWidth;\n this.savedColumnWidths.update((map) => new Map([...map, [index, finalWidth]]));\n }\n else {\n // other renders\n finalWidth =\n this.savedColumnWidths().get(index) || this.defaultColumnWidth;\n }\n const widthPx = `${finalWidth}px`;\n this.renderer.setStyle(col, 'width', widthPx);\n this.renderer.setStyle(col, 'minWidth', widthPx);\n this.renderer.setStyle(col, 'maxWidth', widthPx);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.0\", type: RdtTableComponent, isStandalone: false, selector: \"rdt-table\", inputs: { itemIdFn: { classPropertyName: \"itemIdFn\", publicName: \"itemIdFn\", isSignal: true, isRequired: true, transformFunction: null }, colDefsInput: { classPropertyName: \"colDefsInput\", publicName: \"colDefs\", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: \"selectMode\", publicName: \"selectMode\", isSignal: true, isRequired: false, transformFunction: null }, showPaginator: { classPropertyName: \"showPaginator\", publicName: \"showPaginator\", isSignal: true, isRequired: false, transformFunction: null }, showSelectAll: { classPropertyName: \"showSelectAll\", publicName: \"showSelectAll\", isSignal: true, isRequired: false, transformFunction: null }, autoSize: { classPropertyName: \"autoSize\", publicName: \"autoSize\", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: \"displayedColumns\", publicName: \"displayedColumns\", isSignal: true, isRequired: false, transformFunction: null }, notFoundConfig: { classPropertyName: \"notFoundConfig\", publicName: \"notFoundConfig\", isSignal: true, isRequired: false, transformFunction: null }, usesDoubleClickInput: { classPropertyName: \"usesDoubleClickInput\", publicName: \"usesDoubleClick\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowDoubleClick: \"rowDoubleClick\" }, providers: [RdtTableStore], viewQueries: [{ propertyName: \"tableEl\", first: true, predicate: [\"tableEl\"], descendants: true, read: ElementRef }, { propertyName: \"headerCells\", predicate: [\"headerEl\"], descendants: true, read: ElementRef }], exportAs: [\"rdtTable\"], ngImport: i0, template: \"@let data = store.entities(); @let loading = store.loading() || !store.ready();\\n<div [class]=\\\"'rdt-table--' + size()\\\" class=\\\"rdt-table-wrapper\\\">\\n <table cdk-table [dataSource]=\\\"loading ? data : data\\\" slot=\\\"table\\\" #tableEl>\\n @let colNames = realDisplayedColumns();\\n <tr cdk-header-row *cdkHeaderRowDef=\\\"colNames\\\"></tr>\\n <tr\\n cdk-row\\n *cdkRowDef=\\\"let row; columns: colNames\\\"\\n [class.row-selected]=\\\"store.isSelected(row)\\\"\\n ></tr>\\n\\n <ng-container [cdkColumnDef]=\\\"selectKey\\\" [sticky]=\\\"true\\\">\\n @let mode = selectMode();\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n class=\\\"rdt-select-column-header\\\"\\n #headerEl\\n >\\n @if (showSelectAll() && mode === 'multi') {\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.selectedAll()\\\"\\n (checkedChange)=\\\"selectAll()\\\"\\n ></ng-container>\\n }\\n </th>\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n class=\\\"rdt-select-column-cell\\\"\\n >\\n <div class=\\\"rdt-select-column-cell-wrapper\\\">\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.isSelected(row)\\\"\\n (checkedChange)=\\\"onSelect(row)\\\"\\n ></ng-container>\\n </div>\\n </td>\\n </ng-container>\\n\\n @for (column of colDefs(); track column.key) {\\n <ng-container\\n [cdkColumnDef]=\\\"column.key\\\"\\n [sticky]=\\\"column.sticky === 'start'\\\"\\n [stickyEnd]=\\\"column.sticky === 'end'\\\"\\n >\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n [class]=\\\"column.headerClass\\\"\\n [style]=\\\"column.headerStyle\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n #headerEl\\n >\\n <rdt-header-cell-renderer [column]=\\\"column\\\" />\\n </th>\\n\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n [class]=\\\"column.cellClass(row)\\\"\\n [style]=\\\"column.cellStyle(row)\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n (click.double)=\\\"onCellDblClick(row, column)\\\"\\n (click.single)=\\\"onCellClick(row, column)\\\"\\n [style.cursor]=\\\"getCellCursor(row, column)\\\"\\n >\\n <!-- [debounceTime]=\\\"clickDebounceTime()\\\" -->\\n <ng-container\\n *ngComponentOutlet=\\\"\\n column.cellRenderer;\\n injector: injector;\\n inputs: {\\n row: row,\\n index: i,\\n store: store,\\n cellRendererParams: column.cellRendererParams,\\n }\\n \\\"\\n >\\n </ng-container>\\n </td>\\n </ng-container>\\n }\\n </table>\\n <!-- @if (loading) {\\n <div class=\\\"spinner-wrapper special-content\\\">\\n <rdt-spinner />\\n </div>\\n } -->\\n <!-- @else if (store.fetchError(); as error) {\\n <div class=\\\"error-wrapper special-content\\\">\\n <rdt-table-no-result type=\\\"error\\\" [config]=\\\"error\\\" />\\n </div>\\n } @else if (data.length === 0) {\\n <rdt-table-no-result type=\\\"not-found\\\" [config]=\\\"notFoundConfig()\\\" />\\n } -->\\n</div>\\n\\n<!-- @if (showPaginator()) { -->\\n<rdt-table-paginator />\\n<!-- } -->\\n\", styles: [\":root{--rdt-table-height-sm: 250px;--rdt-table-height-md: 350px;--rdt-table-height-lg: 500px;--rdt-table-cell-padding: .25em}table{width:100%}rdt-table .rdt-table--sm .special-content{height:calc(var(--rdt-table-height-sm) - var(--gov-text-xs-font-size) - 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--md .special-content{height:calc(var(--rdt-table-height-md) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--lg .special-content{height:calc(var(--rdt-table-height-lg) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table thead{z-index:9;position:sticky;top:0}rdt-table .action-btn{border:none;outline:none;border-radius:4px;background-color:#00000006;padding:4px 8px;font-weight:500}rdt-table .action-btn:hover{cursor:pointer;background-color:#00000013}rdt-table .action-btn.selected{background-color:#00000020;color:#000}rdt-table .space-between{display:flex;justify-content:space-between}rdt-table .spinner-wrapper{display:flex;justify-content:center;height:100%;align-items:center}rdt-table .no-records{height:100%}rdt-table .table-header{display:flex;align-items:center;gap:2px}rdt-table td.cdk-table-sticky{background:var(--gov-color-neutral-white)!important}rdt-table td,rdt-table th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:anywhere}rdt-table td{padding:0!important}rdt-table .rdt-select-column-header,rdt-table .rdt-select-column-cell{width:calc(var(--gov-form-checkbox-core-xs-indicator-size, 1rem) + 2 * var(--rdt-table-cell-padding));padding:var(--rdt-table-cell-padding)!important}rdt-table .row-selected td{background-color:var(--gov-color-primary-100)!important}rdt-table .cell-value-base{display:block;width:100%;padding:.25rem .5rem;overflow:hidden;text-overflow:ellipsis}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: i3.CdkTable, selector: \"cdk-table, table[cdk-table]\", inputs: [\"trackBy\", \"dataSource\", \"multiTemplateDataRows\", \"fixedLayout\"], outputs: [\"contentChanged\"], exportAs: [\"cdkTable\"] }, { kind: \"directive\", type: i3.CdkRowDef, selector: \"[cdkRowDef]\", inputs: [\"cdkRowDefColumns\", \"cdkRowDefWhen\"] }, { kind: \"directive\", type: i3.CdkCellDef, selector: \"[cdkCellDef]\" }, { kind: \"directive\", type: i3.CdkHeaderCellDef, selector: \"[cdkHeaderCellDef]\" }, { kind: \"directive\", type: i3.CdkColumnDef, selector: \"[cdkColumnDef]\", inputs: [\"cdkColumnDef\", \"sticky\", \"stickyEnd\"] }, { kind: \"directive\", type: i3.CdkCell, selector: \"cdk-cell, td[cdk-cell]\" }, { kind: \"component\", type: i3.CdkRow, selector: \"cdk-row, tr[cdk-row]\" }, { kind: \"directive\", type: i3.CdkHeaderCell, selector: \"cdk-header-cell, th[cdk-header-cell]\" }, { kind: \"component\", type: i3.CdkHeaderRow, selector: \"cdk-header-row, tr[cdk-header-row]\" }, { kind: \"directive\", type: i3.CdkHeaderRowDef, selector: \"[cdkHeaderRowDef]\", inputs: [\"cdkHeaderRowDef\", \"cdkHeaderRowDefSticky\"] }, { kind: \"directive\", type: i4.RdtCheckboxOutletDirective, selector: \"[rdtCheckboxOutlet]\", outputs: [\"checkedChange\"], exportAs: [\"rdtCheckboxOutlet\"] }, { kind: \"component\", type: i5.RdtTablePaginatorComponent, selector: \"rdt-table-paginator\" }, { kind: \"component\", type: i6.RdtHeaderCellRendererComponent, selector: \"rdt-header-cell-renderer\", inputs: [\"column\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [RdtTableStore], standalone: false, encapsulation: ViewEncapsulation.None, exportAs: 'rdtTable', template: \"@let data = store.entities(); @let loading = store.loading() || !store.ready();\\n<div [class]=\\\"'rdt-table--' + size()\\\" class=\\\"rdt-table-wrapper\\\">\\n <table cdk-table [dataSource]=\\\"loading ? data : data\\\" slot=\\\"table\\\" #tableEl>\\n @let colNames = realDisplayedColumns();\\n <tr cdk-header-row *cdkHeaderRowDef=\\\"colNames\\\"></tr>\\n <tr\\n cdk-row\\n *cdkRowDef=\\\"let row; columns: colNames\\\"\\n [class.row-selected]=\\\"store.isSelected(row)\\\"\\n ></tr>\\n\\n <ng-container [cdkColumnDef]=\\\"selectKey\\\" [sticky]=\\\"true\\\">\\n @let mode = selectMode();\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n class=\\\"rdt-select-column-header\\\"\\n #headerEl\\n >\\n @if (showSelectAll() && mode === 'multi') {\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.selectedAll()\\\"\\n (checkedChange)=\\\"selectAll()\\\"\\n ></ng-container>\\n }\\n </th>\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n class=\\\"rdt-select-column-cell\\\"\\n >\\n <div class=\\\"rdt-select-column-cell-wrapper\\\">\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.isSelected(row)\\\"\\n (checkedChange)=\\\"onSelect(row)\\\"\\n ></ng-container>\\n </div>\\n </td>\\n </ng-container>\\n\\n @for (column of colDefs(); track column.key) {\\n <ng-container\\n [cdkColumnDef]=\\\"column.key\\\"\\n [sticky]=\\\"column.sticky === 'start'\\\"\\n [stickyEnd]=\\\"column.sticky === 'end'\\\"\\n >\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n [class]=\\\"column.headerClass\\\"\\n [style]=\\\"column.headerStyle\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n #headerEl\\n >\\n <rdt-header-cell-renderer [column]=\\\"column\\\" />\\n </th>\\n\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n [class]=\\\"column.cellClass(row)\\\"\\n [style]=\\\"column.cellStyle(row)\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n (click.double)=\\\"onCellDblClick(row, column)\\\"\\n (click.single)=\\\"onCellClick(row, column)\\\"\\n [style.cursor]=\\\"getCellCursor(row, column)\\\"\\n >\\n <!-- [debounceTime]=\\\"clickDebounceTime()\\\" -->\\n <ng-container\\n *ngComponentOutlet=\\\"\\n column.cellRenderer;\\n injector: injector;\\n inputs: {\\n row: row,\\n index: i,\\n store: store,\\n cellRendererParams: column.cellRendererParams,\\n }\\n \\\"\\n >\\n </ng-container>\\n </td>\\n </ng-container>\\n }\\n </table>\\n <!-- @if (loading) {\\n <div class=\\\"spinner-wrapper special-content\\\">\\n <rdt-spinner />\\n </div>\\n } -->\\n <!-- @else if (store.fetchError(); as error) {\\n <div class=\\\"error-wrapper special-content\\\">\\n <rdt-table-no-result type=\\\"error\\\" [config]=\\\"error\\\" />\\n </div>\\n } @else if (data.length === 0) {\\n <rdt-table-no-result type=\\\"not-found\\\" [config]=\\\"notFoundConfig()\\\" />\\n } -->\\n</div>\\n\\n<!-- @if (showPaginator()) { -->\\n<rdt-table-paginator />\\n<!-- } -->\\n\", styles: [\":root{--rdt-table-height-sm: 250px;--rdt-table-height-md: 350px;--rdt-table-height-lg: 500px;--rdt-table-cell-padding: .25em}table{width:100%}rdt-table .rdt-table--sm .special-content{height:calc(var(--rdt-table-height-sm) - var(--gov-text-xs-font-size) - 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--md .special-content{height:calc(var(--rdt-table-height-md) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--lg .special-content{height:calc(var(--rdt-table-height-lg) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table thead{z-index:9;position:sticky;top:0}rdt-table .action-btn{border:none;outline:none;border-radius:4px;background-color:#00000006;padding:4px 8px;font-weight:500}rdt-table .action-btn:hover{cursor:pointer;background-color:#00000013}rdt-table .action-btn.selected{background-color:#00000020;color:#000}rdt-table .space-between{display:flex;justify-content:space-between}rdt-table .spinner-wrapper{display:flex;justify-content:center;height:100%;align-items:center}rdt-table .no-records{height:100%}rdt-table .table-header{display:flex;align-items:center;gap:2px}rdt-table td.cdk-table-sticky{background:var(--gov-color-neutral-white)!important}rdt-table td,rdt-table th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:anywhere}rdt-table td{padding:0!important}rdt-table .rdt-select-column-header,rdt-table .rdt-select-column-cell{width:calc(var(--gov-form-checkbox-core-xs-indicator-size, 1rem) + 2 * var(--rdt-table-cell-padding));padding:var(--rdt-table-cell-padding)!important}rdt-table .row-selected td{background-color:var(--gov-color-primary-100)!important}rdt-table .cell-value-base{display:block;width:100%;padding:.25rem .5rem;overflow:hidden;text-overflow:ellipsis}\\n\"] }]\n }], propDecorators: { tableEl: [{\n type: ViewChild,\n args: ['tableEl', { static: false, read: ElementRef }]\n }], headerCells: [{\n type: ViewChildren,\n args: ['headerEl', { read: ElementRef }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvdGFibGUvcmR0LXRhYmxlL3JkdC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFZdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFBLGlCQUFvQixDQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELFlBQVksR0FBRyxLQUFLLENBQWlCLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlB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QUFnQjtZQUNoQixVQUFVO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbkUsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsVUFBVSxJQUFJLENBQUM7UUFFbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQzt1R0F6TlUsaUJBQWlCOzJGQUFqQixpQkFBaUIscStDQUxqQixDQUFDLGFBQWEsQ0FBQyx5R0EyQm1CLFVBQVUscUZBR3JCLFVBQVUscURDOUQ5QyxpNUdBNEdBOzsyRkR2RWEsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUssaUJBQ0YsaUJBQWlCLENBQUMsSUFBSSxZQUMzQixVQUFVOzhCQXlCSCxPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJeEMsV0FBVztzQkFEM0IsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJSZW5kZXJFZmZlY3QsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgb3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZHRSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnQG5ncmR0L3JvdXRlcic7XG5pbXBvcnQgeyBSZHRDb2xEZWYgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1ucy9yZHQtY29sLWRlZic7XG5pbXBvcnQgeyBSZHRUYWJsZU1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3RhdGUvcmR0LXRhYmxlLW1lc3NhZ2UnO1xuaW1wb3J0IHsgUmR0VGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL21vZGVscy9zdGF0ZS9yZHQtdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgc2VsZWN0SWRUcmFuc2Zvcm0gfSBmcm9tICcuL3JkdC10YWJsZS51dGlsdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JkdC10YWJsZS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtSZHRUYWJsZVN0b3JlXSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGV4cG9ydEFzOiAncmR0VGFibGUnLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgb2JqZWN0LCBURmlsdGVyID0gVD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSZHRSb3V0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgaXRlbUlkRm4gPSBpbnB1dC5yZXF1aXJlZCh7IHRyYW5zZm9ybTogc2VsZWN0SWRUcmFuc2Zvcm08VD4gfSk7XG4gIHJlYWRvbmx5IGNvbERlZnNJbnB1dCA9IGlucHV0PFJkdENvbERlZjxUPltdPihbXSwgeyBhbGlhczogJ2NvbERlZnMnIH0pO1xuICByZWFkb25seSBjb2xEZWZzID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuY29sRGVmc0lucHV0KCkpO1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8J3NtJyB8ICdtZCcgfCAnbGcnIHwgJ2F1dG8nPignbWQnKTtcblxuICByZWFkb25seSBzZWxlY3RNb2RlID0gaW5wdXQ8J211bHRpJyB8ICdzaW5nbGUnIHwgJ25vbmUnPignbm9uZScpO1xuICByZWFkb25seSBzaG93UGFnaW5hdG9yID0gaW5wdXQodHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIHJlYWRvbmx5IHNob3dTZWxlY3RBbGwgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgcmVhZG9ubHkgYXV0b1NpemUgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IGlucHV0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBub3RGb3VuZENvbmZpZyA9IGlucHV0PFJkdFRhYmxlTWVzc2FnZT4oe1xuICAgIGhlYWRlcjogJ1JEVF9UQUJMRV9OT1RfRk9VTkRfSEVBREVSJyxcbiAgICBtZXNzYWdlOiAnUkRUX1RBQkxFX05PVF9GT1VORF9NRVNTQUdFJyxcbiAgfSk7XG4gIHJlYWRvbmx5IHVzZXNEb3VibGVDbGlja0lucHV0ID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgYWxpYXM6ICd1c2VzRG91YmxlQ2xpY2snLFxuICB9KTtcbiAgcmVhZG9ubHkgdXNlc0RvdWJsZUNsaWNrID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMudXNlc0RvdWJsZUNsaWNrSW5wdXQoKSk7XG5cbiAgQFZpZXdDaGlsZCgndGFibGVFbCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlRWw6IEVsZW1lbnRSZWY8SFRNTFRhYmxlRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZHJlbignaGVhZGVyRWwnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJDZWxsczogRWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD5bXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdENvbHVtbldpZHRoID0gMjAwOyAvL3B4XG4gIHByaXZhdGUgc2F2ZWRDb2x1bW5XaWR0aHMgPSBzaWduYWwobmV3IE1hcDxudW1iZXIsIG51bWJlcj4oKSk7XG4gIHByaXZhdGUgaGFzSW5pdGlhbGl6ZWRXaWR0aHMgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGV4cGxpY2l0V2lkdGhzQXBwbGllZCA9IHNpZ25hbChuZXcgU2V0PG51bWJlcj4oKSk7XG4gIHJlYWRvbmx5IHJvd0RvdWJsZUNsaWNrID0gb3V0cHV0PFQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdEtleSA9ICdSZHRUYWJsZVNlbGVjdENvbHVtbktleSc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsbENvbHVtbktleXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY29sRGVmcygpLm1hcCgoY29sKSA9PiBjb2wua2V5KTtcbiAgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZWFsRGlzcGxheWVkQ29sdW1ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zKCkgPz8gdGhpcy5hbGxDb2x1bW5LZXlzKCk7XG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSgpICE9PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBbdGhpcy5zZWxlY3RLZXksIC4uLmNvbHVtbnNdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjbGlja0RlYm91bmNlVGltZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy51c2VzRG91YmxlQ2xpY2soKSA/IDI1MCA6IDBcbiAgKTtcblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uV2lkdGgoY29sOiBSZHRDb2xEZWY8VD4pIHtcbiAgICByZXR1cm4gY29sPy53aWR0aDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRNaW5Db2x1bW5XaWR0aChjb2w6IFJkdENvbERlZjxUPikge1xuICAgIHJldHVybiBjb2w/Lm1pbldpZHRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1heENvbHVtbldpZHRoKGNvbDogUmR0Q29sRGVmPFQ+KSB7XG4gICAgaWYgKCF0aGlzLmF1dG9TaXplKCkpIHtcbiAgICAgIHJldHVybiBjb2wubWF4V2lkdGg7XG4gICAgfVxuICAgIHJldHVybiBjb2w/Lm1heFdpZHRoID8/IGAke3RoaXMuZGVmYXVsdENvbHVtbldpZHRofXB4YDtcbiAgfVxuXG4gIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcmVhZG9ubHkgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSBzdG9yZSA9IGluamVjdChSZHRUYWJsZVN0b3JlKSBhcyB1bmtub3duIGFzIFJkdFRhYmxlU3RvcmU8XG4gICAgVCxcbiAgICBURmlsdGVyXG4gID47XG5cbiAgcHJpdmF0ZSBkYXRhQ2hhbmdlRWZmZWN0ID0gYWZ0ZXJSZW5kZXJFZmZlY3Qoe1xuICAgIGVhcmx5UmVhZDogKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuc3RvcmUuZW50aXRpZXMoKTtcbiAgICAgIGNvbnN0IGxvYWRpbmcgPSB0aGlzLnN0b3JlLmxvYWRpbmcoKTtcblxuICAgICAgaWYgKCFsb2FkaW5nICYmIHRoaXMuYXV0b1NpemUoKSAmJiBkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlRWw/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICghdGFibGUpIHJldHVybiBbXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5oZWFkZXJDZWxscy5tYXAoKGNlbGxSZWYsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29sID0gY2VsbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IGNvbERlZkluZGV4ID0gaW5kZXggLSAxO1xuICAgICAgICAgIGNvbnN0IGNvbERlZiA9IHRoaXMuY29sRGVmcygpW2NvbERlZkluZGV4XTtcbiAgICAgICAgICBjb25zdCBjb2xXaWR0aCA9IGNvbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2w6IGNvbCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29sRGVmLFxuICAgICAgICAgICAgY29sV2lkdGgsXG4gICAgICAgICAgICBoYXNFeHBsaWNpdE1pbldpZHRoOiBjb2xEZWY/Lm1pbldpZHRoICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBoYXNFeHBsaWNpdE1heFdpZHRoOiBjb2xEZWY/Lm1heFdpZHRoICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSxcbiAgICB3cml0ZTogKG1lYXN1cmVtZW50c1NpZ25hbCkgPT4ge1xuICAgICAgY29uc3QgbWVhc3VyZW1lbnRzID0gbWVhc3VyZW1lbnRzU2lnbmFsKCk7XG4gICAgICBpZiAoIW1lYXN1cmVtZW50cyB8fCBtZWFzdXJlbWVudHMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICAgIG1lYXN1cmVtZW50cy5mb3JFYWNoKFxuICAgICAgICAoe1xuICAgICAgICAgIGNvbCxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBjb2xEZWYsXG4gICAgICAgICAgY29sV2lkdGgsXG4gICAgICAgICAgaGFzRXhwbGljaXRNaW5XaWR0aCxcbiAgICAgICAgICBoYXNFeHBsaWNpdE1heFdpZHRoLFxuICAgICAgICB9KSA9PiB7XG4gICAgICAgICAgaWYgKGhhc0V4cGxpY2l0TWluV2lkdGggfHwgaGFzRXhwbGljaXRNYXhXaWR0aCkge1xuICAgICAgICAgICAgaWYgKGNvbERlZikge1xuICAgICAgICAgICAgICB0aGlzLmFwcGx5Q29sdW1uV2lkdGhzKFxuICAgICAgICAgICAgICAgIGNvbCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgICBjb2xEZWYsXG4gICAgICAgICAgICAgICAgaGFzRXhwbGljaXRNaW5XaWR0aCxcbiAgICAgICAgICAgICAgICBoYXNFeHBsaWNpdE1heFdpZHRoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0b1NpemluZyhjb2wsIGluZGV4LCBjb2xXaWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICB0aGlzLmhhc0luaXRpYWxpemVkV2lkdGhzLnNldCh0cnVlKTtcbiAgICB9LFxuICB9KTtcblxuICBvbkNlbGxEYmxDbGljayhyb3c6IFQsIGNvbHVtbjogUmR0Q29sRGVmPFQ+KSB7XG4gICAgaWYgKGNvbHVtbi5pbnRlcmFjdGl2ZShyb3cpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucm93RG91YmxlQ2xpY2suZW1pdChyb3cpO1xuICB9XG5cbiAgb25DZWxsQ2xpY2socm93OiBULCBjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgIGlmIChjb2x1bW4uaW50ZXJhY3RpdmUocm93KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uU2VsZWN0KHJvdyk7XG4gIH1cblxuICBvblNlbGVjdChyb3c6IFQpIHtcbiAgICBjb25zdCBtb2RlID0gdW50cmFja2VkKHRoaXMuc2VsZWN0TW9kZSk7XG4gICAgaWYgKG1vZGUgPT09ICdtdWx0aScpIHtcbiAgICAgIHRoaXMuc3RvcmUudG9nZ2xlU2VsZWN0SXRlbShyb3cpO1xuICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuc3RvcmUudG9nZ2xlU2VsZWN0U2luZ2xlSXRlbShyb3cpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnN0b3JlLnRvZ2dsZVNlbGVjdEFsbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENlbGxDdXJzb3Iocm93OiBULCBjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgIGlmIChjb2x1bW4uaW50ZXJhY3RpdmUocm93KSkge1xuICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSgpICE9PSAnbm9uZScgfHwgdGhpcy51c2VzRG91YmxlQ2xpY2soKSkge1xuICAgICAgcmV0dXJuICdwb2ludGVyJztcbiAgICB9XG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDb2x1bW5XaWR0aHMoXG4gICAgY29sOiBIVE1MRWxlbWVudCxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGNvbERlZjogUmR0Q29sRGVmPFQ+LFxuICAgIGhhc0V4cGxpY2l0TWluV2lkdGg6IGJvb2xlYW4sXG4gICAgaGFzRXhwbGljaXRNYXhXaWR0aDogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCB7IG1pbldpZHRoLCBtYXhXaWR0aCB9ID0gY29sRGVmO1xuXG4gICAgaWYgKCF0aGlzLmV4cGxpY2l0V2lkdGhzQXBwbGllZCgpLmhhcyhpbmRleCkpIHtcbiAgICAgIGlmIChoYXNFeHBsaWNpdE1pbldpZHRoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnbWluV2lkdGgnLCBtaW5XaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNFeHBsaWNpdE1heFdpZHRoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnbWF4V2lkdGgnLCBtYXhXaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnd2lkdGgnLCBtYXhXaWR0aCA/IG1heFdpZHRoIDogbWluV2lkdGgpO1xuXG4gICAgICB0aGlzLmV4cGxpY2l0V2lkdGhzQXBwbGllZC51cGRhdGUoKHNldCkgPT4gbmV3IFNldChbLi4uc2V0LCBpbmRleF0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUF1dG9TaXppbmcoY29sOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlciwgY29sV2lkdGg6IG51bWJlcikge1xuICAgIGxldCBmaW5hbFdpZHRoOiBudW1iZXI7XG5cbiAgICBpZiAoIXRoaXMuaGFzSW5pdGlhbGl6ZWRXaWR0aHMoKSkge1xuICAgICAgLy8gZmlyc3QgcmVuZGVyXG4gICAgICBmaW5hbFdpZHRoID1cbiAgICAgICAgY29sV2lkdGggPCB0aGlzLmRlZmF1bHRDb2x1bW5XaWR0aCA/IGNvbFdpZHRoIDogdGhpcy5kZWZhdWx0Q29sdW1uV2lkdGg7XG4gICAgICB0aGlzLnNhdmVkQ29sdW1uV2lkdGhzLnVwZGF0ZShcbiAgICAgICAgKG1hcCkgPT4gbmV3IE1hcChbLi4ubWFwLCBbaW5kZXgsIGZpbmFsV2lkdGhdXSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG90aGVyIHJlbmRlcnNcbiAgICAgIGZpbmFsV2lkdGggPVxuICAgICAgICB0aGlzLnNhdmVkQ29sdW1uV2lkdGhzKCkuZ2V0KGluZGV4KSB8fCB0aGlzLmRlZmF1bHRDb2x1bW5XaWR0aDtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aFB4ID0gYCR7ZmluYWxXaWR0aH1weGA7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNvbCwgJ3dpZHRoJywgd2lkdGhQeCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjb2wsICdtaW5XaWR0aCcsIHdpZHRoUHgpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnbWF4V2lkdGgnLCB3aWR0aFB4KTtcbiAgfVxufVxuIiwiQGxldCBkYXRhID0gc3RvcmUuZW50aXRpZXMoKTsgQGxldCBsb2FkaW5nID0gc3RvcmUubG9hZGluZygpIHx8ICFzdG9yZS5yZWFkeSgpO1xuPGRpdiBbY2xhc3NdPVwiJ3JkdC10YWJsZS0tJyArIHNpemUoKVwiIGNsYXNzPVwicmR0LXRhYmxlLXdyYXBwZXJcIj5cbiAgPHRhYmxlIGNkay10YWJsZSBbZGF0YVNvdXJjZV09XCJsb2FkaW5nID8gZGF0YSA6IGRhdGFcIiBzbG90PVwidGFibGVcIiAjdGFibGVFbD5cbiAgICBAbGV0IGNvbE5hbWVzID0gcmVhbERpc3BsYXllZENvbHVtbnMoKTtcbiAgICA8dHIgY2RrLWhlYWRlci1yb3cgKmNka0hlYWRlclJvd0RlZj1cImNvbE5hbWVzXCI+PC90cj5cbiAgICA8dHJcbiAgICAgIGNkay1yb3dcbiAgICAgICpjZGtSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2xOYW1lc1wiXG4gICAgICBbY2xhc3Mucm93LXNlbGVjdGVkXT1cInN0b3JlLmlzU2VsZWN0ZWQocm93KVwiXG4gICAgPjwvdHI+XG5cbiAgICA8bmctY29udGFpbmVyIFtjZGtDb2x1bW5EZWZdPVwic2VsZWN0S2V5XCIgW3N0aWNreV09XCJ0cnVlXCI+XG4gICAgICBAbGV0IG1vZGUgPSBzZWxlY3RNb2RlKCk7XG4gICAgICA8dGhcbiAgICAgICAgY2RrLWhlYWRlci1jZWxsXG4gICAgICAgICpjZGtIZWFkZXJDZWxsRGVmXG4gICAgICAgIGNsYXNzPVwicmR0LXNlbGVjdC1jb2x1bW4taGVhZGVyXCJcbiAgICAgICAgI2hlYWRlckVsXG4gICAgICA+XG4gICAgICAgIEBpZiAoc2hvd1NlbGVjdEFsbCgpICYmIG1vZGUgPT09ICdtdWx0aScpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIHJkdENoZWNrYm94T3V0bGV0XG4gICAgICAgICAgW25nTW9kZWxdPVwic3RvcmUuc2VsZWN0ZWRBbGwoKVwiXG4gICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwic2VsZWN0QWxsKClcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvdGg+XG4gICAgICA8dGRcbiAgICAgICAgY2RrLWNlbGxcbiAgICAgICAgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJyZHQtc2VsZWN0LWNvbHVtbi1jZWxsXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJkdC1zZWxlY3QtY29sdW1uLWNlbGwtd3JhcHBlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIHJkdENoZWNrYm94T3V0bGV0XG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzdG9yZS5pc1NlbGVjdGVkKHJvdylcIlxuICAgICAgICAgICAgKGNoZWNrZWRDaGFuZ2UpPVwib25TZWxlY3Qocm93KVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICBAZm9yIChjb2x1bW4gb2YgY29sRGVmcygpOyB0cmFjayBjb2x1bW4ua2V5KSB7XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW2Nka0NvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCJcbiAgICAgIFtzdGlja3ldPVwiY29sdW1uLnN0aWNreSA9PT0gJ3N0YXJ0J1wiXG4gICAgICBbc3RpY2t5RW5kXT1cImNvbHVtbi5zdGlja3kgPT09ICdlbmQnXCJcbiAgICA+XG4gICAgICA8dGhcbiAgICAgICAgY2RrLWhlYWRlci1jZWxsXG4gICAgICAgICpjZGtIZWFkZXJDZWxsRGVmXG4gICAgICAgIFtjbGFzc109XCJjb2x1bW4uaGVhZGVyQ2xhc3NcIlxuICAgICAgICBbc3R5bGVdPVwiY29sdW1uLmhlYWRlclN0eWxlXCJcbiAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJnZXRNaW5Db2x1bW5XaWR0aChjb2x1bW4pXCJcbiAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJnZXRNYXhDb2x1bW5XaWR0aChjb2x1bW4pXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImdldENvbHVtbldpZHRoKGNvbHVtbilcIlxuICAgICAgICAjaGVhZGVyRWxcbiAgICAgID5cbiAgICAgICAgPHJkdC1oZWFkZXItY2VsbC1yZW5kZXJlciBbY29sdW1uXT1cImNvbHVtblwiIC8+XG4gICAgICA8L3RoPlxuXG4gICAgICA8dGRcbiAgICAgICAgY2RrLWNlbGxcbiAgICAgICAgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW2NsYXNzXT1cImNvbHVtbi5jZWxsQ2xhc3Mocm93KVwiXG4gICAgICAgIFtzdHlsZV09XCJjb2x1bW4uY2VsbFN0eWxlKHJvdylcIlxuICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImdldE1pbkNvbHVtbldpZHRoKGNvbHVtbilcIlxuICAgICAgICBbc3R5bGUubWF4LXdpZHRoXT1cImdldE1heENvbHVtbldpZHRoKGNvbHVtbilcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiZ2V0Q29sdW1uV2lkdGgoY29sdW1uKVwiXG4gICAgICAgIChjbGljay5kb3VibGUpPVwib25DZWxsRGJsQ2xpY2socm93LCBjb2x1bW4pXCJcbiAgICAgICAgKGNsaWNrLnNpbmdsZSk9XCJvbkNlbGxDbGljayhyb3csIGNvbHVtbilcIlxuICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImdldENlbGxDdXJzb3Iocm93LCBjb2x1bW4pXCJcbiAgICAgID5cbiAgICAgICAgPCEtLSAgW2RlYm91bmNlVGltZV09XCJjbGlja0RlYm91bmNlVGltZSgpXCIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29sdW1uLmNlbGxSZW5kZXJlcjtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IGluamVjdG9yO1xuICAgICAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgICAgICByb3c6IHJvdyxcbiAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICBzdG9yZTogc3RvcmUsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiBjb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvdGFibGU+XG4gIDwhLS0gICBAaWYgKGxvYWRpbmcpIHtcbiAgPGRpdiBjbGFzcz1cInNwaW5uZXItd3JhcHBlciBzcGVjaWFsLWNvbnRlbnRcIj5cbiAgICA8cmR0LXNwaW5uZXIgLz5cbiAgPC9kaXY+XG4gIH0gLS0+XG4gIDwhLS0gQGVsc2UgaWYgKHN0b3JlLmZldGNoRXJyb3IoKTsgYXMgZXJyb3IpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3Itd3JhcHBlciBzcGVjaWFsLWNvbnRlbnRcIj5cbiAgICAgIDxyZHQtdGFibGUtbm8tcmVzdWx0IHR5cGU9XCJlcnJvclwiIFtjb25maWddPVwiZXJyb3JcIiAvPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgIDxyZHQtdGFibGUtbm8tcmVzdWx0IHR5cGU9XCJub3QtZm91bmRcIiBbY29uZmlnXT1cIm5vdEZvdW5kQ29uZmlnKClcIiAvPlxuICB9IC0tPlxuPC9kaXY+XG5cbjwhLS0gQGlmIChzaG93UGFnaW5hdG9yKCkpIHsgLS0+XG48cmR0LXRhYmxlLXBhZ2luYXRvciAvPlxuPCEtLSB9IC0tPlxuIl19","import { Directive, inject } from '@angular/core';\nimport { RdtTableComponent } from '../table/rdt-table/rdt-table.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableNoStateDirective {\n table = inject(RdtTableComponent, { self: true });\n ngOnInit() {\n this.table.store.setReady();\n this.table.store.fetch();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableNoStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtTableNoStateDirective, isStandalone: false, selector: \"rdt-table:not([queryParamsState])\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableNoStateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'rdt-table:not([queryParamsState])',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW5vLXN0YXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvcmR0LXRhYmxlLW5vLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFNM0UsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixLQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFM0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7dUdBTlUsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS9yZHQtdGFibGUvcmR0LXRhYmxlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3JkdC10YWJsZTpub3QoW3F1ZXJ5UGFyYW1zU3RhdGVdKScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJsZU5vU3RhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSB0YWJsZSA9IGluamVjdChSZHRUYWJsZUNvbXBvbmVudCwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGUuc3RvcmUuc2V0UmVhZHkoKTtcbiAgICB0aGlzLnRhYmxlLnN0b3JlLmZldGNoKCk7XG4gIH1cbn1cbiJdfQ==","import { RdtObjectUtils } from '@ngrdt/utils';\nimport { delay, of } from 'rxjs';\nimport { RdtTableDatasource } from './rdt-table-datasource';\nexport class RdtTableOfflineDatasource extends RdtTableDatasource {\n _data;\n constructor(_data) {\n super();\n this._data = _data;\n }\n set data(value) {\n this._data = value;\n }\n get data() {\n return this._data;\n }\n // This method first filters data according to filters,\n // Then sorts the filtered data and finally paginates it.\n getData(params) {\n // Apply filtering\n let filteredData = this._data;\n if (params.filters) {\n filteredData = filteredData.filter((item) => params.filters.every((filter) => this.applyFilter(filter, item)));\n }\n // Apply sorting\n if (params.sort) {\n filteredData = filteredData.sort(this.getSortFn(params.sort));\n }\n // Apply pagination\n const start = params.pageIndex * params.pageSize;\n const end = start + params.pageSize;\n const paginatedData = filteredData.slice(start, end);\n return of({\n data: paginatedData,\n totalCount: filteredData.length,\n pageIndex: params.pageIndex,\n }).pipe(delay(300));\n }\n compare(aValue, bValue, type) {\n if (aValue == null && bValue == null) {\n return 0;\n }\n else if (aValue == null) {\n return 1; // nulls are considered greater\n }\n else if (bValue == null) {\n return -1; // nulls are considered less\n }\n switch (type) {\n case 'string':\n return aValue.localeCompare(bValue);\n case 'number':\n case 'decimal':\n return aValue - bValue;\n case 'boolean':\n return Number(aValue) - Number(bValue);\n case 'date':\n return new Date(aValue).getTime() - new Date(bValue).getTime();\n case 'enum':\n return typeof aValue === 'string' && typeof bValue === 'string'\n ? aValue.localeCompare(bValue)\n : aValue - bValue;\n default:\n return 0;\n }\n }\n getSortFn(sort) {\n return (a, b) => {\n const aValue = RdtObjectUtils.pluck(a, sort.key);\n const bValue = RdtObjectUtils.pluck(b, sort.key);\n return (this.compare(aValue, bValue, sort.type) *\n (sort.direction === 'asc' ? 1 : -1));\n };\n }\n // TODO: Implementovat jako na BE\n applyFilter(filter, item) {\n const value = RdtObjectUtils.pluck(item, filter.key);\n if (value === undefined || value === null) {\n return false;\n }\n switch (filter.type) {\n case 'string':\n return String(value).includes(filter.value);\n case 'number':\n return value === filter.value;\n case 'boolean':\n return value === filter.value;\n case 'date':\n return (new Date(value).toDateString() ===\n new Date(filter.value).toDateString());\n default:\n return false;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW9mZmxpbmUtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL21vZGVscy9kYXRhc291cmNlL3JkdC10YWJsZS1vZmZsaW5lLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVM1RCxNQUFNLE9BQU8seUJBQTZCLFNBQVEsa0JBQXFCO0lBQ2pEO0lBQXBCLFlBQW9CLEtBQVU7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRTlCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCx5REFBeUQ7SUFDekQsT0FBTyxDQUFDLE1BQW1DO1FBQ3pDLGtCQUFrQjtRQUNsQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQ2pFLENBQUM7UUFDSixDQUFDO1FB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O1FBQ3BELE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssUUFBUTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDO1lBQ3hELEtBQUssUUFBUTtnQkFDWCxPQUFPLEtBQUssS0FBTSxNQUFNLENBQUMsS0FBZ0IsQ0FBQztZQUM1QyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxLQUFLLEtBQU0sTUFBTSxDQUFDLEtBQWlCLENBQUM7WUFDN0MsS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FDTCxJQUFJLElBQUksQ0FBQyxLQUFlLENBQUMsQ0FBQyxZQUFZLEVBQUU7b0JBQ3hDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FDaEQsQ0FBQztZQUNKO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRPYmplY3RVdGlscyB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBkZWxheSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFRhYmxlRGF0YXNvdXJjZSB9IGZyb20gJy4vcmR0LXRhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdlIH0gZnJvbSAnLi9yZHQtdGFibGUtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRUYWJsZURpc3BsYXlUeXBlLFxuICBSZHRUYWJsZUZpbHRlcixcbiAgUmR0VGFibGVSZXF1ZXN0UGFyYW1zLFxuICBSZHRUYWJsZVNvcnQsXG59IGZyb20gJy4vcmR0LXRhYmxlLXJlcXVlc3QtcGFyYW1zJztcblxuZXhwb3J0IGNsYXNzIFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2U8VD4gZXh0ZW5kcyBSZHRUYWJsZURhdGFzb3VyY2U8VD4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhOiBUW10pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgc2V0IGRhdGEodmFsdWU6IFRbXSkge1xuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkYXRhKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cblxuICAvLyBUaGlzIG1ldGhvZCBmaXJzdCBmaWx0ZXJzIGRhdGEgYWNjb3JkaW5nIHRvIGZpbHRlcnMsXG4gIC8vIFRoZW4gc29ydHMgdGhlIGZpbHRlcmVkIGRhdGEgYW5kIGZpbmFsbHkgcGFnaW5hdGVzIGl0LlxuICBnZXREYXRhKHBhcmFtczogUmR0VGFibGVSZXF1ZXN0UGFyYW1zPFQsIFQ+KTogT2JzZXJ2YWJsZTxSZHRUYWJsZVBhZ2U8VD4+IHtcbiAgICAvLyBBcHBseSBmaWx0ZXJpbmdcbiAgICBsZXQgZmlsdGVyZWREYXRhID0gdGhpcy5fZGF0YTtcbiAgICBpZiAocGFyYW1zLmZpbHRlcnMpIHtcbiAgICAgIGZpbHRlcmVkRGF0YSA9IGZpbHRlcmVkRGF0YS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgIHBhcmFtcy5maWx0ZXJzLmV2ZXJ5KChmaWx0ZXIpID0+IHRoaXMuYXBwbHlGaWx0ZXIoZmlsdGVyLCBpdGVtKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgc29ydGluZ1xuICAgIGlmIChwYXJhbXMuc29ydCkge1xuICAgICAgZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhLnNvcnQodGhpcy5nZXRTb3J0Rm4ocGFyYW1zLnNvcnQpKTtcbiAgICB9XG5cbiAgICAvLyBBcHBseSBwYWdpbmF0aW9uXG4gICAgY29uc3Qgc3RhcnQgPSBwYXJhbXMucGFnZUluZGV4ICogcGFyYW1zLnBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgcGFyYW1zLnBhZ2VTaXplO1xuICAgIGNvbnN0IHBhZ2luYXRlZERhdGEgPSBmaWx0ZXJlZERhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgICByZXR1cm4gb2Yoe1xuICAgICAgZGF0YTogcGFnaW5hdGVkRGF0YSxcbiAgICAgIHRvdGFsQ291bnQ6IGZpbHRlcmVkRGF0YS5sZW5ndGgsXG4gICAgICBwYWdlSW5kZXg6IHBhcmFtcy5wYWdlSW5kZXgsXG4gICAgfSkucGlwZShkZWxheSgzMDApKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZShhVmFsdWU6IGFueSwgYlZhbHVlOiBhbnksIHR5cGU6IFJkdFRhYmxlRGlzcGxheVR5cGUpIHtcbiAgICBpZiAoYVZhbHVlID09IG51bGwgJiYgYlZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSBpZiAoYVZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiAxOyAvLyBudWxscyBhcmUgY29uc2lkZXJlZCBncmVhdGVyXG4gICAgfSBlbHNlIGlmIChiVmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIC0xOyAvLyBudWxscyBhcmUgY29uc2lkZXJlZCBsZXNzXG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIGFWYWx1ZS5sb2NhbGVDb21wYXJlKGJWYWx1ZSk7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnZGVjaW1hbCc6XG4gICAgICAgIHJldHVybiBhVmFsdWUgLSBiVmFsdWU7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuIE51bWJlcihhVmFsdWUpIC0gTnVtYmVyKGJWYWx1ZSk7XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGFWYWx1ZSkuZ2V0VGltZSgpIC0gbmV3IERhdGUoYlZhbHVlKS5nZXRUaW1lKCk7XG4gICAgICBjYXNlICdlbnVtJzpcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBhVmFsdWUgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBiVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBhVmFsdWUubG9jYWxlQ29tcGFyZShiVmFsdWUpXG4gICAgICAgICAgOiBhVmFsdWUgLSBiVmFsdWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRGbihzb3J0OiBSZHRUYWJsZVNvcnQ8VD4pOiAoYTogVCwgYjogVCkgPT4gbnVtYmVyIHtcbiAgICByZXR1cm4gKGE6IFQsIGI6IFQpID0+IHtcbiAgICAgIGNvbnN0IGFWYWx1ZSA9IFJkdE9iamVjdFV0aWxzLnBsdWNrKGEsIHNvcnQua2V5KTtcbiAgICAgIGNvbnN0IGJWYWx1ZSA9IFJkdE9iamVjdFV0aWxzLnBsdWNrKGIsIHNvcnQua2V5KTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuY29tcGFyZShhVmFsdWUsIGJWYWx1ZSwgc29ydC50eXBlKSAqXG4gICAgICAgIChzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYycgPyAxIDogLTEpXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICAvLyBUT0RPOiBJbXBsZW1lbnRvdmF0IGpha28gbmEgQkVcbiAgcHJpdmF0ZSBhcHBseUZpbHRlcihmaWx0ZXI6IFJkdFRhYmxlRmlsdGVyPFQ+LCBpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSBSZHRPYmplY3RVdGlscy5wbHVjayhpdGVtLCBmaWx0ZXIua2V5KTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5pbmNsdWRlcyhmaWx0ZXIudmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gKGZpbHRlci52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gKGZpbHRlci52YWx1ZSBhcyBib29sZWFuKTtcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG5ldyBEYXRlKHZhbHVlIGFzIHN0cmluZykudG9EYXRlU3RyaW5nKCkgPT09XG4gICAgICAgICAgbmV3IERhdGUoZmlsdGVyLnZhbHVlIGFzIHN0cmluZykudG9EYXRlU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, effect, inject, input } from '@angular/core';\nimport { RdtTableStore } from '../models';\nimport { RdtTableOfflineDatasource } from '../models/datasource/rdt-table-offline-datasource';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableOfflineDatasourceProviderDirective {\n store = inject(RdtTableStore, { self: true });\n data = input();\n dataEffect = effect(() => {\n const data = this.data();\n if (data) {\n this.store.setDatasource(new RdtTableOfflineDatasource(data));\n }\n });\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableOfflineDatasourceProviderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtTableOfflineDatasourceProviderDirective, isStandalone: false, selector: \"rdt-table[data]\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableOfflineDatasourceProviderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'rdt-table[data]',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW9mZmxpbmUtZGF0YXNvdWNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvcmR0LXRhYmxlLW9mZmxpbmUtZGF0YXNvdWNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBSzlGLE1BQU0sT0FBTywwQ0FBMEM7SUFDNUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU5QyxJQUFJLEdBQUcsS0FBSyxFQUFPLENBQUM7SUFFWixVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7dUdBVlEsMENBQTBDOzJGQUExQywwQ0FBMEM7OzJGQUExQywwQ0FBMEM7a0JBSnRELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdFRhYmxlU3RvcmUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmR0VGFibGVPZmZsaW5lRGF0YXNvdXJjZSB9IGZyb20gJy4uL21vZGVscy9kYXRhc291cmNlL3JkdC10YWJsZS1vZmZsaW5lLWRhdGFzb3VyY2UnO1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAncmR0LXRhYmxlW2RhdGFdJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2VQcm92aWRlckRpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0PiB7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFRhYmxlU3RvcmUsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICByZWFkb25seSBkYXRhID0gaW5wdXQ8VFtdPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YSgpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLnN0b3JlLnNldERhdGFzb3VyY2UobmV3IFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2UoZGF0YSkpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=","import { Directive, ElementRef, inject, } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { combineLatest, map } from 'rxjs';\nimport { RdtTableComponent } from '../table/rdt-table/rdt-table.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableStateDirective {\n table = inject(RdtTableComponent, { self: true });\n elementRef = inject(ElementRef);\n subscription;\n storeObservable;\n constructor() {\n const store = this.table.store;\n this.storeObservable = combineLatest([\n toObservable(store.sort),\n toObservable(store.headerFilters),\n toObservable(store.pageSize),\n toObservable(store.pageIndex),\n toObservable(store.displayedColumns),\n ]).pipe(map(([sort, headerFilters, pageSize, pageIndex, displayedColumns]) => ({\n sort: sort,\n headerFilters: headerFilters,\n pageSize,\n page: pageIndex,\n displayedColumns,\n })));\n }\n ngOnInit() {\n this.readState().subscribe((state) => {\n if (state) {\n this.table.store.setSort(state.sort);\n this.table.store.setHeaderFilters(state.headerFilters);\n this.table.store.setPagination(state.pageSize ?? 0, state.page ?? 0);\n this.table.store.setDisplayedColumns(state.displayedColumns ?? []);\n }\n });\n this.subscription = this.storeObservable.subscribe((state) => {\n this.writeState(state).subscribe();\n });\n }\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtTableStateDirective, isStandalone: false, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableStateDirective, decorators: [{\n type: Directive,\n args: [{\n standalone: false,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvcmR0LXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFNM0UsTUFBTSxPQUFnQixzQkFBc0I7SUFHakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakMsWUFBWSxDQUFnQjtJQUNuQixlQUFlLENBQThDO0lBRTlFO1FBQ0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUM7WUFDbkMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDeEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDakMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDNUIsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDN0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztTQUNyQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxFQUFFLElBQThCO1lBQ3BDLGFBQWEsRUFBRSxhQUEwQztZQUN6RCxRQUFRO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixnQkFBZ0I7U0FDakIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25DLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFtQyxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUMvQixLQUFLLENBQUMsYUFBMEMsQ0FDakQsQ0FBQztnQkFDRixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7dUdBOUNtQixzQkFBc0I7MkZBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFIM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUvcmR0LXRhYmxlL3JkdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0VGFibGVGaWx0ZXIsIFJkdFRhYmxlU29ydCwgUmR0VGFibGVTdGF0ZVNpbXBsZSB9IGZyb20gJy4vLi4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRUYWJsZVN0YXRlRGlyZWN0aXZlPFQgPSBvYmplY3QsIFRGaWx0ZXIgPSBUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHJlYWRvbmx5IHRhYmxlID0gaW5qZWN0KFJkdFRhYmxlQ29tcG9uZW50LCB7IHNlbGY6IHRydWUgfSk7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmVPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFJkdFRhYmxlU3RhdGVTaW1wbGU8VCwgVEZpbHRlcj4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMudGFibGUuc3RvcmU7XG4gICAgdGhpcy5zdG9yZU9ic2VydmFibGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5zb3J0KSxcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5oZWFkZXJGaWx0ZXJzKSxcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5wYWdlU2l6ZSksXG4gICAgICB0b09ic2VydmFibGUoc3RvcmUucGFnZUluZGV4KSxcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5kaXNwbGF5ZWRDb2x1bW5zKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbc29ydCwgaGVhZGVyRmlsdGVycywgcGFnZVNpemUsIHBhZ2VJbmRleCwgZGlzcGxheWVkQ29sdW1uc10pID0+ICh7XG4gICAgICAgIHNvcnQ6IHNvcnQgYXMgUmR0VGFibGVTb3J0PFQ+IHwgbnVsbCxcbiAgICAgICAgaGVhZGVyRmlsdGVyczogaGVhZGVyRmlsdGVycyBhcyBSZHRUYWJsZUZpbHRlcjxURmlsdGVyPltdLFxuICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgcGFnZTogcGFnZUluZGV4LFxuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5zLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVhZFN0YXRlKCkuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIHRoaXMudGFibGUuc3RvcmUuc2V0U29ydChzdGF0ZS5zb3J0IGFzIFJkdFRhYmxlU29ydDxvYmplY3Q+IHwgbnVsbCk7XG4gICAgICAgIHRoaXMudGFibGUuc3RvcmUuc2V0SGVhZGVyRmlsdGVycyhcbiAgICAgICAgICBzdGF0ZS5oZWFkZXJGaWx0ZXJzIGFzIFJkdFRhYmxlRmlsdGVyPHVua25vd24+W11cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy50YWJsZS5zdG9yZS5zZXRQYWdpbmF0aW9uKHN0YXRlLnBhZ2VTaXplID8/IDAsIHN0YXRlLnBhZ2UgPz8gMCk7XG4gICAgICAgIHRoaXMudGFibGUuc3RvcmUuc2V0RGlzcGxheWVkQ29sdW1ucyhzdGF0ZS5kaXNwbGF5ZWRDb2x1bW5zID8/IFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc3RvcmVPYnNlcnZhYmxlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIHRoaXMud3JpdGVTdGF0ZShzdGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBYnN0cmFjdCBtZXRob2QgdG8gcmVhZCB0YWJsZSBzdGF0ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRhYmxlIHN0YXRlXG4gICAqL1xuICBhYnN0cmFjdCByZWFkU3RhdGUoKTogT2JzZXJ2YWJsZTxSZHRUYWJsZVN0YXRlU2ltcGxlPFQsIFRGaWx0ZXI+IHwgbnVsbD47XG5cbiAgLyoqXG4gICAqIEFic3RyYWN0IG1ldGhvZCB0byB3cml0ZSB0YWJsZSBzdGF0ZVxuICAgKiBAcGFyYW0gc3RhdGUgVGFibGUgc3RhdGUgdG8gc2F2ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgY29tcGxldGVzIGltbWVkaWF0ZWx5XG4gICAqL1xuICBhYnN0cmFjdCB3cml0ZVN0YXRlKFxuICAgIHN0YXRlOiBSZHRUYWJsZVN0YXRlU2ltcGxlPFQsIFRGaWx0ZXI+IHwgbnVsbFxuICApOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuIl19","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { RdtCheckboxOutletDirective } from '@ngrdt/forms';\nimport { RdtIconOutletDirective } from '@ngrdt/icon';\nimport { RdtTableNoStateDirective } from '../directives/rdt-table-no-state.directive';\nimport { RdtTableOfflineDatasourceProviderDirective } from '../directives/rdt-table-offline-datasouce.directive';\nimport { RdtHeaderCellRendererComponent, RdtStaticCellRendererComponent, } from '../renderers';\nimport { RdtTablePaginatorComponent } from './rdt-table-paginator/rdt-table-paginator.component';\nimport { RdtTableComponent } from './rdt-table/rdt-table.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, declarations: [RdtTableComponent,\n RdtTablePaginatorComponent,\n RdtHeaderCellRendererComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n /* RdtTableActionBarComponent, */\n RdtTableNoStateDirective], imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkTableModule,\n GovDesignSystemModule,\n RdtCheckboxOutletDirective,\n RdtIconOutletDirective], exports: [RdtTableComponent,\n RdtHeaderCellRendererComponent,\n RdtTablePaginatorComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n RdtTableNoStateDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkTableModule,\n GovDesignSystemModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n RdtTableComponent,\n RdtTablePaginatorComponent,\n RdtHeaderCellRendererComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n /* RdtTableActionBarComponent, */\n RdtTableNoStateDirective,\n /* RdtTableNoResultComponent,\n RdtTableQueryParamsStateDirective, */\n ],\n exports: [\n RdtTableComponent,\n RdtHeaderCellRendererComponent,\n RdtTablePaginatorComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n RdtTableNoStateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkTableModule,\n GovDesignSystemModule,\n RdtCheckboxOutletDirective,\n RdtIconOutletDirective,\n /* RdtMenuModule, */\n /*\n CsuSpinnerComponent,\n CsuButtonComponent,\n CsuCheckboxComponent,\n CsuClickDoubleDirective,\n CsuSelectComponent,\n CsuSelectOfflineProviderDirective, */\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsOEJBQThCLEdBQy9CLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXlDcEUsTUFBTSxPQUFPLGNBQWM7dUdBQWQsY0FBYzt3R0FBZCxjQUFjLGlCQXRDdkIsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQiw4QkFBOEI7WUFDOUIsMENBQTBDO1lBQzFDLDhCQUE4QjtZQUM5QixxQ0FBcUM7WUFDckMsd0JBQXdCLGFBYXhCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLHNCQUFzQixhQWR0QixpQkFBaUI7WUFDakIsOEJBQThCO1lBQzlCLDBCQUEwQjtZQUMxQiwwQ0FBMEM7WUFDMUMsOEJBQThCO1lBQzlCLHdCQUF3Qjt3R0FzQmYsY0FBYyxZQW5CdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHFCQUFxQjs7MkZBZVosY0FBYztrQkF4QzFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQiw4QkFBOEI7d0JBQzlCLDBDQUEwQzt3QkFDMUMsOEJBQThCO3dCQUM5QixxQ0FBcUM7d0JBQ3JDLHdCQUF3Qjt3QkFDeEI7NkRBQ3FDO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQiw4QkFBOEI7d0JBQzlCLDBCQUEwQjt3QkFDMUIsMENBQTBDO3dCQUMxQyw4QkFBOEI7d0JBQzlCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUVyQjs7Ozs7OzZEQU1xQztxQkFDdEM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdvdkRlc2lnblN5c3RlbU1vZHVsZSB9IGZyb20gJ0Bnb3YtZGVzaWduLXN5c3RlbS1jZS9hbmd1bGFyJztcbmltcG9ydCB7IFJkdENoZWNrYm94T3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncmR0L2Zvcm1zJztcbmltcG9ydCB7IFJkdEljb25PdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmdyZHQvaWNvbic7XG5pbXBvcnQgeyBSZHRUYWJsZU5vU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JkdC10YWJsZS1uby1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR0VGFibGVPZmZsaW5lRGF0YXNvdXJjZVByb3ZpZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yZHQtdGFibGUtb2ZmbGluZS1kYXRhc291Y2UuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIFJkdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCxcbiAgUmR0U3RhdGljQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxufSBmcm9tICcuLi9yZW5kZXJlcnMnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuL3JkdC10YWJsZS1wYWdpbmF0b3IvcmR0LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3JkdC10YWJsZS9yZHQtdGFibGUuY29tcG9uZW50JztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJkdFRhYmxlQ29tcG9uZW50LFxuICAgIFJkdFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIFJkdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCxcbiAgICBSZHRUYWJsZU9mZmxpbmVEYXRhc291cmNlUHJvdmlkZXJEaXJlY3RpdmUsXG4gICAgUmR0U3RhdGljQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIC8qICAgICBSZHRUYWJsZUFjdGlvbkJhckNvbXBvbmVudCwgKi9cbiAgICBSZHRUYWJsZU5vU3RhdGVEaXJlY3RpdmUsXG4gICAgLyogICAgIFJkdFRhYmxlTm9SZXN1bHRDb21wb25lbnQsXG4gICAgUmR0VGFibGVRdWVyeVBhcmFtc1N0YXRlRGlyZWN0aXZlLCAqL1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmR0VGFibGVDb21wb25lbnQsXG4gICAgUmR0SGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFJkdFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2VQcm92aWRlckRpcmVjdGl2ZSxcbiAgICBSZHRTdGF0aWNDZWxsUmVuZGVyZXJDb21wb25lbnQsXG4gICAgUmR0VGFibGVOb1N0YXRlRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ2RrVGFibGVNb2R1bGUsXG4gICAgR292RGVzaWduU3lzdGVtTW9kdWxlLFxuICAgIFJkdENoZWNrYm94T3V0bGV0RGlyZWN0aXZlLFxuICAgIFJkdEljb25PdXRsZXREaXJlY3RpdmUsXG4gICAgLyogIFJkdE1lbnVNb2R1bGUsICovXG5cbiAgICAvKiAgIFxuICAgIENzdVNwaW5uZXJDb21wb25lbnQsXG4gICAgQ3N1QnV0dG9uQ29tcG9uZW50LFxuICAgIENzdUNoZWNrYm94Q29tcG9uZW50LFxuICAgIENzdUNsaWNrRG91YmxlRGlyZWN0aXZlLFxuICAgIENzdVNlbGVjdENvbXBvbmVudCxcbiAgICBDc3VTZWxlY3RPZmZsaW5lUHJvdmlkZXJEaXJlY3RpdmUsICovXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0VGFibGVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL25ncmR0LXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i5.RdtTablePaginatorComponent","i6.RdtHeaderCellRendererComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ngrdt-table.mjs","sources":["../tmp-esm2022/lib/models/state/rdt-table-message.js","../tmp-esm2022/lib/table/rdt-table/rdt-table.constants.js","../tmp-esm2022/lib/models/state/rdt-table-state.js","../tmp-esm2022/lib/models/state/rdt-table-store.js","../tmp-esm2022/lib/table/rdt-table/rdt-table.utilts.js","../tmp-esm2022/lib/models/columns/rdt-base-column-builder.js","../tmp-esm2022/lib/renderers/rdt-base-cell-renderer.component.js","../tmp-esm2022/lib/renderers/rdt-static-cell-renderer/rdt-static-cell-renderer.component.js","../tmp-esm2022/lib/models/columns/rdt-static-column-builder.js","../tmp-esm2022/lib/models/datasource/rdt-table-datasource.js","../tmp-esm2022/lib/table/rdt-table-paginator/rdt-table-paginator.component.js","../tmp-esm2022/lib/renderers/rdt-header-cell-renderer/rdt-header-cell-renderer.component.js","../tmp-esm2022/lib/table/rdt-table/rdt-table.component.js","../tmp-esm2022/lib/directives/rdt-table-no-state.directive.js","../tmp-esm2022/lib/models/datasource/rdt-table-offline-datasource.js","../tmp-esm2022/lib/directives/rdt-table-offline-datasouce.directive.js","../tmp-esm2022/lib/directives/rdt-table-state.directive.js","../tmp-esm2022/lib/table/rdt-table.module.js","../tmp-esm2022/ngrdt-table.js"],"sourcesContent":["export function isRdtTableMessage(obj) {\n return (obj && typeof obj.header === 'string' && typeof obj.message === 'string');\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9tb2RlbHMvc3RhdGUvcmR0LXRhYmxlLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxDQUNMLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQ3pFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZHRUYWJsZU1lc3NhZ2Uge1xuICBoZWFkZXI6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZHRUYWJsZU1lc3NhZ2Uob2JqOiBhbnkpOiBvYmogaXMgUmR0VGFibGVNZXNzYWdlIHtcbiAgcmV0dXJuIChcbiAgICBvYmogJiYgdHlwZW9mIG9iai5oZWFkZXIgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBvYmoubWVzc2FnZSA9PT0gJ3N0cmluZydcbiAgKTtcbn1cbiJdfQ==","export const RDT_TABLE_PAGE_SIZE_OPTIONS = [20, 50, 100];\nexport const RDT_TABLE_DEFAULT_PAGE_SIZE = RDT_TABLE_PAGE_SIZE_OPTIONS[0];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBSRFRfVEFCTEVfUEFHRV9TSVpFX09QVElPTlMgPSBbMjAsIDUwLCAxMDBdO1xuZXhwb3J0IGNvbnN0IFJEVF9UQUJMRV9ERUZBVUxUX1BBR0VfU0laRSA9IFJEVF9UQUJMRV9QQUdFX1NJWkVfT1BUSU9OU1swXTtcbiJdfQ==","import { RDT_TABLE_DEFAULT_PAGE_SIZE, RDT_TABLE_PAGE_SIZE_OPTIONS, } from '../../table/rdt-table/rdt-table.constants';\nexport const rdtTableInitialState = {\n ready: false,\n pageIndex: 0,\n pageSize: RDT_TABLE_DEFAULT_PAGE_SIZE,\n pageSizeOptions: RDT_TABLE_PAGE_SIZE_OPTIONS,\n totalCount: 0,\n selectedIds: {},\n loading: true,\n totalCountKnown: true,\n displayedColumns: [],\n datasource: null,\n headerFilters: [],\n staticFilters: [],\n extendedFilter: null,\n sort: null,\n selectId: (item) => ('id' in item ? item.id : JSON.stringify(item)),\n _fetchWhenDatasourceSet: false,\n fetchError: null,\n _fetchSubscription: null,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvbW9kZWxzL3N0YXRlL3JkdC10YWJsZS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM1QixNQUFNLDJDQUEyQyxDQUFDO0FBOEJuRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBdUI7SUFDdEQsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSwyQkFBMkI7SUFDckMsZUFBZSxFQUFFLDJCQUEyQjtJQUM1QyxVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRUFBRSxFQUFFO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsSUFBSTtJQUNyQixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLElBQUksRUFBRSxJQUFJO0lBQ1YsUUFBUSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEUsdUJBQXVCLEVBQUUsS0FBSztJQUM5QixVQUFVLEVBQUUsSUFBSTtJQUNoQixrQkFBa0IsRUFBRSxJQUFJO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgUkRUX1RBQkxFX0RFRkFVTFRfUEFHRV9TSVpFLFxuICBSRFRfVEFCTEVfUEFHRV9TSVpFX09QVElPTlMsXG59IGZyb20gJy4uLy4uL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUuY29uc3RhbnRzJztcbmltcG9ydCB7IFJkdFRhYmxlRGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHtcbiAgUmR0VGFibGVGaWx0ZXIsXG4gIFJkdFRhYmxlRmlsdGVyUmVjLFxuICBSZHRUYWJsZVNvcnQsXG59IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLXJlcXVlc3QtcGFyYW1zJztcbmltcG9ydCB7IFJkdFRhYmxlTWVzc2FnZSB9IGZyb20gJy4vcmR0LXRhYmxlLW1lc3NhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdFRhYmxlU3RhdGU8VCwgVEZpbHRlciA9IFQ+IHtcbiAgcmVhZHk6IGJvb2xlYW47XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xuICB0b3RhbENvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkSWRzOiBSZWNvcmQ8c3RyaW5nIHwgbnVtYmVyLCBib29sZWFuPjtcbiAgc29ydDogUmR0VGFibGVTb3J0PFQ+IHwgbnVsbDtcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgdG90YWxDb3VudEtub3duOiBib29sZWFuO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcbiAgZGF0YXNvdXJjZTogUmR0VGFibGVEYXRhc291cmNlPFQsIFRGaWx0ZXI+IHwgbnVsbDtcbiAgaGVhZGVyRmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXTtcbiAgc3RhdGljRmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXTtcbiAgZXh0ZW5kZWRGaWx0ZXI6IFJkdFRhYmxlRmlsdGVyUmVjPFRGaWx0ZXI+IHwgbnVsbDtcbiAgX2ZldGNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuICBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldDogYm9vbGVhbjtcbiAgZmV0Y2hFcnJvcjogUmR0VGFibGVNZXNzYWdlIHwgbnVsbDtcbiAgc2VsZWN0SWQ6IChpdGVtOiBUKSA9PiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCByZHRUYWJsZUluaXRpYWxTdGF0ZTogUmR0VGFibGVTdGF0ZTxhbnk+ID0ge1xuICByZWFkeTogZmFsc2UsXG4gIHBhZ2VJbmRleDogMCxcbiAgcGFnZVNpemU6IFJEVF9UQUJMRV9ERUZBVUxUX1BBR0VfU0laRSxcbiAgcGFnZVNpemVPcHRpb25zOiBSRFRfVEFCTEVfUEFHRV9TSVpFX09QVElPTlMsXG4gIHRvdGFsQ291bnQ6IDAsXG4gIHNlbGVjdGVkSWRzOiB7fSxcbiAgbG9hZGluZzogdHJ1ZSxcbiAgdG90YWxDb3VudEtub3duOiB0cnVlLFxuICBkaXNwbGF5ZWRDb2x1bW5zOiBbXSxcbiAgZGF0YXNvdXJjZTogbnVsbCxcbiAgaGVhZGVyRmlsdGVyczogW10sXG4gIHN0YXRpY0ZpbHRlcnM6IFtdLFxuICBleHRlbmRlZEZpbHRlcjogbnVsbCxcbiAgc29ydDogbnVsbCxcbiAgc2VsZWN0SWQ6IChpdGVtOiBhbnkpID0+ICgnaWQnIGluIGl0ZW0gPyBpdGVtLmlkIDogSlNPTi5zdHJpbmdpZnkoaXRlbSkpLFxuICBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldDogZmFsc2UsXG4gIGZldGNoRXJyb3I6IG51bGwsXG4gIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbn07XG4iXX0=","import { computed, untracked } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState, } from '@ngrx/signals';\nimport { setAllEntities, withEntities } from '@ngrx/signals/entities';\nimport { isRdtTableMessage } from './rdt-table-message';\nimport { rdtTableInitialState } from './rdt-table-state';\nfunction getRdtTableStore(initialState = rdtTableInitialState) {\n return signalStore(withState(initialState), withEntities(), withHooks({\n onDestroy(store) {\n store._fetchSubscription?.()?.unsubscribe();\n },\n }), withComputed((state) => ({\n allFilters: computed(() => [\n ...state.headerFilters(),\n ...state.staticFilters(),\n state.extendedFilter(),\n ]),\n pageCount: computed(() => {\n const totalCount = state.totalCount();\n const pageSize = state.pageSize();\n return totalCount ? Math.ceil(totalCount / pageSize) : 0;\n }),\n selectedItems: computed(() => {\n const selection = state.selectedIds();\n const selectId = state.selectId();\n if (!selection || !Object.keys(selection).length) {\n return [];\n }\n return state.entities().filter((item) => selection[selectId(item)]);\n }),\n selectedAll: computed(() => {\n const selection = state.selectedIds();\n const items = state.entities();\n if (!selection || !Object.keys(selection).length) {\n return false;\n }\n return (items.length > 0 && items.length === Object.keys(selection).length);\n }),\n requestParams: computed(() => ({\n filters: [...state.headerFilters(), ...state.staticFilters()],\n extendedFilter: state.extendedFilter() ?? null,\n sort: state.sort?.() ?? null,\n pageIndex: state.pageIndex(),\n pageSize: state.pageSize(),\n })),\n firstRowIndex: computed(() => {\n const pageIndex = state.pageIndex();\n const pageSize = state.pageSize();\n return pageIndex * pageSize;\n }),\n lastRowIndex: computed(() => {\n const startIndex = state.pageIndex() * state.pageSize();\n const pageSize = state.pageSize();\n return Math.min(startIndex + pageSize, state.totalCount()) - 1;\n }),\n })), withMethods((store) => ({\n fetch() {\n const datasource = untracked(store.datasource);\n if (!datasource) {\n patchState(store, { _fetchWhenDatasourceSet: true });\n return;\n }\n untracked(store._fetchSubscription)?.unsubscribe();\n const requestParams = untracked(store.requestParams);\n const observer = this._getFetchObserver(requestParams);\n patchState(store, { loading: true });\n const sub = datasource.getData(requestParams).subscribe(observer);\n patchState(store, { _fetchSubscription: sub });\n },\n _getFetchObserver(requestParams) {\n return {\n next: (page) => this._onFetchSuccess(page, requestParams),\n error: (error) => this._onFetchError(error),\n complete: () => this._onFetchComplete(),\n };\n },\n _onFetchSuccess(page, requestParams) {\n const selectId = untracked(store.selectId);\n patchState(store, {\n totalCount: page.totalCount ??\n Math.max(untracked(store.totalCount), page.pageIndex * requestParams.pageSize + page.data.length),\n pageIndex: page.pageIndex,\n totalCountKnown: page.totalCount !== null ||\n page.data.length < requestParams.pageSize,\n loading: false,\n _fetchSubscription: null,\n fetchError: null,\n });\n patchState(store, setAllEntities(page.data, { selectId: selectId }));\n },\n _onFetchError(error) {\n const selectId = untracked(store.selectId);\n patchState(store, {\n loading: false,\n fetchError: getRdtTableError(error),\n totalCount: 0,\n totalCountKnown: true,\n pageIndex: 0,\n _fetchSubscription: null,\n });\n patchState(store, setAllEntities([], { selectId: selectId }));\n },\n _onFetchComplete() {\n patchState(store, {\n _fetchSubscription: null,\n loading: false,\n });\n },\n setPagination(pageSize, pageIndex) {\n patchState(store, { pageSize, pageIndex });\n this.unselectAll();\n },\n setSort(sort) {\n patchState(store, {\n sort,\n });\n this.unselectAll();\n },\n setHeaderFilters(filters) {\n patchState(store, {\n headerFilters: filters,\n });\n this.resetTotalCountKnown();\n this.unselectAll();\n },\n setStaticFilters(filters) {\n patchState(store, {\n staticFilters: filters,\n });\n this.unselectAll();\n this.resetTotalCountKnown();\n },\n setExtendedFilter(filters) {\n patchState(store, {\n extendedFilter: filters,\n });\n this.unselectAll();\n this.resetTotalCountKnown();\n },\n setReady() {\n const _fetchWhenDatasourceSet = untracked(store._fetchWhenDatasourceSet);\n if (untracked(store.datasource) && _fetchWhenDatasourceSet) {\n patchState(store, { ready: true, _fetchWhenDatasourceSet: false });\n this.fetch();\n }\n else {\n patchState(store, { ready: true });\n }\n },\n setDatasource(datasource) {\n untracked(store._fetchSubscription)?.unsubscribe();\n const _fetchWhenDatasourceSet = untracked(store._fetchWhenDatasourceSet);\n patchState(store, {\n datasource,\n _fetchSubscription: null,\n fetchError: null,\n totalCountKnown: datasource.totalCountKnown,\n });\n if (untracked(store.ready) && _fetchWhenDatasourceSet) {\n patchState(store, { _fetchWhenDatasourceSet: false });\n this.fetch();\n }\n },\n selectAll() {\n const items = untracked(store.entities);\n const selectedIds = {};\n items.forEach((item) => {\n selectedIds[untracked(store.selectId)(item)] = true;\n });\n patchState(store, { selectedIds });\n },\n unselectAll() {\n patchState(store, {\n selectedIds: {},\n });\n },\n toggleSelectAll() {\n if (untracked(store.selectedAll)) {\n this.unselectAll();\n }\n else {\n this.selectAll();\n }\n },\n resetTotalCountKnown() {\n patchState(store, {\n totalCountKnown: untracked(store.datasource)?.totalCountKnown ?? true,\n });\n },\n toggleSelectItem(item) {\n const selectId = untracked(store.selectId);\n const oldIds = untracked(store.selectedIds);\n const id = selectId(item);\n const selectedIds = { ...oldIds, [id]: !oldIds[id] };\n patchState(store, { selectedIds });\n },\n toggleSelectSingleItem(item) {\n const selectId = untracked(store.selectId);\n const oldIds = untracked(store.selectedIds);\n const id = selectId(item);\n if (oldIds[id]) {\n patchState(store, { selectedIds: {} });\n }\n else {\n patchState(store, { selectedIds: { [id]: true } });\n }\n },\n cancelFetch() {\n untracked(store._fetchSubscription)?.unsubscribe();\n patchState(store, {\n _fetchSubscription: null,\n loading: false,\n fetchError: null,\n });\n },\n isSelected(item) {\n const selectId = untracked(store.selectId);\n return !!untracked(store.selectedIds)[selectId(item)];\n },\n getSortDirection(column) {\n const currentSort = store.sort();\n if (currentSort?.key === column.sortKey) {\n return currentSort.direction;\n }\n return null;\n },\n resetHeaderFilters() {\n this.setHeaderFilters([]);\n },\n toggleSort(column) {\n const currentSort = untracked(store.sort);\n const sortKey = column.sortKey ?? column.key;\n let direction = 'asc';\n if (currentSort?.key === sortKey) {\n switch (currentSort.direction) {\n case 'asc':\n direction = 'desc';\n break;\n case 'desc':\n this.setSort(null);\n this.fetch();\n return;\n }\n }\n else {\n direction = 'asc';\n }\n const sort = {\n key: column.key,\n direction,\n type: column.cellRendererParams?.dataType ?? 'string',\n };\n this.setSort(sort);\n this.fetch();\n },\n setDisplayedColumns(displayedColumns) {\n patchState(store, { displayedColumns });\n },\n })));\n}\nexport const RdtTableStore = getRdtTableStore();\nfunction getRdtTableError(error) {\n if (isRdtTableMessage(error)) {\n return error;\n }\n if (typeof error === 'string') {\n return { message: error, header: 'RDT_TABLE_ERROR_HEADER' };\n }\n if (error && typeof error === 'object' && 'message' in error) {\n return { message: error.message, header: 'RDT_TABLE_ERROR_HEADER' };\n }\n return {\n header: 'RDT_TABLE_ERROR_HEADER',\n message: 'RDT_TABLE_ERROR_MESSAGE',\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvbW9kZWxzL3N0YXRlL3JkdC10YWJsZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVd0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFpQixNQUFNLG1CQUFtQixDQUFDO0FBRXhFLFNBQVMsZ0JBQWdCLENBQ3ZCLGVBQWUsb0JBQWlEO0lBRWhFLE9BQU8sV0FBVyxDQUNoQixTQUFTLENBQUMsWUFBWSxDQUFDLEVBQ3ZCLFlBQVksRUFBSyxFQUNqQixTQUFTLENBQUM7UUFDUixTQUFTLENBQUMsS0FBSztZQUNiLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDOUMsQ0FBQztLQUNGLENBQUMsRUFDRixZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDeEIsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUU7U0FDdkIsQ0FBQztRQUNGLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sVUFBVSxHQUFHLEtB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LEtBQVU7SUFDbEMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUNELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFLENBQUM7UUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFDRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxPQUFPLEVBQUUseUJBQXlCO0tBQ25DLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgcGF0Y2hTdGF0ZSxcbiAgc2lnbmFsU3RvcmUsXG4gIHdpdGhDb21wdXRlZCxcbiAgd2l0aEhvb2tzLFxuICB3aXRoTWV0aG9kcyxcbiAgd2l0aFN0YXRlLFxufSBmcm9tICdAbmdyeC9zaWduYWxzJztcbmltcG9ydCB7IHNldEFsbEVudGl0aWVzLCB3aXRoRW50aXRpZXMgfSBmcm9tICdAbmdyeC9zaWduYWxzL2VudGl0aWVzJztcbmltcG9ydCB7IE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRDb2xEZWYgfSBmcm9tICcuLi9jb2x1bW5zL3JkdC1jb2wtZGVmJztcbmltcG9ydCB7IFJkdFRhYmxlRGF0YXNvdXJjZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdlIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9yZHQtdGFibGUtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRUYWJsZUZpbHRlcixcbiAgUmR0VGFibGVGaWx0ZXJSZWMsXG4gIFJkdFRhYmxlUmVxdWVzdFBhcmFtcyxcbiAgUmR0VGFibGVTb3J0LFxufSBmcm9tICcuLi9kYXRhc291cmNlL3JkdC10YWJsZS1yZXF1ZXN0LXBhcmFtcyc7XG5pbXBvcnQgeyBpc1JkdFRhYmxlTWVzc2FnZSwgUmR0VGFibGVNZXNzYWdlIH0gZnJvbSAnLi9yZHQtdGFibGUtbWVzc2FnZSc7XG5pbXBvcnQgeyByZHRUYWJsZUluaXRpYWxTdGF0ZSwgUmR0VGFibGVTdGF0ZSB9IGZyb20gJy4vcmR0LXRhYmxlLXN0YXRlJztcblxuZnVuY3Rpb24gZ2V0UmR0VGFibGVTdG9yZTxUIGV4dGVuZHMgb2JqZWN0LCBURmlsdGVyID0gVD4oXG4gIGluaXRpYWxTdGF0ZSA9IHJkdFRhYmxlSW5pdGlhbFN0YXRlIGFzIFJkdFRhYmxlU3RhdGU8VCwgVEZpbHRlcj5cbikge1xuICByZXR1cm4gc2lnbmFsU3RvcmUoXG4gICAgd2l0aFN0YXRlKGluaXRpYWxTdGF0ZSksXG4gICAgd2l0aEVudGl0aWVzPFQ+KCksXG4gICAgd2l0aEhvb2tzKHtcbiAgICAgIG9uRGVzdHJveShzdG9yZSkge1xuICAgICAgICBzdG9yZS5fZmV0Y2hTdWJzY3JpcHRpb24/LigpPy51bnN1YnNjcmliZSgpO1xuICAgICAgfSxcbiAgICB9KSxcbiAgICB3aXRoQ29tcHV0ZWQoKHN0YXRlKSA9PiAoe1xuICAgICAgYWxsRmlsdGVyczogY29tcHV0ZWQoKCkgPT4gW1xuICAgICAgICAuLi5zdGF0ZS5oZWFkZXJGaWx0ZXJzKCksXG4gICAgICAgIC4uLnN0YXRlLnN0YXRpY0ZpbHRlcnMoKSxcbiAgICAgICAgc3RhdGUuZXh0ZW5kZWRGaWx0ZXIoKSxcbiAgICAgIF0pLFxuICAgICAgcGFnZUNvdW50OiBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvdGFsQ291bnQgPSBzdGF0ZS50b3RhbENvdW50KCk7XG4gICAgICAgIGNvbnN0IHBhZ2VTaXplID0gc3RhdGUucGFnZVNpemUoKTtcbiAgICAgICAgcmV0dXJuIHRvdGFsQ291bnQgPyBNYXRoLmNlaWwodG90YWxDb3VudCAvIHBhZ2VTaXplKSA6IDA7XG4gICAgICB9KSxcbiAgICAgIHNlbGVjdGVkSXRlbXM6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0SWQgPSBzdGF0ZS5zZWxlY3RJZCgpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbiB8fCAhT2JqZWN0LmtleXMoc2VsZWN0aW9uKS5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YXRlLmVudGl0aWVzKCkuZmlsdGVyKChpdGVtKSA9PiBzZWxlY3Rpb25bc2VsZWN0SWQoaXRlbSldKTtcbiAgICAgIH0pLFxuICAgICAgc2VsZWN0ZWRBbGw6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gc3RhdGUuc2VsZWN0ZWRJZHMoKTtcbiAgICAgICAgY29uc3QgaXRlbXMgPSBzdGF0ZS5lbnRpdGllcygpO1xuICAgICAgICBpZiAoIXNlbGVjdGlvbiB8fCAhT2JqZWN0LmtleXMoc2VsZWN0aW9uKS5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPiAwICYmIGl0ZW1zLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMoc2VsZWN0aW9uKS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgcmVxdWVzdFBhcmFtczogY29tcHV0ZWQ8UmR0VGFibGVSZXF1ZXN0UGFyYW1zPFQsIFRGaWx0ZXI+PigoKSA9PiAoe1xuICAgICAgICBmaWx0ZXJzOiBbLi4uc3RhdGUuaGVhZGVyRmlsdGVycygpLCAuLi5zdGF0ZS5zdGF0aWNGaWx0ZXJzKCldLFxuICAgICAgICBleHRlbmRlZEZpbHRlcjogc3RhdGUuZXh0ZW5kZWRGaWx0ZXIoKSA/PyBudWxsLFxuICAgICAgICBzb3J0OiBzdGF0ZS5zb3J0Py4oKSA/PyBudWxsLFxuICAgICAgICBwYWdlSW5kZXg6IHN0YXRlLnBhZ2VJbmRleCgpLFxuICAgICAgICBwYWdlU2l6ZTogc3RhdGUucGFnZVNpemUoKSxcbiAgICAgIH0pKSxcbiAgICAgIGZpcnN0Um93SW5kZXg6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFnZUluZGV4ID0gc3RhdGUucGFnZUluZGV4KCk7XG4gICAgICAgIGNvbnN0IHBhZ2VTaXplID0gc3RhdGUucGFnZVNpemUoKTtcbiAgICAgICAgcmV0dXJuIHBhZ2VJbmRleCAqIHBhZ2VTaXplO1xuICAgICAgfSksXG4gICAgICBsYXN0Um93SW5kZXg6IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHN0YXRlLnBhZ2VJbmRleCgpICogc3RhdGUucGFnZVNpemUoKTtcbiAgICAgICAgY29uc3QgcGFnZVNpemUgPSBzdGF0ZS5wYWdlU2l6ZSgpO1xuICAgICAgICByZXR1cm4gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplLCBzdGF0ZS50b3RhbENvdW50KCkpIC0gMTtcbiAgICAgIH0pLFxuICAgIH0pKSxcbiAgICB3aXRoTWV0aG9kcygoc3RvcmUpID0+ICh7XG4gICAgICBmZXRjaCgpIHtcbiAgICAgICAgY29uc3QgZGF0YXNvdXJjZSA9IHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKTtcbiAgICAgICAgaWYgKCFkYXRhc291cmNlKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldDogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdW50cmFja2VkKHN0b3JlLl9mZXRjaFN1YnNjcmlwdGlvbik/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB1bnRyYWNrZWQoc3RvcmUucmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gdGhpcy5fZ2V0RmV0Y2hPYnNlcnZlcihyZXF1ZXN0UGFyYW1zKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBsb2FkaW5nOiB0cnVlIH0pO1xuICAgICAgICBjb25zdCBzdWIgPSBkYXRhc291cmNlLmdldERhdGEocmVxdWVzdFBhcmFtcykuc3Vic2NyaWJlKG9ic2VydmVyKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBfZmV0Y2hTdWJzY3JpcHRpb246IHN1YiB9KTtcbiAgICAgIH0sXG4gICAgICBfZ2V0RmV0Y2hPYnNlcnZlcihcbiAgICAgICAgcmVxdWVzdFBhcmFtczogUmR0VGFibGVSZXF1ZXN0UGFyYW1zPFQsIFRGaWx0ZXI+XG4gICAgICApOiBPYnNlcnZlcjxSZHRUYWJsZVBhZ2U8VD4+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBuZXh0OiAocGFnZSkgPT4gdGhpcy5fb25GZXRjaFN1Y2Nlc3MocGFnZSwgcmVxdWVzdFBhcmFtcyksXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4gdGhpcy5fb25GZXRjaEVycm9yKGVycm9yKSxcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5fb25GZXRjaENvbXBsZXRlKCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgX29uRmV0Y2hTdWNjZXNzKFxuICAgICAgICBwYWdlOiBSZHRUYWJsZVBhZ2U8VD4sXG4gICAgICAgIHJlcXVlc3RQYXJhbXM6IFJkdFRhYmxlUmVxdWVzdFBhcmFtczxULCBURmlsdGVyPlxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdElkID0gdW50cmFja2VkKHN0b3JlLnNlbGVjdElkKTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgIHRvdGFsQ291bnQ6XG4gICAgICAgICAgICBwYWdlLnRvdGFsQ291bnQgPz9cbiAgICAgICAgICAgIE1hdGgubWF4KFxuICAgICAgICAgICAgICB1bnRyYWNrZWQoc3RvcmUudG90YWxDb3VudCksXG4gICAgICAgICAgICAgIHBhZ2UucGFnZUluZGV4ICogcmVxdWVzdFBhcmFtcy5wYWdlU2l6ZSArIHBhZ2UuZGF0YS5sZW5ndGhcbiAgICAgICAgICAgICksXG4gICAgICAgICAgcGFnZUluZGV4OiBwYWdlLnBhZ2VJbmRleCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246XG4gICAgICAgICAgICBwYWdlLnRvdGFsQ291bnQgIT09IG51bGwgfHxcbiAgICAgICAgICAgIHBhZ2UuZGF0YS5sZW5ndGggPCByZXF1ZXN0UGFyYW1zLnBhZ2VTaXplLFxuICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgICBmZXRjaEVycm9yOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgc2V0QWxsRW50aXRpZXMocGFnZS5kYXRhLCB7IHNlbGVjdElkOiBzZWxlY3RJZCB9KSk7XG4gICAgICB9LFxuICAgICAgX29uRmV0Y2hFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdElkID0gdW50cmFja2VkKHN0b3JlLnNlbGVjdElkKTtcblxuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgZmV0Y2hFcnJvcjogZ2V0UmR0VGFibGVFcnJvcihlcnJvciksXG4gICAgICAgICAgdG90YWxDb3VudDogMCxcbiAgICAgICAgICB0b3RhbENvdW50S25vd246IHRydWUsXG4gICAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICAgIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHNldEFsbEVudGl0aWVzKFtdIGFzIFRbXSwgeyBzZWxlY3RJZDogc2VsZWN0SWQgfSkpO1xuICAgICAgfSxcbiAgICAgIF9vbkZldGNoQ29tcGxldGUoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hTdWJzY3JpcHRpb246IG51bGwsXG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHNldFBhZ2luYXRpb24ocGFnZVNpemU6IG51bWJlciwgcGFnZUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBwYWdlU2l6ZSwgcGFnZUluZGV4IH0pO1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgICB9LFxuICAgICAgc2V0U29ydChzb3J0OiBSZHRUYWJsZVNvcnQ8VD4gfCBudWxsKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzb3J0LFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgICAgfSxcbiAgICAgIHNldEhlYWRlckZpbHRlcnMoZmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgaGVhZGVyRmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVzZXRUb3RhbENvdW50S25vd24oKTtcbiAgICAgICAgdGhpcy51bnNlbGVjdEFsbCgpO1xuICAgICAgfSxcbiAgICAgIHNldFN0YXRpY0ZpbHRlcnMoZmlsdGVyczogUmR0VGFibGVGaWx0ZXI8VEZpbHRlcj5bXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgc3RhdGljRmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudW5zZWxlY3RBbGwoKTtcbiAgICAgICAgdGhpcy5yZXNldFRvdGFsQ291bnRLbm93bigpO1xuICAgICAgfSxcbiAgICAgIHNldEV4dGVuZGVkRmlsdGVyKGZpbHRlcnM6IFJkdFRhYmxlRmlsdGVyUmVjPFRGaWx0ZXI+IHwgbnVsbCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgZXh0ZW5kZWRGaWx0ZXI6IGZpbHRlcnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgICAgIHRoaXMucmVzZXRUb3RhbENvdW50S25vd24oKTtcbiAgICAgIH0sXG4gICAgICBzZXRSZWFkeSgpIHtcbiAgICAgICAgY29uc3QgX2ZldGNoV2hlbkRhdGFzb3VyY2VTZXQgPSB1bnRyYWNrZWQoXG4gICAgICAgICAgc3RvcmUuX2ZldGNoV2hlbkRhdGFzb3VyY2VTZXRcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHVudHJhY2tlZChzdG9yZS5kYXRhc291cmNlKSAmJiBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldCkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgcmVhZHk6IHRydWUsIF9mZXRjaFdoZW5EYXRhc291cmNlU2V0OiBmYWxzZSB9KTtcbiAgICAgICAgICB0aGlzLmZldGNoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyByZWFkeTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNldERhdGFzb3VyY2UoZGF0YXNvdXJjZTogUmR0VGFibGVEYXRhc291cmNlPFQsIFRGaWx0ZXI+KSB7XG4gICAgICAgIHVudHJhY2tlZChzdG9yZS5fZmV0Y2hTdWJzY3JpcHRpb24pPy51bnN1YnNjcmliZSgpO1xuICAgICAgICBjb25zdCBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldCA9IHVudHJhY2tlZChcbiAgICAgICAgICBzdG9yZS5fZmV0Y2hXaGVuRGF0YXNvdXJjZVNldFxuICAgICAgICApO1xuXG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBkYXRhc291cmNlLFxuICAgICAgICAgIF9mZXRjaFN1YnNjcmlwdGlvbjogbnVsbCxcbiAgICAgICAgICBmZXRjaEVycm9yOiBudWxsLFxuICAgICAgICAgIHRvdGFsQ291bnRLbm93bjogZGF0YXNvdXJjZS50b3RhbENvdW50S25vd24sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodW50cmFja2VkKHN0b3JlLnJlYWR5KSAmJiBfZmV0Y2hXaGVuRGF0YXNvdXJjZVNldCkge1xuICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgX2ZldGNoV2hlbkRhdGFzb3VyY2VTZXQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB1bnRyYWNrZWQoc3RvcmUuZW50aXRpZXMpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkczogUmVjb3JkPHN0cmluZyB8IG51bWJlciwgYm9vbGVhbj4gPSB7fTtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIHNlbGVjdGVkSWRzW3VudHJhY2tlZChzdG9yZS5zZWxlY3RJZCkoaXRlbSldID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHsgc2VsZWN0ZWRJZHMgfSk7XG4gICAgICB9LFxuICAgICAgdW5zZWxlY3RBbGwoKSB7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBzZWxlY3RlZElkczoge30sXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZEFsbCkpIHtcbiAgICAgICAgICB0aGlzLnVuc2VsZWN0QWxsKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHJlc2V0VG90YWxDb3VudEtub3duKCkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgdG90YWxDb3VudEtub3duOiB1bnRyYWNrZWQoc3RvcmUuZGF0YXNvdXJjZSk/LnRvdGFsQ291bnRLbm93biA/PyB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICB0b2dnbGVTZWxlY3RJdGVtKGl0ZW06IFQpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0SWQgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0SWQpO1xuICAgICAgICBjb25zdCBvbGRJZHMgPSB1bnRyYWNrZWQoc3RvcmUuc2VsZWN0ZWRJZHMpO1xuICAgICAgICBjb25zdCBpZCA9IHNlbGVjdElkKGl0ZW0pO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHsgLi4ub2xkSWRzLCBbaWRdOiAhb2xkSWRzW2lkXSB9O1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IHNlbGVjdGVkSWRzIH0pO1xuICAgICAgfSxcbiAgICAgIHRvZ2dsZVNlbGVjdFNpbmdsZUl0ZW0oaXRlbTogVCkge1xuICAgICAgICBjb25zdCBzZWxlY3RJZCA9IHVudHJhY2tlZChzdG9yZS5zZWxlY3RJZCk7XG4gICAgICAgIGNvbnN0IG9sZElkcyA9IHVudHJhY2tlZChzdG9yZS5zZWxlY3RlZElkcyk7XG4gICAgICAgIGNvbnN0IGlkID0gc2VsZWN0SWQoaXRlbSk7XG4gICAgICAgIGlmIChvbGRJZHNbaWRdKSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZElkczoge30gfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwgeyBzZWxlY3RlZElkczogeyBbaWRdOiB0cnVlIH0gfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjYW5jZWxGZXRjaCgpIHtcbiAgICAgICAgdW50cmFja2VkKHN0b3JlLl9mZXRjaFN1YnNjcmlwdGlvbik/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICBfZmV0Y2hTdWJzY3JpcHRpb246IG51bGwsXG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgZmV0Y2hFcnJvcjogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgaXNTZWxlY3RlZChpdGVtOiBUKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdElkID0gdW50cmFja2VkKHN0b3JlLnNlbGVjdElkKTtcbiAgICAgICAgcmV0dXJuICEhdW50cmFja2VkKHN0b3JlLnNlbGVjdGVkSWRzKVtzZWxlY3RJZChpdGVtKV07XG4gICAgICB9LFxuICAgICAgZ2V0U29ydERpcmVjdGlvbihjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgICAgICBjb25zdCBjdXJyZW50U29ydCA9IHN0b3JlLnNvcnQoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRTb3J0Py5rZXkgPT09IGNvbHVtbi5zb3J0S2V5KSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnRTb3J0LmRpcmVjdGlvbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0sXG4gICAgICByZXNldEhlYWRlckZpbHRlcnMoKSB7XG4gICAgICAgIHRoaXMuc2V0SGVhZGVyRmlsdGVycyhbXSk7XG4gICAgICB9LFxuICAgICAgdG9nZ2xlU29ydChjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgICAgICBjb25zdCBjdXJyZW50U29ydCA9IHVudHJhY2tlZChzdG9yZS5zb3J0KTtcbiAgICAgICAgY29uc3Qgc29ydEtleSA9IGNvbHVtbi5zb3J0S2V5ID8/IGNvbHVtbi5rZXk7XG4gICAgICAgIGxldCBkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYyc7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRTb3J0Py5rZXkgPT09IHNvcnRLZXkpIHtcbiAgICAgICAgICBzd2l0Y2ggKGN1cnJlbnRTb3J0LmRpcmVjdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnYXNjJzpcbiAgICAgICAgICAgICAgZGlyZWN0aW9uID0gJ2Rlc2MnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2Rlc2MnOlxuICAgICAgICAgICAgICB0aGlzLnNldFNvcnQobnVsbCk7XG4gICAgICAgICAgICAgIHRoaXMuZmV0Y2goKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXJlY3Rpb24gPSAnYXNjJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzb3J0OiBSZHRUYWJsZVNvcnQ8VD4gPSB7XG4gICAgICAgICAga2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgICB0eXBlOiBjb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zPy5kYXRhVHlwZSA/PyAnc3RyaW5nJyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZXRTb3J0KHNvcnQpO1xuICAgICAgICB0aGlzLmZldGNoKCk7XG4gICAgICB9LFxuICAgICAgc2V0RGlzcGxheWVkQ29sdW1ucyhkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7IGRpc3BsYXllZENvbHVtbnMgfSk7XG4gICAgICB9LFxuICAgIH0pKVxuICApO1xufVxuXG5leHBvcnQgY29uc3QgUmR0VGFibGVTdG9yZSA9IGdldFJkdFRhYmxlU3RvcmU8YW55PigpO1xuZXhwb3J0IHR5cGUgUmR0VGFibGVTdG9yZTxUIGV4dGVuZHMgb2JqZWN0ID0gYW55LCBURmlsdGVyID0gVD4gPSBJbnN0YW5jZVR5cGU8XG4gIFJldHVyblR5cGU8dHlwZW9mIGdldFJkdFRhYmxlU3RvcmU8VCwgVEZpbHRlcj4+XG4+O1xuXG5mdW5jdGlvbiBnZXRSZHRUYWJsZUVycm9yKGVycm9yOiBhbnkpOiBSZHRUYWJsZU1lc3NhZ2UgfCBudWxsIHtcbiAgaWYgKGlzUmR0VGFibGVNZXNzYWdlKGVycm9yKSkge1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxuICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7IG1lc3NhZ2U6IGVycm9yLCBoZWFkZXI6ICdSRFRfVEFCTEVfRVJST1JfSEVBREVSJyB9O1xuICB9XG4gIGlmIChlcnJvciAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnICYmICdtZXNzYWdlJyBpbiBlcnJvcikge1xuICAgIHJldHVybiB7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIGhlYWRlcjogJ1JEVF9UQUJMRV9FUlJPUl9IRUFERVInIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBoZWFkZXI6ICdSRFRfVEFCTEVfRVJST1JfSEVBREVSJyxcbiAgICBtZXNzYWdlOiAnUkRUX1RBQkxFX0VSUk9SX01FU1NBR0UnLFxuICB9O1xufVxuIl19","export function selectIdTransform(value) {\n if (typeof value === 'function') {\n return value;\n }\n return (item) => item[value];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLnV0aWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUudXRpbHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsS0FBK0M7SUFFL0MsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFvQixDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gc2VsZWN0SWRUcmFuc2Zvcm08VD4oXG4gIHZhbHVlOiBrZXlvZiBUIHwgKChpdGVtOiBUKSA9PiBzdHJpbmcgfCBudW1iZXIpXG4pOiAoaXRlbTogVCkgPT4gc3RyaW5nIHwgbnVtYmVyIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gKGl0ZW06IFQpID0+IGl0ZW1bdmFsdWVdIGFzIHN0cmluZyB8IG51bWJlcjtcbn1cbiJdfQ==","/* import humanizeString from 'humanize-string'; */\nexport class RdtBaseColumnBuilder {\n _key;\n _header;\n _sortable = false;\n _sortKey;\n _cellClass = '';\n _cellStyle = '';\n _headerStyle = '';\n _headerClass = '';\n _minWidth;\n _maxWidth;\n _interactive = () => false;\n _sticky;\n constructor(key) {\n this._key = key;\n }\n withSticky(sticky = 'end') {\n this._sticky = sticky;\n return this;\n }\n withHeader(header) {\n this._header = header;\n return this;\n }\n withSortable(sortable = true) {\n this._sortable = sortable;\n return this;\n }\n withSortKey(sortKey) {\n this._sortKey = sortKey;\n return this;\n }\n withCellClass(cellClass) {\n this._cellClass = cellClass;\n return this;\n }\n withCellStyle(cellStyle) {\n this._cellStyle = cellStyle;\n return this;\n }\n withHeaderStyle(headerStyle) {\n this._headerStyle = headerStyle;\n return this;\n }\n withHeaderClass(headerClass) {\n this._headerClass = headerClass;\n return this;\n }\n withMinWidth(minWidth) {\n this._minWidth = typeof minWidth === 'string' ? minWidth : `${minWidth}px`;\n return this;\n }\n withMaxWidth(maxWidth) {\n this._maxWidth = typeof maxWidth === 'string' ? maxWidth : `${maxWidth}px`;\n return this;\n }\n withInteractive(interactive = true) {\n this._interactive =\n typeof interactive === 'function' ? interactive : () => interactive;\n return this;\n }\n getCellClassFn() {\n const cellClass = this._cellClass;\n return typeof cellClass === 'function' ? cellClass : () => cellClass;\n }\n getCellStyleFn() {\n const cellStyle = this._cellStyle;\n return typeof cellStyle === 'function' ? cellStyle : () => cellStyle;\n }\n getSortKey() {\n return this._sortKey ?? this._key;\n }\n getHeader() {\n return this._header ?? this._key; /* ?? humanizeString(this._key); */\n }\n build() {\n return {\n key: this._key,\n header: this.getHeader(),\n sortable: this._sortable,\n sortKey: this.getSortKey(),\n cellClass: this.getCellClassFn(),\n cellStyle: this.getCellStyleFn(),\n headerStyle: this._headerStyle,\n headerClass: this._headerClass,\n cellRenderer: this.getCellRenderer(),\n cellRendererParams: this.getCellRendererParams(),\n interactive: this._interactive,\n minWidth: this._minWidth,\n maxWidth: this._maxWidth,\n sticky: this._sticky,\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtY29sdW1uLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9tb2RlbHMvY29sdW1ucy9yZHQtYmFzZS1jb2x1bW4tYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxtREFBbUQ7QUFFbkQsTUFBTSxPQUFnQixvQkFBb0I7SUFDOUIsSUFBSSxDQUFxQjtJQUN6QixPQUFPLENBQVU7SUFDakIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixRQUFRLENBQVU7SUFDbEIsVUFBVSxHQUFrQyxFQUFFLENBQUM7SUFDL0MsVUFBVSxHQUFrQyxFQUFFLENBQUM7SUFDL0MsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDbkIsWUFBWSxHQUF3QixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDaEQsT0FBTyxDQUFtQjtJQU9wQyxZQUFZLEdBQXVCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxVQUFVLENBQUMsU0FBMEIsS0FBSztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBUSxHQUFHLElBQUk7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsT0FB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QUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb3ROb3RhdGlvblBhdGggfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgUmR0QmFzZUNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3JlbmRlcmVycy9yZHQtYmFzZS1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHRDb2xEZWYgfSBmcm9tICcuL3JkdC1jb2wtZGVmJztcbi8qIGltcG9ydCBodW1hbml6ZVN0cmluZyBmcm9tICdodW1hbml6ZS1zdHJpbmcnOyAqL1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QmFzZUNvbHVtbkJ1aWxkZXI8VCBleHRlbmRzIG9iamVjdCwgVFJlbmRlcmVyUGFyYW1zPiB7XG4gIHByb3RlY3RlZCBfa2V5OiBEb3ROb3RhdGlvblBhdGg8VD47XG4gIHByb3RlY3RlZCBfaGVhZGVyPzogc3RyaW5nO1xuICBwcm90ZWN0ZWQgX3NvcnRhYmxlID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfc29ydEtleT86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9jZWxsQ2xhc3M6ICgocm93OiBUKSA9PiBzdHJpbmcpIHwgc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCBfY2VsbFN0eWxlOiAoKHJvdzogVCkgPT4gc3RyaW5nKSB8IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgX2hlYWRlclN0eWxlID0gJyc7XG4gIHByb3RlY3RlZCBfaGVhZGVyQ2xhc3MgPSAnJztcbiAgcHJvdGVjdGVkIF9taW5XaWR0aD86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9tYXhXaWR0aD86IHN0cmluZztcbiAgcHJvdGVjdGVkIF9pbnRlcmFjdGl2ZTogKHJvdzogVCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuICBwcm90ZWN0ZWQgX3N0aWNreT86ICdzdGFydCcgfCAnZW5kJztcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q2VsbFJlbmRlcmVyKCk6IFR5cGU8XG4gICAgUmR0QmFzZUNlbGxSZW5kZXJlckNvbXBvbmVudDxULCBUUmVuZGVyZXJQYXJhbXM+XG4gID47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDZWxsUmVuZGVyZXJQYXJhbXMoKTogVFJlbmRlcmVyUGFyYW1zO1xuXG4gIGNvbnN0cnVjdG9yKGtleTogRG90Tm90YXRpb25QYXRoPFQ+KSB7XG4gICAgdGhpcy5fa2V5ID0ga2V5O1xuICB9XG5cbiAgcHVibGljIHdpdGhTdGlja3koc3RpY2t5OiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJyk6IHRoaXMge1xuICAgIHRoaXMuX3N0aWNreSA9IHN0aWNreTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoSGVhZGVyKGhlYWRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5faGVhZGVyID0gaGVhZGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhTb3J0YWJsZShzb3J0YWJsZSA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLl9zb3J0YWJsZSA9IHNvcnRhYmxlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhTb3J0S2V5KHNvcnRLZXk6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX3NvcnRLZXkgPSBzb3J0S2V5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhDZWxsQ2xhc3MoY2VsbENsYXNzOiAoKHJvdzogVCkgPT4gc3RyaW5nKSB8IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuX2NlbGxDbGFzcyA9IGNlbGxDbGFzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoQ2VsbFN0eWxlKGNlbGxTdHlsZTogKChyb3c6IFQpID0+IHN0cmluZykgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9jZWxsU3R5bGUgPSBjZWxsU3R5bGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEhlYWRlclN0eWxlKGhlYWRlclN0eWxlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl9oZWFkZXJTdHlsZSA9IGhlYWRlclN0eWxlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhIZWFkZXJDbGFzcyhoZWFkZXJDbGFzczogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5faGVhZGVyQ2xhc3MgPSBoZWFkZXJDbGFzcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoTWluV2lkdGgobWluV2lkdGg6IHN0cmluZyB8IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuX21pbldpZHRoID0gdHlwZW9mIG1pbldpZHRoID09PSAnc3RyaW5nJyA/IG1pbldpZHRoIDogYCR7bWluV2lkdGh9cHhgO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHdpdGhNYXhXaWR0aChtYXhXaWR0aDogc3RyaW5nIHwgbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5fbWF4V2lkdGggPSB0eXBlb2YgbWF4V2lkdGggPT09ICdzdHJpbmcnID8gbWF4V2lkdGggOiBgJHttYXhXaWR0aH1weGA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aEludGVyYWN0aXZlKFxuICAgIGludGVyYWN0aXZlOiBib29sZWFuIHwgKChyb3c6IFQpID0+IGJvb2xlYW4pID0gdHJ1ZVxuICApOiB0aGlzIHtcbiAgICB0aGlzLl9pbnRlcmFjdGl2ZSA9XG4gICAgICB0eXBlb2YgaW50ZXJhY3RpdmUgPT09ICdmdW5jdGlvbicgPyBpbnRlcmFjdGl2ZSA6ICgpID0+IGludGVyYWN0aXZlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENlbGxDbGFzc0ZuKCkge1xuICAgIGNvbnN0IGNlbGxDbGFzcyA9IHRoaXMuX2NlbGxDbGFzcztcbiAgICByZXR1cm4gdHlwZW9mIGNlbGxDbGFzcyA9PT0gJ2Z1bmN0aW9uJyA/IGNlbGxDbGFzcyA6ICgpID0+IGNlbGxDbGFzcztcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDZWxsU3R5bGVGbigpIHtcbiAgICBjb25zdCBjZWxsU3R5bGUgPSB0aGlzLl9jZWxsU3R5bGU7XG4gICAgcmV0dXJuIHR5cGVvZiBjZWxsU3R5bGUgPT09ICdmdW5jdGlvbicgPyBjZWxsU3R5bGUgOiAoKSA9PiBjZWxsU3R5bGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U29ydEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydEtleSA/PyB0aGlzLl9rZXk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0SGVhZGVyKCkge1xuICAgIHJldHVybiB0aGlzLl9oZWFkZXIgPz8gdGhpcy5fa2V5OyAvKiA/PyBodW1hbml6ZVN0cmluZyh0aGlzLl9rZXkpOyAqL1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFJkdENvbERlZjxUPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleTogdGhpcy5fa2V5LFxuICAgICAgaGVhZGVyOiB0aGlzLmdldEhlYWRlcigpLFxuICAgICAgc29ydGFibGU6IHRoaXMuX3NvcnRhYmxlLFxuICAgICAgc29ydEtleTogdGhpcy5nZXRTb3J0S2V5KCksXG4gICAgICBjZWxsQ2xhc3M6IHRoaXMuZ2V0Q2VsbENsYXNzRm4oKSxcbiAgICAgIGNlbGxTdHlsZTogdGhpcy5nZXRDZWxsU3R5bGVGbigpLFxuICAgICAgaGVhZGVyU3R5bGU6IHRoaXMuX2hlYWRlclN0eWxlLFxuICAgICAgaGVhZGVyQ2xhc3M6IHRoaXMuX2hlYWRlckNsYXNzLFxuICAgICAgY2VsbFJlbmRlcmVyOiB0aGlzLmdldENlbGxSZW5kZXJlcigpLFxuICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB0aGlzLmdldENlbGxSZW5kZXJlclBhcmFtcygpLFxuICAgICAgaW50ZXJhY3RpdmU6IHRoaXMuX2ludGVyYWN0aXZlLFxuICAgICAgbWluV2lkdGg6IHRoaXMuX21pbldpZHRoLFxuICAgICAgbWF4V2lkdGg6IHRoaXMuX21heFdpZHRoLFxuICAgICAgc3RpY2t5OiB0aGlzLl9zdGlja3ksXG4gICAgfTtcbiAgfVxufVxuIl19","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RdtBaseCellRendererComponent {\n row = input.required();\n index = input.required();\n store = input.required();\n cellRendererParams = input.required();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtBaseCellRendererComponent, isStandalone: true, selector: \"rdt-base-cell-renderer\", inputs: { row: { classPropertyName: \"row\", publicName: \"row\", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: \"index\", publicName: \"index\", isSignal: true, isRequired: true, transformFunction: null }, store: { classPropertyName: \"store\", publicName: \"store\", isSignal: true, isRequired: true, transformFunction: null }, cellRendererParams: { classPropertyName: \"cellRendererParams\", publicName: \"cellRendererParams\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtBaseCellRendererComponent, decorators: [{\n type: Directive,\n args: [{\n selector: 'rdt-base-cell-renderer',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJhc2UtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9yZW5kZXJlcnMvcmR0LWJhc2UtY2VsbC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpELE1BQU0sT0FBZ0IsNEJBQTRCO0lBSXZDLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7SUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztJQUNqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBd0IsQ0FBQztJQUMvQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7dUdBUHBDLDRCQUE0QjsyRkFBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUhqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0VGFibGVTdG9yZSB9IGZyb20gJy4uL21vZGVscy9zdGF0ZS9yZHQtdGFibGUtc3RvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdyZHQtYmFzZS1jZWxsLXJlbmRlcmVyJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QmFzZUNlbGxSZW5kZXJlckNvbXBvbmVudDxcbiAgVERhdGEgZXh0ZW5kcyBvYmplY3QsXG4gIFRQYXJhbXNcbj4ge1xuICByZWFkb25seSByb3cgPSBpbnB1dC5yZXF1aXJlZDxURGF0YT4oKTtcbiAgcmVhZG9ubHkgaW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5wdXQucmVxdWlyZWQ8UmR0VGFibGVTdG9yZTxURGF0YT4+KCk7XG4gIHJlYWRvbmx5IGNlbGxSZW5kZXJlclBhcmFtcyA9IGlucHV0LnJlcXVpcmVkPFRQYXJhbXM+KCk7XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, ViewEncapsulation, } from '@angular/core';\nimport { RdtBaseCellRendererComponent } from './../rdt-base-cell-renderer.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtStaticCellRendererComponent extends RdtBaseCellRendererComponent {\n value = computed(() => this.cellRendererParams().valueFormatter(this.row()));\n tooltip = computed(() => this.cellRendererParams().tooltipFormatter(this.row()));\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtStaticCellRendererComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtStaticCellRendererComponent, isStandalone: false, selector: \"rdt-static-cell-renderer\", host: { classAttribute: \"cell-value-base\" }, usesInheritance: true, ngImport: i0, template: \"@let val = value();\\n{{ val }}\\n\", styles: [\"\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtStaticCellRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-static-cell-renderer', host: {\n class: 'cell-value-base',\n }, standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"@let val = value();\\n{{ val }}\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtc3RhdGljLWNlbGwtcmVuZGVyZXIvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtc3RhdGljLWNlbGwtcmVuZGVyZXIvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBY3JGLE1BQU0sT0FBTyw4QkFFWCxTQUFRLDRCQUdUO0lBQ1UsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDN0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO0lBQ08sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQ3ZELENBQUM7dUdBWFMsOEJBQThCOzJGQUE5Qiw4QkFBOEIseUpDckIzQyxrQ0FFQTs7MkZEbUJhLDhCQUE4QjtrQkFYMUMsU0FBUzsrQkFDRSwwQkFBMEIsUUFFOUI7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtxQkFDekIsY0FFVyxLQUFLLG1CQUNBLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZHRCYXNlQ2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9yZHQtYmFzZS1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHRTdGF0aWNDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICcuL3JkdC1zdGF0aWMtY2VsbC1yZW5kZXJlci1wYXJhbXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHQtc3RhdGljLWNlbGwtcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnY2VsbC12YWx1ZS1iYXNlJyxcbiAgfSxcbiAgc3R5bGVVcmw6ICcuL3JkdC1zdGF0aWMtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuc2NzcycsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0U3RhdGljQ2VsbFJlbmRlcmVyQ29tcG9uZW50PFxuICBURGF0YSBleHRlbmRzIG9iamVjdFxuPiBleHRlbmRzIFJkdEJhc2VDZWxsUmVuZGVyZXJDb21wb25lbnQ8XG4gIFREYXRhLFxuICBSZHRTdGF0aWNDZWxsUmVuZGVyZXJQYXJhbXM8VERhdGE+XG4+IHtcbiAgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuY2VsbFJlbmRlcmVyUGFyYW1zKCkudmFsdWVGb3JtYXR0ZXIodGhpcy5yb3coKSlcbiAgKTtcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5jZWxsUmVuZGVyZXJQYXJhbXMoKS50b29sdGlwRm9ybWF0dGVyKHRoaXMucm93KCkpXG4gICk7XG59XG4iLCJAbGV0IHZhbCA9IHZhbHVlKCk7XG57eyB2YWwgfX1cbiJdfQ==","import { inject } from '@angular/core';\nimport { RdtTranslateService } from '@ngrdt/core';\nimport { RdtDateUtils, RdtObjectUtils } from '@ngrdt/utils';\nimport { RdtStaticCellRendererComponent } from '../../renderers/rdt-static-cell-renderer/rdt-static-cell-renderer.component';\nimport { RdtBaseColumnBuilder } from './rdt-base-column-builder';\nexport class RdtStaticColumnBuilder extends RdtBaseColumnBuilder {\n translateService = inject(RdtTranslateService);\n _dataType = 'string';\n _valueFormatter;\n _tooltipFormatter;\n _enumValues;\n _tooltipEnabled = true;\n constructor(key) {\n super(key);\n }\n withDataType(dataType) {\n this._dataType = dataType;\n return this;\n }\n withValueFormatter(formatter) {\n this._valueFormatter = formatter;\n return this;\n }\n withTooltipFormatter(formatter) {\n this._tooltipFormatter = formatter;\n return this;\n }\n withTooltipEnabled(enabled) {\n this._tooltipEnabled = enabled;\n return this;\n }\n withEnumValues(enumValues) {\n this._enumValues = enumValues;\n return this;\n }\n getCellRenderer() {\n return RdtStaticCellRendererComponent;\n }\n formatNumber(value) {\n let numericValue;\n if (typeof value === 'number') {\n numericValue = value;\n }\n else if (value == null) {\n return '';\n }\n else if (typeof value === 'string') {\n numericValue = Number(value);\n if (isNaN(numericValue)) {\n return value;\n }\n }\n else {\n return '';\n }\n return numericValue.toFixed(2).replace(/\\.0+$/, '');\n }\n formatDecimal(value) {\n if (typeof value === 'number') {\n return value.toFixed(2);\n }\n else if (typeof value === 'string') {\n const num = parseFloat(value);\n return isNaN(num) ? value : num.toFixed(2);\n }\n return '';\n }\n formatDate(value) {\n return RdtDateUtils.formatDate(value);\n }\n formatDateTime(date) {\n if (date === null || date === undefined || date === '') {\n return '';\n }\n const d = date instanceof Date ? date : new Date(date);\n if (RdtDateUtils.isValidDate(d)) {\n const year = d.getFullYear();\n const month = `${d.getMonth() + 1}`.padStart(2, '0');\n const day = `${d.getDate()}`.padStart(2, '0');\n const hour = `${d.getHours()}`.padStart(2, '0');\n const minute = `${d.getMinutes()}`.padStart(2, '0');\n return `${day}.${month}.${year} ${hour}:${minute}`;\n }\n else {\n return '';\n }\n }\n formatBoolean(value) {\n switch (value) {\n case true:\n case 'true':\n case 1:\n case '1':\n return this.translateService.instant('RDT_YES');\n case false:\n case 'false':\n case 0:\n case '0':\n return this.translateService.instant('RDT_NO');\n default:\n return '';\n }\n }\n formatEnum(value) {\n if (!this._enumValues) {\n throw new Error('Enum values are not set');\n }\n return this._enumValues[value] || value;\n }\n getValueFormatter() {\n if (this._valueFormatter) {\n return this._valueFormatter;\n }\n switch (this._dataType) {\n case 'boolean':\n return (row) => this.formatBoolean(this.pluck(row, this._key));\n case 'date':\n return (row) => this.formatDate(this.pluck(row, this._key));\n case 'date-time':\n return (row) => this.formatDateTime(this.pluck(row, this._key));\n case 'decimal':\n return (row) => this.formatDecimal(this.pluck(row, this._key));\n case 'enum':\n return (row) => this.formatEnum(this.pluck(row, this._key));\n case 'number':\n return (row) => this.formatNumber(this.pluck(row, this._key));\n default:\n return (row) => this.pluck(row, this._key);\n }\n }\n pluck(row, key) {\n if (key in row) {\n return row[key];\n }\n else {\n return RdtObjectUtils.pluck(row, key);\n }\n }\n getTooltipFormatter() {\n return this._tooltipFormatter ?? this.getValueFormatter();\n }\n getCellRendererParams() {\n return {\n dataType: this._dataType,\n valueFormatter: this.getValueFormatter(),\n tooltipEnabled: this._tooltipEnabled,\n tooltipFormatter: this.getTooltipFormatter(),\n };\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXN0YXRpYy1jb2x1bW4tYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL21vZGVscy9jb2x1bW5zL3JkdC1zdGF0aWMtY29sdW1uLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFtQixZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBRTdILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE1BQU0sT0FBTyxzQkFFWCxTQUFRLG9CQUF1RDtJQUN2RCxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM3QyxTQUFTLEdBQXdCLFFBQVEsQ0FBQztJQUMxQyxlQUFlLENBQXdCO0lBQ3ZDLGlCQUFpQixDQUF3QjtJQUN6QyxXQUFXLENBQXVCO0lBQ2xDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFFakMsWUFBWSxHQUErQztRQUN6RCxLQUFLLENBQUMsR0FBeUIsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBNkI7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsU0FBK0I7UUFDdkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsU0FBK0I7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztR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QUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNmLE9BQVEsR0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVTLG1CQUFtQjtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRWtCLHFCQUFxQjtRQUN0QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3hCLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEMsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtTQUM3QyxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5ncmR0L2NvcmUnO1xuaW1wb3J0IHsgRG90Tm90YXRpb25QYXRoLCBSZHREYXRlVXRpbHMsIFJkdE9iamVjdFV0aWxzIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IFJkdFN0YXRpY0NlbGxSZW5kZXJlclBhcmFtcyB9IGZyb20gJy4uLy4uL3JlbmRlcmVycy9yZHQtc3RhdGljLWNlbGwtcmVuZGVyZXIvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyLXBhcmFtcyc7XG5pbXBvcnQgeyBSZHRTdGF0aWNDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yZW5kZXJlcnMvcmR0LXN0YXRpYy1jZWxsLXJlbmRlcmVyL3JkdC1zdGF0aWMtY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0VGFibGVEaXNwbGF5VHlwZSB9IGZyb20gJy4uL2RhdGFzb3VyY2UvcmR0LXRhYmxlLXJlcXVlc3QtcGFyYW1zJztcbmltcG9ydCB7IFJkdEJhc2VDb2x1bW5CdWlsZGVyIH0gZnJvbSAnLi9yZHQtYmFzZS1jb2x1bW4tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBSZHRTdGF0aWNDb2x1bW5CdWlsZGVyPFxuICBUIGV4dGVuZHMgb2JqZWN0XG4+IGV4dGVuZHMgUmR0QmFzZUNvbHVtbkJ1aWxkZXI8VCwgUmR0U3RhdGljQ2VsbFJlbmRlcmVyUGFyYW1zPFQ+PiB7XG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChSZHRUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIF9kYXRhVHlwZTogUmR0VGFibGVEaXNwbGF5VHlwZSA9ICdzdHJpbmcnO1xuICBwcm90ZWN0ZWQgX3ZhbHVlRm9ybWF0dGVyPzogKHZhbHVlOiBUKSA9PiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfdG9vbHRpcEZvcm1hdHRlcj86ICh2YWx1ZTogVCkgPT4gc3RyaW5nO1xuICBwcm90ZWN0ZWQgX2VudW1WYWx1ZXM/OiBSZWNvcmQ8YW55LCBzdHJpbmc+O1xuICBwcm90ZWN0ZWQgX3Rvb2x0aXBFbmFibGVkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihrZXk6IERvdE5vdGF0aW9uUGF0aDxUPiB8IGAke3N0cmluZ306JHtzdHJpbmd9YCkge1xuICAgIHN1cGVyKGtleSBhcyBEb3ROb3RhdGlvblBhdGg8VD4pO1xuICB9XG5cbiAgcHVibGljIHdpdGhEYXRhVHlwZShkYXRhVHlwZTogUmR0VGFibGVEaXNwbGF5VHlwZSk6IHRoaXMge1xuICAgIHRoaXMuX2RhdGFUeXBlID0gZGF0YVR5cGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgd2l0aFZhbHVlRm9ybWF0dGVyKGZvcm1hdHRlcjogKHZhbHVlOiBUKSA9PiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLl92YWx1ZUZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVG9vbHRpcEZvcm1hdHRlcihmb3JtYXR0ZXI6ICh2YWx1ZTogVCkgPT4gc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5fdG9vbHRpcEZvcm1hdHRlciA9IGZvcm1hdHRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoVG9vbHRpcEVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuX3Rvb2x0aXBFbmFibGVkID0gZW5hYmxlZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyB3aXRoRW51bVZhbHVlcyhlbnVtVmFsdWVzOiBSZWNvcmQ8YW55LCBzdHJpbmc+KTogdGhpcyB7XG4gICAgdGhpcy5fZW51bVZhbHVlcyA9IGVudW1WYWx1ZXM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0Q2VsbFJlbmRlcmVyKCkge1xuICAgIHJldHVybiBSZHRTdGF0aWNDZWxsUmVuZGVyZXJDb21wb25lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0TnVtYmVyKHZhbHVlOiBhbnkpIHtcbiAgICBsZXQgbnVtZXJpY1ZhbHVlOiBudW1iZXI7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgbnVtZXJpY1ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBudW1lcmljVmFsdWUgPSBOdW1iZXIodmFsdWUpO1xuICAgICAgaWYgKGlzTmFOKG51bWVyaWNWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bWVyaWNWYWx1ZS50b0ZpeGVkKDIpLnJlcGxhY2UoL1xcLjArJC8sICcnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXREZWNpbWFsKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIHZhbHVlLnRvRml4ZWQoMik7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBudW0gPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgIHJldHVybiBpc05hTihudW0pID8gdmFsdWUgOiBudW0udG9GaXhlZCgyKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHJvdGVjdGVkIGZvcm1hdERhdGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiBSZHREYXRlVXRpbHMuZm9ybWF0RGF0ZSh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0RGF0ZVRpbWUoZGF0ZTogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoZGF0ZSA9PT0gbnVsbCB8fCBkYXRlID09PSB1bmRlZmluZWQgfHwgZGF0ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBkID0gZGF0ZSBpbnN0YW5jZW9mIERhdGUgPyBkYXRlIDogbmV3IERhdGUoZGF0ZSk7XG5cbiAgICBpZiAoUmR0RGF0ZVV0aWxzLmlzVmFsaWREYXRlKGQpKSB7XG4gICAgICBjb25zdCB5ZWFyID0gZC5nZXRGdWxsWWVhcigpO1xuICAgICAgY29uc3QgbW9udGggPSBgJHtkLmdldE1vbnRoKCkgKyAxfWAucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgIGNvbnN0IGRheSA9IGAke2QuZ2V0RGF0ZSgpfWAucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgIGNvbnN0IGhvdXIgPSBgJHtkLmdldEhvdXJzKCl9YC5wYWRTdGFydCgyLCAnMCcpO1xuICAgICAgY29uc3QgbWludXRlID0gYCR7ZC5nZXRNaW51dGVzKCl9YC5wYWRTdGFydCgyLCAnMCcpO1xuXG4gICAgICByZXR1cm4gYCR7ZGF5fS4ke21vbnRofS4ke3llYXJ9ICR7aG91cn06JHttaW51dGV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmb3JtYXRCb29sZWFuKHZhbHVlOiBhbnkpIHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlIHRydWU6XG4gICAgICBjYXNlICd0cnVlJzpcbiAgICAgIGNhc2UgMTpcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1JEVF9ZRVMnKTtcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICBjYXNlICdmYWxzZSc6XG4gICAgICBjYXNlIDA6XG4gICAgICBjYXNlICcwJzpcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdSRFRfTk8nKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybWF0RW51bSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLl9lbnVtVmFsdWVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VudW0gdmFsdWVzIGFyZSBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9lbnVtVmFsdWVzW3ZhbHVlXSB8fCB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRWYWx1ZUZvcm1hdHRlcigpIHtcbiAgICBpZiAodGhpcy5fdmFsdWVGb3JtYXR0ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZUZvcm1hdHRlcjtcbiAgICB9XG4gICAgc3dpdGNoICh0aGlzLl9kYXRhVHlwZSkge1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdEJvb2xlYW4odGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdERhdGUodGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZGF0ZS10aW1lJzpcbiAgICAgICAgcmV0dXJuIChyb3c6IFQpID0+IHRoaXMuZm9ybWF0RGF0ZVRpbWUodGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZGVjaW1hbCc6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdERlY2ltYWwodGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnZW51bSc6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLmZvcm1hdEVudW0odGhpcy5wbHVjayhyb3csIHRoaXMuX2tleSkpO1xuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgcmV0dXJuIChyb3c6IFQpID0+IHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMucGx1Y2socm93LCB0aGlzLl9rZXkpKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAocm93OiBUKSA9PiB0aGlzLnBsdWNrKHJvdywgdGhpcy5fa2V5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBsdWNrKHJvdzogVCwga2V5OiBzdHJpbmcpIHtcbiAgICBpZiAoa2V5IGluIHJvdykge1xuICAgICAgcmV0dXJuIChyb3cgYXMgYW55KVtrZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUmR0T2JqZWN0VXRpbHMucGx1Y2socm93LCBrZXkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRUb29sdGlwRm9ybWF0dGVyKCkge1xuICAgIHJldHVybiB0aGlzLl90b29sdGlwRm9ybWF0dGVyID8/IHRoaXMuZ2V0VmFsdWVGb3JtYXR0ZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXRDZWxsUmVuZGVyZXJQYXJhbXMoKTogUmR0U3RhdGljQ2VsbFJlbmRlcmVyUGFyYW1zPFQ+IHtcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YVR5cGU6IHRoaXMuX2RhdGFUeXBlLFxuICAgICAgdmFsdWVGb3JtYXR0ZXI6IHRoaXMuZ2V0VmFsdWVGb3JtYXR0ZXIoKSxcbiAgICAgIHRvb2x0aXBFbmFibGVkOiB0aGlzLl90b29sdGlwRW5hYmxlZCxcbiAgICAgIHRvb2x0aXBGb3JtYXR0ZXI6IHRoaXMuZ2V0VG9vbHRpcEZvcm1hdHRlcigpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","export class RdtTableDatasource {\n totalCountKnown = true;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi9tb2RlbHMvZGF0YXNvdXJjZS9yZHQtdGFibGUtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQWdCLGtCQUFrQjtJQUs3QixlQUFlLEdBQUcsSUFBSSxDQUFDO0NBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdlIH0gZnJvbSAnLi9yZHQtdGFibGUtcGFnZSc7XG5pbXBvcnQgeyBSZHRUYWJsZVJlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3JkdC10YWJsZS1yZXF1ZXN0LXBhcmFtcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRUYWJsZURhdGFzb3VyY2U8VCwgVEZpbHRlciA9IFQ+IHtcbiAgYWJzdHJhY3QgZ2V0RGF0YShcbiAgICBwYXJhbXM6IFJkdFRhYmxlUmVxdWVzdFBhcmFtczxULCBURmlsdGVyPlxuICApOiBPYnNlcnZhYmxlPFJkdFRhYmxlUGFnZTxUPj47XG5cbiAgcmVhZG9ubHkgdG90YWxDb3VudEtub3duID0gdHJ1ZTtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation, } from '@angular/core';\nimport { RdtIcon, RdtIconRegistryService } from '@ngrdt/icon';\nimport { RdtTableStore } from '../../models';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@ngrdt/icon\";\nexport class RdtTablePaginatorComponent {\n store = inject(RdtTableStore);\n iconRegistry = inject(RdtIconRegistryService);\n from = computed(() => this.store.totalCount() > 0 ? this.store.firstRowIndex() + 1 : 0);\n to = computed(() => this.store.lastRowIndex() + 1);\n total = computed(() => this.store.totalCount());\n pageSize = computed(() => this.store.pageSize());\n currentPageNumber = computed(() => this.store.pageIndex() + 1);\n pageSizeOptions = computed(() => this.store.pageSizeOptions().map((opt) => ({ label: `${opt}`, value: opt })));\n pageCount = computed(() => this.store.pageCount());\n skipRightIcon = this.iconRegistry.getIcon(RdtIcon.SkipRight);\n skipDoubleRightIcon = this.iconRegistry.getIcon(RdtIcon.SkipDoubleRight);\n skipLeftIcon = this.iconRegistry.getIcon(RdtIcon.SkipLeft);\n skipDoubleLeftIcon = this.iconRegistry.getIcon(RdtIcon.SkipDoubleLeft);\n pageWindow = computed(() => {\n const pageCount = this.pageCount();\n const current = this.currentPageNumber();\n const windowSize = 2;\n const start = Math.max(1, current - windowSize);\n const end = Math.min(pageCount, current + windowSize);\n const pages = [];\n for (let i = start; i <= end; i++) {\n pages.push(i);\n }\n return pages;\n });\n onPageSizeChange(event) {\n const value = event.target.value;\n const pageSize = parseInt(value);\n this.store.setPagination(pageSize ?? 10, 0);\n this.store.fetch();\n }\n onPageChange(pageNumber) {\n const pageIndex = pageNumber - 1;\n this.store.setPagination(this.pageSize(), pageIndex);\n this.store.fetch();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTablePaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.0\", type: RdtTablePaginatorComponent, isStandalone: false, selector: \"rdt-table-paginator\", ngImport: i0, template: \"@if (store.ready()) {\\n<div\\n class=\\\"flex flex-row-reverse flex-wrap-reverse justify-between items-center gap-2\\\"\\n [class.invisible]=\\\"total() === 0\\\"\\n>\\n <div class=\\\"paginator\\\">\\n <div class=\\\"paginator-info\\\">\\n Zobrazeno <b>{{ from() }} - {{ to() }} z\\u00E1znam\\u016F z {{ total() }}</b>\\n </div>\\n <div class=\\\"paginator-controls\\\">\\n <select\\n class=\\\"action-btn\\\"\\n [value]=\\\"pageSize()\\\"\\n (change)=\\\"onPageSizeChange($event)\\\"\\n >\\n @for (option of pageSizeOptions(); track $index) {\\n <option [value]=\\\"option.value\\\">{{ option.value }}</option>\\n }\\n </select>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039\\u2039 -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(currentPageNumber() - 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039 -->\\n </button>\\n @for (page of pageWindow(); track $index) {\\n <button\\n class=\\\"action-btn\\\"\\n [class.selected]=\\\"currentPageNumber() === page\\\"\\n [disabled]=\\\"currentPageNumber() === page\\\"\\n (click)=\\\"onPageChange(page)\\\"\\n >\\n {{ page }}\\n </button>\\n }\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(currentPageNumber() + 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(pageCount())\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A\\u203A -->\\n </button>\\n </div>\\n </div>\\n</div>\\n}\\n\", styles: [\".paginator{display:flex;flex-wrap:wrap;justify-content:space-between;margin:1rem 1rem 0}.paginator-controls{display:flex;gap:.3rem}.paginator-controls select{margin-right:10px}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgSelectOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i1.ɵNgSelectMultipleOption, selector: \"option\", inputs: [\"ngValue\", \"value\"] }, { kind: \"directive\", type: i2.RdtIconOutletDirective, selector: \"[rdtIconOutlet]\", exportAs: [\"rdtIconOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTablePaginatorComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-table-paginator', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, encapsulation: ViewEncapsulation.None, template: \"@if (store.ready()) {\\n<div\\n class=\\\"flex flex-row-reverse flex-wrap-reverse justify-between items-center gap-2\\\"\\n [class.invisible]=\\\"total() === 0\\\"\\n>\\n <div class=\\\"paginator\\\">\\n <div class=\\\"paginator-info\\\">\\n Zobrazeno <b>{{ from() }} - {{ to() }} z\\u00E1znam\\u016F z {{ total() }}</b>\\n </div>\\n <div class=\\\"paginator-controls\\\">\\n <select\\n class=\\\"action-btn\\\"\\n [value]=\\\"pageSize()\\\"\\n (change)=\\\"onPageSizeChange($event)\\\"\\n >\\n @for (option of pageSizeOptions(); track $index) {\\n <option [value]=\\\"option.value\\\">{{ option.value }}</option>\\n }\\n </select>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039\\u2039 -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === 1\\\"\\n (click)=\\\"onPageChange(currentPageNumber() - 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipLeftIcon }\\\"\\n ></ng-container>\\n <!-- \\u2039 -->\\n </button>\\n @for (page of pageWindow(); track $index) {\\n <button\\n class=\\\"action-btn\\\"\\n [class.selected]=\\\"currentPageNumber() === page\\\"\\n [disabled]=\\\"currentPageNumber() === page\\\"\\n (click)=\\\"onPageChange(page)\\\"\\n >\\n {{ page }}\\n </button>\\n }\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(currentPageNumber() + 1)\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A -->\\n </button>\\n <button\\n class=\\\"action-btn\\\"\\n [disabled]=\\\"currentPageNumber() === pageCount()\\\"\\n (click)=\\\"onPageChange(pageCount())\\\"\\n >\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: skipDoubleRightIcon }\\\"\\n ></ng-container>\\n <!-- \\u203A\\u203A -->\\n </button>\\n </div>\\n </div>\\n</div>\\n}\\n\", styles: [\".paginator{display:flex;flex-wrap:wrap;justify-content:space-between;margin:1rem 1rem 0}.paginator-controls{display:flex;gap:.3rem}.paginator-controls select{margin-right:10px}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL2xpYi90YWJsZS9yZHQtdGFibGUtcGFnaW5hdG9yL3JkdC10YWJsZS1wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvdGFibGUvcmR0LXRhYmxlLXBhZ2luYXRvci9yZHQtdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQVU3QyxNQUFNLE9BQU8sMEJBQTBCO0lBQzVCLEtBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzlDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqRSxDQUFDO0lBQ08sRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25ELEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENB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RSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLLGlCQUNGLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRJY29uLCBSZHRJY29uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQG5ncmR0L2ljb24nO1xuaW1wb3J0IHsgUmR0VGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3JkdC10YWJsZS1wYWdpbmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZHQtdGFibGUtcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJsZVBhZ2luYXRvckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFRhYmxlU3RvcmUpO1xuICByZWFkb25seSBpY29uUmVnaXN0cnkgPSBpbmplY3QoUmR0SWNvblJlZ2lzdHJ5U2VydmljZSk7XG4gIHJlYWRvbmx5IGZyb20gPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuc3RvcmUudG90YWxDb3VudCgpID4gMCA/IHRoaXMuc3RvcmUuZmlyc3RSb3dJbmRleCgpICsgMSA6IDBcbiAgKTtcbiAgcmVhZG9ubHkgdG8gPSBjb21wdXRlZCgoKSA9PiB0aGlzLnN0b3JlLmxhc3RSb3dJbmRleCgpICsgMSk7XG4gIHJlYWRvbmx5IHRvdGFsID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdG9yZS50b3RhbENvdW50KCkpO1xuICByZWFkb25seSBwYWdlU2l6ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3RvcmUucGFnZVNpemUoKSk7XG4gIHJlYWRvbmx5IGN1cnJlbnRQYWdlTnVtYmVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdG9yZS5wYWdlSW5kZXgoKSArIDEpO1xuICByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBjb21wdXRlZCgoKSA9PlxuICAgIHRoaXMuc3RvcmUucGFnZVNpemVPcHRpb25zKCkubWFwKChvcHQpID0+ICh7IGxhYmVsOiBgJHtvcHR9YCwgdmFsdWU6IG9wdCB9KSlcbiAgKTtcbiAgcmVhZG9ubHkgcGFnZUNvdW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zdG9yZS5wYWdlQ291bnQoKSk7XG5cbiAgcmVhZG9ubHkgc2tpcFJpZ2h0SWNvbiA9IHRoaXMuaWNvblJlZ2lzdHJ5LmdldEljb24oUmR0SWNvbi5Ta2lwUmlnaHQpO1xuICByZWFkb25seSBza2lwRG91YmxlUmlnaHRJY29uID0gdGhpcy5pY29uUmVnaXN0cnkuZ2V0SWNvbihcbiAgICBSZHRJY29uLlNraXBEb3VibGVSaWdodFxuICApO1xuICByZWFkb25seSBza2lwTGVmdEljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFJkdEljb24uU2tpcExlZnQpO1xuICByZWFkb25seSBza2lwRG91YmxlTGVmdEljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFxuICAgIFJkdEljb24uU2tpcERvdWJsZUxlZnRcbiAgKTtcblxuICByZWFkb25seSBwYWdlV2luZG93ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHBhZ2VDb3VudCA9IHRoaXMucGFnZUNvdW50KCk7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIoKTtcbiAgICBjb25zdCB3aW5kb3dTaXplID0gMjtcbiAgICBjb25zdCBzdGFydCA9IE1hdGgubWF4KDEsIGN1cnJlbnQgLSB3aW5kb3dTaXplKTtcbiAgICBjb25zdCBlbmQgPSBNYXRoLm1pbihwYWdlQ291bnQsIGN1cnJlbnQgKyB3aW5kb3dTaXplKTtcbiAgICBjb25zdCBwYWdlczogbnVtYmVyW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgIHBhZ2VzLnB1c2goaSk7XG4gICAgfVxuICAgIHJldHVybiBwYWdlcztcbiAgfSk7XG5cbiAgb25QYWdlU2l6ZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpLnZhbHVlO1xuICAgIGNvbnN0IHBhZ2VTaXplID0gcGFyc2VJbnQodmFsdWUpO1xuICAgIHRoaXMuc3RvcmUuc2V0UGFnaW5hdGlvbihwYWdlU2l6ZSA/PyAxMCwgMCk7XG4gICAgdGhpcy5zdG9yZS5mZXRjaCgpO1xuICB9XG5cbiAgb25QYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIGNvbnN0IHBhZ2VJbmRleCA9IHBhZ2VOdW1iZXIgLSAxO1xuICAgIHRoaXMuc3RvcmUuc2V0UGFnaW5hdGlvbih0aGlzLnBhZ2VTaXplKCksIHBhZ2VJbmRleCk7XG4gICAgdGhpcy5zdG9yZS5mZXRjaCgpO1xuICB9XG59XG4iLCJAaWYgKHN0b3JlLnJlYWR5KCkpIHtcbjxkaXZcbiAgY2xhc3M9XCJmbGV4IGZsZXgtcm93LXJldmVyc2UgZmxleC13cmFwLXJldmVyc2UganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gIFtjbGFzcy5pbnZpc2libGVdPVwidG90YWwoKSA9PT0gMFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwYWdpbmF0b3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdG9yLWluZm9cIj5cbiAgICAgIFpvYnJhemVubyA8Yj57eyBmcm9tKCkgfX0gLSB7eyB0bygpIH19IHrDoXpuYW3FryB6IHt7IHRvdGFsKCkgfX08L2I+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2luYXRvci1jb250cm9sc1wiPlxuICAgICAgPHNlbGVjdFxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbdmFsdWVdPVwicGFnZVNpemUoKVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgQGZvciAob3B0aW9uIG9mIHBhZ2VTaXplT3B0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+e3sgb3B0aW9uLnZhbHVlIH19PC9vcHRpb24+XG4gICAgICAgIH1cbiAgICAgIDwvc2VsZWN0PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gMVwiXG4gICAgICAgIChjbGljayk9XCJvblBhZ2VDaGFuZ2UoMSlcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgcmR0SWNvbk91dGxldFxuICAgICAgICAgIFtpbnB1dHNdPVwieyBuYW1lOiBza2lwRG91YmxlTGVmdEljb24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSAgICAgICAgIOKAueKAuSAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gMVwiXG4gICAgICAgIChjbGljayk9XCJvblBhZ2VDaGFuZ2UoY3VycmVudFBhZ2VOdW1iZXIoKSAtIDEpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIHJkdEljb25PdXRsZXRcbiAgICAgICAgICBbaW5wdXRzXT1cInsgbmFtZTogc2tpcExlZnRJY29uIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwhLS0gICAgIOKAuSAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgQGZvciAocGFnZSBvZiBwYWdlV2luZG93KCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gcGFnZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjdXJyZW50UGFnZU51bWJlcigpID09PSBwYWdlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uUGFnZUNoYW5nZShwYWdlKVwiXG4gICAgICA+XG4gICAgICAgIHt7IHBhZ2UgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gcGFnZUNvdW50KClcIlxuICAgICAgICAoY2xpY2spPVwib25QYWdlQ2hhbmdlKGN1cnJlbnRQYWdlTnVtYmVyKCkgKyAxKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICByZHRJY29uT3V0bGV0XG4gICAgICAgICAgW2lucHV0c109XCJ7IG5hbWU6IHNraXBSaWdodEljb24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSAgIOKAuiAtLT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImFjdGlvbi1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY3VycmVudFBhZ2VOdW1iZXIoKSA9PT0gcGFnZUNvdW50KClcIlxuICAgICAgICAoY2xpY2spPVwib25QYWdlQ2hhbmdlKHBhZ2VDb3VudCgpKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICByZHRJY29uT3V0bGV0XG4gICAgICAgICAgW2lucHV0c109XCJ7IG5hbWU6IHNraXBEb3VibGVSaWdodEljb24gfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPCEtLSAgICAg4oC64oC6IC0tPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, inject, input, } from '@angular/core';\nimport { RdtIcon, RdtIconRegistryService } from '@ngrdt/icon';\nimport { RdtTableStore } from '../../models/state/rdt-table-store';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngrdt/icon\";\nexport class RdtHeaderCellRendererComponent {\n iconRegistry = inject(RdtIconRegistryService);\n store = inject(RdtTableStore);\n column = input.required();\n sortDirection = computed(() => this.store.getSortDirection(this.column()));\n sortAscIcon = this.iconRegistry.getIcon(RdtIcon.SortAsc);\n sortDescIcon = this.iconRegistry.getIcon(RdtIcon.SortDesc);\n sortEnabledIcon = this.iconRegistry.getIcon(RdtIcon.SortEnabled);\n sort(event) {\n if (this.column().sortable) {\n event.stopPropagation();\n this.store.toggleSort(this.column());\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtHeaderCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.0\", type: RdtHeaderCellRendererComponent, isStandalone: false, selector: \"rdt-header-cell-renderer\", inputs: { column: { classPropertyName: \"column\", publicName: \"column\", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { \"class.sortable-header-cell\": \"column().sortable\" } }, ngImport: i0, template: \"@let col = column();\\n<div class=\\\"space-between\\\">\\n <div class=\\\"table-header\\\">\\n <span\\n (click)=\\\"sort($event)\\\"\\n (keyup.enter)=\\\"sort($event)\\\"\\n class=\\\"header-cell-text\\\"\\n [attr.tabindex]=\\\"col.sortable ? 0 : -1\\\"\\n [attr.role]=\\\"col.sortable ? 'button' : 'presentation'\\\"\\n >\\n {{ col.header }}\\n </span>\\n </div>\\n @if (col.sortable) { @let direction = sortDirection(); @if (direction ===\\n 'asc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container rdtIconOutlet [inputs]=\\\"{ name: sortAscIcon }\\\"></ng-container>\\n </button>\\n } @else if (direction === 'desc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortDescIcon }\\\"\\n ></ng-container>\\n </button>\\n } @else {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortEnabledIcon }\\\"\\n ></ng-container>\\n </button>\\n }}\\n</div>\\n\", styles: [\"\"], dependencies: [{ kind: \"directive\", type: i1.RdtIconOutletDirective, selector: \"[rdtIconOutlet]\", exportAs: [\"rdtIconOutlet\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtHeaderCellRendererComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-header-cell-renderer', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, host: {\n '[class.sortable-header-cell]': 'column().sortable',\n }, template: \"@let col = column();\\n<div class=\\\"space-between\\\">\\n <div class=\\\"table-header\\\">\\n <span\\n (click)=\\\"sort($event)\\\"\\n (keyup.enter)=\\\"sort($event)\\\"\\n class=\\\"header-cell-text\\\"\\n [attr.tabindex]=\\\"col.sortable ? 0 : -1\\\"\\n [attr.role]=\\\"col.sortable ? 'button' : 'presentation'\\\"\\n >\\n {{ col.header }}\\n </span>\\n </div>\\n @if (col.sortable) { @let direction = sortDirection(); @if (direction ===\\n 'asc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container rdtIconOutlet [inputs]=\\\"{ name: sortAscIcon }\\\"></ng-container>\\n </button>\\n } @else if (direction === 'desc') {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortDescIcon }\\\"\\n ></ng-container>\\n </button>\\n } @else {\\n <button class=\\\"action-btn\\\" (click)=\\\"sort($event)\\\">\\n <ng-container\\n rdtIconOutlet\\n [inputs]=\\\"{ name: sortEnabledIcon }\\\"\\n ></ng-container>\\n </button>\\n }}\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvcmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3JlbmRlcmVycy9yZHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIvcmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFZbkUsTUFBTSxPQUFPLDhCQUE4QjtJQUN0QixZQUFZLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDeEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBa0IsQ0FBQztJQUMxQyxhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO0lBQ08sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RCxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDMUUsSUFBSSxDQUFDLEtBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7dUdBZlUsOEJBQThCOzJGQUE5Qiw4QkFBOEIsd1NDckIzQywwZ0NBa0NBOzsyRkRiYSw4QkFBOEI7a0JBVjFDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBR3hCLEtBQUssbUJBQ0EsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSiw4QkFBOEIsRUFBRSxtQkFBbUI7cUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0SWNvbiwgUmR0SWNvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BuZ3JkdC9pY29uJztcbmltcG9ydCB7IFJkdENvbERlZiB9IGZyb20gJy4uLy4uL21vZGVscy9jb2x1bW5zL3JkdC1jb2wtZGVmJztcbmltcG9ydCB7IFJkdFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3RhdGUvcmR0LXRhYmxlLXN0b3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncmR0LWhlYWRlci1jZWxsLXJlbmRlcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JkdC1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9yZHQtaGVhZGVyLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLnNvcnRhYmxlLWhlYWRlci1jZWxsXSc6ICdjb2x1bW4oKS5zb3J0YWJsZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uUmVnaXN0cnkgPSBpbmplY3QoUmR0SWNvblJlZ2lzdHJ5U2VydmljZSk7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFRhYmxlU3RvcmUpO1xuICByZWFkb25seSBjb2x1bW4gPSBpbnB1dC5yZXF1aXJlZDxSZHRDb2xEZWY8YW55Pj4oKTtcbiAgcmVhZG9ubHkgc29ydERpcmVjdGlvbiA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zdG9yZS5nZXRTb3J0RGlyZWN0aW9uKHRoaXMuY29sdW1uKCkpXG4gICk7XG4gIHJlYWRvbmx5IHNvcnRBc2NJY29uID0gdGhpcy5pY29uUmVnaXN0cnkuZ2V0SWNvbihSZHRJY29uLlNvcnRBc2MpO1xuICByZWFkb25seSBzb3J0RGVzY0ljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFJkdEljb24uU29ydERlc2MpO1xuICByZWFkb25seSBzb3J0RW5hYmxlZEljb24gPSB0aGlzLmljb25SZWdpc3RyeS5nZXRJY29uKFJkdEljb24uU29ydEVuYWJsZWQpO1xuICBzb3J0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLmNvbHVtbigpLnNvcnRhYmxlKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuc3RvcmUudG9nZ2xlU29ydCh0aGlzLmNvbHVtbigpKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBsZXQgY29sID0gY29sdW1uKCk7XG48ZGl2IGNsYXNzPVwic3BhY2UtYmV0d2VlblwiPlxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgPHNwYW5cbiAgICAgIChjbGljayk9XCJzb3J0KCRldmVudClcIlxuICAgICAgKGtleXVwLmVudGVyKT1cInNvcnQoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImhlYWRlci1jZWxsLXRleHRcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwiY29sLnNvcnRhYmxlID8gMCA6IC0xXCJcbiAgICAgIFthdHRyLnJvbGVdPVwiY29sLnNvcnRhYmxlID8gJ2J1dHRvbicgOiAncHJlc2VudGF0aW9uJ1wiXG4gICAgPlxuICAgICAge3sgY29sLmhlYWRlciB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIEBpZiAoY29sLnNvcnRhYmxlKSB7IEBsZXQgZGlyZWN0aW9uID0gc29ydERpcmVjdGlvbigpOyBAaWYgKGRpcmVjdGlvbiA9PT1cbiAgJ2FzYycpIHtcbiAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idG5cIiAoY2xpY2spPVwic29ydCgkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciByZHRJY29uT3V0bGV0IFtpbnB1dHNdPVwieyBuYW1lOiBzb3J0QXNjSWNvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuICB9IEBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdkZXNjJykge1xuICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiIChjbGljayk9XCJzb3J0KCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICByZHRJY29uT3V0bGV0XG4gICAgICBbaW5wdXRzXT1cInsgbmFtZTogc29ydERlc2NJY29uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG4gIH0gQGVsc2Uge1xuICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ0blwiIChjbGljayk9XCJzb3J0KCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICByZHRJY29uT3V0bGV0XG4gICAgICBbaW5wdXRzXT1cInsgbmFtZTogc29ydEVuYWJsZWRJY29uIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG4gIH19XG48L2Rpdj5cbiJdfQ==","import { afterRenderEffect, booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, ElementRef, inject, Injector, input, linkedSignal, output, Renderer2, signal, untracked, ViewChild, ViewChildren, ViewEncapsulation, } from '@angular/core';\nimport { RdtRouterService } from '@ngrdt/router';\nimport { RdtTableStore } from '../../models/state/rdt-table-store';\nimport { selectIdTransform } from './rdt-table.utilts';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@angular/cdk/table\";\nimport * as i4 from \"@ngrdt/forms\";\nimport * as i5 from \"../rdt-table-paginator/rdt-table-paginator.component\";\nimport * as i6 from \"../../renderers/rdt-header-cell-renderer/rdt-header-cell-renderer.component\";\nexport class RdtTableComponent {\n router = inject(RdtRouterService);\n itemIdFn = input.required({ transform: (selectIdTransform) });\n colDefsInput = input([], { alias: 'colDefs' });\n colDefs = linkedSignal(() => this.colDefsInput());\n size = input('md');\n selectMode = input('none');\n showPaginator = input(true, { transform: booleanAttribute });\n showSelectAll = input(true, { transform: booleanAttribute });\n autoSize = input(true, { transform: booleanAttribute });\n displayedColumns = input(undefined);\n notFoundConfig = input({\n header: 'RDT_TABLE_NOT_FOUND_HEADER',\n message: 'RDT_TABLE_NOT_FOUND_MESSAGE',\n });\n usesDoubleClickInput = input(false, {\n transform: booleanAttribute,\n alias: 'usesDoubleClick',\n });\n usesDoubleClick = linkedSignal(() => this.usesDoubleClickInput());\n tableEl;\n headerCells = [];\n defaultColumnWidth = 200; //px\n savedColumnWidths = signal(new Map());\n hasInitializedWidths = signal(false);\n explicitWidthsApplied = signal(new Set());\n rowDoubleClick = output();\n selectKey = 'RdtTableSelectColumnKey';\n allColumnKeys = computed(() => {\n return this.colDefs().map((col) => col.key);\n });\n realDisplayedColumns = computed(() => {\n const columns = this.displayedColumns() ?? this.allColumnKeys();\n if (this.selectMode() !== 'none') {\n return [this.selectKey, ...columns];\n }\n else {\n return columns;\n }\n });\n clickDebounceTime = computed(() => this.usesDoubleClick() ? 250 : 0);\n getColumnWidth(col) {\n return col?.width;\n }\n getMinColumnWidth(col) {\n return col?.minWidth;\n }\n getMaxColumnWidth(col) {\n if (!this.autoSize()) {\n return col.maxWidth;\n }\n return col?.maxWidth ?? `${this.defaultColumnWidth}px`;\n }\n injector = inject(Injector);\n cd = inject(ChangeDetectorRef);\n renderer = inject(Renderer2);\n store = inject(RdtTableStore);\n dataChangeEffect = afterRenderEffect({\n earlyRead: () => {\n const data = this.store.entities();\n const loading = this.store.loading();\n if (!loading && this.autoSize() && data.length > 0) {\n const table = this.tableEl?.nativeElement;\n if (!table)\n return [];\n return this.headerCells.map((cellRef, index) => {\n const col = cellRef.nativeElement;\n const colDefIndex = index - 1;\n const colDef = this.colDefs()[colDefIndex];\n const colWidth = col.getBoundingClientRect().width;\n return {\n col: col,\n index,\n colDef,\n colWidth,\n hasExplicitMinWidth: colDef?.minWidth !== undefined,\n hasExplicitMaxWidth: colDef?.maxWidth !== undefined,\n };\n });\n }\n return [];\n },\n write: (measurementsSignal) => {\n const measurements = measurementsSignal();\n if (!measurements || measurements.length === 0)\n return;\n measurements.forEach(({ col, index, colDef, colWidth, hasExplicitMinWidth, hasExplicitMaxWidth, }) => {\n if (hasExplicitMinWidth || hasExplicitMaxWidth) {\n if (colDef) {\n this.applyColumnWidths(col, index, colDef, hasExplicitMinWidth, hasExplicitMaxWidth);\n }\n }\n else {\n this.handleAutoSizing(col, index, colWidth);\n }\n });\n this.hasInitializedWidths.set(true);\n },\n });\n onCellDblClick(row, column) {\n if (column.interactive(row)) {\n return;\n }\n this.rowDoubleClick.emit(row);\n }\n onCellClick(row, column) {\n if (column.interactive(row)) {\n return;\n }\n this.onSelect(row);\n }\n onSelect(row) {\n const mode = untracked(this.selectMode);\n if (mode === 'multi') {\n this.store.toggleSelectItem(row);\n }\n else if (mode === 'single') {\n this.store.toggleSelectSingleItem(row);\n }\n }\n selectAll() {\n this.store.toggleSelectAll();\n }\n getCellCursor(row, column) {\n if (column.interactive(row)) {\n return 'default';\n }\n if (this.selectMode() !== 'none' || this.usesDoubleClick()) {\n return 'pointer';\n }\n return 'default';\n }\n applyColumnWidths(col, index, colDef, hasExplicitMinWidth, hasExplicitMaxWidth) {\n const { minWidth, maxWidth } = colDef;\n if (!this.explicitWidthsApplied().has(index)) {\n if (hasExplicitMinWidth) {\n this.renderer.setStyle(col, 'minWidth', minWidth);\n }\n if (hasExplicitMaxWidth) {\n this.renderer.setStyle(col, 'maxWidth', maxWidth);\n }\n this.renderer.setStyle(col, 'width', maxWidth ? maxWidth : minWidth);\n this.explicitWidthsApplied.update((set) => new Set([...set, index]));\n }\n }\n handleAutoSizing(col, index, colWidth) {\n let finalWidth;\n if (!this.hasInitializedWidths()) {\n // first render\n finalWidth =\n colWidth < this.defaultColumnWidth ? colWidth : this.defaultColumnWidth;\n this.savedColumnWidths.update((map) => new Map([...map, [index, finalWidth]]));\n }\n else {\n // other renders\n finalWidth =\n this.savedColumnWidths().get(index) || this.defaultColumnWidth;\n }\n const widthPx = `${finalWidth}px`;\n this.renderer.setStyle(col, 'width', widthPx);\n this.renderer.setStyle(col, 'minWidth', widthPx);\n this.renderer.setStyle(col, 'maxWidth', widthPx);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.0\", type: RdtTableComponent, isStandalone: false, selector: \"rdt-table\", inputs: { itemIdFn: { classPropertyName: \"itemIdFn\", publicName: \"itemIdFn\", isSignal: true, isRequired: true, transformFunction: null }, colDefsInput: { classPropertyName: \"colDefsInput\", publicName: \"colDefs\", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: \"size\", publicName: \"size\", isSignal: true, isRequired: false, transformFunction: null }, selectMode: { classPropertyName: \"selectMode\", publicName: \"selectMode\", isSignal: true, isRequired: false, transformFunction: null }, showPaginator: { classPropertyName: \"showPaginator\", publicName: \"showPaginator\", isSignal: true, isRequired: false, transformFunction: null }, showSelectAll: { classPropertyName: \"showSelectAll\", publicName: \"showSelectAll\", isSignal: true, isRequired: false, transformFunction: null }, autoSize: { classPropertyName: \"autoSize\", publicName: \"autoSize\", isSignal: true, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: \"displayedColumns\", publicName: \"displayedColumns\", isSignal: true, isRequired: false, transformFunction: null }, notFoundConfig: { classPropertyName: \"notFoundConfig\", publicName: \"notFoundConfig\", isSignal: true, isRequired: false, transformFunction: null }, usesDoubleClickInput: { classPropertyName: \"usesDoubleClickInput\", publicName: \"usesDoubleClick\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rowDoubleClick: \"rowDoubleClick\" }, providers: [RdtTableStore], viewQueries: [{ propertyName: \"tableEl\", first: true, predicate: [\"tableEl\"], descendants: true, read: ElementRef }, { propertyName: \"headerCells\", predicate: [\"headerEl\"], descendants: true, read: ElementRef }], exportAs: [\"rdtTable\"], ngImport: i0, template: \"@let data = store.entities(); @let loading = store.loading() || !store.ready();\\n<div [class]=\\\"'rdt-table--' + size()\\\" class=\\\"rdt-table-wrapper\\\">\\n <table cdk-table [dataSource]=\\\"loading ? data : data\\\" slot=\\\"table\\\" #tableEl>\\n @let colNames = realDisplayedColumns();\\n <tr cdk-header-row *cdkHeaderRowDef=\\\"colNames\\\"></tr>\\n <tr\\n cdk-row\\n *cdkRowDef=\\\"let row; columns: colNames\\\"\\n [class.row-selected]=\\\"store.isSelected(row)\\\"\\n ></tr>\\n\\n <ng-container [cdkColumnDef]=\\\"selectKey\\\" [sticky]=\\\"true\\\">\\n @let mode = selectMode();\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n class=\\\"rdt-select-column-header\\\"\\n #headerEl\\n >\\n @if (showSelectAll() && mode === 'multi') {\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.selectedAll()\\\"\\n (ngModelChange)=\\\"selectAll()\\\"\\n ></ng-container>\\n }\\n </th>\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n class=\\\"rdt-select-column-cell\\\"\\n >\\n <div class=\\\"rdt-select-column-cell-wrapper\\\">\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.isSelected(row)\\\"\\n (ngModelChange)=\\\"onSelect(row)\\\"\\n ></ng-container>\\n </div>\\n </td>\\n </ng-container>\\n\\n @for (column of colDefs(); track column.key) {\\n <ng-container\\n [cdkColumnDef]=\\\"column.key\\\"\\n [sticky]=\\\"column.sticky === 'start'\\\"\\n [stickyEnd]=\\\"column.sticky === 'end'\\\"\\n >\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n [class]=\\\"column.headerClass\\\"\\n [style]=\\\"column.headerStyle\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n #headerEl\\n >\\n <rdt-header-cell-renderer [column]=\\\"column\\\" />\\n </th>\\n\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n [class]=\\\"column.cellClass(row)\\\"\\n [style]=\\\"column.cellStyle(row)\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n (click.double)=\\\"onCellDblClick(row, column)\\\"\\n (click.single)=\\\"onCellClick(row, column)\\\"\\n [style.cursor]=\\\"getCellCursor(row, column)\\\"\\n >\\n <!-- [debounceTime]=\\\"clickDebounceTime()\\\" -->\\n <ng-container\\n *ngComponentOutlet=\\\"\\n column.cellRenderer;\\n injector: injector;\\n inputs: {\\n row: row,\\n index: i,\\n store: store,\\n cellRendererParams: column.cellRendererParams,\\n }\\n \\\"\\n >\\n </ng-container>\\n </td>\\n </ng-container>\\n }\\n </table>\\n <!-- @if (loading) {\\n <div class=\\\"spinner-wrapper special-content\\\">\\n <rdt-spinner />\\n </div>\\n } -->\\n <!-- @else if (store.fetchError(); as error) {\\n <div class=\\\"error-wrapper special-content\\\">\\n <rdt-table-no-result type=\\\"error\\\" [config]=\\\"error\\\" />\\n </div>\\n } @else if (data.length === 0) {\\n <rdt-table-no-result type=\\\"not-found\\\" [config]=\\\"notFoundConfig()\\\" />\\n } -->\\n</div>\\n\\n<!-- @if (showPaginator()) { -->\\n<rdt-table-paginator />\\n<!-- } -->\\n\", styles: [\":root{--rdt-table-height-sm: 250px;--rdt-table-height-md: 350px;--rdt-table-height-lg: 500px;--rdt-table-cell-padding: .25em}table{width:100%}rdt-table .rdt-table--sm .special-content{height:calc(var(--rdt-table-height-sm) - var(--gov-text-xs-font-size) - 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--md .special-content{height:calc(var(--rdt-table-height-md) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--lg .special-content{height:calc(var(--rdt-table-height-lg) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table thead{z-index:9;position:sticky;top:0}rdt-table .action-btn{border:none;outline:none;border-radius:4px;background-color:#00000006;padding:4px 8px;font-weight:500}rdt-table .action-btn:hover{cursor:pointer;background-color:#00000013}rdt-table .action-btn.selected{background-color:#00000020;color:#000}rdt-table .space-between{display:flex;justify-content:space-between}rdt-table .spinner-wrapper{display:flex;justify-content:center;height:100%;align-items:center}rdt-table .no-records{height:100%}rdt-table .table-header{display:flex;align-items:center;gap:2px}rdt-table td.cdk-table-sticky{background:var(--gov-color-neutral-white)!important}rdt-table td,rdt-table th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:anywhere}rdt-table td{padding:0!important}rdt-table .rdt-select-column-header,rdt-table .rdt-select-column-cell{width:calc(var(--gov-form-checkbox-core-xs-indicator-size, 1rem) + 2 * var(--rdt-table-cell-padding));padding:var(--rdt-table-cell-padding)!important}rdt-table .row-selected td{background-color:var(--gov-color-primary-100)!important}rdt-table .cell-value-base{display:block;width:100%;padding:.25rem .5rem;overflow:hidden;text-overflow:ellipsis}\\n\"], dependencies: [{ kind: \"directive\", type: i1.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: i3.CdkTable, selector: \"cdk-table, table[cdk-table]\", inputs: [\"trackBy\", \"dataSource\", \"multiTemplateDataRows\", \"fixedLayout\"], outputs: [\"contentChanged\"], exportAs: [\"cdkTable\"] }, { kind: \"directive\", type: i3.CdkRowDef, selector: \"[cdkRowDef]\", inputs: [\"cdkRowDefColumns\", \"cdkRowDefWhen\"] }, { kind: \"directive\", type: i3.CdkCellDef, selector: \"[cdkCellDef]\" }, { kind: \"directive\", type: i3.CdkHeaderCellDef, selector: \"[cdkHeaderCellDef]\" }, { kind: \"directive\", type: i3.CdkColumnDef, selector: \"[cdkColumnDef]\", inputs: [\"cdkColumnDef\", \"sticky\", \"stickyEnd\"] }, { kind: \"directive\", type: i3.CdkCell, selector: \"cdk-cell, td[cdk-cell]\" }, { kind: \"component\", type: i3.CdkRow, selector: \"cdk-row, tr[cdk-row]\" }, { kind: \"directive\", type: i3.CdkHeaderCell, selector: \"cdk-header-cell, th[cdk-header-cell]\" }, { kind: \"component\", type: i3.CdkHeaderRow, selector: \"cdk-header-row, tr[cdk-header-row]\" }, { kind: \"directive\", type: i3.CdkHeaderRowDef, selector: \"[cdkHeaderRowDef]\", inputs: [\"cdkHeaderRowDef\", \"cdkHeaderRowDefSticky\"] }, { kind: \"directive\", type: i4.RdtCheckboxOutletDirective, selector: \"[rdtCheckboxOutlet]\", exportAs: [\"rdtCheckboxOutlet\"] }, { kind: \"component\", type: i5.RdtTablePaginatorComponent, selector: \"rdt-table-paginator\" }, { kind: \"component\", type: i6.RdtHeaderCellRendererComponent, selector: \"rdt-header-cell-renderer\", inputs: [\"column\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableComponent, decorators: [{\n type: Component,\n args: [{ selector: 'rdt-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: [RdtTableStore], standalone: false, encapsulation: ViewEncapsulation.None, exportAs: 'rdtTable', template: \"@let data = store.entities(); @let loading = store.loading() || !store.ready();\\n<div [class]=\\\"'rdt-table--' + size()\\\" class=\\\"rdt-table-wrapper\\\">\\n <table cdk-table [dataSource]=\\\"loading ? data : data\\\" slot=\\\"table\\\" #tableEl>\\n @let colNames = realDisplayedColumns();\\n <tr cdk-header-row *cdkHeaderRowDef=\\\"colNames\\\"></tr>\\n <tr\\n cdk-row\\n *cdkRowDef=\\\"let row; columns: colNames\\\"\\n [class.row-selected]=\\\"store.isSelected(row)\\\"\\n ></tr>\\n\\n <ng-container [cdkColumnDef]=\\\"selectKey\\\" [sticky]=\\\"true\\\">\\n @let mode = selectMode();\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n class=\\\"rdt-select-column-header\\\"\\n #headerEl\\n >\\n @if (showSelectAll() && mode === 'multi') {\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.selectedAll()\\\"\\n (ngModelChange)=\\\"selectAll()\\\"\\n ></ng-container>\\n }\\n </th>\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n class=\\\"rdt-select-column-cell\\\"\\n >\\n <div class=\\\"rdt-select-column-cell-wrapper\\\">\\n <ng-container\\n rdtCheckboxOutlet\\n [ngModel]=\\\"store.isSelected(row)\\\"\\n (ngModelChange)=\\\"onSelect(row)\\\"\\n ></ng-container>\\n </div>\\n </td>\\n </ng-container>\\n\\n @for (column of colDefs(); track column.key) {\\n <ng-container\\n [cdkColumnDef]=\\\"column.key\\\"\\n [sticky]=\\\"column.sticky === 'start'\\\"\\n [stickyEnd]=\\\"column.sticky === 'end'\\\"\\n >\\n <th\\n cdk-header-cell\\n *cdkHeaderCellDef\\n [class]=\\\"column.headerClass\\\"\\n [style]=\\\"column.headerStyle\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n #headerEl\\n >\\n <rdt-header-cell-renderer [column]=\\\"column\\\" />\\n </th>\\n\\n <td\\n cdk-cell\\n *cdkCellDef=\\\"let row; let i = index\\\"\\n [class]=\\\"column.cellClass(row)\\\"\\n [style]=\\\"column.cellStyle(row)\\\"\\n [style.min-width]=\\\"getMinColumnWidth(column)\\\"\\n [style.max-width]=\\\"getMaxColumnWidth(column)\\\"\\n [style.width]=\\\"getColumnWidth(column)\\\"\\n (click.double)=\\\"onCellDblClick(row, column)\\\"\\n (click.single)=\\\"onCellClick(row, column)\\\"\\n [style.cursor]=\\\"getCellCursor(row, column)\\\"\\n >\\n <!-- [debounceTime]=\\\"clickDebounceTime()\\\" -->\\n <ng-container\\n *ngComponentOutlet=\\\"\\n column.cellRenderer;\\n injector: injector;\\n inputs: {\\n row: row,\\n index: i,\\n store: store,\\n cellRendererParams: column.cellRendererParams,\\n }\\n \\\"\\n >\\n </ng-container>\\n </td>\\n </ng-container>\\n }\\n </table>\\n <!-- @if (loading) {\\n <div class=\\\"spinner-wrapper special-content\\\">\\n <rdt-spinner />\\n </div>\\n } -->\\n <!-- @else if (store.fetchError(); as error) {\\n <div class=\\\"error-wrapper special-content\\\">\\n <rdt-table-no-result type=\\\"error\\\" [config]=\\\"error\\\" />\\n </div>\\n } @else if (data.length === 0) {\\n <rdt-table-no-result type=\\\"not-found\\\" [config]=\\\"notFoundConfig()\\\" />\\n } -->\\n</div>\\n\\n<!-- @if (showPaginator()) { -->\\n<rdt-table-paginator />\\n<!-- } -->\\n\", styles: [\":root{--rdt-table-height-sm: 250px;--rdt-table-height-md: 350px;--rdt-table-height-lg: 500px;--rdt-table-cell-padding: .25em}table{width:100%}rdt-table .rdt-table--sm .special-content{height:calc(var(--rdt-table-height-sm) - var(--gov-text-xs-font-size) - 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--md .special-content{height:calc(var(--rdt-table-height-md) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table .rdt-table--lg .special-content{height:calc(var(--rdt-table-height-lg) - .75rem + 2 * var(--rdt-table-cell-padding))}rdt-table thead{z-index:9;position:sticky;top:0}rdt-table .action-btn{border:none;outline:none;border-radius:4px;background-color:#00000006;padding:4px 8px;font-weight:500}rdt-table .action-btn:hover{cursor:pointer;background-color:#00000013}rdt-table .action-btn.selected{background-color:#00000020;color:#000}rdt-table .space-between{display:flex;justify-content:space-between}rdt-table .spinner-wrapper{display:flex;justify-content:center;height:100%;align-items:center}rdt-table .no-records{height:100%}rdt-table .table-header{display:flex;align-items:center;gap:2px}rdt-table td.cdk-table-sticky{background:var(--gov-color-neutral-white)!important}rdt-table td,rdt-table th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:anywhere}rdt-table td{padding:0!important}rdt-table .rdt-select-column-header,rdt-table .rdt-select-column-cell{width:calc(var(--gov-form-checkbox-core-xs-indicator-size, 1rem) + 2 * var(--rdt-table-cell-padding));padding:var(--rdt-table-cell-padding)!important}rdt-table .row-selected td{background-color:var(--gov-color-primary-100)!important}rdt-table .cell-value-base{display:block;width:100%;padding:.25rem .5rem;overflow:hidden;text-overflow:ellipsis}\\n\"] }]\n }], propDecorators: { tableEl: [{\n type: ViewChild,\n args: ['tableEl', { static: false, read: ElementRef }]\n }], headerCells: [{\n type: ViewChildren,\n args: ['headerEl', { read: ElementRef }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS9yZHQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L3RhYmxlL3NyYy9saWIvdGFibGUvcmR0LXRhYmxlL3JkdC10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFZdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFBLGlCQUFvQixDQUFBLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELFlBQVksR0FBRyxLQUFLLENBQWlCLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlB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QUFnQjtZQUNoQixVQUFVO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbkUsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsVUFBVSxJQUFJLENBQUM7UUFFbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQzt1R0F6TlUsaUJBQWlCOzJGQUFqQixpQkFBaUIscStDQUxqQixDQUFDLGFBQWEsQ0FBQyx5R0EyQm1CLFVBQVUscUZBR3JCLFVBQVUscURDOUQ5QyxpNUdBNEdBOzsyRkR2RWEsaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLFdBQVcsbUJBR0osdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUssaUJBQ0YsaUJBQWlCLENBQUMsSUFBSSxZQUMzQixVQUFVOzhCQXlCSCxPQUFPO3NCQUR2QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJeEMsV0FBVztzQkFEM0IsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYWZ0ZXJSZW5kZXJFZmZlY3QsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIGxpbmtlZFNpZ25hbCxcbiAgb3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZHRSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnQG5ncmR0L3JvdXRlcic7XG5pbXBvcnQgeyBSZHRDb2xEZWYgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29sdW1ucy9yZHQtY29sLWRlZic7XG5pbXBvcnQgeyBSZHRUYWJsZU1lc3NhZ2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3RhdGUvcmR0LXRhYmxlLW1lc3NhZ2UnO1xuaW1wb3J0IHsgUmR0VGFibGVTdG9yZSB9IGZyb20gJy4uLy4uL21vZGVscy9zdGF0ZS9yZHQtdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgc2VsZWN0SWRUcmFuc2Zvcm0gfSBmcm9tICcuL3JkdC10YWJsZS51dGlsdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmR0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JkdC10YWJsZS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtSZHRUYWJsZVN0b3JlXSxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGV4cG9ydEFzOiAncmR0VGFibGUnLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgb2JqZWN0LCBURmlsdGVyID0gVD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSZHRSb3V0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgaXRlbUlkRm4gPSBpbnB1dC5yZXF1aXJlZCh7IHRyYW5zZm9ybTogc2VsZWN0SWRUcmFuc2Zvcm08VD4gfSk7XG4gIHJlYWRvbmx5IGNvbERlZnNJbnB1dCA9IGlucHV0PFJkdENvbERlZjxUPltdPihbXSwgeyBhbGlhczogJ2NvbERlZnMnIH0pO1xuICByZWFkb25seSBjb2xEZWZzID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuY29sRGVmc0lucHV0KCkpO1xuICByZWFkb25seSBzaXplID0gaW5wdXQ8J3NtJyB8ICdtZCcgfCAnbGcnIHwgJ2F1dG8nPignbWQnKTtcblxuICByZWFkb25seSBzZWxlY3RNb2RlID0gaW5wdXQ8J211bHRpJyB8ICdzaW5nbGUnIHwgJ25vbmUnPignbm9uZScpO1xuICByZWFkb25seSBzaG93UGFnaW5hdG9yID0gaW5wdXQodHJ1ZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG4gIHJlYWRvbmx5IHNob3dTZWxlY3RBbGwgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgcmVhZG9ubHkgYXV0b1NpemUgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IGlucHV0PHN0cmluZ1tdIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBub3RGb3VuZENvbmZpZyA9IGlucHV0PFJkdFRhYmxlTWVzc2FnZT4oe1xuICAgIGhlYWRlcjogJ1JEVF9UQUJMRV9OT1RfRk9VTkRfSEVBREVSJyxcbiAgICBtZXNzYWdlOiAnUkRUX1RBQkxFX05PVF9GT1VORF9NRVNTQUdFJyxcbiAgfSk7XG4gIHJlYWRvbmx5IHVzZXNEb3VibGVDbGlja0lucHV0ID0gaW5wdXQoZmFsc2UsIHtcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgYWxpYXM6ICd1c2VzRG91YmxlQ2xpY2snLFxuICB9KTtcbiAgcmVhZG9ubHkgdXNlc0RvdWJsZUNsaWNrID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMudXNlc0RvdWJsZUNsaWNrSW5wdXQoKSk7XG5cbiAgQFZpZXdDaGlsZCgndGFibGVFbCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlRWw6IEVsZW1lbnRSZWY8SFRNTFRhYmxlRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZHJlbignaGVhZGVyRWwnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJDZWxsczogRWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD5bXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdENvbHVtbldpZHRoID0gMjAwOyAvL3B4XG4gIHByaXZhdGUgc2F2ZWRDb2x1bW5XaWR0aHMgPSBzaWduYWwobmV3IE1hcDxudW1iZXIsIG51bWJlcj4oKSk7XG4gIHByaXZhdGUgaGFzSW5pdGlhbGl6ZWRXaWR0aHMgPSBzaWduYWwoZmFsc2UpO1xuICBwcml2YXRlIGV4cGxpY2l0V2lkdGhzQXBwbGllZCA9IHNpZ25hbChuZXcgU2V0PG51bWJlcj4oKSk7XG4gIHJlYWRvbmx5IHJvd0RvdWJsZUNsaWNrID0gb3V0cHV0PFQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdEtleSA9ICdSZHRUYWJsZVNlbGVjdENvbHVtbktleSc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFsbENvbHVtbktleXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuY29sRGVmcygpLm1hcCgoY29sKSA9PiBjb2wua2V5KTtcbiAgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZWFsRGlzcGxheWVkQ29sdW1ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5kaXNwbGF5ZWRDb2x1bW5zKCkgPz8gdGhpcy5hbGxDb2x1bW5LZXlzKCk7XG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSgpICE9PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBbdGhpcy5zZWxlY3RLZXksIC4uLmNvbHVtbnNdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29sdW1ucztcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjbGlja0RlYm91bmNlVGltZSA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy51c2VzRG91YmxlQ2xpY2soKSA/IDI1MCA6IDBcbiAgKTtcblxuICBwcm90ZWN0ZWQgZ2V0Q29sdW1uV2lkdGgoY29sOiBSZHRDb2xEZWY8VD4pIHtcbiAgICByZXR1cm4gY29sPy53aWR0aDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRNaW5Db2x1bW5XaWR0aChjb2w6IFJkdENvbERlZjxUPikge1xuICAgIHJldHVybiBjb2w/Lm1pbldpZHRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1heENvbHVtbldpZHRoKGNvbDogUmR0Q29sRGVmPFQ+KSB7XG4gICAgaWYgKCF0aGlzLmF1dG9TaXplKCkpIHtcbiAgICAgIHJldHVybiBjb2wubWF4V2lkdGg7XG4gICAgfVxuICAgIHJldHVybiBjb2w/Lm1heFdpZHRoID8/IGAke3RoaXMuZGVmYXVsdENvbHVtbldpZHRofXB4YDtcbiAgfVxuXG4gIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcmVhZG9ubHkgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSBzdG9yZSA9IGluamVjdChSZHRUYWJsZVN0b3JlKSBhcyB1bmtub3duIGFzIFJkdFRhYmxlU3RvcmU8XG4gICAgVCxcbiAgICBURmlsdGVyXG4gID47XG5cbiAgcHJpdmF0ZSBkYXRhQ2hhbmdlRWZmZWN0ID0gYWZ0ZXJSZW5kZXJFZmZlY3Qoe1xuICAgIGVhcmx5UmVhZDogKCkgPT4ge1xuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuc3RvcmUuZW50aXRpZXMoKTtcbiAgICAgIGNvbnN0IGxvYWRpbmcgPSB0aGlzLnN0b3JlLmxvYWRpbmcoKTtcblxuICAgICAgaWYgKCFsb2FkaW5nICYmIHRoaXMuYXV0b1NpemUoKSAmJiBkYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlRWw/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGlmICghdGFibGUpIHJldHVybiBbXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5oZWFkZXJDZWxscy5tYXAoKGNlbGxSZWYsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29sID0gY2VsbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgIGNvbnN0IGNvbERlZkluZGV4ID0gaW5kZXggLSAxO1xuICAgICAgICAgIGNvbnN0IGNvbERlZiA9IHRoaXMuY29sRGVmcygpW2NvbERlZkluZGV4XTtcbiAgICAgICAgICBjb25zdCBjb2xXaWR0aCA9IGNvbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2w6IGNvbCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29sRGVmLFxuICAgICAgICAgICAgY29sV2lkdGgsXG4gICAgICAgICAgICBoYXNFeHBsaWNpdE1pbldpZHRoOiBjb2xEZWY/Lm1pbldpZHRoICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBoYXNFeHBsaWNpdE1heFdpZHRoOiBjb2xEZWY/Lm1heFdpZHRoICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSxcbiAgICB3cml0ZTogKG1lYXN1cmVtZW50c1NpZ25hbCkgPT4ge1xuICAgICAgY29uc3QgbWVhc3VyZW1lbnRzID0gbWVhc3VyZW1lbnRzU2lnbmFsKCk7XG4gICAgICBpZiAoIW1lYXN1cmVtZW50cyB8fCBtZWFzdXJlbWVudHMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICAgIG1lYXN1cmVtZW50cy5mb3JFYWNoKFxuICAgICAgICAoe1xuICAgICAgICAgIGNvbCxcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBjb2xEZWYsXG4gICAgICAgICAgY29sV2lkdGgsXG4gICAgICAgICAgaGFzRXhwbGljaXRNaW5XaWR0aCxcbiAgICAgICAgICBoYXNFeHBsaWNpdE1heFdpZHRoLFxuICAgICAgICB9KSA9PiB7XG4gICAgICAgICAgaWYgKGhhc0V4cGxpY2l0TWluV2lkdGggfHwgaGFzRXhwbGljaXRNYXhXaWR0aCkge1xuICAgICAgICAgICAgaWYgKGNvbERlZikge1xuICAgICAgICAgICAgICB0aGlzLmFwcGx5Q29sdW1uV2lkdGhzKFxuICAgICAgICAgICAgICAgIGNvbCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICAgICBjb2xEZWYsXG4gICAgICAgICAgICAgICAgaGFzRXhwbGljaXRNaW5XaWR0aCxcbiAgICAgICAgICAgICAgICBoYXNFeHBsaWNpdE1heFdpZHRoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0b1NpemluZyhjb2wsIGluZGV4LCBjb2xXaWR0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICB0aGlzLmhhc0luaXRpYWxpemVkV2lkdGhzLnNldCh0cnVlKTtcbiAgICB9LFxuICB9KTtcblxuICBvbkNlbGxEYmxDbGljayhyb3c6IFQsIGNvbHVtbjogUmR0Q29sRGVmPFQ+KSB7XG4gICAgaWYgKGNvbHVtbi5pbnRlcmFjdGl2ZShyb3cpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucm93RG91YmxlQ2xpY2suZW1pdChyb3cpO1xuICB9XG5cbiAgb25DZWxsQ2xpY2socm93OiBULCBjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgIGlmIChjb2x1bW4uaW50ZXJhY3RpdmUocm93KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9uU2VsZWN0KHJvdyk7XG4gIH1cblxuICBvblNlbGVjdChyb3c6IFQpIHtcbiAgICBjb25zdCBtb2RlID0gdW50cmFja2VkKHRoaXMuc2VsZWN0TW9kZSk7XG4gICAgaWYgKG1vZGUgPT09ICdtdWx0aScpIHtcbiAgICAgIHRoaXMuc3RvcmUudG9nZ2xlU2VsZWN0SXRlbShyb3cpO1xuICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuc3RvcmUudG9nZ2xlU2VsZWN0U2luZ2xlSXRlbShyb3cpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFsbCgpIHtcbiAgICB0aGlzLnN0b3JlLnRvZ2dsZVNlbGVjdEFsbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENlbGxDdXJzb3Iocm93OiBULCBjb2x1bW46IFJkdENvbERlZjxUPikge1xuICAgIGlmIChjb2x1bW4uaW50ZXJhY3RpdmUocm93KSkge1xuICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0TW9kZSgpICE9PSAnbm9uZScgfHwgdGhpcy51c2VzRG91YmxlQ2xpY2soKSkge1xuICAgICAgcmV0dXJuICdwb2ludGVyJztcbiAgICB9XG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDb2x1bW5XaWR0aHMoXG4gICAgY29sOiBIVE1MRWxlbWVudCxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIGNvbERlZjogUmR0Q29sRGVmPFQ+LFxuICAgIGhhc0V4cGxpY2l0TWluV2lkdGg6IGJvb2xlYW4sXG4gICAgaGFzRXhwbGljaXRNYXhXaWR0aDogYm9vbGVhblxuICApIHtcbiAgICBjb25zdCB7IG1pbldpZHRoLCBtYXhXaWR0aCB9ID0gY29sRGVmO1xuXG4gICAgaWYgKCF0aGlzLmV4cGxpY2l0V2lkdGhzQXBwbGllZCgpLmhhcyhpbmRleCkpIHtcbiAgICAgIGlmIChoYXNFeHBsaWNpdE1pbldpZHRoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnbWluV2lkdGgnLCBtaW5XaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNFeHBsaWNpdE1heFdpZHRoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnbWF4V2lkdGgnLCBtYXhXaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnd2lkdGgnLCBtYXhXaWR0aCA/IG1heFdpZHRoIDogbWluV2lkdGgpO1xuXG4gICAgICB0aGlzLmV4cGxpY2l0V2lkdGhzQXBwbGllZC51cGRhdGUoKHNldCkgPT4gbmV3IFNldChbLi4uc2V0LCBpbmRleF0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUF1dG9TaXppbmcoY29sOiBIVE1MRWxlbWVudCwgaW5kZXg6IG51bWJlciwgY29sV2lkdGg6IG51bWJlcikge1xuICAgIGxldCBmaW5hbFdpZHRoOiBudW1iZXI7XG5cbiAgICBpZiAoIXRoaXMuaGFzSW5pdGlhbGl6ZWRXaWR0aHMoKSkge1xuICAgICAgLy8gZmlyc3QgcmVuZGVyXG4gICAgICBmaW5hbFdpZHRoID1cbiAgICAgICAgY29sV2lkdGggPCB0aGlzLmRlZmF1bHRDb2x1bW5XaWR0aCA/IGNvbFdpZHRoIDogdGhpcy5kZWZhdWx0Q29sdW1uV2lkdGg7XG4gICAgICB0aGlzLnNhdmVkQ29sdW1uV2lkdGhzLnVwZGF0ZShcbiAgICAgICAgKG1hcCkgPT4gbmV3IE1hcChbLi4ubWFwLCBbaW5kZXgsIGZpbmFsV2lkdGhdXSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG90aGVyIHJlbmRlcnNcbiAgICAgIGZpbmFsV2lkdGggPVxuICAgICAgICB0aGlzLnNhdmVkQ29sdW1uV2lkdGhzKCkuZ2V0KGluZGV4KSB8fCB0aGlzLmRlZmF1bHRDb2x1bW5XaWR0aDtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aFB4ID0gYCR7ZmluYWxXaWR0aH1weGA7XG5cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGNvbCwgJ3dpZHRoJywgd2lkdGhQeCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjb2wsICdtaW5XaWR0aCcsIHdpZHRoUHgpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoY29sLCAnbWF4V2lkdGgnLCB3aWR0aFB4KTtcbiAgfVxufVxuIiwiQGxldCBkYXRhID0gc3RvcmUuZW50aXRpZXMoKTsgQGxldCBsb2FkaW5nID0gc3RvcmUubG9hZGluZygpIHx8ICFzdG9yZS5yZWFkeSgpO1xuPGRpdiBbY2xhc3NdPVwiJ3JkdC10YWJsZS0tJyArIHNpemUoKVwiIGNsYXNzPVwicmR0LXRhYmxlLXdyYXBwZXJcIj5cbiAgPHRhYmxlIGNkay10YWJsZSBbZGF0YVNvdXJjZV09XCJsb2FkaW5nID8gZGF0YSA6IGRhdGFcIiBzbG90PVwidGFibGVcIiAjdGFibGVFbD5cbiAgICBAbGV0IGNvbE5hbWVzID0gcmVhbERpc3BsYXllZENvbHVtbnMoKTtcbiAgICA8dHIgY2RrLWhlYWRlci1yb3cgKmNka0hlYWRlclJvd0RlZj1cImNvbE5hbWVzXCI+PC90cj5cbiAgICA8dHJcbiAgICAgIGNkay1yb3dcbiAgICAgICpjZGtSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBjb2xOYW1lc1wiXG4gICAgICBbY2xhc3Mucm93LXNlbGVjdGVkXT1cInN0b3JlLmlzU2VsZWN0ZWQocm93KVwiXG4gICAgPjwvdHI+XG5cbiAgICA8bmctY29udGFpbmVyIFtjZGtDb2x1bW5EZWZdPVwic2VsZWN0S2V5XCIgW3N0aWNreV09XCJ0cnVlXCI+XG4gICAgICBAbGV0IG1vZGUgPSBzZWxlY3RNb2RlKCk7XG4gICAgICA8dGhcbiAgICAgICAgY2RrLWhlYWRlci1jZWxsXG4gICAgICAgICpjZGtIZWFkZXJDZWxsRGVmXG4gICAgICAgIGNsYXNzPVwicmR0LXNlbGVjdC1jb2x1bW4taGVhZGVyXCJcbiAgICAgICAgI2hlYWRlckVsXG4gICAgICA+XG4gICAgICAgIEBpZiAoc2hvd1NlbGVjdEFsbCgpICYmIG1vZGUgPT09ICdtdWx0aScpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIHJkdENoZWNrYm94T3V0bGV0XG4gICAgICAgICAgW25nTW9kZWxdPVwic3RvcmUuc2VsZWN0ZWRBbGwoKVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0QWxsKClcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICAgIDwvdGg+XG4gICAgICA8dGRcbiAgICAgICAgY2RrLWNlbGxcbiAgICAgICAgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJyZHQtc2VsZWN0LWNvbHVtbi1jZWxsXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJkdC1zZWxlY3QtY29sdW1uLWNlbGwtd3JhcHBlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIHJkdENoZWNrYm94T3V0bGV0XG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzdG9yZS5pc1NlbGVjdGVkKHJvdylcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3Qocm93KVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICBAZm9yIChjb2x1bW4gb2YgY29sRGVmcygpOyB0cmFjayBjb2x1bW4ua2V5KSB7XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW2Nka0NvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCJcbiAgICAgIFtzdGlja3ldPVwiY29sdW1uLnN0aWNreSA9PT0gJ3N0YXJ0J1wiXG4gICAgICBbc3RpY2t5RW5kXT1cImNvbHVtbi5zdGlja3kgPT09ICdlbmQnXCJcbiAgICA+XG4gICAgICA8dGhcbiAgICAgICAgY2RrLWhlYWRlci1jZWxsXG4gICAgICAgICpjZGtIZWFkZXJDZWxsRGVmXG4gICAgICAgIFtjbGFzc109XCJjb2x1bW4uaGVhZGVyQ2xhc3NcIlxuICAgICAgICBbc3R5bGVdPVwiY29sdW1uLmhlYWRlclN0eWxlXCJcbiAgICAgICAgW3N0eWxlLm1pbi13aWR0aF09XCJnZXRNaW5Db2x1bW5XaWR0aChjb2x1bW4pXCJcbiAgICAgICAgW3N0eWxlLm1heC13aWR0aF09XCJnZXRNYXhDb2x1bW5XaWR0aChjb2x1bW4pXCJcbiAgICAgICAgW3N0eWxlLndpZHRoXT1cImdldENvbHVtbldpZHRoKGNvbHVtbilcIlxuICAgICAgICAjaGVhZGVyRWxcbiAgICAgID5cbiAgICAgICAgPHJkdC1oZWFkZXItY2VsbC1yZW5kZXJlciBbY29sdW1uXT1cImNvbHVtblwiIC8+XG4gICAgICA8L3RoPlxuXG4gICAgICA8dGRcbiAgICAgICAgY2RrLWNlbGxcbiAgICAgICAgKmNka0NlbGxEZWY9XCJsZXQgcm93OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW2NsYXNzXT1cImNvbHVtbi5jZWxsQ2xhc3Mocm93KVwiXG4gICAgICAgIFtzdHlsZV09XCJjb2x1bW4uY2VsbFN0eWxlKHJvdylcIlxuICAgICAgICBbc3R5bGUubWluLXdpZHRoXT1cImdldE1pbkNvbHVtbldpZHRoKGNvbHVtbilcIlxuICAgICAgICBbc3R5bGUubWF4LXdpZHRoXT1cImdldE1heENvbHVtbldpZHRoKGNvbHVtbilcIlxuICAgICAgICBbc3R5bGUud2lkdGhdPVwiZ2V0Q29sdW1uV2lkdGgoY29sdW1uKVwiXG4gICAgICAgIChjbGljay5kb3VibGUpPVwib25DZWxsRGJsQ2xpY2socm93LCBjb2x1bW4pXCJcbiAgICAgICAgKGNsaWNrLnNpbmdsZSk9XCJvbkNlbGxDbGljayhyb3csIGNvbHVtbilcIlxuICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImdldENlbGxDdXJzb3Iocm93LCBjb2x1bW4pXCJcbiAgICAgID5cbiAgICAgICAgPCEtLSAgW2RlYm91bmNlVGltZV09XCJjbGlja0RlYm91bmNlVGltZSgpXCIgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29sdW1uLmNlbGxSZW5kZXJlcjtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IGluamVjdG9yO1xuICAgICAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgICAgICByb3c6IHJvdyxcbiAgICAgICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICAgICAgICBzdG9yZTogc3RvcmUsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiBjb2x1bW4uY2VsbFJlbmRlcmVyUGFyYW1zLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gIDwvdGFibGU+XG4gIDwhLS0gICBAaWYgKGxvYWRpbmcpIHtcbiAgPGRpdiBjbGFzcz1cInNwaW5uZXItd3JhcHBlciBzcGVjaWFsLWNvbnRlbnRcIj5cbiAgICA8cmR0LXNwaW5uZXIgLz5cbiAgPC9kaXY+XG4gIH0gLS0+XG4gIDwhLS0gQGVsc2UgaWYgKHN0b3JlLmZldGNoRXJyb3IoKTsgYXMgZXJyb3IpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3Itd3JhcHBlciBzcGVjaWFsLWNvbnRlbnRcIj5cbiAgICAgIDxyZHQtdGFibGUtbm8tcmVzdWx0IHR5cGU9XCJlcnJvclwiIFtjb25maWddPVwiZXJyb3JcIiAvPlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIGlmIChkYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgIDxyZHQtdGFibGUtbm8tcmVzdWx0IHR5cGU9XCJub3QtZm91bmRcIiBbY29uZmlnXT1cIm5vdEZvdW5kQ29uZmlnKClcIiAvPlxuICB9IC0tPlxuPC9kaXY+XG5cbjwhLS0gQGlmIChzaG93UGFnaW5hdG9yKCkpIHsgLS0+XG48cmR0LXRhYmxlLXBhZ2luYXRvciAvPlxuPCEtLSB9IC0tPlxuIl19","import { Directive, inject } from '@angular/core';\nimport { RdtTableComponent } from '../table/rdt-table/rdt-table.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableNoStateDirective {\n table = inject(RdtTableComponent, { self: true });\n ngOnInit() {\n this.table.store.setReady();\n this.table.store.fetch();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableNoStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtTableNoStateDirective, isStandalone: false, selector: \"rdt-table:not([queryParamsState])\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableNoStateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'rdt-table:not([queryParamsState])',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW5vLXN0YXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvcmR0LXRhYmxlLW5vLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFNM0UsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixLQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFM0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7dUdBTlUsd0JBQXdCOzJGQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS9yZHQtdGFibGUvcmR0LXRhYmxlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3JkdC10YWJsZTpub3QoW3F1ZXJ5UGFyYW1zU3RhdGVdKScsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRUYWJsZU5vU3RhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSB0YWJsZSA9IGluamVjdChSZHRUYWJsZUNvbXBvbmVudCwgeyBzZWxmOiB0cnVlIH0pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFibGUuc3RvcmUuc2V0UmVhZHkoKTtcbiAgICB0aGlzLnRhYmxlLnN0b3JlLmZldGNoKCk7XG4gIH1cbn1cbiJdfQ==","import { RdtObjectUtils } from '@ngrdt/utils';\nimport { delay, of } from 'rxjs';\nimport { RdtTableDatasource } from './rdt-table-datasource';\nexport class RdtTableOfflineDatasource extends RdtTableDatasource {\n _data;\n constructor(_data) {\n super();\n this._data = _data;\n }\n set data(value) {\n this._data = value;\n }\n get data() {\n return this._data;\n }\n // This method first filters data according to filters,\n // Then sorts the filtered data and finally paginates it.\n getData(params) {\n // Apply filtering\n let filteredData = this._data;\n if (params.filters) {\n filteredData = filteredData.filter((item) => params.filters.every((filter) => this.applyFilter(filter, item)));\n }\n // Apply sorting\n if (params.sort) {\n filteredData = filteredData.sort(this.getSortFn(params.sort));\n }\n // Apply pagination\n const start = params.pageIndex * params.pageSize;\n const end = start + params.pageSize;\n const paginatedData = filteredData.slice(start, end);\n return of({\n data: paginatedData,\n totalCount: filteredData.length,\n pageIndex: params.pageIndex,\n }).pipe(delay(300));\n }\n compare(aValue, bValue, type) {\n if (aValue == null && bValue == null) {\n return 0;\n }\n else if (aValue == null) {\n return 1; // nulls are considered greater\n }\n else if (bValue == null) {\n return -1; // nulls are considered less\n }\n switch (type) {\n case 'string':\n return aValue.localeCompare(bValue);\n case 'number':\n case 'decimal':\n return aValue - bValue;\n case 'boolean':\n return Number(aValue) - Number(bValue);\n case 'date':\n return new Date(aValue).getTime() - new Date(bValue).getTime();\n case 'enum':\n return typeof aValue === 'string' && typeof bValue === 'string'\n ? aValue.localeCompare(bValue)\n : aValue - bValue;\n default:\n return 0;\n }\n }\n getSortFn(sort) {\n return (a, b) => {\n const aValue = RdtObjectUtils.pluck(a, sort.key);\n const bValue = RdtObjectUtils.pluck(b, sort.key);\n return (this.compare(aValue, bValue, sort.type) *\n (sort.direction === 'asc' ? 1 : -1));\n };\n }\n // TODO: Implementovat jako na BE\n applyFilter(filter, item) {\n const value = RdtObjectUtils.pluck(item, filter.key);\n if (value === undefined || value === null) {\n return false;\n }\n switch (filter.type) {\n case 'string':\n return String(value).includes(filter.value);\n case 'number':\n return value === filter.value;\n case 'boolean':\n return value === filter.value;\n case 'date':\n return (new Date(value).toDateString() ===\n new Date(filter.value).toDateString());\n default:\n return false;\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW9mZmxpbmUtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL21vZGVscy9kYXRhc291cmNlL3JkdC10YWJsZS1vZmZsaW5lLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVM1RCxNQUFNLE9BQU8seUJBQTZCLFNBQVEsa0JBQXFCO0lBQ2pEO0lBQXBCLFlBQW9CLEtBQVU7UUFDNUIsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFLO0lBRTlCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCx5REFBeUQ7SUFDekQsT0FBTyxDQUFDLE1BQW1DO1FBQ3pDLGtCQUFrQjtRQUNsQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzlCLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQ2pFLENBQUM7UUFDSixDQUFDO1FB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O1FBQ3BELE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzFDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssUUFBUTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDO1lBQ3hELEtBQUssUUFBUTtnQkFDWCxPQUFPLEtBQUssS0FBTSxNQUFNLENBQUMsS0FBZ0IsQ0FBQztZQUM1QyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxLQUFLLEtBQU0sTUFBTSxDQUFDLEtBQWlCLENBQUM7WUFDN0MsS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FDTCxJQUFJLElBQUksQ0FBQyxLQUFlLENBQUMsQ0FBQyxZQUFZLEVBQUU7b0JBQ3hDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FDaEQsQ0FBQztZQUNKO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRPYmplY3RVdGlscyB9IGZyb20gJ0BuZ3JkdC91dGlscyc7XG5pbXBvcnQgeyBkZWxheSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFRhYmxlRGF0YXNvdXJjZSB9IGZyb20gJy4vcmR0LXRhYmxlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdlIH0gZnJvbSAnLi9yZHQtdGFibGUtcGFnZSc7XG5pbXBvcnQge1xuICBSZHRUYWJsZURpc3BsYXlUeXBlLFxuICBSZHRUYWJsZUZpbHRlcixcbiAgUmR0VGFibGVSZXF1ZXN0UGFyYW1zLFxuICBSZHRUYWJsZVNvcnQsXG59IGZyb20gJy4vcmR0LXRhYmxlLXJlcXVlc3QtcGFyYW1zJztcblxuZXhwb3J0IGNsYXNzIFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2U8VD4gZXh0ZW5kcyBSZHRUYWJsZURhdGFzb3VyY2U8VD4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhOiBUW10pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgc2V0IGRhdGEodmFsdWU6IFRbXSkge1xuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkYXRhKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cblxuICAvLyBUaGlzIG1ldGhvZCBmaXJzdCBmaWx0ZXJzIGRhdGEgYWNjb3JkaW5nIHRvIGZpbHRlcnMsXG4gIC8vIFRoZW4gc29ydHMgdGhlIGZpbHRlcmVkIGRhdGEgYW5kIGZpbmFsbHkgcGFnaW5hdGVzIGl0LlxuICBnZXREYXRhKHBhcmFtczogUmR0VGFibGVSZXF1ZXN0UGFyYW1zPFQsIFQ+KTogT2JzZXJ2YWJsZTxSZHRUYWJsZVBhZ2U8VD4+IHtcbiAgICAvLyBBcHBseSBmaWx0ZXJpbmdcbiAgICBsZXQgZmlsdGVyZWREYXRhID0gdGhpcy5fZGF0YTtcbiAgICBpZiAocGFyYW1zLmZpbHRlcnMpIHtcbiAgICAgIGZpbHRlcmVkRGF0YSA9IGZpbHRlcmVkRGF0YS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgIHBhcmFtcy5maWx0ZXJzLmV2ZXJ5KChmaWx0ZXIpID0+IHRoaXMuYXBwbHlGaWx0ZXIoZmlsdGVyLCBpdGVtKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgc29ydGluZ1xuICAgIGlmIChwYXJhbXMuc29ydCkge1xuICAgICAgZmlsdGVyZWREYXRhID0gZmlsdGVyZWREYXRhLnNvcnQodGhpcy5nZXRTb3J0Rm4ocGFyYW1zLnNvcnQpKTtcbiAgICB9XG5cbiAgICAvLyBBcHBseSBwYWdpbmF0aW9uXG4gICAgY29uc3Qgc3RhcnQgPSBwYXJhbXMucGFnZUluZGV4ICogcGFyYW1zLnBhZ2VTaXplO1xuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgcGFyYW1zLnBhZ2VTaXplO1xuICAgIGNvbnN0IHBhZ2luYXRlZERhdGEgPSBmaWx0ZXJlZERhdGEuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgICByZXR1cm4gb2Yoe1xuICAgICAgZGF0YTogcGFnaW5hdGVkRGF0YSxcbiAgICAgIHRvdGFsQ291bnQ6IGZpbHRlcmVkRGF0YS5sZW5ndGgsXG4gICAgICBwYWdlSW5kZXg6IHBhcmFtcy5wYWdlSW5kZXgsXG4gICAgfSkucGlwZShkZWxheSgzMDApKTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcGFyZShhVmFsdWU6IGFueSwgYlZhbHVlOiBhbnksIHR5cGU6IFJkdFRhYmxlRGlzcGxheVR5cGUpIHtcbiAgICBpZiAoYVZhbHVlID09IG51bGwgJiYgYlZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSBpZiAoYVZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiAxOyAvLyBudWxscyBhcmUgY29uc2lkZXJlZCBncmVhdGVyXG4gICAgfSBlbHNlIGlmIChiVmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIC0xOyAvLyBudWxscyBhcmUgY29uc2lkZXJlZCBsZXNzXG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuIGFWYWx1ZS5sb2NhbGVDb21wYXJlKGJWYWx1ZSk7XG4gICAgICBjYXNlICdudW1iZXInOlxuICAgICAgY2FzZSAnZGVjaW1hbCc6XG4gICAgICAgIHJldHVybiBhVmFsdWUgLSBiVmFsdWU7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuIE51bWJlcihhVmFsdWUpIC0gTnVtYmVyKGJWYWx1ZSk7XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGFWYWx1ZSkuZ2V0VGltZSgpIC0gbmV3IERhdGUoYlZhbHVlKS5nZXRUaW1lKCk7XG4gICAgICBjYXNlICdlbnVtJzpcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBhVmFsdWUgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBiVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBhVmFsdWUubG9jYWxlQ29tcGFyZShiVmFsdWUpXG4gICAgICAgICAgOiBhVmFsdWUgLSBiVmFsdWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRGbihzb3J0OiBSZHRUYWJsZVNvcnQ8VD4pOiAoYTogVCwgYjogVCkgPT4gbnVtYmVyIHtcbiAgICByZXR1cm4gKGE6IFQsIGI6IFQpID0+IHtcbiAgICAgIGNvbnN0IGFWYWx1ZSA9IFJkdE9iamVjdFV0aWxzLnBsdWNrKGEsIHNvcnQua2V5KTtcbiAgICAgIGNvbnN0IGJWYWx1ZSA9IFJkdE9iamVjdFV0aWxzLnBsdWNrKGIsIHNvcnQua2V5KTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuY29tcGFyZShhVmFsdWUsIGJWYWx1ZSwgc29ydC50eXBlKSAqXG4gICAgICAgIChzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYycgPyAxIDogLTEpXG4gICAgICApO1xuICAgIH07XG4gIH1cblxuICAvLyBUT0RPOiBJbXBsZW1lbnRvdmF0IGpha28gbmEgQkVcbiAgcHJpdmF0ZSBhcHBseUZpbHRlcihmaWx0ZXI6IFJkdFRhYmxlRmlsdGVyPFQ+LCBpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdmFsdWUgPSBSZHRPYmplY3RVdGlscy5wbHVjayhpdGVtLCBmaWx0ZXIua2V5KTtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5pbmNsdWRlcyhmaWx0ZXIudmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gKGZpbHRlci52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gKGZpbHRlci52YWx1ZSBhcyBib29sZWFuKTtcbiAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG5ldyBEYXRlKHZhbHVlIGFzIHN0cmluZykudG9EYXRlU3RyaW5nKCkgPT09XG4gICAgICAgICAgbmV3IERhdGUoZmlsdGVyLnZhbHVlIGFzIHN0cmluZykudG9EYXRlU3RyaW5nKClcbiAgICAgICAgKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Directive, effect, inject, input } from '@angular/core';\nimport { RdtTableStore } from '../models';\nimport { RdtTableOfflineDatasource } from '../models/datasource/rdt-table-offline-datasource';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableOfflineDatasourceProviderDirective {\n store = inject(RdtTableStore, { self: true });\n data = input();\n dataEffect = effect(() => {\n const data = this.data();\n if (data) {\n this.store.setDatasource(new RdtTableOfflineDatasource(data));\n }\n });\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableOfflineDatasourceProviderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtTableOfflineDatasourceProviderDirective, isStandalone: false, selector: \"rdt-table[data]\", inputs: { data: { classPropertyName: \"data\", publicName: \"data\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableOfflineDatasourceProviderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: 'rdt-table[data]',\n standalone: false,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLW9mZmxpbmUtZGF0YXNvdWNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvcmR0LXRhYmxlLW9mZmxpbmUtZGF0YXNvdWNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBSzlGLE1BQU0sT0FBTywwQ0FBMEM7SUFDNUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU5QyxJQUFJLEdBQUcsS0FBSyxFQUFPLENBQUM7SUFFWixVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7dUdBVlEsMENBQTBDOzJGQUExQywwQ0FBMEM7OzJGQUExQywwQ0FBMEM7a0JBSnRELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLEtBQUs7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdFRhYmxlU3RvcmUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmR0VGFibGVPZmZsaW5lRGF0YXNvdXJjZSB9IGZyb20gJy4uL21vZGVscy9kYXRhc291cmNlL3JkdC10YWJsZS1vZmZsaW5lLWRhdGFzb3VyY2UnO1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAncmR0LXRhYmxlW2RhdGFdJyxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2VQcm92aWRlckRpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0PiB7XG4gIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFJkdFRhYmxlU3RvcmUsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICByZWFkb25seSBkYXRhID0gaW5wdXQ8VFtdPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YSgpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLnN0b3JlLnNldERhdGFzb3VyY2UobmV3IFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2UoZGF0YSkpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=","import { Directive, ElementRef, inject, } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { combineLatest, map } from 'rxjs';\nimport { RdtTableComponent } from '../table/rdt-table/rdt-table.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableStateDirective {\n table = inject(RdtTableComponent, { self: true });\n elementRef = inject(ElementRef);\n subscription;\n storeObservable;\n constructor() {\n const store = this.table.store;\n this.storeObservable = combineLatest([\n toObservable(store.sort),\n toObservable(store.headerFilters),\n toObservable(store.pageSize),\n toObservable(store.pageIndex),\n toObservable(store.displayedColumns),\n ]).pipe(map(([sort, headerFilters, pageSize, pageIndex, displayedColumns]) => ({\n sort: sort,\n headerFilters: headerFilters,\n pageSize,\n page: pageIndex,\n displayedColumns,\n })));\n }\n ngOnInit() {\n this.readState().subscribe((state) => {\n if (state) {\n this.table.store.setSort(state.sort);\n this.table.store.setHeaderFilters(state.headerFilters);\n this.table.store.setPagination(state.pageSize ?? 0, state.page ?? 0);\n this.table.store.setDisplayedColumns(state.displayedColumns ?? []);\n }\n });\n this.subscription = this.storeObservable.subscribe((state) => {\n this.writeState(state).subscribe();\n });\n }\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtTableStateDirective, isStandalone: false, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableStateDirective, decorators: [{\n type: Directive,\n args: [{\n standalone: false,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL2RpcmVjdGl2ZXMvcmR0LXRhYmxlLXN0YXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFNM0UsTUFBTSxPQUFnQixzQkFBc0I7SUFHakMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFakMsWUFBWSxDQUFnQjtJQUNuQixlQUFlLENBQThDO0lBRTlFO1FBQ0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUM7WUFDbkMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDeEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDakMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDNUIsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDN0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztTQUNyQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxFQUFFLElBQThCO1lBQ3BDLGFBQWEsRUFBRSxhQUEwQztZQUN6RCxRQUFRO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixnQkFBZ0I7U0FDakIsQ0FBQyxDQUFDLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25DLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFtQyxDQUFDLENBQUM7Z0JBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUMvQixLQUFLLENBQUMsYUFBMEMsQ0FDakQsQ0FBQztnQkFDRixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7dUdBOUNtQixzQkFBc0I7MkZBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFIM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFibGUvcmR0LXRhYmxlL3JkdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0VGFibGVGaWx0ZXIsIFJkdFRhYmxlU29ydCwgUmR0VGFibGVTdGF0ZVNpbXBsZSB9IGZyb20gJy4vLi4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRUYWJsZVN0YXRlRGlyZWN0aXZlPFQgPSBvYmplY3QsIFRGaWx0ZXIgPSBUPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHJlYWRvbmx5IHRhYmxlID0gaW5qZWN0KFJkdFRhYmxlQ29tcG9uZW50LCB7IHNlbGY6IHRydWUgfSk7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmVPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFJkdFRhYmxlU3RhdGVTaW1wbGU8VCwgVEZpbHRlcj4+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMudGFibGUuc3RvcmU7XG4gICAgdGhpcy5zdG9yZU9ic2VydmFibGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5zb3J0KSxcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5oZWFkZXJGaWx0ZXJzKSxcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5wYWdlU2l6ZSksXG4gICAgICB0b09ic2VydmFibGUoc3RvcmUucGFnZUluZGV4KSxcbiAgICAgIHRvT2JzZXJ2YWJsZShzdG9yZS5kaXNwbGF5ZWRDb2x1bW5zKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbc29ydCwgaGVhZGVyRmlsdGVycywgcGFnZVNpemUsIHBhZ2VJbmRleCwgZGlzcGxheWVkQ29sdW1uc10pID0+ICh7XG4gICAgICAgIHNvcnQ6IHNvcnQgYXMgUmR0VGFibGVTb3J0PFQ+IHwgbnVsbCxcbiAgICAgICAgaGVhZGVyRmlsdGVyczogaGVhZGVyRmlsdGVycyBhcyBSZHRUYWJsZUZpbHRlcjxURmlsdGVyPltdLFxuICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgcGFnZTogcGFnZUluZGV4LFxuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5zLFxuICAgICAgfSkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVhZFN0YXRlKCkuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIHRoaXMudGFibGUuc3RvcmUuc2V0U29ydChzdGF0ZS5zb3J0IGFzIFJkdFRhYmxlU29ydDxvYmplY3Q+IHwgbnVsbCk7XG4gICAgICAgIHRoaXMudGFibGUuc3RvcmUuc2V0SGVhZGVyRmlsdGVycyhcbiAgICAgICAgICBzdGF0ZS5oZWFkZXJGaWx0ZXJzIGFzIFJkdFRhYmxlRmlsdGVyPHVua25vd24+W11cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy50YWJsZS5zdG9yZS5zZXRQYWdpbmF0aW9uKHN0YXRlLnBhZ2VTaXplID8/IDAsIHN0YXRlLnBhZ2UgPz8gMCk7XG4gICAgICAgIHRoaXMudGFibGUuc3RvcmUuc2V0RGlzcGxheWVkQ29sdW1ucyhzdGF0ZS5kaXNwbGF5ZWRDb2x1bW5zID8/IFtdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuc3RvcmVPYnNlcnZhYmxlLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIHRoaXMud3JpdGVTdGF0ZShzdGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBYnN0cmFjdCBtZXRob2QgdG8gcmVhZCB0YWJsZSBzdGF0ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRhYmxlIHN0YXRlXG4gICAqL1xuICBhYnN0cmFjdCByZWFkU3RhdGUoKTogT2JzZXJ2YWJsZTxSZHRUYWJsZVN0YXRlU2ltcGxlPFQsIFRGaWx0ZXI+IHwgbnVsbD47XG5cbiAgLyoqXG4gICAqIEFic3RyYWN0IG1ldGhvZCB0byB3cml0ZSB0YWJsZSBzdGF0ZVxuICAgKiBAcGFyYW0gc3RhdGUgVGFibGUgc3RhdGUgdG8gc2F2ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgY29tcGxldGVzIGltbWVkaWF0ZWx5XG4gICAqL1xuICBhYnN0cmFjdCB3cml0ZVN0YXRlKFxuICAgIHN0YXRlOiBSZHRUYWJsZVN0YXRlU2ltcGxlPFQsIFRGaWx0ZXI+IHwgbnVsbFxuICApOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuIl19","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { RdtCheckboxOutletDirective } from '@ngrdt/forms';\nimport { RdtIconOutletDirective } from '@ngrdt/icon';\nimport { RdtTableNoStateDirective } from '../directives/rdt-table-no-state.directive';\nimport { RdtTableOfflineDatasourceProviderDirective } from '../directives/rdt-table-offline-datasouce.directive';\nimport { RdtHeaderCellRendererComponent, RdtStaticCellRendererComponent, } from '../renderers';\nimport { RdtTablePaginatorComponent } from './rdt-table-paginator/rdt-table-paginator.component';\nimport { RdtTableComponent } from './rdt-table/rdt-table.component';\nimport * as i0 from \"@angular/core\";\nexport class RdtTableModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, declarations: [RdtTableComponent,\n RdtTablePaginatorComponent,\n RdtHeaderCellRendererComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n /* RdtTableActionBarComponent, */\n RdtTableNoStateDirective], imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkTableModule,\n GovDesignSystemModule,\n RdtCheckboxOutletDirective,\n RdtIconOutletDirective], exports: [RdtTableComponent,\n RdtHeaderCellRendererComponent,\n RdtTablePaginatorComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n RdtTableNoStateDirective] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, imports: [CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkTableModule,\n GovDesignSystemModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtTableModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n RdtTableComponent,\n RdtTablePaginatorComponent,\n RdtHeaderCellRendererComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n /* RdtTableActionBarComponent, */\n RdtTableNoStateDirective,\n /* RdtTableNoResultComponent,\n RdtTableQueryParamsStateDirective, */\n ],\n exports: [\n RdtTableComponent,\n RdtHeaderCellRendererComponent,\n RdtTablePaginatorComponent,\n RdtTableOfflineDatasourceProviderDirective,\n RdtStaticCellRendererComponent,\n RdtTableNoStateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CdkTableModule,\n GovDesignSystemModule,\n RdtCheckboxOutletDirective,\n RdtIconOutletDirective,\n /* RdtMenuModule, */\n /*\n CsuSpinnerComponent,\n CsuButtonComponent,\n CsuCheckboxComponent,\n CsuClickDoubleDirective,\n CsuSelectComponent,\n CsuSelectOfflineProviderDirective, */\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LXRhYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC90YWJsZS9zcmMvbGliL3RhYmxlL3JkdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pILE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsOEJBQThCLEdBQy9CLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXlDcEUsTUFBTSxPQUFPLGNBQWM7dUdBQWQsY0FBYzt3R0FBZCxjQUFjLGlCQXRDdkIsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQiw4QkFBOEI7WUFDOUIsMENBQTBDO1lBQzFDLDhCQUE4QjtZQUM5QixxQ0FBcUM7WUFDckMsd0JBQXdCLGFBYXhCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLHNCQUFzQixhQWR0QixpQkFBaUI7WUFDakIsOEJBQThCO1lBQzlCLDBCQUEwQjtZQUMxQiwwQ0FBMEM7WUFDMUMsOEJBQThCO1lBQzlCLHdCQUF3Qjt3R0FzQmYsY0FBYyxZQW5CdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHFCQUFxQjs7MkZBZVosY0FBYztrQkF4QzFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQiw4QkFBOEI7d0JBQzlCLDBDQUEwQzt3QkFDMUMsOEJBQThCO3dCQUM5QixxQ0FBcUM7d0JBQ3JDLHdCQUF3Qjt3QkFDeEI7NkRBQ3FDO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQiw4QkFBOEI7d0JBQzlCLDBCQUEwQjt3QkFDMUIsMENBQTBDO3dCQUMxQyw4QkFBOEI7d0JBQzlCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUVyQjs7Ozs7OzZEQU1xQztxQkFDdEM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdvdkRlc2lnblN5c3RlbU1vZHVsZSB9IGZyb20gJ0Bnb3YtZGVzaWduLXN5c3RlbS1jZS9hbmd1bGFyJztcbmltcG9ydCB7IFJkdENoZWNrYm94T3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncmR0L2Zvcm1zJztcbmltcG9ydCB7IFJkdEljb25PdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmdyZHQvaWNvbic7XG5pbXBvcnQgeyBSZHRUYWJsZU5vU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JkdC10YWJsZS1uby1zdGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR0VGFibGVPZmZsaW5lRGF0YXNvdXJjZVByb3ZpZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yZHQtdGFibGUtb2ZmbGluZS1kYXRhc291Y2UuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIFJkdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCxcbiAgUmR0U3RhdGljQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxufSBmcm9tICcuLi9yZW5kZXJlcnMnO1xuaW1wb3J0IHsgUmR0VGFibGVQYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuL3JkdC10YWJsZS1wYWdpbmF0b3IvcmR0LXRhYmxlLXBhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3JkdC10YWJsZS9yZHQtdGFibGUuY29tcG9uZW50JztcbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFJkdFRhYmxlQ29tcG9uZW50LFxuICAgIFJkdFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIFJkdEhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCxcbiAgICBSZHRUYWJsZU9mZmxpbmVEYXRhc291cmNlUHJvdmlkZXJEaXJlY3RpdmUsXG4gICAgUmR0U3RhdGljQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIC8qICAgICBSZHRUYWJsZUFjdGlvbkJhckNvbXBvbmVudCwgKi9cbiAgICBSZHRUYWJsZU5vU3RhdGVEaXJlY3RpdmUsXG4gICAgLyogICAgIFJkdFRhYmxlTm9SZXN1bHRDb21wb25lbnQsXG4gICAgUmR0VGFibGVRdWVyeVBhcmFtc1N0YXRlRGlyZWN0aXZlLCAqL1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUmR0VGFibGVDb21wb25lbnQsXG4gICAgUmR0SGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFJkdFRhYmxlUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIFJkdFRhYmxlT2ZmbGluZURhdGFzb3VyY2VQcm92aWRlckRpcmVjdGl2ZSxcbiAgICBSZHRTdGF0aWNDZWxsUmVuZGVyZXJDb21wb25lbnQsXG4gICAgUmR0VGFibGVOb1N0YXRlRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ2RrVGFibGVNb2R1bGUsXG4gICAgR292RGVzaWduU3lzdGVtTW9kdWxlLFxuICAgIFJkdENoZWNrYm94T3V0bGV0RGlyZWN0aXZlLFxuICAgIFJkdEljb25PdXRsZXREaXJlY3RpdmUsXG4gICAgLyogIFJkdE1lbnVNb2R1bGUsICovXG5cbiAgICAvKiAgIFxuICAgIENzdVNwaW5uZXJDb21wb25lbnQsXG4gICAgQ3N1QnV0dG9uQ29tcG9uZW50LFxuICAgIENzdUNoZWNrYm94Q29tcG9uZW50LFxuICAgIENzdUNsaWNrRG91YmxlRGlyZWN0aXZlLFxuICAgIENzdVNlbGVjdENvbXBvbmVudCxcbiAgICBDc3VTZWxlY3RPZmZsaW5lUHJvdmlkZXJEaXJlY3RpdmUsICovXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0VGFibGVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvdGFibGUvc3JjL25ncmR0LXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i5.RdtTablePaginatorComponent","i6.RdtHeaderCellRendererComponent"],"mappings":"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"}