@seniorsistemas/data-seniorx-core 1.14.1 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/core/config/card.type.config.d.ts +1 -1
  2. package/core/constants/loading-state.const.d.ts +6 -0
  3. package/core/types/breadcrumb.type.d.ts +21 -0
  4. package/core/types/card.type.d.ts +14 -3
  5. package/core/types/loading-state.type.d.ts +9 -0
  6. package/esm2022/core/config/card.type.config.mjs +23 -11
  7. package/esm2022/core/constants/loading-state.const.mjs +6 -0
  8. package/esm2022/core/types/breadcrumb.type.mjs +2 -0
  9. package/esm2022/core/types/card.type.mjs +1 -1
  10. package/esm2022/core/types/loading-state.type.mjs +2 -0
  11. package/esm2022/features/breadcrumb/breadcrumb.component.mjs +176 -0
  12. package/esm2022/features/button/button.component.mjs +70 -13
  13. package/esm2022/features/card-list/card/card.component.mjs +105 -40
  14. package/esm2022/features/card-list/card-list.component.mjs +64 -29
  15. package/esm2022/features/combobox/combobox.component.mjs +78 -21
  16. package/esm2022/features/filters/filters.component.mjs +2 -2
  17. package/esm2022/features/list/list.component.mjs +188 -37
  18. package/esm2022/features/loading-state/loading-state.component.mjs +94 -0
  19. package/esm2022/features/loading-state/loading-state.directive.mjs +74 -0
  20. package/esm2022/features/paginator/paginator.component.mjs +64 -41
  21. package/esm2022/features/picklist/picklist.component.mjs +2 -2
  22. package/esm2022/features/row-card-list/row-card/row-card.component.mjs +3 -3
  23. package/esm2022/features/row-card-list/row-card-list.component.mjs +36 -21
  24. package/esm2022/features/scaffold/scaffold.component.mjs +43 -20
  25. package/esm2022/features/searchbox/searchbox.component.mjs +53 -16
  26. package/esm2022/features/sidebar/sidebar.component.mjs +9 -12
  27. package/esm2022/features/tab/tab-item.component.mjs +1 -1
  28. package/esm2022/features/tab/tab.component.mjs +149 -59
  29. package/esm2022/features/table/table.component.mjs +284 -147
  30. package/esm2022/features/textbox/textbox.component.mjs +3 -3
  31. package/esm2022/locales/en.json +79 -1
  32. package/esm2022/locales/es-CO.json +79 -1
  33. package/esm2022/locales/pt.json +79 -1
  34. package/esm2022/providers/cores.provider.mjs +20 -0
  35. package/esm2022/providers/features.provider.mjs +64 -0
  36. package/esm2022/providers/services.provider.mjs +3 -3
  37. package/esm2022/providers/translate.provider.mjs +4 -4
  38. package/esm2022/public-api.mjs +12 -7
  39. package/features/breadcrumb/breadcrumb.component.d.ts +45 -0
  40. package/features/button/button.component.d.ts +19 -4
  41. package/features/card-list/card/card.component.d.ts +28 -6
  42. package/features/card-list/card-list.component.d.ts +7 -2
  43. package/features/combobox/combobox.component.d.ts +15 -2
  44. package/features/list/list.component.d.ts +32 -6
  45. package/features/loading-state/loading-state.component.d.ts +25 -0
  46. package/features/loading-state/loading-state.directive.d.ts +21 -0
  47. package/features/paginator/paginator.component.d.ts +9 -5
  48. package/features/row-card-list/row-card-list.component.d.ts +6 -2
  49. package/features/scaffold/scaffold.component.d.ts +12 -5
  50. package/features/searchbox/searchbox.component.d.ts +14 -7
  51. package/features/sidebar/sidebar.component.d.ts +3 -4
  52. package/features/tab/tab.component.d.ts +16 -9
  53. package/features/table/table.component.d.ts +43 -17
  54. package/fesm2022/seniorsistemas-data-seniorx-core.mjs +3765 -2512
  55. package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
  56. package/package.json +1 -1
  57. package/providers/cores.provider.d.ts +1 -0
  58. package/providers/features.provider.d.ts +1 -0
  59. package/providers/services.provider.d.ts +2 -2
  60. package/public-api.d.ts +8 -4
  61. package/src/locales/en.json +80 -2
  62. package/src/locales/es-CO.json +80 -2
  63. package/src/locales/pt.json +80 -2
  64. package/styles/sdc-card.scss +0 -1
  65. package/styles/sdc-global-variables.scss +21 -2
  66. package/styles.css +20 -3
  67. package/esm2022/features/spinner/spinner.component.mjs +0 -46
  68. package/esm2022/features/spinner/spinner.service.mjs +0 -23
  69. package/features/spinner/spinner.component.d.ts +0 -15
  70. package/features/spinner/spinner.service.d.ts +0 -10
@@ -1,2 +1,2 @@
1
- import { CardListOptions } from '../types/card.type';
1
+ import type { CardListOptions } from '../types/card.type';
2
2
  export declare const DEFAULT_CARD_LIST_OPTIONS: CardListOptions;
