@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.
@@ -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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtb3B0aW9ucy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3R5cGVzL3RhYmxlLW9wdGlvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWFyY2hUcmlnZ2VyTW9kZSB9IGZyb20gJy4vc2VhcmNoYm94LnR5cGUnO1xuaW1wb3J0IHsgUHJpb3JpdHksIFNpemUgfSBmcm9tICcuL3NlbWFudGljcy50eXBlJztcbmltcG9ydCB0eXBlIHsgUm93QmFzZSwgVGFibGVTZWFyY2hFdmVudCwgVGFibGVSb3dJZGVudGl0eSwgU29ydE9yZGVyIH0gZnJvbSAnLi90YWJsZS1zaGFyZWQudHlwZSc7XG5pbXBvcnQgdHlwZSB7IFRhYmxlQ29sdW1uLCBUYWJsZVRleHRPdmVyZmxvdyB9IGZyb20gJy4vdGFibGUtY29sdW1uLnR5cGUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUljb25Db25maWcsIFRhYmxlVGFnQ29uZmlnLCBUYWJsZVRpdGxlSWNvbkNvbmZpZyB9IGZyb20gJy4vdGFibGUtdmlzdWFsLnR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrYm94Q2VsbE9wdGlvbnMge1xuICBzZWxlY3RBbGw/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+W0tdO1xuXG5leHBvcnQgdHlwZSBUYWJsZUFjdGlvbk1lbnVJdGVtID0ge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBUYWJsZU9wZW5NZW51U3RhdGU8VCBleHRlbmRzIFJvd0Jhc2UgPSBSb3dCYXNlPiA9IHtcbiAgcm93OiBUO1xuICBjb2w6IFRhYmxlQ29sdW1uPFQ+O1xuICBjbG9zZU9uQ2xpY2s6IGJvb2xlYW47XG4gIGl0ZW1zOiBUYWJsZUFjdGlvbk1lbnVJdGVtW107XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSB7XG4gIFRhYmxlU2VhcmNoRXZlbnQsXG4gIFRhYmxlUm93SWRlbnRpdHksXG4gIFNvcnRPcmRlclxufTtcbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90eXBlcy90YWJsZS50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7XG4gIFJvd0Jhc2UsXG4gIFNvcnRPcmRlcixcbiAgVGFibGVDb2x1bW5BbGlnbm1lbnQsXG4gIFRhYmxlQ29sdW1uVHlwZSxcbiAgVGFibGVSb3dJZGVudGl0eSxcbiAgVGFibGVTZWFyY2hFdmVudFxufSBmcm9tICcuL3RhYmxlLXNoYXJlZC50eXBlJztcbmV4cG9ydCB0eXBlIHsgVGFibGVDZWxsVGFnLCBUYWJsZUNvbHVtbiwgVGFibGVDb2x1bW5Db250ZW50LCBUYWJsZVRleHRPdmVyZmxvdyB9IGZyb20gJy4vdGFibGUtY29sdW1uLnR5cGUnO1xuZXhwb3J0IHR5cGUge1xuICBBY3Rpb25NZW51SXRlbSxcbiAgQWN0aW9uTWVudUl0ZW1EaXNhYmxlZCxcbiAgQWN0aW9uc0NlbGxPcHRpb25zLFxuICBCdXR0b25DZWxsT3B0aW9ucyxcbiAgQ2hlY2tib3hDZWxsT3B0aW9ucyxcbiAgSWNvbkNlbGxPcHRpb25zLFxuICBJY29uVGl0bGVDZWxsT3B0aW9ucyxcbiAgVGFibGVBY3Rpb25NZW51SXRlbSxcbiAgVGFibGVDZWxsQ29uZmlnLFxuICBUYWJsZUNlbGxDb25maWdLZXksXG4gIFRhYmxlQ2VsbENvbmZpZ01hcCxcbiAgVGFibGVPcGVuTWVudVN0YXRlLFxuICBUYWJsZU9wdGlvbnMsXG4gIFRhZ0NlbGxPcHRpb25zXG59IGZyb20gJy4vdGFibGUtb3B0aW9ucy50eXBlJztcbmV4cG9ydCB0eXBlIHtcbiAgVGFibGVCYXNlVmlzdWFsQ29uZmlnLFxuICBUYWJsZUljb25Db25maWcsXG4gIFRhYmxlSWNvbkNvbmZpZ0lucHV0LFxuICBUYWJsZVRhZ0NvbmZpZyxcbiAgVGFibGVUYWdDb25maWdJbnB1dCxcbiAgVGFibGVUaXRsZUljb25Db25maWcsXG4gIFRhYmxlVGl0bGVJY29uQ29uZmlnSW5wdXQsXG4gIFRhYmxlVmlzdWFsQ29uZmlnSW5wdXQsXG4gIFRhYmxlVmlzdWFsQ29uZmlnUmVzb2x2ZXJcbn0gZnJvbSAnLi90YWJsZS12aXN1YWwudHlwZSc7XG4iXX0=
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 "@seniorsistemas/angular-components/common";
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-scale\">\n <span class=\"sdc-loading-state__logo-icon\" *sSVGFactory=\"'senior'\"></span>\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-scale{display:inline-flex;align-items:center;justify-content:center;transform:scale(var(--sdc-loading-logo-svg-scale, .4));transform-origin:center;line-height:0}.sdc-loading-state .sdc-loading-state__logo-icon{display:inline-flex;align-items:center;justify-content:center;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-scale>*{display:inline-flex;align-items:center;justify-content:center}:host ::ng-deep .sdc-loading-state__logo-icon-scale svg{display:block}@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: "ngmodule", type: SVGFactoryModule }, { kind: "directive", type: i2.SVGFactoryDirective, selector: "[sSVGFactory]", inputs: ["sSVGFactory"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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, SVGFactoryModule, 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-scale\">\n <span class=\"sdc-loading-state__logo-icon\" *sSVGFactory=\"'senior'\"></span>\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-scale{display:inline-flex;align-items:center;justify-content:center;transform:scale(var(--sdc-loading-logo-svg-scale, .4));transform-origin:center;line-height:0}.sdc-loading-state .sdc-loading-state__logo-icon{display:inline-flex;align-items:center;justify-content:center;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-scale>*{display:inline-flex;align-items:center;justify-content:center}:host ::ng-deep .sdc-loading-state__logo-icon-scale svg{display:block}@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"] }]
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: { items: [{
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==