@seniorsistemas/data-seniorx-core 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/types/table-options.type.d.ts +11 -0
- package/core/types/table.type.d.ts +2 -1
- package/esm2022/core/types/table-options.type.mjs +8 -2
- package/esm2022/core/types/table.type.mjs +2 -2
- package/esm2022/features/loading-state/loading-state.component.mjs +63 -6
- package/esm2022/features/table/components/table-actions-menu.component.mjs +151 -4
- package/esm2022/features/table/components/table-cell-content.component.mjs +6 -3
- package/esm2022/features/table/table.component.mjs +42 -5
- package/features/loading-state/loading-state.component.d.ts +2 -0
- package/features/table/components/table-actions-menu.component.d.ts +18 -4
- package/features/table/components/table-cell-content.component.d.ts +2 -1
- package/features/table/table.component.d.ts +6 -2
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +381 -133
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -78,11 +78,22 @@ export type TableActionMenuItem = {
|
|
|
78
78
|
icon?: string;
|
|
79
79
|
disabled: boolean;
|
|
80
80
|
};
|
|
81
|
+
export declare enum TableMenuFocusTarget {
|
|
82
|
+
Next = "next",
|
|
83
|
+
None = "none",
|
|
84
|
+
Previous = "previous",
|
|
85
|
+
Trigger = "trigger"
|
|
86
|
+
}
|
|
87
|
+
export interface TableActionMenuCloseEvent {
|
|
88
|
+
focusTarget: TableMenuFocusTarget;
|
|
89
|
+
}
|
|
81
90
|
export type TableOpenMenuState<T extends RowBase = RowBase> = {
|
|
82
91
|
row: T;
|
|
83
92
|
col: TableColumn<T>;
|
|
84
93
|
closeOnClick: boolean;
|
|
85
94
|
items: TableActionMenuItem[];
|
|
95
|
+
menuId: string;
|
|
96
|
+
trigger: HTMLElement;
|
|
86
97
|
top: number;
|
|
87
98
|
left: number;
|
|
88
99
|
width: number;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type { RowBase, SortOrder, TableColumnAlignment, TableColumnType, TableRowIdentity, TableSearchEvent } from './table-shared.type';
|
|
2
2
|
export type { TableCellTag, TableColumn, TableColumnContent, TableTextOverflow } from './table-column.type';
|
|
3
|
-
export type { ActionMenuItem, ActionMenuItemDisabled, ActionsCellOptions, ButtonCellOptions, CheckboxCellOptions, IconCellOptions, IconTitleCellOptions, TableActionMenuItem, TableCellConfig, TableCellConfigKey, TableCellConfigMap, TableOpenMenuState, TableOptions, TagCellOptions } from './table-options.type';
|
|
3
|
+
export type { ActionMenuItem, ActionMenuItemDisabled, TableActionMenuCloseEvent, ActionsCellOptions, ButtonCellOptions, CheckboxCellOptions, IconCellOptions, IconTitleCellOptions, TableActionMenuItem, TableCellConfig, TableCellConfigKey, TableCellConfigMap, TableOpenMenuState, TableOptions, TagCellOptions } from './table-options.type';
|
|
4
|
+
export { TableMenuFocusTarget } from './table-options.type';
|
|
4
5
|
export type { TableBaseVisualConfig, TableIconConfig, TableIconConfigInput, TableTagConfig, TableTagConfigInput, TableTitleIconConfig, TableTitleIconConfigInput, TableVisualConfigInput, TableVisualConfigResolver } from './table-visual.type';
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
1
|
+
export var TableMenuFocusTarget;
|
|
2
|
+
(function (TableMenuFocusTarget) {
|
|
3
|
+
TableMenuFocusTarget["Next"] = "next";
|
|
4
|
+
TableMenuFocusTarget["None"] = "none";
|
|
5
|
+
TableMenuFocusTarget["Previous"] = "previous";
|
|
6
|
+
TableMenuFocusTarget["Trigger"] = "trigger";
|
|
7
|
+
})(TableMenuFocusTarget || (TableMenuFocusTarget = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb3B0aW9ucy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL3RhYmxlLW9wdGlvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvRkEsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5QixxQ0FBYSxDQUFBO0lBQ2IscUNBQWEsQ0FBQTtJQUNiLDZDQUFxQixDQUFBO0lBQ3JCLDJDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWFyY2hUcmlnZ2VyTW9kZSB9IGZyb20gJy4vc2VhcmNoYm94LnR5cGUnO1xuaW1wb3J0IHsgUHJpb3JpdHksIFNpemUgfSBmcm9tICcuL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB0eXBlIHsgUm93QmFzZSwgVGFibGVTZWFyY2hFdmVudCwgVGFibGVSb3dJZGVudGl0eSwgU29ydE9yZGVyIH0gZnJvbSAnLi90YWJsZS1zaGFyZWQudHlwZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uLCBUYWJsZVRleHRPdmVyZmxvdyB9IGZyb20gJy4vdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUljb25Db25maWcsIFRhYmxlVGFnQ29uZmlnLCBUYWJsZVRpdGxlSWNvbkNvbmZpZyB9IGZyb20gJy4vdGFibGUtdmlzdWFsLnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrYm94Q2VsbE9wdGlvbnMge1xuICBzZWxlY3RBbGw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkNlbGxPcHRpb25zIHtcbiAgcHJpb3JpdHk/OiBQcmlvcml0eTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIHNpemU/OiBTaXplO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIEljb25DZWxsT3B0aW9ucyA9IFRhYmxlSWNvbkNvbmZpZztcblxuZXhwb3J0IHR5cGUgSWNvblRpdGxlQ2VsbE9wdGlvbnMgPSBUYWJsZVRpdGxlSWNvbkNvbmZpZztcblxuZXhwb3J0IHR5cGUgVGFnQ2VsbE9wdGlvbnMgPSBUYWJsZVRhZ0NvbmZpZztcblxuZXhwb3J0IHR5cGUgQWN0aW9uTWVudUl0ZW1EaXNhYmxlZDxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+ID1cbiAgfCBib29sZWFuXG4gIHwgKChyb3c6IFQpID0+IGJvb2xlYW4pO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbk1lbnVJdGVtPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4ge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBBY3Rpb25NZW51SXRlbURpc2FibGVkPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbnNDZWxsT3B0aW9uczxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+IHtcbiAgYnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIHByaW9yaXR5PzogUHJpb3JpdHk7XG4gIHNpemU/OiBTaXplO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBjbG9zZU9uQ2xpY2s/OiBib29sZWFuO1xuICBpdGVtcz86IEFjdGlvbk1lbnVJdGVtPFQ+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVPcHRpb25zPFQgZXh0ZW5kcyBSb3dCYXNlID0gUm93QmFzZT4ge1xuICBzZWFyY2g/OiB7IHR5cGU/OiBTZWFyY2hUcmlnZ2VyTW9kZTsgc2hvdz86IGJvb2xlYW47IHBsYWNlaG9sZGVyPzogc3RyaW5nIH07XG4gIHRhYmxlPzogeyB0b3RhbFJlY29yZHNMYWJlbD86IHN0cmluZzsgdGV4dE92ZXJmbG93PzogVGFibGVUZXh0T3ZlcmZsb3cgfTtcbiAgZW1wdHk/OiB7IHNob3c/OiBib29sZWFuOyB0aXRsZT86IHN0cmluZzsgdGV4dD86IHN0cmluZyB9O1xuICBwYWdpbmF0aW9uPzogeyBzaG93PzogYm9vbGVhbjsgcm93c1BlclBhZ2U/OiBudW1iZXI7IHJvd3NQZXJQYWdlT3B0aW9ucz86IG51bWJlcltdIH07XG4gIGNlbGxzPzoge1xuICAgIGNoZWNrYm94PzogQ2hlY2tib3hDZWxsT3B0aW9ucztcbiAgICBidXR0b24/OiBCdXR0b25DZWxsT3B0aW9ucztcbiAgICB0YWc/OiBUYWdDZWxsT3B0aW9ucztcbiAgICBpY29uPzogSWNvbkNlbGxPcHRpb25zO1xuICAgIGFjdGlvbnM/OiBBY3Rpb25zQ2VsbE9wdGlvbnM8VD47XG4gICAgJ2ljb24tdGl0bGUnPzogSWNvblRpdGxlQ2VsbE9wdGlvbnM7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ2VsbENvbmZpZ0tleSA9ICdjaGVja2JveCcgfCAnYnV0dG9uJyB8ICd0YWcnIHwgJ2ljb24nIHwgJ2FjdGlvbnMnIHwgJ2ljb24tdGl0bGUnO1xuXG5leHBvcnQgdHlwZSBUYWJsZUNlbGxDb25maWdNYXA8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPiA9IHtcbiAgY2hlY2tib3g6IE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPFRhYmxlT3B0aW9uczxUPlsnY2VsbHMnXT5bJ2NoZWNrYm94J10+O1xuICBidXR0b246IE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPFRhYmxlT3B0aW9uczxUPlsnY2VsbHMnXT5bJ2J1dHRvbiddPjtcbiAgdGFnOiBOb25OdWxsYWJsZTxOb25OdWxsYWJsZTxUYWJsZU9wdGlvbnM8VD5bJ2NlbGxzJ10+Wyd0YWcnXT47XG4gIGljb246IE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPFRhYmxlT3B0aW9uczxUPlsnY2VsbHMnXT5bJ2ljb24nXT47XG4gIGFjdGlvbnM6IE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPFRhYmxlT3B0aW9uczxUPlsnY2VsbHMnXT5bJ2FjdGlvbnMnXT47XG4gICdpY29uLXRpdGxlJzogTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8VGFibGVPcHRpb25zPFQ+WydjZWxscyddPlsnaWNvbi10aXRsZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ2VsbENvbmZpZzxcbiAgVCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlLFxuICBLIGV4dGVuZHMgVGFibGVDZWxsQ29uZmlnS2V5ID0gVGFibGVDZWxsQ29uZmlnS2V5XG4+ID0gVGFibGVDZWxsQ29uZmlnTWFwPFQ+W0tdO1xuXG5leHBvcnQgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtID0ge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZW51bSBUYWJsZU1lbnVGb2N1c1RhcmdldCB7XG4gIE5leHQgPSAnbmV4dCcsXG4gIE5vbmUgPSAnbm9uZScsXG4gIFByZXZpb3VzID0gJ3ByZXZpb3VzJyxcbiAgVHJpZ2dlciA9ICd0cmlnZ2VyJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQWN0aW9uTWVudUNsb3NlRXZlbnQge1xuICBmb2N1c1RhcmdldDogVGFibGVNZW51Rm9jdXNUYXJnZXQ7XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlT3Blbk1lbnVTdGF0ZTxUIGV4dGVuZHMgUm93QmFzZSA9IFJvd0Jhc2U+ID0ge1xuICByb3c6IFQ7XG4gIGNvbDogVGFibGVDb2x1bW48VD47XG4gIGNsb3NlT25DbGljazogYm9vbGVhbjtcbiAgaXRlbXM6IFRhYmxlQWN0aW9uTWVudUl0ZW1bXTtcbiAgbWVudUlkOiBzdHJpbmc7XG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50O1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUge1xuICBUYWJsZVNlYXJjaEV2ZW50LFxuICBUYWJsZVJvd0lkZW50aXR5LFxuICBTb3J0T3JkZXJcbn07XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export { TableMenuFocusTarget } from './table-options.type';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy90YWJsZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIHtcbiAgUm93QmFzZSxcbiAgU29ydE9yZGVyLFxuICBUYWJsZUNvbHVtbkFsaWdubWVudCxcbiAgVGFibGVDb2x1bW5UeXBlLFxuICBUYWJsZVJvd0lkZW50aXR5LFxuICBUYWJsZVNlYXJjaEV2ZW50XG59IGZyb20gJy4vdGFibGUtc2hhcmVkLnR5cGUnO1xuZXhwb3J0IHR5cGUgeyBUYWJsZUNlbGxUYWcsIFRhYmxlQ29sdW1uLCBUYWJsZUNvbHVtbkNvbnRlbnQsIFRhYmxlVGV4dE92ZXJmbG93IH0gZnJvbSAnLi90YWJsZS1jb2x1bW4udHlwZSc7XG5leHBvcnQgdHlwZSB7XG4gIEFjdGlvbk1lbnVJdGVtLFxuICBBY3Rpb25NZW51SXRlbURpc2FibGVkLFxuICBUYWJsZUFjdGlvbk1lbnVDbG9zZUV2ZW50LFxuICBBY3Rpb25zQ2VsbE9wdGlvbnMsXG4gIEJ1dHRvbkNlbGxPcHRpb25zLFxuICBDaGVja2JveENlbGxPcHRpb25zLFxuICBJY29uQ2VsbE9wdGlvbnMsXG4gIEljb25UaXRsZUNlbGxPcHRpb25zLFxuICBUYWJsZUFjdGlvbk1lbnVJdGVtLFxuICBUYWJsZUNlbGxDb25maWcsXG4gIFRhYmxlQ2VsbENvbmZpZ0tleSxcbiAgVGFibGVDZWxsQ29uZmlnTWFwLFxuICBUYWJsZU9wZW5NZW51U3RhdGUsXG4gIFRhYmxlT3B0aW9ucyxcbiAgVGFnQ2VsbE9wdGlvbnNcbn0gZnJvbSAnLi90YWJsZS1vcHRpb25zLnR5cGUnO1xuZXhwb3J0IHsgVGFibGVNZW51Rm9jdXNUYXJnZXQgfSBmcm9tICcuL3RhYmxlLW9wdGlvbnMudHlwZSc7XG5leHBvcnQgdHlwZSB7XG4gIFRhYmxlQmFzZVZpc3VhbENvbmZpZyxcbiAgVGFibGVJY29uQ29uZmlnLFxuICBUYWJsZUljb25Db25maWdJbnB1dCxcbiAgVGFibGVUYWdDb25maWcsXG4gIFRhYmxlVGFnQ29uZmlnSW5wdXQsXG4gIFRhYmxlVGl0bGVJY29uQ29uZmlnLFxuICBUYWJsZVRpdGxlSWNvbkNvbmZpZ0lucHV0LFxuICBUYWJsZVZpc3VhbENvbmZpZ0lucHV0LFxuICBUYWJsZVZpc3VhbENvbmZpZ1Jlc29sdmVyXG59IGZyb20gJy4vdGFibGUtdmlzdWFsLnR5cGUnO1xuIl19
|
|
@@ -1,14 +1,70 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, signal } from '@angular/core';
|
|
3
3
|
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
-
import { SVGFactoryModule } from '@seniorsistemas/angular-components/common';
|
|
5
4
|
import { DEFAULT_LOADING_STATE_BLOCK_DELAY_MS, DEFAULT_LOADING_STATE_ID_PREFIX, DEFAULT_LOADING_STATE_FULLSCREEN_Z_INDEX, DEFAULT_LOADING_STATE_UNBLOCK_DELAY_MS } from '../../core/constants/loading-state.const';
|
|
5
|
+
import { IconRendererComponent } from '../../core/components/icon-renderer/icon-renderer.component';
|
|
6
6
|
import { nextSequentialId } from '../../core/utils/id.util';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@
|
|
10
|
-
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
import * as i2 from "@ngx-translate/core";
|
|
11
10
|
export class LoadingStateComponent {
|
|
11
|
+
static LOGO_SVG = `
|
|
12
|
+
<svg
|
|
13
|
+
viewBox="0 0 348 613"
|
|
14
|
+
fill="none"
|
|
15
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
16
|
+
>
|
|
17
|
+
<g filter="url(#sdcLoadingLogoShadow)">
|
|
18
|
+
<path
|
|
19
|
+
d="M174.719 518.932L258.161 439.782C264.546 433.762 269.614 426.603 273.072 418.719C276.53 410.834 278.31 402.378 278.31 393.838C278.31 385.298 276.53 376.843 273.072 368.958C269.614 361.073 264.546 353.915 258.161 347.895L174.719 269.199C168.45 263.304 163.474 256.289 160.077 248.56C156.681 240.83 154.933 232.539 154.933 224.165C154.933 215.792 156.681 207.501 160.077 199.771C163.474 192.042 168.45 185.027 174.719 179.132L303.718 301.496C329.517 326.089 344 359.371 344 394.066C344 428.76 329.517 462.043 303.718 486.635L174.719 609C168.45 603.105 163.474 596.09 160.077 588.36C156.681 580.631 154.933 572.34 154.933 563.966C154.933 555.592 156.681 547.301 160.077 539.572C163.474 531.842 168.45 524.828 174.719 518.932ZM173.76 94.0677L90.3189 173.218C83.9334 179.238 78.8659 186.397 75.408 194.281C71.95 202.166 70.1698 210.622 70.1698 219.162C70.1698 227.702 71.95 236.157 75.408 244.042C78.8659 251.927 83.9334 259.085 90.3189 265.105L173.76 344.256C180.03 350.151 185.006 357.166 188.402 364.895C191.798 372.625 193.547 380.916 193.547 389.289C193.547 397.663 191.798 405.954 188.402 413.684C185.006 421.413 180.03 428.428 173.76 434.323L44.2823 311.504C18.4832 286.911 4 253.629 4 218.934C4 184.24 18.4832 150.957 44.2823 126.365L173.76 4C186.213 16.0129 193.192 32.1861 193.192 49.0338C193.192 65.8815 186.213 82.0547 173.76 94.0677Z"
|
|
20
|
+
fill="white"
|
|
21
|
+
/>
|
|
22
|
+
</g>
|
|
23
|
+
<defs>
|
|
24
|
+
<filter
|
|
25
|
+
id="sdcLoadingLogoShadow"
|
|
26
|
+
x="0"
|
|
27
|
+
y="0"
|
|
28
|
+
width="348"
|
|
29
|
+
height="613"
|
|
30
|
+
filterUnits="userSpaceOnUse"
|
|
31
|
+
color-interpolation-filters="sRGB"
|
|
32
|
+
>
|
|
33
|
+
<feFlood
|
|
34
|
+
flood-opacity="0"
|
|
35
|
+
result="BackgroundImageFix"
|
|
36
|
+
/>
|
|
37
|
+
<feColorMatrix
|
|
38
|
+
in="SourceAlpha"
|
|
39
|
+
type="matrix"
|
|
40
|
+
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
41
|
+
result="hardAlpha"
|
|
42
|
+
/>
|
|
43
|
+
<feOffset />
|
|
44
|
+
<feGaussianBlur stdDeviation="2" />
|
|
45
|
+
<feComposite
|
|
46
|
+
in2="hardAlpha"
|
|
47
|
+
operator="out"
|
|
48
|
+
/>
|
|
49
|
+
<feColorMatrix
|
|
50
|
+
type="matrix"
|
|
51
|
+
values="0 0 0 0 0.418936 0 0 0 0 1 0 0 0 0 0.930272 0 0 0 0.35 0"
|
|
52
|
+
/>
|
|
53
|
+
<feBlend
|
|
54
|
+
mode="normal"
|
|
55
|
+
in2="BackgroundImageFix"
|
|
56
|
+
result="effect1_dropShadow"
|
|
57
|
+
/>
|
|
58
|
+
<feBlend
|
|
59
|
+
mode="normal"
|
|
60
|
+
in="SourceGraphic"
|
|
61
|
+
in2="effect1_dropShadow"
|
|
62
|
+
result="shape"
|
|
63
|
+
/>
|
|
64
|
+
</filter>
|
|
65
|
+
</defs>
|
|
66
|
+
</svg>
|
|
67
|
+
`.trim();
|
|
12
68
|
contents = null;
|
|
13
69
|
indicator = 'dots';
|
|
14
70
|
id = nextSequentialId(DEFAULT_LOADING_STATE_ID_PREFIX);
|
|
@@ -32,6 +88,7 @@ export class LoadingStateComponent {
|
|
|
32
88
|
return this._blocking();
|
|
33
89
|
}
|
|
34
90
|
fullscreenZIndex = DEFAULT_LOADING_STATE_FULLSCREEN_Z_INDEX;
|
|
91
|
+
logoSvg = LoadingStateComponent.LOGO_SVG;
|
|
35
92
|
_loading = signal(false);
|
|
36
93
|
_blocking = signal(false);
|
|
37
94
|
blockTimeoutId;
|
|
@@ -69,11 +126,11 @@ export class LoadingStateComponent {
|
|
|
69
126
|
}
|
|
70
127
|
}
|
|
71
128
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LoadingStateComponent, isStandalone: true, selector: "sdc-loading-state", inputs: { indicator: "indicator", id: "id", blockWindow: "blockWindow", blockDelayMs: "blockDelayMs", unblockDelayMs: "unblockDelayMs", loading: "loading" }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"sdc-loading-state\"\n [ngClass]=\"{\n 'sdc-loading-state--loading': loading,\n 'sdc-loading-state--blocking': blocking,\n 'sdc-loading-state--fullscreen': blockWindow\n }\"\n>\n <div [id]=\"id + '-loader'\" class=\"sdc-loading-state__loader\">\n <div [id]=\"id + '-spinner'\" class=\"sdc-loading-state__spinner\">\n @switch (indicator) {\n @case ('logo') {\n <div class=\"sdc-loading-state__logo\" aria-hidden=\"true\">\n <span class=\"sdc-loading-state__logo-icon-
|
|
129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LoadingStateComponent, isStandalone: true, selector: "sdc-loading-state", inputs: { indicator: "indicator", id: "id", blockWindow: "blockWindow", blockDelayMs: "blockDelayMs", unblockDelayMs: "unblockDelayMs", loading: "loading" }, ngImport: i0, template: "<div\n [id]=\"id\"\n class=\"sdc-loading-state\"\n [ngClass]=\"{\n 'sdc-loading-state--loading': loading,\n 'sdc-loading-state--blocking': blocking,\n 'sdc-loading-state--fullscreen': blockWindow\n }\"\n>\n <div [id]=\"id + '-loader'\" class=\"sdc-loading-state__loader\">\n <div [id]=\"id + '-spinner'\" class=\"sdc-loading-state__spinner\">\n @switch (indicator) {\n @case ('logo') {\n <div class=\"sdc-loading-state__logo\" aria-hidden=\"true\">\n <span class=\"sdc-loading-state__logo-icon-wrap\">\n <sdc-icon-renderer\n class=\"sdc-loading-state__logo-icon\"\n [icon]=\"logoSvg\"\n iconType=\"svg\"\n ></sdc-icon-renderer>\n </span>\n </div>\n <progress\n class=\"sdc-loading-state__progress sr-only\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n ></progress>\n }\n @case ('spinner') {\n <div class=\"sdc-loading-state__spinner-indicator\" aria-hidden=\"true\"></div>\n <progress\n class=\"sdc-loading-state__progress sr-only\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n ></progress>\n }\n @default {\n <div class=\"sdc-loading-state__dots\" aria-hidden=\"true\">\n <div class=\"sdc-loading-state__dot sdc-loading-state__dot--1\"></div>\n <div class=\"sdc-loading-state__dot sdc-loading-state__dot--2\"></div>\n <div class=\"sdc-loading-state__dot sdc-loading-state__dot--3\"></div>\n </div>\n <progress\n class=\"sdc-loading-state__progress sr-only\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n ></progress>\n }\n }\n </div>\n <div [id]=\"id + '-overlay'\" class=\"sdc-loading-state__overlay\"></div>\n </div>\n\n <div [id]=\"id + '-contents'\" class=\"sdc-loading-state__contents\">\n <ng-container *ngTemplateOutlet=\"contents || originalContent\"></ng-container>\n <ng-template #originalContent>\n <ng-content></ng-content>\n </ng-template>\n </div>\n</div>\n", styles: [".sdc-loading-state{position:relative;overflow:visible;border-radius:inherit;box-sizing:border-box;isolation:isolate}.sdc-loading-state .sdc-loading-state__loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility .2s ease-out;z-index:2;pointer-events:none;overflow:visible}.sdc-loading-state .sdc-loading-state__overlay{position:absolute;inset:0;width:100%;height:100%;background-color:var(--sdc-loading-overlay-bg, #ffffff);opacity:var(--sdc-loading-overlay-opacity, .8);transition:opacity .2s ease-out;border-radius:inherit;box-sizing:border-box;z-index:0}.sdc-loading-state .sdc-loading-state__spinner{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;overflow:visible;padding:var(--sdc-loading-indicator-safe-space, 40px);box-sizing:border-box}.sdc-loading-state .sdc-loading-state__contents{position:relative;z-index:0;width:100%;box-sizing:border-box;border-radius:inherit;overflow:visible}.sdc-loading-state.sdc-loading-state--loading>.sdc-loading-state__loader,.sdc-loading-state.sdc-loading-state--blocking>.sdc-loading-state__loader{visibility:visible;cursor:wait;pointer-events:auto}.sdc-loading-state.sdc-loading-state--loading>.sdc-loading-state__contents,.sdc-loading-state.sdc-loading-state--blocking>.sdc-loading-state__contents{position:relative;z-index:0!important}.sdc-loading-state.sdc-loading-state--blocking.sdc-loading-state--loading>.sdc-loading-state__loader{opacity:1}.sdc-loading-state.sdc-loading-state--fullscreen>.sdc-loading-state__loader{position:fixed;inset:0;z-index:var(--sdc-loading-fullscreen-z-index, 1005)}.sdc-loading-state .sdc-loading-state__spinner-indicator{width:var(--sdc-loading-spinner-size, 32px);height:var(--sdc-loading-spinner-size, 32px);border-radius:999px;border-width:var(--sdc-loading-spinner-stroke, 3px);border-style:solid;border-color:var(--sdc-loading-indicator-color, var(--sdc-text-default, #333));border-right-color:transparent;animation:sdc-spin .8s linear infinite}.sdc-loading-state .sdc-loading-state__logo{width:var(--sdc-loading-logo-size, 64px);height:var(--sdc-loading-logo-size, 64px);border-radius:50%;background-color:var(--sdc-loading-logo-bg, #00c89a);box-shadow:0 0 0 var(--sdc-loading-logo-shadow-color, rgba(0, 200, 154, .7019607843));display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;overflow:visible;animation:sdc-pulsar 1s infinite,sdc-scale 1s infinite;transform-origin:center}.sdc-loading-state .sdc-loading-state__logo-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--sdc-loading-logo-size, 64px) * .68);height:calc(var(--sdc-loading-logo-size, 64px) * .68);line-height:0}.sdc-loading-state .sdc-loading-state__logo-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:0}.sdc-loading-state .sdc-loading-state__dots{display:inline-flex;align-items:center}.sdc-loading-state .sdc-loading-state__dot{width:var(--sdc-loading-dot-size, 10px);height:var(--sdc-loading-dot-size, 10px);border-radius:999px;background-color:var(--sdc-loading-indicator-color, var(--sdc-text-default, #333));display:inline-block;animation:sdc-bounce 1.2s infinite ease-out}.sdc-loading-state .sdc-loading-state__dot+.sdc-loading-state__dot{margin-left:var(--sdc-loading-dot-gap, 15px)}.sdc-loading-state .sdc-loading-state__dot--1{animation-delay:0ms}.sdc-loading-state .sdc-loading-state__dot--2{animation-delay:.1s}.sdc-loading-state .sdc-loading-state__dot--3{animation-delay:.2s}:host ::ng-deep .sdc-loading-state__logo-icon>*{display:inline-flex;align-items:center;justify-content:center}:host ::ng-deep .sdc-loading-state__logo-icon .sdc-icon-renderer--svg{width:100%!important;height:100%!important}:host ::ng-deep .sdc-loading-state__logo-icon svg{display:block;width:100%;height:100%}@keyframes sdc-spin{to{transform:rotate(360deg)}}@keyframes sdc-bounce{80%{transform:scale(1)}90%{transform:scale(1.8)}to{transform:scale(1)}}@keyframes sdc-pulsar{0%{box-shadow:0 0 0 0 var(--sdc-loading-logo-shadow-color, rgba(0, 200, 154, .7019607843))}70%{box-shadow:0 0 0 40px #00c89a00}to{box-shadow:0 0 #00c89a00}}@keyframes sdc-scale{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconRendererComponent, selector: "sdc-icon-renderer", inputs: ["icon", "iconType", "size"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
130
|
}
|
|
74
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingStateComponent, decorators: [{
|
|
75
132
|
type: Component,
|
|
76
|
-
args: [{ selector: 'sdc-loading-state', standalone: true, imports: [CommonModule,
|
|
133
|
+
args: [{ selector: 'sdc-loading-state', standalone: true, imports: [CommonModule, IconRendererComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<div\n [id]=\"id\"\n class=\"sdc-loading-state\"\n [ngClass]=\"{\n 'sdc-loading-state--loading': loading,\n 'sdc-loading-state--blocking': blocking,\n 'sdc-loading-state--fullscreen': blockWindow\n }\"\n>\n <div [id]=\"id + '-loader'\" class=\"sdc-loading-state__loader\">\n <div [id]=\"id + '-spinner'\" class=\"sdc-loading-state__spinner\">\n @switch (indicator) {\n @case ('logo') {\n <div class=\"sdc-loading-state__logo\" aria-hidden=\"true\">\n <span class=\"sdc-loading-state__logo-icon-wrap\">\n <sdc-icon-renderer\n class=\"sdc-loading-state__logo-icon\"\n [icon]=\"logoSvg\"\n iconType=\"svg\"\n ></sdc-icon-renderer>\n </span>\n </div>\n <progress\n class=\"sdc-loading-state__progress sr-only\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n ></progress>\n }\n @case ('spinner') {\n <div class=\"sdc-loading-state__spinner-indicator\" aria-hidden=\"true\"></div>\n <progress\n class=\"sdc-loading-state__progress sr-only\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n ></progress>\n }\n @default {\n <div class=\"sdc-loading-state__dots\" aria-hidden=\"true\">\n <div class=\"sdc-loading-state__dot sdc-loading-state__dot--1\"></div>\n <div class=\"sdc-loading-state__dot sdc-loading-state__dot--2\"></div>\n <div class=\"sdc-loading-state__dot sdc-loading-state__dot--3\"></div>\n </div>\n <progress\n class=\"sdc-loading-state__progress sr-only\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n ></progress>\n }\n }\n </div>\n <div [id]=\"id + '-overlay'\" class=\"sdc-loading-state__overlay\"></div>\n </div>\n\n <div [id]=\"id + '-contents'\" class=\"sdc-loading-state__contents\">\n <ng-container *ngTemplateOutlet=\"contents || originalContent\"></ng-container>\n <ng-template #originalContent>\n <ng-content></ng-content>\n </ng-template>\n </div>\n</div>\n", styles: [".sdc-loading-state{position:relative;overflow:visible;border-radius:inherit;box-sizing:border-box;isolation:isolate}.sdc-loading-state .sdc-loading-state__loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility .2s ease-out;z-index:2;pointer-events:none;overflow:visible}.sdc-loading-state .sdc-loading-state__overlay{position:absolute;inset:0;width:100%;height:100%;background-color:var(--sdc-loading-overlay-bg, #ffffff);opacity:var(--sdc-loading-overlay-opacity, .8);transition:opacity .2s ease-out;border-radius:inherit;box-sizing:border-box;z-index:0}.sdc-loading-state .sdc-loading-state__spinner{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;overflow:visible;padding:var(--sdc-loading-indicator-safe-space, 40px);box-sizing:border-box}.sdc-loading-state .sdc-loading-state__contents{position:relative;z-index:0;width:100%;box-sizing:border-box;border-radius:inherit;overflow:visible}.sdc-loading-state.sdc-loading-state--loading>.sdc-loading-state__loader,.sdc-loading-state.sdc-loading-state--blocking>.sdc-loading-state__loader{visibility:visible;cursor:wait;pointer-events:auto}.sdc-loading-state.sdc-loading-state--loading>.sdc-loading-state__contents,.sdc-loading-state.sdc-loading-state--blocking>.sdc-loading-state__contents{position:relative;z-index:0!important}.sdc-loading-state.sdc-loading-state--blocking.sdc-loading-state--loading>.sdc-loading-state__loader{opacity:1}.sdc-loading-state.sdc-loading-state--fullscreen>.sdc-loading-state__loader{position:fixed;inset:0;z-index:var(--sdc-loading-fullscreen-z-index, 1005)}.sdc-loading-state .sdc-loading-state__spinner-indicator{width:var(--sdc-loading-spinner-size, 32px);height:var(--sdc-loading-spinner-size, 32px);border-radius:999px;border-width:var(--sdc-loading-spinner-stroke, 3px);border-style:solid;border-color:var(--sdc-loading-indicator-color, var(--sdc-text-default, #333));border-right-color:transparent;animation:sdc-spin .8s linear infinite}.sdc-loading-state .sdc-loading-state__logo{width:var(--sdc-loading-logo-size, 64px);height:var(--sdc-loading-logo-size, 64px);border-radius:50%;background-color:var(--sdc-loading-logo-bg, #00c89a);box-shadow:0 0 0 var(--sdc-loading-logo-shadow-color, rgba(0, 200, 154, .7019607843));display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;overflow:visible;animation:sdc-pulsar 1s infinite,sdc-scale 1s infinite;transform-origin:center}.sdc-loading-state .sdc-loading-state__logo-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--sdc-loading-logo-size, 64px) * .68);height:calc(var(--sdc-loading-logo-size, 64px) * .68);line-height:0}.sdc-loading-state .sdc-loading-state__logo-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:0}.sdc-loading-state .sdc-loading-state__dots{display:inline-flex;align-items:center}.sdc-loading-state .sdc-loading-state__dot{width:var(--sdc-loading-dot-size, 10px);height:var(--sdc-loading-dot-size, 10px);border-radius:999px;background-color:var(--sdc-loading-indicator-color, var(--sdc-text-default, #333));display:inline-block;animation:sdc-bounce 1.2s infinite ease-out}.sdc-loading-state .sdc-loading-state__dot+.sdc-loading-state__dot{margin-left:var(--sdc-loading-dot-gap, 15px)}.sdc-loading-state .sdc-loading-state__dot--1{animation-delay:0ms}.sdc-loading-state .sdc-loading-state__dot--2{animation-delay:.1s}.sdc-loading-state .sdc-loading-state__dot--3{animation-delay:.2s}:host ::ng-deep .sdc-loading-state__logo-icon>*{display:inline-flex;align-items:center;justify-content:center}:host ::ng-deep .sdc-loading-state__logo-icon .sdc-icon-renderer--svg{width:100%!important;height:100%!important}:host ::ng-deep .sdc-loading-state__logo-icon svg{display:block;width:100%;height:100%}@keyframes sdc-spin{to{transform:rotate(360deg)}}@keyframes sdc-bounce{80%{transform:scale(1)}90%{transform:scale(1.8)}to{transform:scale(1)}}@keyframes sdc-pulsar{0%{box-shadow:0 0 0 0 var(--sdc-loading-logo-shadow-color, rgba(0, 200, 154, .7019607843))}70%{box-shadow:0 0 0 40px #00c89a00}to{box-shadow:0 0 #00c89a00}}@keyframes sdc-scale{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}\n"] }]
|
|
77
134
|
}], propDecorators: { indicator: [{
|
|
78
135
|
type: Input
|
|
79
136
|
}], id: [{
|
|
@@ -88,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
88
145
|
type: Input,
|
|
89
146
|
args: [{ required: true }]
|
|
90
147
|
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdMLGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTdFLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsK0JBQStCLEVBQy9CLHdDQUF3QyxFQUN4QyxzQ0FBc0MsRUFDdkMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFXNUQsTUFBTSxPQUFPLHFCQUFxQjtJQUN6QixRQUFRLEdBQWdDLElBQUksQ0FBQztJQUc3QyxTQUFTLEdBQTBCLE1BQU0sQ0FBQztJQUcxQyxFQUFFLEdBQVcsZ0JBQWdCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUcvRCxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBR3BCLFlBQVksR0FBRyxvQ0FBb0MsQ0FBQztJQUdwRCxjQUFjLEdBQUcsc0NBQXNDLENBQUM7SUFFL0QsSUFDVyxPQUFPLENBQUMsS0FBYztRQUMvQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEs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IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU1ZHRmFjdG9yeU1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9MT0FESU5HX1NUQVRFX0JMT0NLX0RFTEFZX01TLFxuICBERUZBVUxUX0xPQURJTkdfU1RBVEVfSURfUFJFRklYLFxuICBERUZBVUxUX0xPQURJTkdfU1RBVEVfRlVMTFNDUkVFTl9aX0lOREVYLFxuICBERUZBVUxUX0xPQURJTkdfU1RBVEVfVU5CTE9DS19ERUxBWV9NU1xufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9sb2FkaW5nLXN0YXRlLmNvbnN0JztcbmltcG9ydCB0eXBlIHsgTG9hZGluZ1N0YXRlSW5kaWNhdG9yIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9sb2FkaW5nLXN0YXRlLnR5cGUnO1xuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1sb2FkaW5nLXN0YXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU1ZHRmFjdG9yeU1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmctc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbG9hZGluZy1zdGF0ZS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU3RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwdWJsaWMgY29udGVudHM6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGluZGljYXRvcjogTG9hZGluZ1N0YXRlSW5kaWNhdG9yID0gJ2RvdHMnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gbmV4dFNlcXVlbnRpYWxJZChERUZBVUxUX0xPQURJTkdfU1RBVEVfSURfUFJFRklYKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYmxvY2tXaW5kb3cgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYmxvY2tEZWxheU1zID0gREVGQVVMVF9MT0FESU5HX1NUQVRFX0JMT0NLX0RFTEFZX01TO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB1bmJsb2NrRGVsYXlNcyA9IERFRkFVTFRfTE9BRElOR19TVEFURV9VTkJMT0NLX0RFTEFZX01TO1xuXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGlzTG9hZGluZyA9IEJvb2xlYW4odmFsdWUpO1xuICAgIHRoaXMuX2xvYWRpbmcuc2V0KGlzTG9hZGluZyk7XG5cbiAgICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICB0aGlzLnNjaGVkdWxlQmxvY2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zY2hlZHVsZVVuYmxvY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmcoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYmxvY2tpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Jsb2NraW5nKCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZnVsbHNjcmVlblpJbmRleCA9IERFRkFVTFRfTE9BRElOR19TVEFURV9GVUxMU0NSRUVOX1pfSU5ERVg7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jsb2NraW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcml2YXRlIGJsb2NrVGltZW91dElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgdW5ibG9ja1RpbWVvdXRJZD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJsb2NrVGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5ibG9ja1RpbWVvdXRJZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudW5ibG9ja1RpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudW5ibG9ja1RpbWVvdXRJZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZUJsb2NrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnVuYmxvY2tUaW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVuYmxvY2tUaW1lb3V0SWQpO1xuICAgICAgdGhpcy51bmJsb2NrVGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5ibG9ja1RpbWVvdXRJZCkge1xuICAgICAgdGhpcy5ibG9ja1RpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9ibG9ja2luZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuYmxvY2tUaW1lb3V0SWQgPSB1bmRlZmluZWQ7XG4gICAgICB9LCB0aGlzLmJsb2NrRGVsYXlNcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzY2hlZHVsZVVuYmxvY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmxvY2tUaW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmJsb2NrVGltZW91dElkKTtcbiAgICAgIHRoaXMuYmxvY2tUaW1lb3V0SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnVuYmxvY2tUaW1lb3V0SWQpIHtcbiAgICAgIHRoaXMudW5ibG9ja1RpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9ibG9ja2luZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLnVuYmxvY2tUaW1lb3V0SWQgPSB1bmRlZmluZWQ7XG4gICAgICB9LCB0aGlzLnVuYmxvY2tEZWxheU1zKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2lkXT1cImlkXCJcbiAgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2RjLWxvYWRpbmctc3RhdGUtLWxvYWRpbmcnOiBsb2FkaW5nLFxuICAgICdzZGMtbG9hZGluZy1zdGF0ZS0tYmxvY2tpbmcnOiBibG9ja2luZyxcbiAgICAnc2RjLWxvYWRpbmctc3RhdGUtLWZ1bGxzY3JlZW4nOiBibG9ja1dpbmRvd1xuICB9XCJcbj5cbiAgPGRpdiBbaWRdPVwiaWQgKyAnLWxvYWRlcidcIiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19sb2FkZXJcIj5cbiAgICA8ZGl2IFtpZF09XCJpZCArICctc3Bpbm5lcidcIiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19zcGlubmVyXCI+XG4gICAgICBAc3dpdGNoIChpbmRpY2F0b3IpIHtcbiAgICAgICAgQGNhc2UgKCdsb2dvJykge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fbG9nb1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fbG9nby1pY29uLXNjYWxlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX2xvZ28taWNvblwiICpzU1ZHRmFjdG9yeT1cIidzZW5pb3InXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwcm9ncmVzc1xuICAgICAgICAgICAgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fcHJvZ3Jlc3Mgc3Itb25seVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmxvYWRpbmcnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+PC9wcm9ncmVzcz5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ3NwaW5uZXInKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19zcGlubmVyLWluZGljYXRvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZGl2PlxuICAgICAgICAgIDxwcm9ncmVzc1xuICAgICAgICAgICAgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fcHJvZ3Jlc3Mgc3Itb25seVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmxvYWRpbmcnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+PC9wcm9ncmVzcz5cbiAgICAgICAgfVxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19kb3RzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX2RvdCBzZGMtbG9hZGluZy1zdGF0ZV9fZG90LS0xXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX2RvdCBzZGMtbG9hZGluZy1zdGF0ZV9fZG90LS0yXCI+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX2RvdCBzZGMtbG9hZGluZy1zdGF0ZV9fZG90LS0zXCI+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHByb2dyZXNzXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19wcm9ncmVzcyBzci1vbmx5XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubG9hZGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID48L3Byb2dyZXNzPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbaWRdPVwiaWQgKyAnLW92ZXJsYXknXCIgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fb3ZlcmxheVwiPjwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IFtpZF09XCJpZCArICctY29udGVudHMnXCIgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fY29udGVudHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudHMgfHwgb3JpZ2luYWxDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNvcmlnaW5hbENvbnRlbnQ+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUdMLGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsK0JBQStCLEVBQy9CLHdDQUF3QyxFQUN4QyxzQ0FBc0MsRUFDdkMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUVwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVc1RCxNQUFNLE9BQU8scUJBQXFCO0lBQ3hCLE1BQU0sQ0FBVSxRQUFRLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RsQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ0YsUUFBUSxHQUFnQyxJQUFJLENBQUM7SUFHN0MsU0FBUyxHQUEwQixNQUFNLENBQUM7SUFHMUMsRUFBRSxHQUFXLGdCQUFnQixDQUFDLCtCQUErQixDQUFDLENBQUM7SUFHL0QsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUdwQixZQUFZLEdBQUcsb0NBQW9DLENBQUM7SUFHcEQsY0FBYyxHQUFH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V0FBVztzQkFEakIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUssT0FBTztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9MT0FESU5HX1NUQVRFX0JMT0NLX0RFTEFZX01TLFxuICBERUZBVUxUX0xPQURJTkdfU1RBVEVfSURfUFJFRklYLFxuICBERUZBVUxUX0xPQURJTkdfU1RBVEVfRlVMTFNDUkVFTl9aX0lOREVYLFxuICBERUZBVUxUX0xPQURJTkdfU1RBVEVfVU5CTE9DS19ERUxBWV9NU1xufSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0YW50cy9sb2FkaW5nLXN0YXRlLmNvbnN0JztcbmltcG9ydCB7IEljb25SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvY29tcG9uZW50cy9pY29uLXJlbmRlcmVyL2ljb24tcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgTG9hZGluZ1N0YXRlSW5kaWNhdG9yIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9sb2FkaW5nLXN0YXRlLnR5cGUnO1xuaW1wb3J0IHsgbmV4dFNlcXVlbnRpYWxJZCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvaWQudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1sb2FkaW5nLXN0YXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvblJlbmRlcmVyQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9sb2FkaW5nLXN0YXRlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTdGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IExPR09fU1ZHID0gYFxuICAgIDxzdmdcbiAgICAgIHZpZXdCb3g9XCIwIDAgMzQ4IDYxM1wiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICA+XG4gICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI3NkY0xvYWRpbmdMb2dvU2hhZG93KVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTc0LjcxOSA1MTguOTMyTDI1OC4xNjEgNDM5Ljc4MkMyNjQuNTQ2IDQzMy43NjIgMjY5LjYxNCA0MjYuNjAzIDI3My4wNzIgNDE4LjcxOUMyNzYuNTMgNDEwLjgzNCAyNzguMzEgNDAyLjM3OCAyNzguMzEgMzkzLjgzOEMyNzguMzEgMzg1LjI5OCAyNzYuNTMgMzc2Ljg0MyAyNzMuMDcyIDM2OC45NThDMjY5LjYxNCAzNjEuMDczIDI2NC41NDYgMzUzLjkxNSAyNTguMTYxIDM0Ny44OTVMMTc0LjcxOSAyNjkuMTk5QzE2OC40NSAyNjMuMzA0IDE2My40NzQgMjU2LjI4OSAxNjAuMDc3IDI0OC41NkMxNTYuNjgxIDI0MC44MyAxNTQuOTMzIDIzMi41MzkgMTU0LjkzMyAyMjQuMTY1QzE1NC45MzMgMjE1Ljc5MiAxNTYuNjgxIDIwNy41MDEgMTYwLjA3NyAxOTkuNzcxQzE2My40NzQgMTkyLjA0MiAxNjguNDUgMTg1LjAyNyAxNzQuNzE5IDE3OS4xMzJMMzAzLjcxOCAzMDEuNDk2QzMyOS41MTcgMzI2LjA4OSAzNDQgMzU5LjM3MSAzNDQgMzk0LjA2NkMzNDQgNDI4Ljc2IDMyOS41MTcgNDYyLjA0MyAzMDMuNzE4IDQ4Ni42MzVMMTc0LjcxOSA2MDlDMTY4LjQ1IDYwMy4xMDUgMTYzLjQ3NCA1OTYuMDkgMTYwLjA3NyA1ODguMzZDMTU2LjY4MSA1ODAuNjMxIDE1NC45MzMgNTcyLjM0IDE1NC45MzMgNTYzLjk2NkMxNTQuOTMzIDU1NS41OTIgMTU2LjY4MSA1NDcuMzAxIDE2MC4wNzcgNTM5LjU3MkMxNjMuNDc0IDUzMS44NDIgMTY4LjQ1IDUyNC44MjggMTc0LjcxOSA1MTguOTMyWk0xNzMuNzYgOTQuMDY3N0w5MC4zMTg5IDE3My4yMThDODMuOTMzNCAxNzkuMjM4IDc4Ljg2NTkgMTg2LjM5NyA3NS40MDggMTk0LjI4MUM3MS45NSAyMDIuMTY2IDcwLjE2OTggMjEwLjYyMiA3MC4xNjk4IDIxOS4xNjJDNzAuMTY5OCAyMjcuNzAyIDcxLjk1IDIzNi4xNTcgNzUuNDA4IDI0NC4wNDJDNzguODY1OSAyNTEuOTI3IDgzLjkzMzQgMjU5LjA4NSA5MC4zMTg5IDI2NS4xMDVMMTczLjc2IDM0NC4yNTZDMTgwLjAzIDM1MC4xNTEgMTg1LjAwNiAzNTcuMTY2IDE4OC40MDIgMzY0Ljg5NUMxOTEuNzk4IDM3Mi42MjUgMTkzLjU0NyAzODAuOTE2IDE5My41NDcgMzg5LjI4OUMxOTMuNTQ3IDM5Ny42NjMgMTkxLjc5OCA0MDUuOTU0IDE4OC40MDIgNDEzLjY4NEMxODUuMDA2IDQyMS40MTMgMTgwLjAzIDQyOC40MjggMTczLjc2IDQzNC4zMjNMNDQuMjgyMyAzMTEuNTA0QzE4LjQ4MzIgMjg2LjkxMSA0IDI1My42MjkgNCAyMTguOTM0QzQgMTg0LjI0IDE4LjQ4MzIgMTUwLjk1NyA0NC4yODIzIDEyNi4zNjVMMTczLjc2IDRDMTg2LjIxMyAxNi4wMTI5IDE5My4xOTIgMzIuMTg2MSAxOTMuMTkyIDQ5LjAzMzhDMTkzLjE5MiA2NS44ODE1IDE4Ni4yMTMgODIuMDU0NyAxNzMuNzYgOTQuMDY3N1pcIlxuICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGZpbHRlclxuICAgICAgICAgIGlkPVwic2RjTG9hZGluZ0xvZ29TaGFkb3dcIlxuICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICB5PVwiMFwiXG4gICAgICAgICAgd2lkdGg9XCIzNDhcIlxuICAgICAgICAgIGhlaWdodD1cIjYxM1wiXG4gICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZmVGbG9vZFxuICAgICAgICAgICAgZmxvb2Qtb3BhY2l0eT1cIjBcIlxuICAgICAgICAgICAgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgICBpbj1cIlNvdXJjZUFscGhhXCJcbiAgICAgICAgICAgIHR5cGU9XCJtYXRyaXhcIlxuICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxuICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxmZU9mZnNldCAvPlxuICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIyXCIgLz5cbiAgICAgICAgICA8ZmVDb21wb3NpdGVcbiAgICAgICAgICAgIGluMj1cImhhcmRBbHBoYVwiXG4gICAgICAgICAgICBvcGVyYXRvcj1cIm91dFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZmVDb2xvck1hdHJpeFxuICAgICAgICAgICAgdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuNDE4OTM2IDAgMCAwIDAgMSAwIDAgMCAwIDAuOTMwMjcyIDAgMCAwIDAuMzUgMFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZmVCbGVuZFxuICAgICAgICAgICAgbW9kZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxuICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxmZUJsZW5kXG4gICAgICAgICAgICBtb2RlPVwibm9ybWFsXCJcbiAgICAgICAgICAgIGluPVwiU291cmNlR3JhcGhpY1wiXG4gICAgICAgICAgICBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dcIlxuICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZmlsdGVyPlxuICAgICAgPC9kZWZzPlxuICAgIDwvc3ZnPlxuICBgLnRyaW0oKTtcbiAgcHVibGljIGNvbnRlbnRzOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmRpY2F0b3I6IExvYWRpbmdTdGF0ZUluZGljYXRvciA9ICdkb3RzJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWQ6IHN0cmluZyA9IG5leHRTZXF1ZW50aWFsSWQoREVGQVVMVF9MT0FESU5HX1NUQVRFX0lEX1BSRUZJWCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJsb2NrV2luZG93ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGJsb2NrRGVsYXlNcyA9IERFRkFVTFRfTE9BRElOR19TVEFURV9CTE9DS19ERUxBWV9NUztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdW5ibG9ja0RlbGF5TXMgPSBERUZBVUxUX0xPQURJTkdfU1RBVEVfVU5CTE9DS19ERUxBWV9NUztcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBpc0xvYWRpbmcgPSBCb29sZWFuKHZhbHVlKTtcbiAgICB0aGlzLl9sb2FkaW5nLnNldChpc0xvYWRpbmcpO1xuXG4gICAgaWYgKGlzTG9hZGluZykge1xuICAgICAgdGhpcy5zY2hlZHVsZUJsb2NrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2NoZWR1bGVVbmJsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJsb2NraW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9ibG9ja2luZygpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGZ1bGxzY3JlZW5aSW5kZXggPSBERUZBVUxUX0xPQURJTkdfU1RBVEVfRlVMTFNDUkVFTl9aX0lOREVYO1xuICBwdWJsaWMgcmVhZG9ubHkgbG9nb1N2ZyA9IExvYWRpbmdTdGF0ZUNvbXBvbmVudC5MT0dPX1NWRztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYmxvY2tpbmcgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByaXZhdGUgYmxvY2tUaW1lb3V0SWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSB1bmJsb2NrVGltZW91dElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmxvY2tUaW1lb3V0SWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmJsb2NrVGltZW91dElkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy51bmJsb2NrVGltZW91dElkKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51bmJsb2NrVGltZW91dElkKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlQmxvY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudW5ibG9ja1RpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudW5ibG9ja1RpbWVvdXRJZCk7XG4gICAgICB0aGlzLnVuYmxvY2tUaW1lb3V0SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmJsb2NrVGltZW91dElkKSB7XG4gICAgICB0aGlzLmJsb2NrVGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2Jsb2NraW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5ibG9ja1RpbWVvdXRJZCA9IHVuZGVmaW5lZDtcbiAgICAgIH0sIHRoaXMuYmxvY2tEZWxheU1zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlVW5ibG9jaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ibG9ja1RpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuYmxvY2tUaW1lb3V0SWQpO1xuICAgICAgdGhpcy5ibG9ja1RpbWVvdXRJZCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMudW5ibG9ja1RpbWVvdXRJZCkge1xuICAgICAgdGhpcy51bmJsb2NrVGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2Jsb2NraW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMudW5ibG9ja1RpbWVvdXRJZCA9IHVuZGVmaW5lZDtcbiAgICAgIH0sIHRoaXMudW5ibG9ja0RlbGF5TXMpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbaWRdPVwiaWRcIlxuICBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdzZGMtbG9hZGluZy1zdGF0ZS0tbG9hZGluZyc6IGxvYWRpbmcsXG4gICAgJ3NkYy1sb2FkaW5nLXN0YXRlLS1ibG9ja2luZyc6IGJsb2NraW5nLFxuICAgICdzZGMtbG9hZGluZy1zdGF0ZS0tZnVsbHNjcmVlbic6IGJsb2NrV2luZG93XG4gIH1cIlxuPlxuICA8ZGl2IFtpZF09XCJpZCArICctbG9hZGVyJ1wiIGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX2xvYWRlclwiPlxuICAgIDxkaXYgW2lkXT1cImlkICsgJy1zcGlubmVyJ1wiIGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX3NwaW5uZXJcIj5cbiAgICAgIEBzd2l0Y2ggKGluZGljYXRvcikge1xuICAgICAgICBAY2FzZSAoJ2xvZ28nKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19sb2dvXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19sb2dvLWljb24td3JhcFwiPlxuICAgICAgICAgICAgICA8c2RjLWljb24tcmVuZGVyZXJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19sb2dvLWljb25cIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImxvZ29TdmdcIlxuICAgICAgICAgICAgICAgIGljb25UeXBlPVwic3ZnXCJcbiAgICAgICAgICAgICAgPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHByb2dyZXNzXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19wcm9ncmVzcyBzci1vbmx5XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubG9hZGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID48L3Byb2dyZXNzPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnc3Bpbm5lcicpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX3NwaW5uZXItaW5kaWNhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgPHByb2dyZXNzXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19wcm9ncmVzcyBzci1vbmx5XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubG9hZGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgID48L3Byb2dyZXNzPlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX2RvdHNcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fZG90IHNkYy1sb2FkaW5nLXN0YXRlX19kb3QtLTFcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fZG90IHNkYy1sb2FkaW5nLXN0YXRlX19kb3QtLTJcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtbG9hZGluZy1zdGF0ZV9fZG90IHNkYy1sb2FkaW5nLXN0YXRlX19kb3QtLTNcIj48L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cHJvZ3Jlc3NcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWxvYWRpbmctc3RhdGVfX3Byb2dyZXNzIHNyLW9ubHlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5sb2FkaW5nJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPjwvcHJvZ3Jlc3M+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtpZF09XCJpZCArICctb3ZlcmxheSdcIiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19vdmVybGF5XCI+PC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW2lkXT1cImlkICsgJy1jb250ZW50cydcIiBjbGFzcz1cInNkYy1sb2FkaW5nLXN0YXRlX19jb250ZW50c1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50cyB8fCBvcmlnaW5hbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI29yaWdpbmFsQ29udGVudD5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,33 +1,164 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChildren } from '@angular/core';
|
|
3
3
|
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { TableMenuFocusTarget } from '../../../core/types/table.type';
|
|
4
5
|
import { IconRendererComponent } from '../../../core/components/icon-renderer/icon-renderer.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@ngx-translate/core";
|
|
7
8
|
export class TableActionsMenuComponent {
|
|
9
|
+
menuItems;
|
|
10
|
+
ariaLabel = 'platform.datacore.accessibility.actions_menu';
|
|
8
11
|
items = [];
|
|
9
12
|
left = 0;
|
|
13
|
+
menuId = '';
|
|
10
14
|
top = 0;
|
|
11
15
|
width = 0;
|
|
16
|
+
close = new EventEmitter();
|
|
12
17
|
select = new EventEmitter();
|
|
18
|
+
activeIndex = -1;
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
queueMicrotask(() => this.focusFirstEnabledItem());
|
|
21
|
+
}
|
|
22
|
+
onItemFocus(index) {
|
|
23
|
+
if (this.items[index]?.disabled) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
this.activeIndex = index;
|
|
27
|
+
}
|
|
28
|
+
onItemKeydown(event, index) {
|
|
29
|
+
switch (event.key) {
|
|
30
|
+
case 'ArrowDown':
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
this.focusRelative(index, 1);
|
|
33
|
+
break;
|
|
34
|
+
case 'ArrowUp':
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
this.focusRelative(index, -1);
|
|
37
|
+
break;
|
|
38
|
+
case 'Home':
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
this.focusEdge('start');
|
|
41
|
+
break;
|
|
42
|
+
case 'End':
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
this.focusEdge('end');
|
|
45
|
+
break;
|
|
46
|
+
case 'Escape':
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
event.stopPropagation();
|
|
49
|
+
this.close.emit({ focusTarget: TableMenuFocusTarget.Trigger });
|
|
50
|
+
break;
|
|
51
|
+
case 'Tab':
|
|
52
|
+
this.handleTabNavigation(event, index);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
focusFirstEnabledItem() {
|
|
59
|
+
this.focusEdge('start');
|
|
60
|
+
}
|
|
61
|
+
focusEdge(edge) {
|
|
62
|
+
const enabledIndexes = this.enabledIndexes();
|
|
63
|
+
if (!enabledIndexes.length) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const targetIndex = edge === 'start'
|
|
67
|
+
? enabledIndexes[0]
|
|
68
|
+
: enabledIndexes[enabledIndexes.length - 1];
|
|
69
|
+
this.focusIndex(targetIndex);
|
|
70
|
+
}
|
|
71
|
+
focusRelative(currentIndex, direction) {
|
|
72
|
+
const enabledIndexes = this.enabledIndexes();
|
|
73
|
+
if (!enabledIndexes.length) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const currentEnabledPosition = enabledIndexes.indexOf(currentIndex);
|
|
77
|
+
const fallbackPosition = direction === 1 ? -1 : 0;
|
|
78
|
+
const currentPosition = currentEnabledPosition === -1 ? fallbackPosition : currentEnabledPosition;
|
|
79
|
+
const nextPosition = (currentPosition + direction + enabledIndexes.length) % enabledIndexes.length;
|
|
80
|
+
this.focusIndex(enabledIndexes[nextPosition]);
|
|
81
|
+
}
|
|
82
|
+
focusIndex(index) {
|
|
83
|
+
const element = this.menuItems.get(index)?.nativeElement;
|
|
84
|
+
if (!element || element.disabled) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.activeIndex = index;
|
|
88
|
+
element.focus();
|
|
89
|
+
}
|
|
90
|
+
enabledIndexes() {
|
|
91
|
+
return this.items.reduce((indexes, item, index) => {
|
|
92
|
+
if (!item.disabled) {
|
|
93
|
+
indexes.push(index);
|
|
94
|
+
}
|
|
95
|
+
return indexes;
|
|
96
|
+
}, []);
|
|
97
|
+
}
|
|
98
|
+
handleTabNavigation(event, index) {
|
|
99
|
+
const enabledIndexes = this.enabledIndexes();
|
|
100
|
+
if (!enabledIndexes.length) {
|
|
101
|
+
this.close.emit({
|
|
102
|
+
focusTarget: event.shiftKey ? TableMenuFocusTarget.Previous : TableMenuFocusTarget.Next
|
|
103
|
+
});
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const currentEnabledPosition = enabledIndexes.indexOf(index);
|
|
107
|
+
if (currentEnabledPosition === -1) {
|
|
108
|
+
event.preventDefault();
|
|
109
|
+
event.stopPropagation();
|
|
110
|
+
this.close.emit({
|
|
111
|
+
focusTarget: event.shiftKey ? TableMenuFocusTarget.Previous : TableMenuFocusTarget.Next
|
|
112
|
+
});
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const isFirstEnabledItem = currentEnabledPosition === 0;
|
|
116
|
+
const isLastEnabledItem = currentEnabledPosition === enabledIndexes.length - 1;
|
|
117
|
+
if (event.shiftKey) {
|
|
118
|
+
if (isFirstEnabledItem) {
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
event.stopPropagation();
|
|
121
|
+
this.close.emit({ focusTarget: TableMenuFocusTarget.Previous });
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
this.focusIndex(enabledIndexes[currentEnabledPosition - 1]);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (isLastEnabledItem) {
|
|
129
|
+
event.preventDefault();
|
|
130
|
+
event.stopPropagation();
|
|
131
|
+
this.close.emit({ focusTarget: TableMenuFocusTarget.Next });
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
event.preventDefault();
|
|
135
|
+
this.focusIndex(enabledIndexes[currentEnabledPosition + 1]);
|
|
136
|
+
}
|
|
13
137
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableActionsMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableActionsMenuComponent, isStandalone: true, selector: "sdc-table-actions-menu", inputs: { items: "items", left: "left", top: "top", width: "width" }, outputs: { select: "select" }, ngImport: i0, template: `
|
|
138
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TableActionsMenuComponent, isStandalone: true, selector: "sdc-table-actions-menu", inputs: { ariaLabel: "ariaLabel", items: "items", left: "left", menuId: "menuId", top: "top", width: "width" }, outputs: { close: "close", select: "select" }, viewQueries: [{ propertyName: "menuItems", predicate: ["menuItem"], descendants: true }], ngImport: i0, template: `
|
|
15
139
|
<div
|
|
16
140
|
class="sdc-actions-menu sdc-actions-menu--portal"
|
|
141
|
+
[id]="menuId || null"
|
|
17
142
|
[style.top.px]="top"
|
|
18
143
|
[style.left.px]="left"
|
|
19
144
|
[style.min-width.px]="width"
|
|
20
145
|
role="menu"
|
|
146
|
+
[attr.aria-label]="ariaLabel | translate"
|
|
147
|
+
aria-orientation="vertical"
|
|
21
148
|
(click)="$event.stopPropagation()"
|
|
22
149
|
>
|
|
23
150
|
@for (item of items; track item.key + '-' + $index) {
|
|
24
151
|
<button
|
|
152
|
+
#menuItem
|
|
25
153
|
type="button"
|
|
26
154
|
role="menuitem"
|
|
27
155
|
class="sdc-actions-item"
|
|
28
156
|
[disabled]="item.disabled"
|
|
29
157
|
[class.sdc-actions-item--disabled]="item.disabled"
|
|
30
158
|
[attr.aria-disabled]="item.disabled || null"
|
|
159
|
+
[attr.tabindex]="item.disabled ? -1 : (activeIndex === $index ? 0 : -1)"
|
|
160
|
+
(focus)="onItemFocus($index)"
|
|
161
|
+
(keydown)="onItemKeydown($event, $index)"
|
|
31
162
|
(click)="select.emit(item)"
|
|
32
163
|
>
|
|
33
164
|
<span class="sdc-actions-item__content">
|
|
@@ -46,20 +177,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
46
177
|
args: [{ selector: 'sdc-table-actions-menu', standalone: true, imports: [CommonModule, TranslateModule, IconRendererComponent], template: `
|
|
47
178
|
<div
|
|
48
179
|
class="sdc-actions-menu sdc-actions-menu--portal"
|
|
180
|
+
[id]="menuId || null"
|
|
49
181
|
[style.top.px]="top"
|
|
50
182
|
[style.left.px]="left"
|
|
51
183
|
[style.min-width.px]="width"
|
|
52
184
|
role="menu"
|
|
185
|
+
[attr.aria-label]="ariaLabel | translate"
|
|
186
|
+
aria-orientation="vertical"
|
|
53
187
|
(click)="$event.stopPropagation()"
|
|
54
188
|
>
|
|
55
189
|
@for (item of items; track item.key + '-' + $index) {
|
|
56
190
|
<button
|
|
191
|
+
#menuItem
|
|
57
192
|
type="button"
|
|
58
193
|
role="menuitem"
|
|
59
194
|
class="sdc-actions-item"
|
|
60
195
|
[disabled]="item.disabled"
|
|
61
196
|
[class.sdc-actions-item--disabled]="item.disabled"
|
|
62
197
|
[attr.aria-disabled]="item.disabled || null"
|
|
198
|
+
[attr.tabindex]="item.disabled ? -1 : (activeIndex === $index ? 0 : -1)"
|
|
199
|
+
(focus)="onItemFocus($index)"
|
|
200
|
+
(keydown)="onItemKeydown($event, $index)"
|
|
63
201
|
(click)="select.emit(item)"
|
|
64
202
|
>
|
|
65
203
|
<span class="sdc-actions-item__content">
|
|
@@ -72,15 +210,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
72
210
|
}
|
|
73
211
|
</div>
|
|
74
212
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".sdc-actions-menu{background:#fff;border:1px solid #d1d5db;border-radius:0;box-shadow:0 1px 2px #0f172a14;padding:0}.sdc-actions-menu--portal{position:fixed;z-index:2147483647}.sdc-actions-item{width:100%;display:flex;align-items:stretch;justify-content:flex-start;border:0;border-bottom:1px solid #e5e7eb;background:#fff;padding:0;text-align:left;cursor:pointer;font:inherit;color:#374151;min-height:2.25rem;transition:background-color .15s ease,color .15s ease}.sdc-actions-item:last-child{border-bottom:0}.sdc-actions-item__content{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem .875rem;width:100%;font-size:.8125rem;line-height:1.2}.sdc-actions-item:hover:not(:disabled),.sdc-actions-item:focus-visible:not(:disabled){background:#f9fafb;outline:none}.sdc-actions-item:disabled,.sdc-actions-item.sdc-actions-item--disabled,.sdc-actions-item[data-disabled=true]{color:#9ca3af;cursor:not-allowed;background:#fff;pointer-events:none}.sdc-actions-item:disabled .sdc-actions-item__content,.sdc-actions-item.sdc-actions-item--disabled .sdc-actions-item__content,.sdc-actions-item[data-disabled=true] .sdc-actions-item__content{opacity:.55}\n"] }]
|
|
75
|
-
}], propDecorators: {
|
|
213
|
+
}], propDecorators: { menuItems: [{
|
|
214
|
+
type: ViewChildren,
|
|
215
|
+
args: ['menuItem']
|
|
216
|
+
}], ariaLabel: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], items: [{
|
|
76
219
|
type: Input
|
|
77
220
|
}], left: [{
|
|
78
221
|
type: Input
|
|
222
|
+
}], menuId: [{
|
|
223
|
+
type: Input
|
|
79
224
|
}], top: [{
|
|
80
225
|
type: Input
|
|
81
226
|
}], width: [{
|
|
82
227
|
type: Input
|
|
228
|
+
}], close: [{
|
|
229
|
+
type: Output
|
|
83
230
|
}], select: [{
|
|
84
231
|
type: Output
|
|
85
232
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1hY3Rpb25zLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBdUd2RyxNQUFNLE9BQU8seUJBQXlCO0lBQzNCLEtBQUssR0FBMEIsRUFBRSxDQUFDO0lBQ2xDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDVCxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVULE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQzt3R0FOaEQseUJBQXlCOzRGQUF6Qix5QkFBeUIsdUxBakcxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVCw2c0NBN0JTLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxxQkFBcUI7OzRGQWtHbkQseUJBQXlCO2tCQXJHckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVCxtQkFtRWdCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHR5cGUgeyBUYWJsZUFjdGlvbk1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90eXBlcy90YWJsZS50eXBlJztcbmltcG9ydCB7IEljb25SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvY29tcG9uZW50cy9pY29uLXJlbmRlcmVyL2ljb24tcmVuZGVyZXIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2RjLXRhYmxlLWFjdGlvbnMtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgSWNvblJlbmRlcmVyQ29tcG9uZW50XSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNkYy1hY3Rpb25zLW1lbnUgc2RjLWFjdGlvbnMtbWVudS0tcG9ydGFsXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICA+XG4gICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLmtleSArICctJyArICRpbmRleCkge1xuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1hY3Rpb25zLWl0ZW1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICBbY2xhc3Muc2RjLWFjdGlvbnMtaXRlbS0tZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkIHx8IG51bGxcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3QuZW1pdChpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgIDxzZGMtaWNvbi1yZW5kZXJlciBbaWNvbl09XCJpdGVtLmljb25cIiBbc2l6ZV09XCIxM1wiPjwvc2RjLWljb24tcmVuZGVyZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAuc2RjLWFjdGlvbnMtbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLW1lbnUtLXBvcnRhbCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB6LWluZGV4OiAyMTQ3NDgzNjQ3O1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgY29sb3I6ICMzNzQxNTE7XG4gICAgICBtaW4taGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbV9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuODc1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06aG92ZXI6bm90KDpkaXNhYmxlZCksXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06Zm9jdXMtdmlzaWJsZTpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpkaXNhYmxlZCxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbS5zZGMtYWN0aW9ucy1pdGVtLS1kaXNhYmxlZCxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbVtkYXRhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgICAgY29sb3I6ICM5Y2EzYWY7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmRpc2FibGVkIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50LFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50LFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSAuc2RjLWFjdGlvbnMtaXRlbV9fY29udGVudCB7XG4gICAgICBvcGFjaXR5OiAwLjU1O1xuICAgIH1cbiAgYF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQWN0aW9uc01lbnVDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtczogVGFibGVBY3Rpb25NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGxlZnQgPSAwO1xuICBASW5wdXQoKSB0b3AgPSAwO1xuICBASW5wdXQoKSB3aWR0aCA9IDA7XG5cbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51SXRlbT4oKTtcbn1cbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvdGFibGUvY29tcG9uZW50cy90YWJsZS1hY3Rpb25zLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFHTCxvQkFBb0IsRUFDckIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQzs7O0FBOEd2RyxNQUFNLE9BQU8seUJBQXlCO0lBQ08sU0FBUyxDQUE0QztJQUV2RixTQUFTLEdBQUcsOENBQThDLENBQUM7SUFDM0QsS0FBSyxHQUEwQixFQUFFLENBQUM7SUFDbEMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1IsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVULEtBQUssR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztJQUN0RCxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7SUFFakQsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNCLGVBQWU7UUFDYixjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQWE7UUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtB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QVUsQ0FBQyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQTlKVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwyVUF4RzFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DVCw2c0NBcENTLFlBQVksOEJBQUUsZUFBZSw0RkFBRSxxQkFBcUI7OzRGQXlHbkQseUJBQXlCO2tCQTVHckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQyxZQUNyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1QsbUJBbUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdKLFNBQVM7c0JBQW5ELFlBQVk7dUJBQUMsVUFBVTtnQkFFZixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIHR5cGUgVGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudCxcbiAgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtLFxuICBUYWJsZU1lbnVGb2N1c1RhcmdldFxufSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL3RhYmxlLnR5cGUnO1xuaW1wb3J0IHsgSWNvblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb21wb25lbnRzL2ljb24tcmVuZGVyZXIvaWNvbi1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtdGFibGUtYWN0aW9ucy1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBJY29uUmVuZGVyZXJDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2RjLWFjdGlvbnMtbWVudSBzZGMtYWN0aW9ucy1tZW51LS1wb3J0YWxcIlxuICAgICAgW2lkXT1cIm1lbnVJZCB8fCBudWxsXCJcbiAgICAgIFtzdHlsZS50b3AucHhdPVwidG9wXCJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImxlZnRcIlxuICAgICAgW3N0eWxlLm1pbi13aWR0aC5weF09XCJ3aWR0aFwiXG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8IHRyYW5zbGF0ZVwiXG4gICAgICBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPlxuICAgICAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbS5rZXkgKyAnLScgKyAkaW5kZXgpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNtZW51SXRlbVxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgY2xhc3M9XCJzZGMtYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJpdGVtLmRpc2FibGVkID8gLTEgOiAoYWN0aXZlSW5kZXggPT09ICRpbmRleCA/IDAgOiAtMSlcIlxuICAgICAgICAgIChmb2N1cyk9XCJvbkl0ZW1Gb2N1cygkaW5kZXgpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkl0ZW1LZXlkb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdC5lbWl0KGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2RjLWFjdGlvbnMtaXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgQGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgPHNkYy1pY29uLXJlbmRlcmVyIFtpY29uXT1cIml0ZW0uaWNvblwiIFtzaXplXT1cIjEzXCI+PC9zZGMtaWNvbi1yZW5kZXJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIC5zZGMtYWN0aW9ucy1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtbWVudS0tcG9ydGFsIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDc7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogIzM3NDE1MTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC41cmVtO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgICAuc2RjLWFjdGlvbnMtaXRlbTpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5zZGMtYWN0aW9ucy1pdGVtOmRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtLnNkYy1hY3Rpb25zLWl0ZW0tLWRpc2FibGVkLFxuICAgIC5zZGMtYWN0aW9ucy1pdGVtW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSB7XG4gICAgICBjb2xvcjogIzljYTNhZjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW06ZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW0uc2RjLWFjdGlvbnMtaXRlbS0tZGlzYWJsZWQgLnNkYy1hY3Rpb25zLWl0ZW1fX2NvbnRlbnQsXG4gICAgLnNkYy1hY3Rpb25zLWl0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIC5zZGMtYWN0aW9ucy1pdGVtX19jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgfVxuICBgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVBY3Rpb25zTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAVmlld0NoaWxkcmVuKCdtZW51SXRlbScpIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW1zITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+PjtcblxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5hY3Rpb25zX21lbnUnO1xuICBASW5wdXQoKSBpdGVtczogVGFibGVBY3Rpb25NZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGxlZnQgPSAwO1xuICBASW5wdXQoKSBtZW51SWQgPSAnJztcbiAgQElucHV0KCkgdG9wID0gMDtcbiAgQElucHV0KCkgd2lkdGggPSAwO1xuXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51Q2xvc2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VGFibGVBY3Rpb25NZW51SXRlbT4oKTtcblxuICBwcm90ZWN0ZWQgYWN0aXZlSW5kZXggPSAtMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5mb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zW2luZGV4XT8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JdGVtS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzUmVsYXRpdmUoaW5kZXgsIC0xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0VkZ2UoJ2VuZCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoeyBmb2N1c1RhcmdldDogVGFibGVNZW51Rm9jdXNUYXJnZXQuVHJpZ2dlciB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQsIGluZGV4KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0RW5hYmxlZEl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c0VkZ2UoJ3N0YXJ0Jyk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRWRnZShlZGdlOiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBlZGdlID09PSAnc3RhcnQnXG4gICAgICA/IGVuYWJsZWRJbmRleGVzWzBdXG4gICAgICA6IGVuYWJsZWRJbmRleGVzW2VuYWJsZWRJbmRleGVzLmxlbmd0aCAtIDFdO1xuXG4gICAgdGhpcy5mb2N1c0luZGV4KHRhcmdldEluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNSZWxhdGl2ZShjdXJyZW50SW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAxIHwgLTEpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9IGVuYWJsZWRJbmRleGVzLmluZGV4T2YoY3VycmVudEluZGV4KTtcbiAgICBjb25zdCBmYWxsYmFja1Bvc2l0aW9uID0gZGlyZWN0aW9uID09PSAxID8gLTEgOiAwO1xuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPT09IC0xID8gZmFsbGJhY2tQb3NpdGlvbiA6IGN1cnJlbnRFbmFibGVkUG9zaXRpb247XG4gICAgY29uc3QgbmV4dFBvc2l0aW9uID0gKGN1cnJlbnRQb3NpdGlvbiArIGRpcmVjdGlvbiArIGVuYWJsZWRJbmRleGVzLmxlbmd0aCkgJSBlbmFibGVkSW5kZXhlcy5sZW5ndGg7XG5cbiAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbbmV4dFBvc2l0aW9uXSk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzSW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm1lbnVJdGVtcy5nZXQoaW5kZXgpPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgaWYgKCFlbGVtZW50IHx8IGVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7XG4gICAgZWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVkSW5kZXhlcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlPG51bWJlcltdPigoaW5kZXhlcywgaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlcztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRhYk5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkSW5kZXhlcyA9IHRoaXMuZW5hYmxlZEluZGV4ZXMoKTtcblxuICAgIGlmICghZW5hYmxlZEluZGV4ZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoe1xuICAgICAgICBmb2N1c1RhcmdldDogZXZlbnQuc2hpZnRLZXkgPyBUYWJsZU1lbnVGb2N1c1RhcmdldC5QcmV2aW91cyA6IFRhYmxlTWVudUZvY3VzVGFyZ2V0Lk5leHRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRFbmFibGVkUG9zaXRpb24gPSBlbmFibGVkSW5kZXhlcy5pbmRleE9mKGluZGV4KTtcblxuICAgIGlmIChjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAtMSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KHtcbiAgICAgICAgZm9jdXNUYXJnZXQ6IGV2ZW50LnNoaWZ0S2V5ID8gVGFibGVNZW51Rm9jdXNUYXJnZXQuUHJldmlvdXMgOiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0ZpcnN0RW5hYmxlZEl0ZW0gPSBjdXJyZW50RW5hYmxlZFBvc2l0aW9uID09PSAwO1xuICAgIGNvbnN0IGlzTGFzdEVuYWJsZWRJdGVtID0gY3VycmVudEVuYWJsZWRQb3NpdGlvbiA9PT0gZW5hYmxlZEluZGV4ZXMubGVuZ3RoIC0gMTtcblxuICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgaWYgKGlzRmlyc3RFbmFibGVkSXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KHsgZm9jdXNUYXJnZXQ6IFRhYmxlTWVudUZvY3VzVGFyZ2V0LlByZXZpb3VzIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmZvY3VzSW5kZXgoZW5hYmxlZEluZGV4ZXNbY3VycmVudEVuYWJsZWRQb3NpdGlvbiAtIDFdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNMYXN0RW5hYmxlZEl0ZW0pIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCh7IGZvY3VzVGFyZ2V0OiBUYWJsZU1lbnVGb2N1c1RhcmdldC5OZXh0IH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0luZGV4KGVuYWJsZWRJbmRleGVzW2N1cnJlbnRFbmFibGVkUG9zaXRpb24gKyAxXSk7XG4gIH1cbn1cbiJdfQ==
|