@@ -0,0 +1,6 @@
1
+ import type { LoadingStateIndicator } from '../types/loading-state.type';
2
+ export declare const DEFAULT_LOADING_STATE_INDICATOR: LoadingStateIndicator;
3
+ export declare const DEFAULT_LOADING_STATE_BLOCK_DELAY_MS = 300;
4
+ export declare const DEFAULT_LOADING_STATE_UNBLOCK_DELAY_MS = 200;
5
+ export declare const DEFAULT_LOADING_STATE_ID_PREFIX = "sdc-loading-state";
6
+ export declare const DEFAULT_LOADING_STATE_FULLSCREEN_Z_INDEX = 1005;
@@ -0,0 +1,21 @@
1
+ import type { IsActiveMatchOptions } from '@angular/router';
2
+ export type BreadcrumbMatchOptions = {
3
+ exact: boolean;
4
+ } | IsActiveMatchOptions;
5
+ export type BreadcrumbLabel = string;
6
+ export type BreadcrumbItem = {
7
+ label?: BreadcrumbLabel;
8
+ icon?: string;
9
+ disabled?: boolean;
10
+ routerLink?: unknown[] | string;
11
+ url?: string;
12
+ target?: string;
13
+ queryParams?: Record<string, unknown>;
14
+ fragment?: string;
15
+ queryParamsHandling?: 'merge' | 'preserve' | '';
16
+ preserveFragment?: boolean;
17
+ skipLocationChange?: boolean;
18
+ replaceUrl?: boolean;
19
+ state?: Record<string, unknown>;
20
+ routerLinkActiveOptions?: BreadcrumbMatchOptions;
21
+ };
@@ -1,4 +1,4 @@
1
- import { EmptyStateConfig, Priority } from "./semantics.type";
1
+ import { EmptyStateConfig, Priority } from './semantics.type';
2
2
  export interface Card {
3
3
  id: string;
4
4
  name: string;
@@ -10,12 +10,23 @@ export interface OptionsCard {
10
10
  buttonPriority?: Priority;
11
11
  buttonLabel?: string;
12
12
  descriptionMaxLength?: number;
13
+ nameMaxLength?: number;
14
+ categoryMaxLength?: number;
13
15
  backgroundIcon?: string;
14
16
  iconColor?: string;
15
17
  }
16
- export interface CardListOptions {
17
- enablePagination: boolean;
18
+ export interface CardListTableOptions {
18
19
  totalRecordsLabel?: string;
20
+ }
21
+ export interface CardListPaginationOptions {
22
+ show: boolean;
23
+ rowsPerPage: number;
24
+ rowsPerPageOptions: readonly number[];
25
+ showRowsPerPageSelector: boolean;
26
+ }
27
+ export interface CardListOptions {
28
+ table: CardListTableOptions;
29
+ pagination: CardListPaginationOptions;
19
30
  enableSideButtons: boolean;
20
31
  customCard?: OptionsCard;
21
32
  empty: EmptyStateConfig;
@@ -0,0 +1,9 @@
1
+ export type LoadingStateIndicator = 'dots' | 'spinner' | 'logo';
2
+ export type LoadingStateDirectiveValue = boolean | {
3
+ loading: boolean;
4
+ indicator?: LoadingStateIndicator;
5
+ blockWindow?: boolean;
6
+ id?: string;
7
+ blockDelayMs?: number;
8
+ unblockDelayMs?: number;
9
+ };
@@ -1,18 +1,30 @@
1
+ const DEFAULT_ROWS_PER_PAGE_OPTIONS = [5, 10, 20];
2
+ const DEFAULT_ROWS_PER_PAGE = DEFAULT_ROWS_PER_PAGE_OPTIONS[0];
3
+ const DEFAULT_NAME_MAX_LENGTH = 14;
4
+ const DEFAULT_CATEGORY_MAX_LENGTH = 12;
5
+ const DEFAULT_DESCRIPTION_MAX_LENGTH = 100;
1
6
  export const DEFAULT_CARD_LIST_OPTIONS = {
2
- enablePagination: true,
7
+ table: { totalRecordsLabel: 'platform.datacore.total_records' },
8
+ pagination: {
9
+ show: true,
10
+ rowsPerPage: DEFAULT_ROWS_PER_PAGE,
11
+ rowsPerPageOptions: DEFAULT_ROWS_PER_PAGE_OPTIONS,
12
+ showRowsPerPageSelector: false
13
+ },
3
14
  enableSideButtons: false,
4
- totalRecordsLabel: "platform.datacore.total_records",
5
15
  customCard: {
6
- buttonLabel: "platform.datacore.see",
7
- buttonPriority: "primary",
8
- descriptionMaxLength: 100,
9
- icon: "fas fa-trophy",
10
- backgroundIcon: "#428bca",
11
- iconColor: "#ffffff",
16
+ buttonLabel: 'platform.datacore.see',
17
+ buttonPriority: 'primary',
18
+ nameMaxLength: DEFAULT_NAME_MAX_LENGTH,
19
+ categoryMaxLength: DEFAULT_CATEGORY_MAX_LENGTH,
20
+ descriptionMaxLength: DEFAULT_DESCRIPTION_MAX_LENGTH,
21
+ icon: 'fas fa-trophy',
22
+ backgroundIcon: '#428bca',
23
+ iconColor: '#ffffff'
12
24
  },
13
25
  empty: {
14
- title: "platform.datacore.empty_title",
15
- message: "platform.datacore.empty_message"
26
+ title: 'platform.datacore.empty_title',
27
+ message: 'platform.datacore.empty_message'
16
28
  }
17
29
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC50eXBlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS9jb25maWcvY2FyZC50eXBlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBb0I7SUFDeEQsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLGlCQUFpQixFQUFFLGlDQUFpQztJQUNwRCxVQUFVLEVBQUU7UUFDVixXQUFXLEVBQUUsdUJBQXVCO1FBQ3BDLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLG9CQUFvQixFQUFFLEdBQUc7UUFDekIsSUFBSSxFQUFFLGVBQWU7UUFDckIsY0FBYyxFQUFFLFNBQVM7UUFDekIsU0FBUyxFQUFFLFNBQVM7S0FDckI7SUFDRCxLQUFLLEVBQUU7UUFDTCxLQUFLLEVBQUUsK0JBQStCO1FBQ3RDLE9BQU8sRUFBRSxpQ0FBaUM7S0FDM0M7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FyZExpc3RPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvY2FyZC50eXBlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM6IENhcmRMaXN0T3B0aW9ucyA9IHtcbiAgZW5hYmxlUGFnaW5hdGlvbjogdHJ1ZSxcbiAgZW5hYmxlU2lkZUJ1dHRvbnM6IGZhbHNlLFxuICB0b3RhbFJlY29yZHNMYWJlbDogXCJwbGF0Zm9ybS5kYXRhY29yZS50b3RhbF9yZWNvcmRzXCIsXG4gIGN1c3RvbUNhcmQ6IHtcbiAgICBidXR0b25MYWJlbDogXCJwbGF0Zm9ybS5kYXRhY29yZS5zZWVcIixcbiAgICBidXR0b25Qcmlvcml0eTogXCJwcmltYXJ5XCIsXG4gICAgZGVzY3JpcHRpb25NYXhMZW5ndGg6IDEwMCxcbiAgICBpY29uOiBcImZhcyBmYS10cm9waHlcIixcbiAgICBiYWNrZ3JvdW5kSWNvbjogXCIjNDI4YmNhXCIsXG4gICAgaWNvbkNvbG9yOiBcIiNmZmZmZmZcIixcbiAgfSxcbiAgZW1wdHk6IHtcbiAgICB0aXRsZTogXCJwbGF0Zm9ybS5kYXRhY29yZS5lbXB0eV90aXRsZVwiLFxuICAgIG1lc3NhZ2U6IFwicGxhdGZvcm0uZGF0YWNvcmUuZW1wdHlfbWVzc2FnZVwiXG4gIH1cbn07XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC50eXBlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS9jb25maWcvY2FyZC50eXBlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLDZCQUE2QixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQVUsQ0FBQztBQUMzRCxNQUFNLHFCQUFxQixHQUFHLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQ25DLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0FBQ3ZDLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQjtJQUN4RCxLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxpQ0FBaUMsRUFBRTtJQUMvRCxVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsSUFBSTtRQUNWLFdBQVcsRUFBRSxxQkFBcUI7UUFDbEMsa0JBQWtCLEVBQUUsNkJBQTZCO1FBQ2pELHVCQUF1QixFQUFFLEtBQUs7S0FDL0I7SUFDRCxpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFVBQVUsRUFBRTtRQUNWLFdBQVcsRUFBRSx1QkFBdUI7UUFDcEMsY0FBYyxFQUFFLFNBQVM7UUFDekIsYUFBYSxFQUFFLHVCQUF1QjtRQUN0QyxpQkFBaUIsRUFBRSwyQkFBMkI7UUFDOUMsb0JBQW9CLEVBQUUsOEJBQThCO1FBQ3BELElBQUksRUFBRSxlQUFlO1FBQ3JCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLCtCQUErQjtRQUN0QyxPQUFPLEVBQUUsaUNBQWlDO0tBQzNDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2FyZExpc3RPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvY2FyZC50eXBlJztcblxuY29uc3QgREVGQVVMVF9ST1dTX1BFUl9QQUdFX09QVElPTlMgPSBbNSwgMTAsIDIwXSBhcyBjb25zdDtcbmNvbnN0IERFRkFVTFRfUk9XU19QRVJfUEFHRSA9IERFRkFVTFRfUk9XU19QRVJfUEFHRV9PUFRJT05TWzBdO1xuXG5jb25zdCBERUZBVUxUX05BTUVfTUFYX0xFTkdUSCA9IDE0O1xuY29uc3QgREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIID0gMTI7XG5jb25zdCBERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEggPSAxMDA7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TOiBDYXJkTGlzdE9wdGlvbnMgPSB7XG4gIHRhYmxlOiB7IHRvdGFsUmVjb3Jkc0xhYmVsOiAncGxhdGZvcm0uZGF0YWNvcmUudG90YWxfcmVjb3JkcycgfSxcbiAgcGFnaW5hdGlvbjoge1xuICAgIHNob3c6IHRydWUsXG4gICAgcm93c1BlclBhZ2U6IERFRkFVTFRfUk9XU19QRVJfUEFHRSxcbiAgICByb3dzUGVyUGFnZU9wdGlvbnM6IERFRkFVTFRfUk9XU19QRVJfUEFHRV9PUFRJT05TLFxuICAgIHNob3dSb3dzUGVyUGFnZVNlbGVjdG9yOiBmYWxzZVxuICB9LFxuICBlbmFibGVTaWRlQnV0dG9uczogZmFsc2UsXG4gIGN1c3RvbUNhcmQ6IHtcbiAgICBidXR0b25MYWJlbDogJ3BsYXRmb3JtLmRhdGFjb3JlLnNlZScsXG4gICAgYnV0dG9uUHJpb3JpdHk6ICdwcmltYXJ5JyxcbiAgICBuYW1lTWF4TGVuZ3RoOiBERUZBVUxUX05BTUVfTUFYX0xFTkdUSCxcbiAgICBjYXRlZ29yeU1heExlbmd0aDogREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RILFxuICAgIGRlc2NyaXB0aW9uTWF4TGVuZ3RoOiBERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgsXG4gICAgaWNvbjogJ2ZhcyBmYS10cm9waHknLFxuICAgIGJhY2tncm91bmRJY29uOiAnIzQyOGJjYScsXG4gICAgaWNvbkNvbG9yOiAnI2ZmZmZmZidcbiAgfSxcbiAgZW1wdHk6IHtcbiAgICB0aXRsZTogJ3BsYXRmb3JtLmRhdGFjb3JlLmVtcHR5X3RpdGxlJyxcbiAgICBtZXNzYWdlOiAncGxhdGZvcm0uZGF0YWNvcmUuZW1wdHlfbWVzc2FnZSdcbiAgfVxufTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export const DEFAULT_LOADING_STATE_INDICATOR = 'dots';
2
+ export const DEFAULT_LOADING_STATE_BLOCK_DELAY_MS = 300;
3
+ export const DEFAULT_LOADING_STATE_UNBLOCK_DELAY_MS = 200;
4
+ export const DEFAULT_LOADING_STATE_ID_PREFIX = 'sdc-loading-state';
5
+ export const DEFAULT_LOADING_STATE_FULLSCREEN_Z_INDEX = 1005;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS9jb25zdGFudHMvbG9hZGluZy1zdGF0ZS5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBMEIsTUFBTSxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBQUcsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsbUJBQW1CLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2FkaW5nU3RhdGVJbmRpY2F0b3IgfSBmcm9tICcuLi90eXBlcy9sb2FkaW5nLXN0YXRlLnR5cGUnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0lORElDQVRPUjogTG9hZGluZ1N0YXRlSW5kaWNhdG9yID0gJ2RvdHMnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0JMT0NLX0RFTEFZX01TID0gMzAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9BRElOR19TVEFURV9VTkJMT0NLX0RFTEFZX01TID0gMjAwO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0lEX1BSRUZJWCA9ICdzZGMtbG9hZGluZy1zdGF0ZSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0FESU5HX1NUQVRFX0ZVTExTQ1JFRU5fWl9JTkRFWCA9IDEwMDU7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2JyZWFkY3J1bWIudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJc0FjdGl2ZU1hdGNoT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCB0eXBlIEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgPSB7IGV4YWN0OiBib29sZWFuIH0gfCBJc0FjdGl2ZU1hdGNoT3B0aW9ucztcblxuZXhwb3J0IHR5cGUgQnJlYWRjcnVtYkxhYmVsID0gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBCcmVhZGNydW1iSXRlbSA9IHtcbiAgbGFiZWw/OiBCcmVhZGNydW1iTGFiZWw7XG4gIGljb24/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICByb3V0ZXJMaW5rPzogdW5rbm93bltdIHwgc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG5cbiAgdGFyZ2V0Pzogc3RyaW5nO1xuICBxdWVyeVBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBmcmFnbWVudD86IHN0cmluZztcbiAgcXVlcnlQYXJhbXNIYW5kbGluZz86ICdtZXJnZScgfCAncHJlc2VydmUnIHwgJyc7XG4gIHByZXNlcnZlRnJhZ21lbnQ/OiBib29sZWFuO1xuICBza2lwTG9jYXRpb25DaGFuZ2U/OiBib29sZWFuO1xuICByZXBsYWNlVXJsPzogYm9vbGVhbjtcbiAgc3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucz86IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnM7XG59OyJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2NhcmQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBTZWFyY2hUcmlnZ2VyTW9kZSB9IGZyb20gXCIuL3NlYXJjaGJveC50eXBlXCI7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29uZmlnLCBQcmlvcml0eSwgU2V2ZXJpdHksIFR5cGVDdXN0b21GaWx0ZXIgfSBmcm9tIFwiLi9zZW1hbnRpY3MudHlwZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcmQge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0NhcmQge1xuICBpY29uPzogc3RyaW5nLFxuICBidXR0b25Qcmlvcml0eT86IFByaW9yaXR5O1xuICBidXR0b25MYWJlbD86IHN0cmluZyxcbiAgZGVzY3JpcHRpb25NYXhMZW5ndGg/OiBudW1iZXIsXG4gIGJhY2tncm91bmRJY29uPzogc3RyaW5nLFxuICBpY29uQ29sb3I/OiBzdHJpbmcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZExpc3RPcHRpb25zIHtcbiAgZW5hYmxlUGFnaW5hdGlvbjogYm9vbGVhbjtcbiAgdG90YWxSZWNvcmRzTGFiZWw/OiBzdHJpbmc7XG4gIGVuYWJsZVNpZGVCdXR0b25zOiBib29sZWFuO1xuICBjdXN0b21DYXJkPzogT3B0aW9uc0NhcmQ7XG4gIGVtcHR5OiBFbXB0eVN0YXRlQ29uZmlnXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2NhcmQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbmZpZywgUHJpb3JpdHkgfSBmcm9tICcuL3NlbWFudGljcy50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJkIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnNDYXJkIHtcbiAgaWNvbj86IHN0cmluZztcbiAgYnV0dG9uUHJpb3JpdHk/OiBQcmlvcml0eTtcbiAgYnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uTWF4TGVuZ3RoPzogbnVtYmVyO1xuICBuYW1lTWF4TGVuZ3RoPzogbnVtYmVyO1xuICBjYXRlZ29yeU1heExlbmd0aD86IG51bWJlcjtcbiAgYmFja2dyb3VuZEljb24/OiBzdHJpbmc7XG4gIGljb25Db2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkTGlzdFRhYmxlT3B0aW9ucyB7XG4gIHRvdGFsUmVjb3Jkc0xhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhcmRMaXN0UGFnaW5hdGlvbk9wdGlvbnMge1xuICBzaG93OiBib29sZWFuO1xuICByb3dzUGVyUGFnZTogbnVtYmVyO1xuICByb3dzUGVyUGFnZU9wdGlvbnM6IHJlYWRvbmx5IG51bWJlcltdO1xuICBzaG93Um93c1BlclBhZ2VTZWxlY3RvcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkTGlzdE9wdGlvbnMge1xuICB0YWJsZTogQ2FyZExpc3RUYWJsZU9wdGlvbnM7XG4gIHBhZ2luYXRpb246IENhcmRMaXN0UGFnaW5hdGlvbk9wdGlvbnM7XG4gIGVuYWJsZVNpZGVCdXR0b25zOiBib29sZWFuO1xuICBjdXN0b21DYXJkPzogT3B0aW9uc0NhcmQ7XG4gIGVtcHR5OiBFbXB0eVN0YXRlQ29uZmlnO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL2xvYWRpbmctc3RhdGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTG9hZGluZ1N0YXRlSW5kaWNhdG9yID0gJ2RvdHMnIHwgJ3NwaW5uZXInIHwgJ2xvZ28nO1xuXG5leHBvcnQgdHlwZSBMb2FkaW5nU3RhdGVEaXJlY3RpdmVWYWx1ZSA9XG4gIHwgYm9vbGVhblxuICB8IHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIGluZGljYXRvcj86IExvYWRpbmdTdGF0ZUluZGljYXRvcjtcbiAgICBibG9ja1dpbmRvdz86IGJvb2xlYW47XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgYmxvY2tEZWxheU1zPzogbnVtYmVyO1xuICAgIHVuYmxvY2tEZWxheU1zPzogbnVtYmVyO1xuICB9OyJdfQ==
@@ -0,0 +1,176 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, computed, signal } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { NavigationEnd, PRIMARY_OUTLET, RouterModule } from '@angular/router';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { filter } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ import * as i2 from "@ngx-translate/core";
10
+ const INDEX_ZERO = 0;
11
+ const DEFAULT_TARGET_HOME = '_self';
12
+ const HOME_ICON_CLASS = 'fa fa-home';
13
+ const ACTIVE_SUBSET_OPTIONS = {
14
+ exact: false,
15
+ paths: 'subset',
16
+ queryParams: 'subset',
17
+ fragment: 'ignored',
18
+ matrixParams: 'ignored'
19
+ };
20
+ const ACTIVE_EXACT_OPTIONS = {
21
+ exact: true,
22
+ paths: 'exact',
23
+ queryParams: 'exact',
24
+ fragment: 'ignored',
25
+ matrixParams: 'ignored'
26
+ };
27
+ export class BreadcrumbComponent {
28
+ activatedRoute;
29
+ router;
30
+ homeUrlSignal = signal(undefined);
31
+ targetHomeUrlSignal = signal(DEFAULT_TARGET_HOME);
32
+ ariaLabelSignal = signal(undefined);
33
+ title = signal('');
34
+ home = signal(undefined);
35
+ items = signal([]);
36
+ ariaLabelText = computed(() => this.ariaLabelSignal());
37
+ set homeUrl(value) {
38
+ this.homeUrlSignal.set(value ?? undefined);
39
+ this.rebuild();
40
+ }
41
+ get homeUrl() {
42
+ return this.homeUrlSignal();
43
+ }
44
+ set targetHomeUrl(value) {
45
+ this.targetHomeUrlSignal.set(value ?? DEFAULT_TARGET_HOME);
46
+ this.rebuild();
47
+ }
48
+ get targetHomeUrl() {
49
+ return this.targetHomeUrlSignal();
50
+ }
51
+ set ariaLabel(value) {
52
+ this.ariaLabelSignal.set(value);
53
+ }
54
+ constructor(activatedRoute, router) {
55
+ this.activatedRoute = activatedRoute;
56
+ this.router = router;
57
+ this.router.events
58
+ .pipe(filter((event) => event instanceof NavigationEnd), takeUntilDestroyed())
59
+ .subscribe(() => this.rebuild());
60
+ this.rebuild();
61
+ }
62
+ prevent(ev) {
63
+ ev.preventDefault();
64
+ ev.stopPropagation();
65
+ }
66
+ hasRouterLink(item) {
67
+ return !!item && item.routerLink != null;
68
+ }
69
+ routerLinkOf(item) {
70
+ return item.routerLink;
71
+ }
72
+ queryParamsOf(item) {
73
+ return item.queryParams;
74
+ }
75
+ hrefOf(item) {
76
+ return item.url ?? null;
77
+ }
78
+ targetAttrOf(item) {
79
+ return item.target ?? null;
80
+ }
81
+ rebuild() {
82
+ const currentRoute = this.activatedRoute.root;
83
+ const validRoutes = this.getValidChildren(currentRoute);
84
+ this.title.set(this.getCurrentTitle(validRoutes) ?? '');
85
+ this.home.set(this.getCurrentHome(validRoutes));
86
+ this.items.set(this.getCurrentItems(validRoutes));
87
+ }
88
+ getValidChildren(route) {
89
+ const rc = route.routeConfig;
90
+ const hasRenderable = !!rc?.component || !!rc?.loadComponent;
91
+ const hasPath = !!rc?.path;
92
+ const valid = hasPath && hasRenderable && route.outlet === PRIMARY_OUTLET;
93
+ return route.children.reduce((acc, child) => [...acc, ...this.getValidChildren(child)], valid ? [route] : []);
94
+ }
95
+ getCurrentTitle(routes) {
96
+ const last = routes[routes.length - 1];
97
+ if (last?.routeConfig) {
98
+ return this.getTitle(last);
99
+ }
100
+ return null;
101
+ }
102
+ getCurrentHome(routes) {
103
+ const homeUrl = this.homeUrlSignal();
104
+ const target = this.targetHomeUrlSignal();
105
+ if (homeUrl) {
106
+ return {
107
+ label: '',
108
+ routerLink: [homeUrl],
109
+ icon: HOME_ICON_CLASS,
110
+ routerLinkActiveOptions: ACTIVE_SUBSET_OPTIONS,
111
+ target
112
+ };
113
+ }
114
+ if (!routes.length) {
115
+ return undefined;
116
+ }
117
+ const isSingle = routes.length === 1;
118
+ return {
119
+ ...this.getMenuItem(routes[INDEX_ZERO], isSingle),
120
+ icon: HOME_ICON_CLASS,
121
+ label: '',
122
+ routerLinkActiveOptions: ACTIVE_SUBSET_OPTIONS,
123
+ target
124
+ };
125
+ }
126
+ getCurrentItems(routes) {
127
+ if (!routes.length) {
128
+ return [];
129
+ }
130
+ const fromRoutes = this.homeUrlSignal() ? routes : routes.slice(1);
131
+ if (!fromRoutes.length) {
132
+ return [];
133
+ }
134
+ const lastIndex = fromRoutes.length - 1;
135
+ return fromRoutes.map((route, i) => this.getMenuItem(route, i === lastIndex));
136
+ }
137
+ getMenuItem(route, disabled = false) {
138
+ const label = this.getTitle(route);
139
+ const pathFromRoot = route.pathFromRoot;
140
+ const stopIndex = pathFromRoot.indexOf(route);
141
+ const parts = pathFromRoot
142
+ .slice(INDEX_ZERO, stopIndex + 1)
143
+ .flatMap((r) => r.snapshot.url.map((u) => u.path))
144
+ .filter((p) => Boolean(p));
145
+ const routerLink = ['/', ...parts];
146
+ const queryParams = route.snapshot.queryParams;
147
+ return {
148
+ label,
149
+ routerLink,
150
+ disabled,
151
+ queryParams,
152
+ routerLinkActiveOptions: ACTIVE_EXACT_OPTIONS
153
+ };
154
+ }
155
+ getTitle(route) {
156
+ const title = route.snapshot.data['routeTitle'];
157
+ if (!title) {
158
+ const path = route.routeConfig?.path ?? '';
159
+ throw new Error(`No routeTitle defined for the route /${path}`);
160
+ }
161
+ return String(title);
162
+ }
163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbComponent, isStandalone: true, selector: "sdc-breadcrumb", inputs: { homeUrl: "homeUrl", targetHomeUrl: "targetHomeUrl", ariaLabel: "ariaLabel" }, ngImport: i0, template: "<nav class=\"sdc-breadcrumb\" [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\">\n <ol class=\"sdc-breadcrumb-list\">\n @if (home()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\">\n @if (hasRouterLink(home()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(home()!)\"\n [queryParams]=\"queryParamsOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n }\n </li>\n }\n\n @for (item of items(); track $index; let i = $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li class=\"sdc-breadcrumb-item\" [class.sdc-breadcrumb-item--current]=\"item.disabled\">\n @if (!item.disabled && hasRouterLink(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(item)\"\n [queryParams]=\"queryParamsOf(item)\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </a>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));font-size:12px;line-height:1}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
+ }
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbComponent, decorators: [{
167
+ type: Component,
168
+ args: [{ selector: 'sdc-breadcrumb', standalone: true, imports: [CommonModule, RouterModule, TranslateModule], encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"sdc-breadcrumb\" [attr.aria-label]=\"(ariaLabelText() || 'platform.datacore.accessibility.breadcrumb_navigation') | translate\">\n <ol class=\"sdc-breadcrumb-list\">\n @if (home()) {\n <li class=\"sdc-breadcrumb-item sdc-breadcrumb-item--home\">\n @if (hasRouterLink(home()!)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(home()!)\"\n [queryParams]=\"queryParamsOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <a\n class=\"sdc-breadcrumb-link\"\n [attr.href]=\"hrefOf(home()!)\"\n [attr.target]=\"targetAttrOf(home()!)\"\n [attr.aria-label]=\"'platform.datacore.accessibility.breadcrumb_home' | translate\"\n >\n @if (home()!.icon) {\n <span class=\"sdc-breadcrumb-item-icon\" [class]=\"home()!.icon\" aria-hidden=\"true\"></span>\n }\n </a>\n }\n </li>\n }\n\n @for (item of items(); track $index; let i = $index) {\n <li class=\"sdc-breadcrumb-separator\" aria-hidden=\"true\"></li>\n\n <li class=\"sdc-breadcrumb-item\" [class.sdc-breadcrumb-item--current]=\"item.disabled\">\n @if (!item.disabled && hasRouterLink(item)) {\n <a\n class=\"sdc-breadcrumb-link\"\n [routerLink]=\"routerLinkOf(item)\"\n [queryParams]=\"queryParamsOf(item)\"\n [attr.target]=\"targetAttrOf(item)\"\n >\n <span class=\"sdc-breadcrumb-item-label\">{{ (item.label || '') | translate }}</span>\n </a>\n } @else {\n <span class=\"sdc-breadcrumb-current\" aria-current=\"page\">{{ (item.label || '') | translate }}</span>\n }\n </li>\n }\n </ol>\n</nav>", styles: ["@charset \"UTF-8\";:host{display:block}.sdc-breadcrumb{font-size:12px;line-height:1.2;padding:0;background:transparent}.sdc-breadcrumb-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0}.sdc-breadcrumb-item{display:inline-flex;align-items:center;min-height:18px}.sdc-breadcrumb-link{display:inline-flex;align-items:center;gap:var(--sdc-breadcrumb-link-gap, 8px);color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));text-decoration:none!important;outline:none}.sdc-breadcrumb-link:hover,.sdc-breadcrumb-link:active,.sdc-breadcrumb-link:visited{text-decoration:none!important}.sdc-breadcrumb-link:focus-visible{outline:2px solid var(--sdc-primary-600, #2563eb);outline-offset:2px;border-radius:4px}.sdc-breadcrumb-item-icon{color:var(--sdc-breadcrumb-link-color, var(--sdc-primary-600, #2563eb));font-size:12px;line-height:1}.sdc-breadcrumb-item-label{font-weight:400}.sdc-breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sdc-breadcrumb-separator-padding-x, 8px);color:var(--sdc-breadcrumb-separator-color, #667085);font-size:var(--sdc-breadcrumb-separator-size, 17px);line-height:1;transform:translateY(var(--sdc-breadcrumb-separator-translate-y, -1.6px))}.sdc-breadcrumb-separator:before{content:\"\\203a\"}.sdc-breadcrumb-current{color:var(--sdc-breadcrumb-current-color, #666872);font-weight:400}.sdc-breadcrumb-item--current .sdc-breadcrumb-link{color:var(--sdc-breadcrumb-current-color, #666872);pointer-events:none}\n"] }]
169
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { homeUrl: [{
170
+ type: Input
171
+ }], targetHomeUrl: [{
172
+ type: Input
173
+ }], ariaLabel: [{
174
+ type: Input
175
+ }] } });
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFHTCxhQUFhLEVBQ2IsY0FBYyxFQUVkLFlBQVksRUFDYixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHeEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBQ3BDLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQztBQUlyQyxNQUFNLHFCQUFxQixHQUFrRDtJQUMzRSxLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRUFBRSxRQUFRO0lBQ2YsV0FBVyxFQUFFLFFBQVE7SUFDckIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsWUFBWSxFQUFFLFNBQVM7Q0FDeEIsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQWtEO0lBQzFFLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLE9BQU87SUFDZCxXQUFXLEVBQUUsT0FBTztJQUNwQixRQUFR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LENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7d0dBbExVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGtLQzVEaEMsMmpFQWtETSx1aURESU0sWUFBWSw4QkFBRSxZQUFZLCtRQUFFLGVBQWU7OzRGQU0xQyxtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFFBQVEsbUJBQ3hCLHVCQUF1QixDQUFDLE1BQU07d0dBYzNDLE9BQU87c0JBRFYsS0FBSztnQkFXRixhQUFhO3NCQURoQixLQUFLO2dCQVdGLFNBQVM7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZSxcbiAgSXNBY3RpdmVNYXRjaE9wdGlvbnMsXG4gIE5hdmlnYXRpb25FbmQsXG4gIFBSSU1BUllfT1VUTEVULFxuICBSb3V0ZXIsXG4gIFJvdXRlck1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvYnJlYWRjcnVtYi50eXBlJztcblxuY29uc3QgSU5ERVhfWkVSTyA9IDA7XG5jb25zdCBERUZBVUxUX1RBUkdFVF9IT01FID0gJ19zZWxmJztcbmNvbnN0IEhPTUVfSUNPTl9DTEFTUyA9ICdmYSBmYS1ob21lJztcblxudHlwZSBCcmVhZGNydW1iTWF0Y2hPcHRpb25zID0geyBleGFjdDogYm9vbGVhbiB9O1xuXG5jb25zdCBBQ1RJVkVfU1VCU0VUX09QVElPTlM6IEJyZWFkY3J1bWJNYXRjaE9wdGlvbnMgJiBJc0FjdGl2ZU1hdGNoT3B0aW9ucyA9IHtcbiAgZXhhY3Q6IGZhbHNlLFxuICBwYXRoczogJ3N1YnNldCcsXG4gIHF1ZXJ5UGFyYW1zOiAnc3Vic2V0JyxcbiAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgbWF0cml4UGFyYW1zOiAnaWdub3JlZCdcbn07XG5cbmNvbnN0IEFDVElWRV9FWEFDVF9PUFRJT05TOiBCcmVhZGNydW1iTWF0Y2hPcHRpb25zICYgSXNBY3RpdmVNYXRjaE9wdGlvbnMgPSB7XG4gIGV4YWN0OiB0cnVlLFxuICBwYXRoczogJ2V4YWN0JyxcbiAgcXVlcnlQYXJhbXM6ICdleGFjdCcsXG4gIGZyYWdtZW50OiAnaWdub3JlZCcsXG4gIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnXG59O1xuXG50eXBlIEJyZWFkY3J1bWJJdGVtVm0gPSBPbWl0PEJyZWFkY3J1bWJJdGVtLCAnbGFiZWwnIHwgJ3JvdXRlckxpbmsnIHwgJ3F1ZXJ5UGFyYW1zJyB8ICdyb3V0ZXJMaW5rQWN0aXZlT3B0aW9ucyc+ICYge1xuICBsYWJlbDogc3RyaW5nO1xuICByb3V0ZXJMaW5rPzogc3RyaW5nW107XG4gIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zPzogQnJlYWRjcnVtYk1hdGNoT3B0aW9ucyAmIElzQWN0aXZlTWF0Y2hPcHRpb25zO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLWJyZWFkY3J1bWInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG9tZVVybFNpZ25hbCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0SG9tZVVybFNpZ25hbCA9IHNpZ25hbDxzdHJpbmc+KERFRkFVTFRfVEFSR0VUX0hPTUUpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFyaWFMYWJlbFNpZ25hbCA9IHNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRpdGxlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9tZSA9IHNpZ25hbDxCcmVhZGNydW1iSXRlbVZtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXMgPSBzaWduYWw8QnJlYWRjcnVtYkl0ZW1WbVtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFMYWJlbFRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFyaWFMYWJlbFNpZ25hbCgpKTtcblxuICBASW5wdXQoKVxuICBzZXQgaG9tZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5ob21lVXJsU2lnbmFsLnNldCh2YWx1ZSA/PyB1bmRlZmluZWQpO1xuICAgIHRoaXMucmVidWlsZCgpO1xuICB9XG5cbiAgZ2V0IGhvbWVVcmwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ob21lVXJsU2lnbmFsKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdGFyZ2V0SG9tZVVybCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy50YXJnZXRIb21lVXJsU2lnbmFsLnNldCh2YWx1ZSA/PyBERUZBVUxUX1RBUkdFVF9IT01FKTtcbiAgICB0aGlzLnJlYnVpbGQoKTtcbiAgfVxuXG4gIGdldCB0YXJnZXRIb21lVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGFyZ2V0SG9tZVVybFNpZ25hbCgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5hcmlhTGFiZWxTaWduYWwuc2V0KHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLCB0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWJ1aWxkKCkpO1xuXG4gICAgdGhpcy5yZWJ1aWxkKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmVudChldjogRXZlbnQpOiB2b2lkIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhc1JvdXRlckxpbmsoaXRlbTogQnJlYWRjcnVtYkl0ZW1WbSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWl0ZW0gJiYgaXRlbS5yb3V0ZXJMaW5rICE9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgcm91dGVyTGlua09mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVm0pOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGl0ZW0ucm91dGVyTGluaztcbiAgfVxuXG4gIHByb3RlY3RlZCBxdWVyeVBhcmFtc09mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVm0pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGl0ZW0ucXVlcnlQYXJhbXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgaHJlZk9mKGl0ZW06IEJyZWFkY3J1bWJJdGVtVm0pOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gaXRlbS51cmwgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0YXJnZXRBdHRyT2YoaXRlbTogQnJlYWRjcnVtYkl0ZW1WbSk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBpdGVtLnRhcmdldCA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMuYWN0aXZhdGVkUm91dGUucm9vdDtcbiAgICBjb25zdCB2YWxpZFJvdXRlcyA9IHRoaXMuZ2V0VmFsaWRDaGlsZHJlbihjdXJyZW50Um91dGUpO1xuXG4gICAgdGhpcy50aXRsZS5zZXQodGhpcy5nZXRDdXJyZW50VGl0bGUodmFsaWRSb3V0ZXMpID8/ICcnKTtcbiAgICB0aGlzLmhvbWUuc2V0KHRoaXMuZ2V0Q3VycmVudEhvbWUodmFsaWRSb3V0ZXMpKTtcbiAgICB0aGlzLml0ZW1zLnNldCh0aGlzLmdldEN1cnJlbnRJdGVtcyh2YWxpZFJvdXRlcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWxpZENoaWxkcmVuKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IEFjdGl2YXRlZFJvdXRlW10ge1xuICAgIGNvbnN0IHJjID0gcm91dGUucm91dGVDb25maWc7XG4gICAgY29uc3QgaGFzUmVuZGVyYWJsZSA9ICEhcmM/LmNvbXBvbmVudCB8fCAhIXJjPy5sb2FkQ29tcG9uZW50O1xuICAgIGNvbnN0IGhhc1BhdGggPSAhIXJjPy5wYXRoO1xuICAgIGNvbnN0IHZhbGlkID0gaGFzUGF0aCAmJiBoYXNSZW5kZXJhYmxlICYmIHJvdXRlLm91dGxldCA9PT0gUFJJTUFSWV9PVVRMRVQ7XG5cbiAgICByZXR1cm4gcm91dGUuY2hpbGRyZW4ucmVkdWNlPEFjdGl2YXRlZFJvdXRlW10+KFxuICAgICAgKGFjYywgY2hpbGQpID0+IFsuLi5hY2MsIC4uLnRoaXMuZ2V0VmFsaWRDaGlsZHJlbihjaGlsZCldLFxuICAgICAgdmFsaWQgPyBbcm91dGVdIDogW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50VGl0bGUocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgbGFzdCA9IHJvdXRlc1tyb3V0ZXMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAobGFzdD8ucm91dGVDb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFRpdGxlKGxhc3QpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SG9tZShyb3V0ZXM6IEFjdGl2YXRlZFJvdXRlW10pOiBCcmVhZGNydW1iSXRlbVZtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBob21lVXJsID0gdGhpcy5ob21lVXJsU2lnbmFsKCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXRIb21lVXJsU2lnbmFsKCk7XG5cbiAgICBpZiAoaG9tZVVybCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6ICcnLFxuICAgICAgICByb3V0ZXJMaW5rOiBbaG9tZVVybF0sXG4gICAgICAgIGljb246IEhPTUVfSUNPTl9DTEFTUyxcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZU9wdGlvbnM6IEFDVElWRV9TVUJTRVRfT1BUSU9OUyxcbiAgICAgICAgdGFyZ2V0XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghcm91dGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBpc1NpbmdsZSA9IHJvdXRlcy5sZW5ndGggPT09IDE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5nZXRNZW51SXRlbShyb3V0ZXNbSU5ERVhfWkVST10sIGlzU2luZ2xlKSxcbiAgICAgIGljb246IEhPTUVfSUNPTl9DTEFTUyxcbiAgICAgIGxhYmVsOiAnJyxcbiAgICAgIHJvdXRlckxpbmtBY3RpdmVPcHRpb25zOiBBQ1RJVkVfU1VCU0VUX09QVElPTlMsXG4gICAgICB0YXJnZXRcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50SXRlbXMocm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdKTogQnJlYWRjcnVtYkl0ZW1WbVtdIHtcbiAgICBpZiAoIXJvdXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tUm91dGVzID0gdGhpcy5ob21lVXJsU2lnbmFsKCkgPyByb3V0ZXMgOiByb3V0ZXMuc2xpY2UoMSk7XG5cbiAgICBpZiAoIWZyb21Sb3V0ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEluZGV4ID0gZnJvbVJvdXRlcy5sZW5ndGggLSAxO1xuICAgIHJldHVybiBmcm9tUm91dGVzLm1hcCgocm91dGUsIGkpID0+IHRoaXMuZ2V0TWVudUl0ZW0ocm91dGUsIGkgPT09IGxhc3RJbmRleCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZW51SXRlbShyb3V0ZTogQWN0aXZhdGVkUm91dGUsIGRpc2FibGVkID0gZmFsc2UpOiBCcmVhZGNydW1iSXRlbVZtIHtcbiAgICBjb25zdCBsYWJlbCA9IHRoaXMuZ2V0VGl0bGUocm91dGUpO1xuICAgIGNvbnN0IHBhdGhGcm9tUm9vdCA9IHJvdXRlLnBhdGhGcm9tUm9vdDtcbiAgICBjb25zdCBzdG9wSW5kZXggPSBwYXRoRnJvbVJvb3QuaW5kZXhPZihyb3V0ZSk7XG5cbiAgICBjb25zdCBwYXJ0cyA9IHBhdGhGcm9tUm9vdFxuICAgICAgLnNsaWNlKElOREVYX1pFUk8sIHN0b3BJbmRleCArIDEpXG4gICAgICAuZmxhdE1hcCgocikgPT4gci5zbmFwc2hvdC51cmwubWFwKCh1KSA9PiB1LnBhdGgpKVxuICAgICAgLmZpbHRlcigocCk6IHAgaXMgc3RyaW5nID0+IEJvb2xlYW4ocCkpO1xuXG4gICAgY29uc3Qgcm91dGVyTGluayA9IFsnLycsIC4uLnBhcnRzXTtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsLFxuICAgICAgcm91dGVyTGluayxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcXVlcnlQYXJhbXMsXG4gICAgICByb3V0ZXJMaW5rQWN0aXZlT3B0aW9uczogQUNUSVZFX0VYQUNUX09QVElPTlNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaXRsZShyb3V0ZTogQWN0aXZhdGVkUm91dGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRpdGxlID0gcm91dGUuc25hcHNob3QuZGF0YVsncm91dGVUaXRsZSddO1xuXG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgY29uc3QgcGF0aCA9IHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoID8/ICcnO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyByb3V0ZVRpdGxlIGRlZmluZWQgZm9yIHRoZSByb3V0ZSAvJHtwYXRofWApO1xuICAgIH1cblxuICAgIHJldHVybiBTdHJpbmcodGl0bGUpO1xuICB9XG59IiwiPG5hdiBjbGFzcz1cInNkYy1icmVhZGNydW1iXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIoYXJpYUxhYmVsVGV4dCgpIHx8ICdwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmJyZWFkY3J1bWJfbmF2aWdhdGlvbicpIHwgdHJhbnNsYXRlXCI+XG4gIDxvbCBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpc3RcIj5cbiAgICBAaWYgKGhvbWUoKSkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbSBzZGMtYnJlYWRjcnVtYi1pdGVtLS1ob21lXCI+XG4gICAgICAgIEBpZiAoaGFzUm91dGVyTGluayhob21lKCkhKSkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1icmVhZGNydW1iLWxpbmtcIlxuICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwicm91dGVyTGlua09mKGhvbWUoKSEpXCJcbiAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJxdWVyeVBhcmFtc09mKGhvbWUoKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZSgpISlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWUoKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1saW5rXCJcbiAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaHJlZk9mKGhvbWUoKSEpXCJcbiAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRBdHRyT2YoaG9tZSgpISlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5icmVhZGNydW1iX2hvbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGhvbWUoKSEuaWNvbikge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1icmVhZGNydW1iLWl0ZW0taWNvblwiIFtjbGFzc109XCJob21lKCkhLmljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgICA8L2xpPlxuICAgIH1cblxuICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgJGluZGV4OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9saT5cblxuICAgICAgPGxpIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItaXRlbVwiIFtjbGFzcy5zZGMtYnJlYWRjcnVtYi1pdGVtLS1jdXJyZW50XT1cIml0ZW0uZGlzYWJsZWRcIj5cbiAgICAgICAgQGlmICghaXRlbS5kaXNhYmxlZCAmJiBoYXNSb3V0ZXJMaW5rKGl0ZW0pKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWJyZWFkY3J1bWItbGlua1wiXG4gICAgICAgICAgICBbcm91dGVyTGlua109XCJyb3V0ZXJMaW5rT2YoaXRlbSlcIlxuICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInF1ZXJ5UGFyYW1zT2YoaXRlbSlcIlxuICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cInRhcmdldEF0dHJPZihpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1pdGVtLWxhYmVsXCI+e3sgKGl0ZW0ubGFiZWwgfHwgJycpIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtYnJlYWRjcnVtYi1jdXJyZW50XCIgYXJpYS1jdXJyZW50PVwicGFnZVwiPnt7IChpdGVtLmxhYmVsIHx8ICcnKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9saT5cbiAgICB9XG4gIDwvb2w+XG48L25hdj4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, HostListener, Input, Output, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation } from '@angular/core';
3
3
  import { ButtonModule } from '@seniorsistemas/angular-components/button';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@seniorsistemas/angular-components/button";
@@ -20,13 +20,34 @@ export class ButtonComponent {
20
20
  slide;
21
21
  styleClass;
22
22
  badge;
23
- menuOptions = [];
23
+ _menuOptions = [];
24
+ _legacyMenuOptions = null;
25
+ _menuContext;
26
+ set menuOptions(value) {
27
+ this._menuOptions = value ?? [];
28
+ this.rebuildResolvedMenuOptions();
29
+ }
30
+ get menuOptions() {
31
+ return this._legacyMenuOptions ?? this._menuOptions;
32
+ }
33
+ set menuContext(value) {
34
+ this._menuContext = value;
35
+ this.rebuildResolvedMenuOptions();
36
+ }
37
+ get menuContext() {
38
+ return this._menuContext;
39
+ }
24
40
  set legacyModel(value) {
25
41
  if (value?.length) {
26
- this.menuOptions = this.#mapMenu(value);
42
+ this._legacyMenuOptions = this.mapLegacyMenu(value);
43
+ }
44
+ else {
45
+ this._legacyMenuOptions = null;
27
46
  }
47
+ this.rebuildResolvedMenuOptions();
28
48
  }
29
49
  onClick = new EventEmitter();
50
+ resolvedMenuOptions = [];
30
51
  onHostClick(event) {
31
52
  if (!this.disabled) {
32
53
  return;
@@ -42,25 +63,59 @@ export class ButtonComponent {
42
63
  }
43
64
  this.onClick.emit(event);
44
65
  }
45
- #mapMenu(items = []) {
46
- return items.map(i => {
47
- if (i?.separator) {
66
+ rebuildResolvedMenuOptions() {
67
+ this.resolvedMenuOptions = this.wrapMenuCommands(this.menuOptions);
68
+ }
69
+ wrapMenuCommands(items = []) {
70
+ return items.map(item => {
71
+ const originalCommand = item.command;
72
+ const submenu = item.submenu?.length ? this.wrapMenuCommands(item.submenu) : undefined;
73
+ const wrappedItem = {
74
+ ...item,
75
+ submenu
76
+ };
77
+ if (originalCommand) {
78
+ wrappedItem.command = (originalEvent) => {
79
+ const payload = {
80
+ originalEvent,
81
+ context: this._menuContext,
82
+ item: wrappedItem,
83
+ data: item.data
84
+ };
85
+ originalCommand(payload);
86
+ };
87
+ }
88
+ return wrappedItem;
89
+ });
90
+ }
91
+ mapLegacyMenu(items = []) {
92
+ return items.map(item => {
93
+ if (item.separator) {
48
94
  return { divider: true };
49
95
  }
50
96
  return {
51
- label: i.label ?? '',
52
- iconClass: i?.icon,
53
- command: i.command ? () => i.command({}) : undefined,
54
- submenu: i.items?.length ? this.#mapMenu(i.items) : undefined
97
+ label: item.label ?? '',
98
+ iconClass: item.icon,
99
+ disabled: !!item.disabled,
100
+ command: item.command
101
+ ? (originalEvent) => {
102
+ item.command?.({
103
+ originalEvent,
104
+ item,
105
+ context: this._menuContext
106
+ });
107
+ }
108
+ : undefined,
109
+ submenu: item.items?.length ? this.mapLegacyMenu(item.items) : undefined
55
110
  };
56
111
  });
57
112
  }
58
113
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", disabled: "disabled", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", legacyModel: ["model", "legacyModel"] }, outputs: { onClick: "onClick" }, host: { listeners: { "click": "onHostClick($event)" } }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"menuOptions\"\n [attr.aria-disabled]=\"disabled\"\n >\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "sdc-button", inputs: { id: "id", label: "label", disabled: "disabled", width: "width", priority: "priority", size: "size", type: "type", icon: "icon", rightIcon: "rightIcon", auxiliary: "auxiliary", caret: "caret", tooltip: "tooltip", animation: "animation", slide: "slide", styleClass: "styleClass", badge: "badge", menuOptions: "menuOptions", menuContext: "menuContext", legacyModel: ["model", "legacyModel"] }, outputs: { onClick: "onClick" }, host: { listeners: { "click": "onHostClick($event)" } }, ngImport: i0, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"resolvedMenuOptions\"\n [attr.aria-disabled]=\"disabled\"\n >\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
115
  }
61
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
62
117
  type: Component,
63
- args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"menuOptions\"\n [attr.aria-disabled]=\"disabled\"\n >\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"] }]
118
+ args: [{ imports: [CommonModule, ButtonModule], standalone: true, selector: 'sdc-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div [style.width]=\"width\">\n <s-button\n class=\"sdc-button-el\"\n (onClick)=\"handleClick($event)\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [size]=\"size\"\n [type]=\"type\"\n [priority]=\"priority\"\n [label]=\"label\"\n [iconClass]=\"icon\"\n [rightIconClass]=\"rightIcon\"\n [auxiliary]=\"auxiliary\"\n [caret]=\"caret!\"\n [tooltip]=\"tooltip\"\n [animation]=\"animation!\"\n [slide]=\"slide!\"\n [badge]=\"badge\"\n [styleClass]=\"styleClass!\"\n [menuOptions]=\"resolvedMenuOptions\"\n [attr.aria-disabled]=\"disabled\"\n >\n </s-button>\n</div>\n", styles: ["::ng-deep .s-button-priority-primary .s-button-icon{color:#fff!important}::ng-deep s-button button:disabled{pointer-events:none;cursor:not-allowed}\n"] }]
64
119
  }], propDecorators: { id: [{
65
120
  type: Input
66
121
  }], label: [{
@@ -95,6 +150,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
95
150
  type: Input
96
151
  }], menuOptions: [{
97
152
  type: Input
153
+ }], menuContext: [{
154
+ type: Input
98
155
  }], legacyModel: [{
99
156
  type: Input,
100
157
  args: ['model']
@@ -104,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
104
161
  type: HostListener,
105
162
  args: ['click', ['$event']]
106
163
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBcUMsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBZTVHLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLEVBQUUsR0FBVyxXQUFXLENBQUM7SUFDekIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBQzFCLEtBQUssR0FBYyxNQUFNLENBQUM7SUFDMUIsUUFBUSxHQUFtQixTQUFTLENBQUM7SUFDckMsSUFBSSxHQUFlLFNBQVMsQ0FBQztJQUM3QixJQUFJLEdBQVcsUUFBUSxDQUFDO0lBQ3hCLElBQUksQ0FBVTtJQUNkLFNBQVMsQ0FBVTtJQUNuQixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDYixPQUFPLENBQVU7SUFDakIsU0FBUyxDQUFZO0lBQ3JCLEtBQUssQ0FBVztJQUNoQixVQUFVLENBQVU7SUFDcEIsS0FBSyxDQUFxQjtJQUMxQixXQUFXLEdBQXlCLEVBQUUsQ0FBQztJQUVoRCxJQUFvQixXQUFXLENBQUMsS0FBNkI7UUFDM0QsSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRVMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7SUFHcEMsV0FBVyxDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBWTtRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUN6QixLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBb0IsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsSUFBSyxDQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUNELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDcEIsU0FBUyxFQUFHLENBQVMsRUFBRSxJQUFJO2dCQUMzQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDckQsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUM5RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXpEVSxlQUFlOzRGQUFmLGVBQWUscWhCQ3pCNUIscW1CQXdCQSw4TURQWSxZQUFZLDhCQUFFLFlBQVk7OzRGQVF6QixlQUFlO2tCQVQzQixTQUFTOzhCQUNDLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxjQUN6QixJQUFJLFlBQ04sWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxRQUFROzhCQUdoQyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYyxXQUFXO3NCQUE5QixLQUFLO3VCQUFDLE9BQU87Z0JBTUosT0FBTztzQkFBaEIsTUFBTTtnQkFHRyxXQUFXO3NCQURwQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUsIEJ1dHRvblByaW9yaXR5LCBCdXR0b25CYWRnZUNvbmZpZyB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQnV0dG9uLCBEaW1lbnNpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEJ1dHRvblNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdGllcmVkLW1lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdidXR0b24taWQnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnYXV0byc7XG4gIEBJbnB1dCgpIHByaW9yaXR5OiBCdXR0b25Qcmlvcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJpZ2h0SWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgYXV4aWxpYXJ5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbHRpcD86IHN0cmluZztcbiAgQElucHV0KCkgYW5pbWF0aW9uPzogJ3JvdGF0ZSc7XG4gIEBJbnB1dCgpIHNsaWRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3R5bGVDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgYmFkZ2U/OiBCdXR0b25CYWRnZUNvbmZpZztcbiAgQElucHV0KCkgbWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgQElucHV0KCdtb2RlbCcpIHNldCBsZWdhY3lNb2RlbCh2YWx1ZTogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLm1lbnVPcHRpb25zID0gdGhpcy4jbWFwTWVudSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uSG9zdENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0Py4oKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbj8uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gICNtYXBNZW51KGl0ZW1zOiBNZW51SXRlbVtdID0gW10pOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpID0+IHtcbiAgICAgIGlmICgoaSBhcyBhbnkpPy5zZXBhcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHsgZGl2aWRlcjogdHJ1ZSB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6IGkubGFiZWwgPz8gJycsXG4gICAgICAgIGljb25DbGFzczogKGkgYXMgYW55KT8uaWNvbixcbiAgICAgICAgY29tbWFuZDogaS5jb21tYW5kID8gKCkgPT4gaS5jb21tYW5kISh7fSkgOiB1bmRlZmluZWQsXG4gICAgICAgIHN1Ym1lbnU6IGkuaXRlbXM/Lmxlbmd0aCA/IHRoaXMuI21hcE1lbnUoaS5pdGVtcykgOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgW3N0eWxlLndpZHRoXT1cIndpZHRoXCI+XG4gIDxzLWJ1dHRvblxuICAgIGNsYXNzPVwic2RjLWJ1dHRvbi1lbFwiXG4gICAgKG9uQ2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIFtwcmlvcml0eV09XCJwcmlvcml0eVwiXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICBbaWNvbkNsYXNzXT1cImljb25cIlxuICAgIFtyaWdodEljb25DbGFzc109XCJyaWdodEljb25cIlxuICAgIFthdXhpbGlhcnldPVwiYXV4aWxpYXJ5XCJcbiAgICBbY2FyZXRdPVwiY2FyZXQhXCJcbiAgICBbdG9vbHRpcF09XCJ0b29sdGlwXCJcbiAgICBbYW5pbWF0aW9uXT1cImFuaW1hdGlvbiFcIlxuICAgIFtzbGlkZV09XCJzbGlkZSFcIlxuICAgIFtiYWRnZV09XCJiYWRnZVwiXG4gICAgW3N0eWxlQ2xhc3NdPVwic3R5bGVDbGFzcyFcIlxuICAgIFttZW51T3B0aW9uc109XCJtZW51T3B0aW9uc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgPC9zLWJ1dHRvbj5cbjwvZGl2PlxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBcUMsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBdUI1RyxNQUFNLE9BQU8sZUFBZTtJQUNqQixFQUFFLEdBQVcsV0FBVyxDQUFDO0lBQ3pCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixLQUFLLEdBQWMsTUFBTSxDQUFDO0lBQzFCLFFBQVEsR0FBbUIsU0FBUyxDQUFDO0lBQ3JDLElBQUksR0FBZSxTQUFTLENBQUM7SUFDN0IsSUFBSSxHQUFXLFFBQVEsQ0FBQztJQUN4QixJQUFJLENBQVU7SUFDZCxTQUFTLENBQVU7SUFDbkIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2IsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBWTtJQUNyQixLQUFLLENBQVc7SUFDaEIsVUFBVSxDQUFVO0lBQ3BCLEtBQUssQ0FBcUI7SUFFM0IsWUFBWSxHQUF5QixFQUFFLENBQUM7SUFDeEMsa0JBQWtCLEdBQWdDLElBQUksQ0FBQztJQUN2RCxZQUFZLENBQVc7SUFFL0IsSUFDSSxXQUFXLENBQUMsS0FBOEM7UUFDNUQsSUFBSSxDQUFDLFlBQVks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LEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0YsV0FBVztzQkFEZCxLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFXRixXQUFXO3NCQURkLEtBQUs7dUJBQUMsT0FBTztnQkFVSixPQUFPO3NCQUFoQixNQUFNO2dCQUtHLFdBQVc7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSwgQnV0dG9uUHJpb3JpdHksIEJ1dHRvbkJhZGdlQ29uZmlnIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVGllcmVkTWVudUl0ZW1EYXRhIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90aWVyZWQtbWVudSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQnV0dG9uLCBEaW1lbnNpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEJ1dHRvblNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL2J1dHRvbi50eXBlJztcblxuZXhwb3J0IHR5cGUgQnV0dG9uTWVudUNvbW1hbmRQYXlsb2FkID0ge1xuICBvcmlnaW5hbEV2ZW50PzogdW5rbm93bjtcbiAgY29udGV4dD86IHVua25vd247XG4gIGl0ZW06IFRpZXJlZE1lbnVJdGVtRGF0YTtcbiAgZGF0YT86IHVua25vd247XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzZGMtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICdidXR0b24taWQnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHdpZHRoOiBEaW1lbnNpb24gPSAnYXV0byc7XG4gIEBJbnB1dCgpIHByaW9yaXR5OiBCdXR0b25Qcmlvcml0eSA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdHlwZTogQnV0dG9uID0gJ2J1dHRvbic7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJpZ2h0SWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgYXV4aWxpYXJ5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbHRpcD86IHN0cmluZztcbiAgQElucHV0KCkgYW5pbWF0aW9uPzogJ3JvdGF0ZSc7XG4gIEBJbnB1dCgpIHNsaWRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3R5bGVDbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgYmFkZ2U/OiBCdXR0b25CYWRnZUNvbmZpZztcblxuICBwcml2YXRlIF9tZW51T3B0aW9uczogVGllcmVkTWVudUl0ZW1EYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGVnYWN5TWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX21lbnVDb250ZXh0PzogdW5rbm93bjtcblxuICBASW5wdXQoKVxuICBzZXQgbWVudU9wdGlvbnModmFsdWU6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX21lbnVPcHRpb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5yZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpO1xuICB9XG5cbiAgZ2V0IG1lbnVPcHRpb25zKCk6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPz8gdGhpcy5fbWVudU9wdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbWVudUNvbnRleHQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9tZW51Q29udGV4dCA9IHZhbHVlO1xuICAgIHRoaXMucmVidWlsZFJlc29sdmVkTWVudU9wdGlvbnMoKTtcbiAgfVxuXG4gIGdldCBtZW51Q29udGV4dCgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUNvbnRleHQ7XG4gIH1cblxuICBASW5wdXQoJ21vZGVsJylcbiAgc2V0IGxlZ2FjeU1vZGVsKHZhbHVlOiBNZW51SXRlbVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2xlZ2FjeU1lbnVPcHRpb25zID0gdGhpcy5tYXBMZWdhY3lNZW51KHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbGVnYWN5TWVudU9wdGlvbnMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnJlYnVpbGRSZXNvbHZlZE1lbnVPcHRpb25zKCk7XG4gIH1cblxuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVkTWVudU9wdGlvbnM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW107XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Ib3N0Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQ/LigpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uPy4oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWJ1aWxkUmVzb2x2ZWRNZW51T3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmVkTWVudU9wdGlvbnMgPSB0aGlzLndyYXBNZW51Q29tbWFuZHModGhpcy5tZW51T3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHdyYXBNZW51Q29tbWFuZHMoaXRlbXM6IFRpZXJlZE1lbnVJdGVtRGF0YVtdID0gW10pOiBUaWVyZWRNZW51SXRlbURhdGFbXSB7XG4gICAgcmV0dXJuIGl0ZW1zLm1hcChpdGVtID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsQ29tbWFuZCA9IGl0ZW0uY29tbWFuZCBhcyAoKHBheWxvYWQ/OiB1bmtub3duKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHN1Ym1lbnUgPSBpdGVtLnN1Ym1lbnU/Lmxlbmd0aCA/IHRoaXMud3JhcE1lbnVDb21tYW5kcyhpdGVtLnN1Ym1lbnUpIDogdW5kZWZpbmVkO1xuXG4gICAgICBjb25zdCB3cmFwcGVkSXRlbTogVGllcmVkTWVudUl0ZW1EYXRhID0ge1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBzdWJtZW51XG4gICAgICB9O1xuXG4gICAgICBpZiAob3JpZ2luYWxDb21tYW5kKSB7XG4gICAgICAgIHdyYXBwZWRJdGVtLmNvbW1hbmQgPSAob3JpZ2luYWxFdmVudD86IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCBwYXlsb2FkOiBCdXR0b25NZW51Q29tbWFuZFBheWxvYWQgPSB7XG4gICAgICAgICAgICBvcmlnaW5hbEV2ZW50LFxuICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHQsXG4gICAgICAgICAgICBpdGVtOiB3cmFwcGVkSXRlbSxcbiAgICAgICAgICAgIGRhdGE6IChpdGVtIGFzIHsgZGF0YT86IHVua25vd24gfSkuZGF0YVxuICAgICAgICAgIH07XG4gICAgICAgICAgb3JpZ2luYWxDb21tYW5kKHBheWxvYWQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gd3JhcHBlZEl0ZW07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcExlZ2FjeU1lbnUoaXRlbXM6IE1lbnVJdGVtW10gPSBbXSk6IFRpZXJlZE1lbnVJdGVtRGF0YVtdIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgaWYgKChpdGVtIGFzIHsgc2VwYXJhdG9yPzogYm9vbGVhbiB9KS5zZXBhcmF0b3IpIHtcbiAgICAgICAgcmV0dXJuIHsgZGl2aWRlcjogdHJ1ZSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYWJlbDogaXRlbS5sYWJlbCA/PyAnJyxcbiAgICAgICAgaWNvbkNsYXNzOiAoaXRlbSBhcyB7IGljb24/OiBzdHJpbmcgfSkuaWNvbixcbiAgICAgICAgZGlzYWJsZWQ6ICEhaXRlbS5kaXNhYmxlZCxcbiAgICAgICAgY29tbWFuZDogaXRlbS5jb21tYW5kXG4gICAgICAgICAgPyAob3JpZ2luYWxFdmVudD86IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGl0ZW0uY29tbWFuZD8uKHtcbiAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudCxcbiAgICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgICAgY29udGV4dDogdGhpcy5fbWVudUNvbnRleHRcbiAgICAgICAgICAgIH0gYXMgbmV2ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgc3VibWVudTogaXRlbS5pdGVtcz8ubGVuZ3RoID8gdGhpcy5tYXBMZWdhY3lNZW51KGl0ZW0uaXRlbXMpIDogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICA8cy1idXR0b25cbiAgICBjbGFzcz1cInNkYy1idXR0b24tZWxcIlxuICAgIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2lkXT1cImlkXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbcHJpb3JpdHldPVwicHJpb3JpdHlcIlxuICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgW2ljb25DbGFzc109XCJpY29uXCJcbiAgICBbcmlnaHRJY29uQ2xhc3NdPVwicmlnaHRJY29uXCJcbiAgICBbYXV4aWxpYXJ5XT1cImF1eGlsaWFyeVwiXG4gICAgW2NhcmV0XT1cImNhcmV0IVwiXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgW2FuaW1hdGlvbl09XCJhbmltYXRpb24hXCJcbiAgICBbc2xpZGVdPVwic2xpZGUhXCJcbiAgICBbYmFkZ2VdPVwiYmFkZ2VcIlxuICAgIFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MhXCJcbiAgICBbbWVudU9wdGlvbnNdPVwicmVzb2x2ZWRNZW51T3B0aW9uc1wiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gID5cbiAgPC9zLWJ1dHRvbj5cbjwvZGl2PlxuIl19