desy-angular 4.0.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/bundles/desy-angular.umd.js +1473 -386
  2. package/bundles/desy-angular.umd.js.map +1 -1
  3. package/bundles/desy-angular.umd.min.js +2 -2
  4. package/bundles/desy-angular.umd.min.js.map +1 -1
  5. package/desy-angular.d.ts +30 -25
  6. package/desy-angular.metadata.json +1 -1
  7. package/esm2015/desy-angular.js +31 -26
  8. package/esm2015/lib/desy-angular.module.js +1 -3
  9. package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -16
  10. package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
  11. package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +70 -70
  12. package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +6 -15
  13. package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +67 -55
  14. package/esm2015/lib/desy-buttons/components/pill/pill.component.js +5 -3
  15. package/esm2015/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.js +15 -0
  16. package/esm2015/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.js +15 -0
  17. package/esm2015/lib/desy-buttons/components/toggle/toggle.component.js +41 -0
  18. package/esm2015/lib/desy-buttons/desy-buttons.module.js +12 -3
  19. package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +36 -2
  20. package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -2
  21. package/esm2015/lib/desy-forms/components/tree/interfaces/itree-item.js +3 -0
  22. package/esm2015/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.js +2 -0
  23. package/esm2015/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.js +151 -0
  24. package/esm2015/lib/desy-forms/components/tree/tree-item/tree-item.component.js +365 -0
  25. package/esm2015/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.js +25 -0
  26. package/esm2015/lib/desy-forms/components/tree/tree-sub/tree-sub.component.js +14 -0
  27. package/esm2015/lib/desy-forms/components/tree/tree.component.js +396 -0
  28. package/esm2015/lib/desy-forms/desy-forms.module.js +15 -1
  29. package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
  30. package/esm2015/lib/desy-modals/components/modal/modal.component.js +2 -2
  31. package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +14 -49
  32. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +7 -4
  33. package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +9 -37
  34. package/esm2015/lib/desy-nav/components/header/header.component.js +2 -2
  35. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -2
  36. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +12 -3
  37. package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +3 -3
  38. package/esm2015/lib/desy-nav/components/nav/nav.component.js +33 -2
  39. package/esm2015/lib/desy-nav/desy-nav.module.js +4 -2
  40. package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
  41. package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
  42. package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +2 -2
  43. package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
  44. package/esm2015/public-api.js +5 -1
  45. package/fesm2015/desy-angular.js +1371 -351
  46. package/fesm2015/desy-angular.js.map +1 -1
  47. package/lib/desy-buttons/components/button/button.component.d.ts +6 -6
  48. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
  49. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +4 -7
  50. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +2 -6
  51. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +1 -2
  52. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -0
  53. package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +5 -0
  54. package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +5 -0
  55. package/lib/desy-buttons/components/toggle/toggle.component.d.ts +15 -0
  56. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -0
  57. package/lib/desy-forms/components/tree/interfaces/itree-item.d.ts +5 -0
  58. package/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.d.ts +5 -0
  59. package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +43 -0
  60. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +85 -0
  61. package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +10 -0
  62. package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +6 -0
  63. package/lib/desy-forms/components/tree/tree.component.d.ts +107 -0
  64. package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
  65. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +7 -10
  66. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +5 -5
  67. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +1 -0
  68. package/lib/desy-nav/components/nav/nav.component.d.ts +3 -0
  69. package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
  70. package/lib/desy-nav/interfaces/header-subnav-data.d.ts +5 -1
  71. package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
  72. package/package.json +2 -2
  73. package/public-api.d.ts +4 -0
@@ -10,51 +10,70 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
10
10
  super(...arguments);
11
11
  this.itemsChange = new EventEmitter();
12
12
  this.activeItemChange = new EventEmitter();
13
- this.isListVisible = false;
13
+ this.isListVisible = false; // Indica si la lista se está mostrando
14
14
  }
15
15
  ngOnInit() {
16
- setTimeout(() => {
17
- if (this.listboxContent && this.listboxContent.nativeElement) {
18
- const contentTooltip = this.listboxContent.nativeElement;
19
- this.tippyProperties = {
20
- placement: 'bottom-start',
21
- inlinePositioning: true,
22
- content: contentTooltip,
23
- allowHTML: true,
24
- trigger: 'click',
25
- hideOnClick: true,
26
- interactive: true,
27
- arrow: false,
28
- offset: [0, -10],
29
- theme: '',
30
- plugins: [{
31
- name: 'hideOnEsc',
32
- defaultValue: true,
33
- fn({ hide }) {
34
- function onKeyDown(event) {
35
- if (event.key === ListboxComponent.KEY_CODE_ESC) {
36
- hide();
37
- }
38
- }
39
- return {
40
- onShow() {
41
- document.addEventListener('keydown', onKeyDown);
42
- },
43
- onHide() {
44
- document.removeEventListener('keydown', onKeyDown);
45
- },
46
- };
47
- },
48
- }],
49
- role: false,
50
- aria: {
51
- content: 'auto',
16
+ const listboxButtonElement = this.listboxButton.nativeElement;
17
+ if (this.listboxContent && this.listboxContent.nativeElement) {
18
+ const contentTooltip = this.listboxContent.nativeElement;
19
+ this.tippyProperties = {
20
+ placement: 'bottom-start',
21
+ inlinePositioning: true,
22
+ content: contentTooltip,
23
+ allowHTML: true,
24
+ trigger: 'click',
25
+ hideOnClick: true,
26
+ interactive: true,
27
+ arrow: false,
28
+ offset: [0, -10],
29
+ theme: '',
30
+ plugins: [
31
+ {
32
+ name: 'hideOnPopperBlur',
33
+ defaultValue: true,
34
+ fn(instance) {
35
+ return {
36
+ onCreate() {
37
+ instance.popper.addEventListener('focusout', (event) => {
38
+ if (instance.props.hideOnPopperBlur &&
39
+ event.relatedTarget &&
40
+ !instance.popper.contains(event.relatedTarget)) {
41
+ instance.hide();
42
+ }
43
+ });
44
+ },
45
+ };
46
+ }
52
47
  },
53
- onShow: this.onListShow.bind(this),
54
- onHidden: this.onListClose.bind(this)
55
- };
56
- }
57
- });
48
+ {
49
+ name: 'hideOnEsc',
50
+ defaultValue: true,
51
+ fn({ hide }) {
52
+ function onKeyDown(event) {
53
+ if (event.key === ListboxComponent.KEY_CODE_ESC) {
54
+ hide();
55
+ listboxButtonElement.focus();
56
+ }
57
+ }
58
+ return {
59
+ onShow() {
60
+ document.addEventListener('keydown', onKeyDown);
61
+ },
62
+ onHide() {
63
+ document.removeEventListener('keydown', onKeyDown);
64
+ },
65
+ };
66
+ },
67
+ }
68
+ ],
69
+ role: false,
70
+ aria: {
71
+ content: 'auto',
72
+ },
73
+ onShow: this.onListShow.bind(this),
74
+ onHidden: this.onListClose.bind(this)
75
+ };
76
+ }
58
77
  }
59
78
  ngOnChanges() {
60
79
  setTimeout(() => {
@@ -141,11 +160,11 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
141
160
  if (this.doesChangeButtonText && !this.isMultiselectable && activeItems.length > 0) {
142
161
  const activeItemOption = this.listboxOptions.find((item, index) => index === activeItems[0].index);
143
162
  if (activeItemOption) {
144
- this.buttonContent = activeItemOption.nativeElement.innerHTML;
163
+ this.buttonContentHtml = activeItemOption.nativeElement.innerHTML;
145
164
  }
146
165
  }
147
166
  else {
148
- this.buttonContent = this.html ? this.html : this.text;
167
+ this.buttonContentHtml = this.html ? this.html : null;
149
168
  }
150
169
  // Si hay cambios, se emiten
151
170
  if (hasActiveItemChange) {
@@ -161,9 +180,6 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
161
180
  }
162
181
  onListClose() {
163
182
  this.isListVisible = false;
164
- if (this.listboxButton) {
165
- this.listboxButton.nativeElement.focus();
166
- }
167
183
  }
168
184
  onListFocus() {
169
185
  const activeItemsData = this.getActiveItemsData();
@@ -237,22 +253,18 @@ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponen
237
253
  getLabelContent(label) {
238
254
  return label.html ? label.html : `<p>${StringUtils.escapeHtml(label.text)}</p>`;
239
255
  }
240
- isButtonContentHtml() {
241
- const activeItemsData = this.getActiveItemsData();
242
- return !!(this.doesChangeButtonText && !this.isMultiselectable && activeItemsData.length > 0 ? true : this.html);
243
- }
244
256
  }
245
257
  ListboxComponent.KEY_CODE_ESC = 'Escape';
246
258
  ListboxComponent.decorators = [
247
259
  { type: Component, args: [{
248
260
  selector: 'desy-listbox',
249
- template: "<div [ngClass]=\"classesContainer ? classesContainer : 'relative'\">\r\n <div *ngIf=\"labelComponent\" [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent.classes] | makeHtmlList\">\r\n <ng-container *ngTemplateOutlet=\"labelComponent.getContent()\"></ng-container>\r\n </div>\r\n <div *ngIf=\"!labelComponent && label\" [id]=\"id + '-label'\" [class]=\"['mb-sm', label.classes] | makeHtmlList\"\r\n [desyInnerContent]=\"getLabelContent(label)\" [isHtml]=\"true\">\r\n </div>\r\n <button *ngIf=\"tippyProperties\"\r\n #button [id]=\"id + '-button'\"\r\n [class]=\"['c-listbox', classes] | makeHtmlList\"\r\n ngxTippy [tippyProps]=\"tippyProperties\"\r\n aria-haspopup=\"listbox\"\r\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\r\n [attr.disabled]=\"disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"disabled ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.aria-role] = \"role ? role : null\"\r\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\r\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errorMessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-hasppup] = \"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-tabindex] = \"tabindex ? tabindex : null\">\r\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\"\r\n [desyInnerContent]=\"buttonContent\" [isHtml]=\"isButtonContentHtml()\">\r\n </span>\r\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </button>\r\n <div #tooltip [class]=\"['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\r\n <ul *ngIf=\"itemList\"\r\n #list [id]=\"id\"\r\n (focus)=\"onListFocus()\"\r\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\r\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\r\n (keydown.home)=\"moveFocus(0, $event)\"\r\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\r\n (keydown.space)=\"onSpace($event)\"\r\n role=\"listbox\"\r\n tabindex=\"-1\"\r\n class=\"text-sm outline-none\"\r\n [attr.aria-labelledby]=\"hasLabel() ? id : (ariaLabelledBy ? ariaLabelledBy : null)\"\r\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\r\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup] = \"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-activedescendant] = \"lastActiveItems.length > 0 ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index) : null\">\r\n <ng-container *ngFor=\"let item of itemList; index as index\">\r\n <li #option *ngIf=\"item\" role=\"option\" (click)=\"selectItem(index)\"\r\n [class]=\"['flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'focused': index === currentFocusIndex}\"\r\n [attr.aria-label]=\"item.active ? 'true' : (item.ariaLabel ? item.ariaLabel : null)\"\r\n [id]=\"getItemId(item, index)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-hidden] = \"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current] = \"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live] = \"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup] = \"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.aria-tabindex] = \"item.tabindex ? item.tabindex : null\"\r\n\r\n [attr.aria-checked]=\"item.active\"\r\n [attr.aria-selected]=\"item.active\"\r\n [desyInnerContent]=\"!item['content'] ? (item.html ? item.html : item.text) : null\"\r\n [isHtml]=\"!item['content'] ? item.html : undefined\" [deleteContentIfEmpty]=\"false\">\r\n <ng-container *ngTemplateOutlet=\"item['content']\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n</div>\r\n"
261
+ template: "<div [ngClass]=\"classesContainer ? classesContainer : 'relative'\">\r\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\r\n <ng-container *desyCustomInnerContent=\"{ component: labelComponent, html: label ? getLabelContent(label) : null }\"></ng-container>\r\n </div>\r\n <button #button [id]=\"id + '-button'\"\r\n [class]=\"['c-listbox', classes] | makeHtmlList\"\r\n ngxTippy [tippyProps]=\"tippyProperties\"\r\n aria-haspopup=\"listbox\"\r\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\r\n [attr.disabled]=\"disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"disabled ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\r\n [attr.aria-role] = \"role ? role : null\"\r\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\r\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errorMessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-hasppup] = \"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-tabindex] = \"tabindex ? tabindex : null\">\r\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\r\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\r\n </span>\r\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\r\n </button>\r\n <div #tooltip [class]=\"['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\r\n <ul *ngIf=\"itemList\"\r\n #list [id]=\"id\"\r\n (focus)=\"onListFocus()\"\r\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\r\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\r\n (keydown.home)=\"moveFocus(0, $event)\"\r\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\r\n (keydown.space)=\"onSpace($event)\"\r\n role=\"listbox\"\r\n tabindex=\"-1\"\r\n class=\"text-sm outline-none\"\r\n [attr.aria-labelledby]=\"hasLabel() ? id : (ariaLabelledBy ? ariaLabelledBy : null)\"\r\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\r\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup] = \"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.aria-activedescendant] = \"lastActiveItems.length > 0 ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index) : null\">\r\n <ng-container *ngFor=\"let item of itemList; index as index\">\r\n <li #option *ngIf=\"item\" role=\"option\" (click)=\"selectItem(index)\"\r\n [class]=\"['flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'focused': index === currentFocusIndex}\"\r\n [attr.aria-label]=\"item.active ? 'true' : (item.ariaLabel ? item.ariaLabel : null)\"\r\n [id]=\"getItemId(item, index)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-hidden] = \"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current] = \"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live] = \"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup] = \"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.aria-tabindex] = \"item.tabindex ? item.tabindex : null\"\r\n\r\n [attr.aria-checked]=\"item.active\"\r\n [attr.aria-selected]=\"item.active\">\r\n <ng-container *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n</div>\r\n"
250
262
  },] }
251
263
  ];
252
264
  ListboxComponent.propDecorators = {
253
- listboxButton: [{ type: ViewChild, args: ['button', { read: ElementRef },] }],
265
+ listboxButton: [{ type: ViewChild, args: ['button', { read: ElementRef, static: true },] }],
254
266
  listboxList: [{ type: ViewChild, args: ['list', { read: ElementRef },] }],
255
- listboxContent: [{ type: ViewChild, args: ['tooltip', { read: ElementRef },] }],
267
+ listboxContent: [{ type: ViewChild, args: ['tooltip', { read: ElementRef, static: true },] }],
256
268
  listboxOptions: [{ type: ViewChildren, args: ['option', { read: ElementRef },] }],
257
269
  labelComponent: [{ type: ContentChildren, args: [ListboxLabelComponent,] }],
258
270
  itemComponentList: [{ type: ContentChildren, args: [ListboxItemComponent,] }],
@@ -272,4 +284,4 @@ ListboxComponent.propDecorators = {
272
284
  __decorate([
273
285
  DesyContentChild()
274
286
  ], ListboxComponent.prototype, "labelComponent", void 0);
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkNBQTJDLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUduSCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFM0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFNekYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLDJDQUEyQztJQUpqRjs7UUEwQlksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLaEQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFrUXhCLENBQUM7SUF6UEMsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUU7Z0JBQzVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBNEIsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLGVBQWUsR0FBRztvQkFDckIsU0FBUyxFQUFFLGNBQWM7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QUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzZCQUN6QyxZQUFZLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs2QkFHM0MsZUFBZSxTQUFDLHFCQUFxQjtnQ0FDckMsZUFBZSxTQUFDLG9CQUFvQjtpQkFDcEMsS0FBSztnQ0FDTCxLQUFLO21DQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLOytCQUNMLEtBQUs7NkJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxNQUFNOytCQUNOLE1BQU07O0FBYmlDO0lBRHZDLGdCQUFnQixFQUFFO3dEQUMyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbiwgRG9DaGVjayxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjY2Vzc2liaWxpdHlBbmRUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnQsIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9ufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7TGlzdGJveExhYmVsRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9saXN0Ym94LWxhYmVsLWRhdGEnO1xyXG5pbXBvcnQge0xpc3Rib3hJdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9saXN0Ym94LWl0ZW0tZGF0YSc7XHJcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5pbXBvcnQge0xpc3Rib3hMYWJlbENvbXBvbmVudH0gZnJvbSAnLi9saXN0Ym94LWxhYmVsL2xpc3Rib3gtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtMaXN0Ym94SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9saXN0Ym94LWl0ZW0vbGlzdGJveC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1saXN0Ym94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdGJveC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3Rib3hDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIERvQ2hlY2sge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94QnV0dG9uOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2xpc3QnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveExpc3Q6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94Q29udGVudDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkcmVuKCdvcHRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveE9wdGlvbnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveExhYmVsQ29tcG9uZW50KSBsYWJlbENvbXBvbmVudDogTGlzdGJveExhYmVsQ29tcG9uZW50O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveEl0ZW1Db21wb25lbnQpIGl0ZW1Db21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8TGlzdGJveEl0ZW1Db21wb25lbnQ+O1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7IC8vIHJlcXVpcmVkXHJcbiAgQElucHV0KCkgaXNNdWx0aXNlbGVjdGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZG9lc0NoYW5nZUJ1dHRvblRleHQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgbGFiZWw6IExpc3Rib3hMYWJlbERhdGE7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXNDb250YWluZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzVG9vbHRpcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXRlbXM6IExpc3Rib3hJdGVtRGF0YVtdO1xyXG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYWN0aXZlSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgdGlwcHlQcm9wZXJ0aWVzOiBhbnk7XHJcbiAgY3VycmVudEZvY3VzSW5kZXg6IG51bWJlcjtcclxuICBidXR0b25Db250ZW50OiBzdHJpbmc7XHJcbiAgaXNMaXN0VmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICAvLyBjb25kaXRpb25hbElkIHkgY29uZGl0aW9uYWxJdGVtIHJlcHJlc2VudGFuIGVuIGRlc3ktZnJvbnRlbmQgZWwgaXRlbSBhY3Rpdm8uIEFxdcOtIGVzIG1lam9yIG9idGVuZXJsbyBjdWFuZG8gc2UgbmVjZXNpdGFcclxuICBsYXN0QWN0aXZlSXRlbXM6IHsgaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyIH1bXTtcclxuICBpdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW107XHJcblxyXG4gIGl0ZW1MaXN0OiBMaXN0Ym94SXRlbURhdGFbXTtcclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxpc3Rib3hDb250ZW50ICYmIHRoaXMubGlzdGJveENvbnRlbnQubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUb29sdGlwID0gdGhpcy5saXN0Ym94Q29udGVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIHRoaXMudGlwcHlQcm9wZXJ0aWVzID0ge1xyXG4gICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tLXN0YXJ0JyxcclxuICAgICAgICAgIGlubGluZVBvc2l0aW9uaW5nOiB0cnVlLFxyXG4gICAgICAgICAgY29udGVudDogY29udGVudFRvb2x0aXAsXHJcbiAgICAgICAgICBhbGxvd0hUTUw6IHRydWUsIC8vIE1ha2Ugc3VyZSB5b3UgYXJlIHNhbml0aXppbmcgYW55IHVzZXIgZGF0YSBpZiByZW5kZXJpbmcgSFRNTCB0byBwcmV2ZW50IFhTUyBhdHRhY2tzLlxyXG4gICAgICAgICAgdHJpZ2dlcjogJ2NsaWNrJyxcclxuICAgICAgICAgIGhpZGVPbkNsaWNrOiB0cnVlLFxyXG4gICAgICAgICAgaW50ZXJhY3RpdmU6IHRydWUsXHJcbiAgICAgICAgICBhcnJvdzogZmFsc2UsXHJcbiAgICAgICAgICBvZmZzZXQ6IFswLCAtMTBdLFxyXG4gICAgICAgICAgdGhlbWU6ICcnLFxyXG4gICAgICAgICAgcGx1Z2luczogW3tcclxuICAgICAgICAgICAgbmFtZTogJ2hpZGVPbkVzYycsXHJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcclxuICAgICAgICAgICAgZm4oe2hpZGV9KTogYW55IHtcclxuXHJcbiAgICAgICAgICAgICAgZnVuY3Rpb24gb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBMaXN0Ym94Q29tcG9uZW50LktFWV9DT0RFX0VTQykge1xyXG4gICAgICAgICAgICAgICAgICBoaWRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xyXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfV0sXHJcbiAgICAgICAgICByb2xlOiBmYWxzZSxcclxuICAgICAgICAgIGFyaWE6IHtcclxuICAgICAgICAgICAgY29udGVudDogJ2F1dG8nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uU2hvdzogdGhpcy5vbkxpc3RTaG93LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvbkhpZGRlbjogdGhpcy5vbkxpc3RDbG9zZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvKlxyXG4gICAgICAgKiBQYXLDoW1ldHJvcyBvYmxpZ2F0b3Jpb3NcclxuICAgICAgICovXHJcbiAgICAgIGlmICghdGhpcy5pZCkge1xyXG4gICAgICAgIHRocm93IEVycm9yKCdpZCBpcyByZXF1aXJlZCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghdGhpcy5pdGVtcyAmJiAhdGhpcy5pdGVtQ29tcG9uZW50TGlzdCkge1xyXG4gICAgICAgIHRocm93IEVycm9yKCdpdGVtcyBhcmUgcmVxdWlyZWQnKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMubGFiZWwgJiYgIXRoaXMubGFiZWxDb21wb25lbnQpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcignbGFiZWwgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudExpc3QgJiYgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMpIHtcclxuICAgICAgICAgIHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMgPSBbXTtcclxuICAgICAgICB0aGlzLml0ZW1MaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gaXRlbS5pdGVtQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKSk7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcclxuICAgICAgICAgIHRoaXMuaXRlbUxpc3QucHVzaChpdGVtKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLml0ZW1MaXN0ID0gdGhpcy5pdGVtcztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xyXG4gICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgdGV4dE9ySHRtbFJlcXVpcmVkRnVuY3Rpb24oaXRlbS50ZXh0LCBpdGVtLmh0bWwpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0gaXMgJyArIGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pdGVtcyB8fCAhdGhpcy5pdGVtTGlzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFjdGl2ZUl0ZW1zRGF0YSgpOiB7IGl0ZW06IExpc3Rib3hJdGVtRGF0YSwgaW5kZXg6IG51bWJlciB9W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbUxpc3RcclxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uYWN0aXZlID8ge2l0ZW0sIGluZGV4fSA6IG51bGwpXHJcbiAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBudWxsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tBY3RpdmVJdGVtcygpOiB2b2lkIHtcclxuICAgIGxldCBhY3RpdmVJdGVtczogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdID0gdGhpcy5pdGVtTGlzdFxyXG4gICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gaXRlbS5hY3RpdmUgPyB7aXRlbSwgaW5kZXh9IDogbnVsbClcclxuICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IG51bGwpO1xyXG5cclxuICAgIGxldCBoYXNBY3RpdmVJdGVtQ2hhbmdlID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5sYXN0QWN0aXZlSXRlbXMgJiYgYWN0aXZlSXRlbXMubGVuZ3RoID09PSB0aGlzLmxhc3RBY3RpdmVJdGVtcy5sZW5ndGgpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3RpdmVJdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChhY3RpdmVJdGVtc1tpXS5pbmRleCAhPT0gdGhpcy5sYXN0QWN0aXZlSXRlbXNbaV0uaW5kZXgpIHtcclxuICAgICAgICAgIGhhc0FjdGl2ZUl0ZW1DaGFuZ2UgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBoYXNBY3RpdmVJdGVtQ2hhbmdlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaSBoYXkgY2FtYmlvcyBleHRlcm5vcyB5IGVzIHNlbGVjY2nDs24gw7puaWNhLCBhbnVsYW1vcyBsYSBzZWxlY2Npw7NuIGFudGVyaW9yXHJcbiAgICBpZiAodGhpcy5sYXN0QWN0aXZlSXRlbXMgJiYgIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUgJiYgaGFzQWN0aXZlSXRlbUNoYW5nZSkge1xyXG4gICAgICBpZiAoYWN0aXZlSXRlbXMubGVuZ3RoICE9PSB0aGlzLmxhc3RBY3RpdmVJdGVtcy5sZW5ndGgpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IG5ld0l0ZW0gb2YgYWN0aXZlSXRlbXMpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmxhc3RBY3RpdmVJdGVtcy5maW5kSW5kZXgoaSA9PiBpLmluZGV4ID09PSBuZXdJdGVtLmluZGV4KSA+PSAwKSB7XHJcbiAgICAgICAgICAgIG5ld0l0ZW0uaXRlbS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBhY3RpdmVJdGVtcyA9IGFjdGl2ZUl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uaXRlbS5hY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubGFzdEFjdGl2ZUl0ZW1zID0gYWN0aXZlSXRlbXM7XHJcblxyXG4gICAgLy8gU2UgY2FtYmlhIGVsIGNvbnRlbmlkbyBkZWwgYm90w7NuXHJcbiAgICBpZiAodGhpcy5kb2VzQ2hhbmdlQnV0dG9uVGV4dCAmJiAhdGhpcy5pc011bHRpc2VsZWN0YWJsZSAmJiBhY3RpdmVJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGFjdGl2ZUl0ZW1PcHRpb24gPSB0aGlzLmxpc3Rib3hPcHRpb25zLmZpbmQoKGl0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gYWN0aXZlSXRlbXNbMF0uaW5kZXgpO1xyXG4gICAgICBpZiAoYWN0aXZlSXRlbU9wdGlvbikge1xyXG4gICAgICAgIHRoaXMuYnV0dG9uQ29udGVudCA9IGFjdGl2ZUl0ZW1PcHRpb24ubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYnV0dG9uQ29udGVudCA9IHRoaXMuaHRtbCA/IHRoaXMuaHRtbCA6IHRoaXMudGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaSBoYXkgY2FtYmlvcywgc2UgZW1pdGVuXHJcbiAgICBpZiAoaGFzQWN0aXZlSXRlbUNoYW5nZSkge1xyXG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtTGlzdCk7XHJcbiAgICAgIHRoaXMuYWN0aXZlSXRlbUNoYW5nZS5lbWl0KGFjdGl2ZUl0ZW1zLmxlbmd0aCA+IDAgPyBhY3RpdmVJdGVtc1swXS5pdGVtIDogbnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxpc3RTaG93KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xpc3RWaXNpYmxlID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmxpc3Rib3hMaXN0KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5saXN0Ym94TGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MaXN0Q2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzTGlzdFZpc2libGUgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmxpc3Rib3hCdXR0b24pIHtcclxuICAgICAgdGhpcy5saXN0Ym94QnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGlzdEZvY3VzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYWN0aXZlSXRlbXNEYXRhID0gdGhpcy5nZXRBY3RpdmVJdGVtc0RhdGEoKTtcclxuICAgIGlmIChhY3RpdmVJdGVtc0RhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBhY3RpdmVFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoYWN0aXZlSXRlbXNEYXRhWzBdLml0ZW0sIGFjdGl2ZUl0ZW1zRGF0YVswXS5pbmRleCkpO1xyXG4gICAgICBpZiAoYWN0aXZlRWxlbSkge1xyXG4gICAgICAgIGFjdGl2ZUVsZW0uZm9jdXMoKTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gYWN0aXZlSXRlbXNEYXRhWzBdLmluZGV4O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbUxpc3QgJiYgdGhpcy5pdGVtTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSAwO1xyXG4gICAgICBpZiAoIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0oMCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignTm8gZWxlbWVudCB0byBmb2N1cycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbW92ZUZvY3VzKHBvc2l0aW9uOiBudW1iZXIsIGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHBvc2l0aW9uID49IDAgJiYgcG9zaXRpb24gPCB0aGlzLml0ZW1MaXN0Lmxlbmd0aCkge1xyXG4gICAgICBpZiAodGhpcy5pc011bHRpc2VsZWN0YWJsZSkge1xyXG4gICAgICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSBwb3NpdGlvbjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdEl0ZW0ocG9zaXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNwYWNlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RJdGVtKHRoaXMuY3VycmVudEZvY3VzSW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcclxuICAgICAgdGhpcy5pdGVtTGlzdC5mb3JFYWNoKGl0ZW0gPT4gaXRlbS5hY3RpdmUgPSBmYWxzZSk7XHJcbiAgICAgIHRoaXMuaXRlbUxpc3RbaW5kZXhdLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLml0ZW1MaXN0W2luZGV4XS5hY3RpdmUgPSAhdGhpcy5pdGVtTGlzdFtpbmRleF0uYWN0aXZlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IGluZGV4O1xyXG5cclxuICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBNw6l0b2RvcyBwYXJhIGZhY2lsaXRhciBjb250ZW5pZG8gYWwgdGVtcGxhdGVcclxuICAgKi9cclxuXHJcbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6IHRoaXMuaWQgKyAnLWxpc3Rib3gtaXRlbSc7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWQoaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGxldCBpdGVtSWQ6IHN0cmluZztcclxuICAgIGlmIChpdGVtLmlkKSB7XHJcbiAgICAgIGl0ZW1JZCA9IGl0ZW0uaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtSWQgPSB0aGlzLmdldElkUHJlZml4KCk7XHJcbiAgICAgIGlmIChpbmRleCA+IDApIHtcclxuICAgICAgICBpdGVtSWQgKz0gYC0ke2luZGV4fWA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtSWQ7XHJcbiAgfVxyXG5cclxuICBoYXNMYWJlbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhISh0aGlzLmxhYmVsIHx8IHRoaXMubGFiZWxDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFiZWxDb250ZW50KGxhYmVsOiBMaXN0Ym94TGFiZWxEYXRhKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsYWJlbC5odG1sID8gbGFiZWwuaHRtbCA6IGA8cD4keyBTdHJpbmdVdGlscy5lc2NhcGVIdG1sKGxhYmVsLnRleHQpIH08L3A+YDtcclxuICB9XHJcblxyXG4gIGlzQnV0dG9uQ29udGVudEh0bWwoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBhY3RpdmVJdGVtc0RhdGEgPSB0aGlzLmdldEFjdGl2ZUl0ZW1zRGF0YSgpO1xyXG4gICAgcmV0dXJuICEhKHRoaXMuZG9lc0NoYW5nZUJ1dHRvblRleHQgJiYgIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUgJiYgYWN0aXZlSXRlbXNEYXRhLmxlbmd0aCA+IDAgPyB0cnVlIDogdGhpcy5odG1sKTtcclxuICB9XHJcbn1cclxuIl19
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkNBQTJDLEVBQUUsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUduSCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFFM0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFNekYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLDJDQUEyQztJQUpqRjs7UUEyQlksZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLaEQsa0JBQWEsR0FBRyxLQUFLLENBQUMsQ0FBSyx1Q0FBdUM7SUE4UXBFLENBQUM7SUFyUUMsUUFBUTtRQUNOLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDOUQsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFO1lBQzVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBNEIsQ0FBQztZQUN4RSxJQUFJ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QVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MEJBQ3RELFNBQVMsU0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzZCQUN0QyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzZCQUN2RCxZQUFZLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs2QkFHM0MsZUFBZSxTQUFDLHFCQUFxQjtnQ0FDckMsZUFBZSxTQUFDLG9CQUFvQjtpQkFFcEMsS0FBSztnQ0FDTCxLQUFLO21DQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLOytCQUNMLEtBQUs7NkJBQ0wsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxNQUFNOytCQUNOLE1BQU07O0FBZGlDO0lBRHZDLGdCQUFnQixFQUFFO3dEQUMyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbiwgRG9DaGVjayxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjY2Vzc2liaWxpdHlBbmRUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnQsIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9ufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7TGlzdGJveExhYmVsRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9saXN0Ym94LWxhYmVsLWRhdGEnO1xyXG5pbXBvcnQge0xpc3Rib3hJdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9saXN0Ym94LWl0ZW0tZGF0YSc7XHJcbmltcG9ydCB7U3RyaW5nVXRpbHN9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5pbXBvcnQge0xpc3Rib3hMYWJlbENvbXBvbmVudH0gZnJvbSAnLi9saXN0Ym94LWxhYmVsL2xpc3Rib3gtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtMaXN0Ym94SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9saXN0Ym94LWl0ZW0vbGlzdGJveC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1saXN0Ym94JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdGJveC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3Rib3hDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIERvQ2hlY2sge1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGxpc3Rib3hCdXR0b246IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnbGlzdCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94TGlzdDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCd0b29sdGlwJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgbGlzdGJveENvbnRlbnQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZHJlbignb3B0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxpc3Rib3hPcHRpb25zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hMYWJlbENvbXBvbmVudCkgbGFiZWxDb21wb25lbnQ6IExpc3Rib3hMYWJlbENvbXBvbmVudDtcclxuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PExpc3Rib3hJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZzsgLy8gcmVxdWlyZWRcclxuICBASW5wdXQoKSBpc011bHRpc2VsZWN0YWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkb2VzQ2hhbmdlQnV0dG9uVGV4dDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBsYWJlbDogTGlzdGJveExhYmVsRGF0YTtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlc0NvbnRhaW5lcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXNUb29sdGlwOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpdGVtczogTGlzdGJveEl0ZW1EYXRhW107XHJcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhY3RpdmVJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICB0aXBweVByb3BlcnRpZXM6IGFueTsgICAgICAvLyBQcm9waWVkYWRlcyBkZSB0aXBweVxyXG4gIGN1cnJlbnRGb2N1c0luZGV4OiBudW1iZXI7IC8vIMONbmRpY2UgZGVsIGVsZW1lbnRvIGFjdHVhbCBjb24gZm9jdXNcclxuICBidXR0b25Db250ZW50SHRtbDogc3RyaW5nOyAvLyBQdWVkZSBzZXIgZWwgcGFzYWRvIHBvciBwYXLDoW1ldHJvIG8gZWwgaXRlbSBzZWxlY2Npb25hZG8gZW4gY2FzbyBkZSBjdXJyZW50Rm9jdXNJbmRleD10cnVlXHJcbiAgaXNMaXN0VmlzaWJsZSA9IGZhbHNlOyAgICAgLy8gSW5kaWNhIHNpIGxhIGxpc3RhIHNlIGVzdMOhIG1vc3RyYW5kb1xyXG5cclxuICAvLyBjb25kaXRpb25hbElkIHkgY29uZGl0aW9uYWxJdGVtIHJlcHJlc2VudGFuIGVuIGRlc3ktaHRtbCBlbCBpdGVtIGFjdGl2by4gQXF1w60gZXMgbWVqb3Igb2J0ZW5lcmxvIGN1YW5kbyBzZSBuZWNlc2l0YVxyXG4gIGxhc3RBY3RpdmVJdGVtczogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdO1xyXG4gIGl0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXTtcclxuXHJcbiAgaXRlbUxpc3Q6IExpc3Rib3hJdGVtRGF0YVtdO1xyXG5cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBsaXN0Ym94QnV0dG9uRWxlbWVudCA9IHRoaXMubGlzdGJveEJ1dHRvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKHRoaXMubGlzdGJveENvbnRlbnQgJiYgdGhpcy5saXN0Ym94Q29udGVudC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IGNvbnRlbnRUb29sdGlwID0gdGhpcy5saXN0Ym94Q29udGVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICB0aGlzLnRpcHB5UHJvcGVydGllcyA9IHtcclxuICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20tc3RhcnQnLFxyXG4gICAgICAgIGlubGluZVBvc2l0aW9uaW5nOiB0cnVlLFxyXG4gICAgICAgIGNvbnRlbnQ6IGNvbnRlbnRUb29sdGlwLFxyXG4gICAgICAgIGFsbG93SFRNTDogdHJ1ZSwgLy8gTWFrZSBzdXJlIHlvdSBhcmUgc2FuaXRpemluZyBhbnkgdXNlciBkYXRhIGlmIHJlbmRlcmluZyBIVE1MIHRvIHByZXZlbnQgWFNTIGF0dGFja3MuXHJcbiAgICAgICAgdHJpZ2dlcjogJ2NsaWNrJyxcclxuICAgICAgICBoaWRlT25DbGljazogdHJ1ZSxcclxuICAgICAgICBpbnRlcmFjdGl2ZTogdHJ1ZSxcclxuICAgICAgICBhcnJvdzogZmFsc2UsXHJcbiAgICAgICAgb2Zmc2V0OiBbMCwgLTEwXSxcclxuICAgICAgICB0aGVtZTogJycsXHJcbiAgICAgICAgcGx1Z2luczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiAnaGlkZU9uUG9wcGVyQmx1cicsXHJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcclxuICAgICAgICAgICAgZm4oaW5zdGFuY2UpIHtcclxuICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgb25DcmVhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnBvcHBlci5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnByb3BzLmhpZGVPblBvcHBlckJsdXIgJiZcclxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICFpbnN0YW5jZS5wb3BwZXIuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldClcclxuICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdoaWRlT25Fc2MnLFxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXHJcbiAgICAgICAgICAgIGZuKHtoaWRlfSk6IGFueSB7XHJcblxyXG4gICAgICAgICAgICAgIGZ1bmN0aW9uIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gTGlzdGJveENvbXBvbmVudC5LRVlfQ09ERV9FU0MpIHtcclxuICAgICAgICAgICAgICAgICAgaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICBsaXN0Ym94QnV0dG9uRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIG9uU2hvdygpOiB2b2lkIHtcclxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgb25IaWRlKCk6IHZvaWQge1xyXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH1cclxuICAgICAgICBdLFxyXG4gICAgICAgIHJvbGU6IGZhbHNlLFxyXG4gICAgICAgIGFyaWE6IHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICdhdXRvJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uU2hvdzogdGhpcy5vbkxpc3RTaG93LmJpbmQodGhpcyksXHJcbiAgICAgICAgb25IaWRkZW46IHRoaXMub25MaXN0Q2xvc2UuYmluZCh0aGlzKVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgLypcclxuICAgICAgICogUGFyw6FtZXRyb3Mgb2JsaWdhdG9yaW9zXHJcbiAgICAgICAqL1xyXG4gICAgICBpZiAoIXRoaXMuaWQpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcignaWQgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXRoaXMuaXRlbXMgJiYgIXRoaXMuaXRlbUNvbXBvbmVudExpc3QpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcignaXRlbXMgYXJlIHJlcXVpcmVkJyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCF0aGlzLmxhYmVsICYmICF0aGlzLmxhYmVsQ29tcG9uZW50KSB7XHJcbiAgICAgICAgdGhyb3cgRXJyb3IoJ2xhYmVsIGlzIHJlcXVpcmVkJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRMaXN0ICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zID0gW107XHJcbiAgICAgICAgdGhpcy5pdGVtTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMuaXRlbUNvbXBvbmVudExpc3QuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IGl0ZW0uaXRlbUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCkpO1xyXG4gICAgICAgICAgdGhpcy5pdGVtQ29tcG9uZW50U3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICAgICAgICB0aGlzLml0ZW1MaXN0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pdGVtTGlzdCA9IHRoaXMuaXRlbXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLml0ZW1zKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcclxuICAgICAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgICAgIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9uKGl0ZW0udGV4dCwgaXRlbS5odG1sKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdpdGVtIGlzICcgKyBpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXRlbXMgfHwgIXRoaXMuaXRlbUxpc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBY3RpdmVJdGVtc0RhdGEoKTogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1MaXN0XHJcbiAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiBpdGVtLmFjdGl2ZSA/IHtpdGVtLCBpbmRleH0gOiBudWxsKVxyXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbSAhPT0gbnVsbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrQWN0aXZlSXRlbXMoKTogdm9pZCB7XHJcbiAgICBsZXQgYWN0aXZlSXRlbXM6IHsgaXRlbTogTGlzdGJveEl0ZW1EYXRhLCBpbmRleDogbnVtYmVyIH1bXSA9IHRoaXMuaXRlbUxpc3RcclxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uYWN0aXZlID8ge2l0ZW0sIGluZGV4fSA6IG51bGwpXHJcbiAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBudWxsKTtcclxuXHJcbiAgICBsZXQgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMubGFzdEFjdGl2ZUl0ZW1zICYmIGFjdGl2ZUl0ZW1zLmxlbmd0aCA9PT0gdGhpcy5sYXN0QWN0aXZlSXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0aXZlSXRlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoYWN0aXZlSXRlbXNbaV0uaW5kZXggIT09IHRoaXMubGFzdEFjdGl2ZUl0ZW1zW2ldLmluZGV4KSB7XHJcbiAgICAgICAgICBoYXNBY3RpdmVJdGVtQ2hhbmdlID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaGFzQWN0aXZlSXRlbUNoYW5nZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2kgaGF5IGNhbWJpb3MgZXh0ZXJub3MgeSBlcyBzZWxlY2Npw7NuIMO6bmljYSwgYW51bGFtb3MgbGEgc2VsZWNjacOzbiBhbnRlcmlvclxyXG4gICAgaWYgKHRoaXMubGFzdEFjdGl2ZUl0ZW1zICYmICF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlICYmIGhhc0FjdGl2ZUl0ZW1DaGFuZ2UpIHtcclxuICAgICAgaWYgKGFjdGl2ZUl0ZW1zLmxlbmd0aCAhPT0gdGhpcy5sYXN0QWN0aXZlSXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBuZXdJdGVtIG9mIGFjdGl2ZUl0ZW1zKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5sYXN0QWN0aXZlSXRlbXMuZmluZEluZGV4KGkgPT4gaS5pbmRleCA9PT0gbmV3SXRlbS5pbmRleCkgPj0gMCkge1xyXG4gICAgICAgICAgICBuZXdJdGVtLml0ZW0uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYWN0aXZlSXRlbXMgPSBhY3RpdmVJdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLml0ZW0uYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxhc3RBY3RpdmVJdGVtcyA9IGFjdGl2ZUl0ZW1zO1xyXG5cclxuICAgIC8vIFNlIGNhbWJpYSBlbCBjb250ZW5pZG8gZGVsIGJvdMOzblxyXG4gICAgaWYgKHRoaXMuZG9lc0NoYW5nZUJ1dHRvblRleHQgJiYgIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUgJiYgYWN0aXZlSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBhY3RpdmVJdGVtT3B0aW9uID0gdGhpcy5saXN0Ym94T3B0aW9ucy5maW5kKChpdGVtLCBpbmRleCkgPT4gaW5kZXggPT09IGFjdGl2ZUl0ZW1zWzBdLmluZGV4KTtcclxuICAgICAgaWYgKGFjdGl2ZUl0ZW1PcHRpb24pIHtcclxuICAgICAgICB0aGlzLmJ1dHRvbkNvbnRlbnRIdG1sID0gYWN0aXZlSXRlbU9wdGlvbi5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5idXR0b25Db250ZW50SHRtbCA9IHRoaXMuaHRtbCA/IHRoaXMuaHRtbCA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2kgaGF5IGNhbWJpb3MsIHNlIGVtaXRlblxyXG4gICAgaWYgKGhhc0FjdGl2ZUl0ZW1DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbUxpc3QpO1xyXG4gICAgICB0aGlzLmFjdGl2ZUl0ZW1DaGFuZ2UuZW1pdChhY3RpdmVJdGVtcy5sZW5ndGggPiAwID8gYWN0aXZlSXRlbXNbMF0uaXRlbSA6IG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MaXN0U2hvdygpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNMaXN0VmlzaWJsZSA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5saXN0Ym94TGlzdCkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMubGlzdGJveExpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGlzdENsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xpc3RWaXNpYmxlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkxpc3RGb2N1cygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFjdGl2ZUl0ZW1zRGF0YSA9IHRoaXMuZ2V0QWN0aXZlSXRlbXNEYXRhKCk7XHJcbiAgICBpZiAoYWN0aXZlSXRlbXNEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgYWN0aXZlRWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuZ2V0SXRlbUlkKGFjdGl2ZUl0ZW1zRGF0YVswXS5pdGVtLCBhY3RpdmVJdGVtc0RhdGFbMF0uaW5kZXgpKTtcclxuICAgICAgaWYgKGFjdGl2ZUVsZW0pIHtcclxuICAgICAgICBhY3RpdmVFbGVtLmZvY3VzKCk7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IGFjdGl2ZUl0ZW1zRGF0YVswXS5pbmRleDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLml0ZW1MaXN0ICYmIHRoaXMuaXRlbUxpc3QubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gMDtcclxuICAgICAgaWYgKCF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKDApO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ05vIGVsZW1lbnQgdG8gZm9jdXMnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vdmVGb2N1cyhwb3NpdGlvbjogbnVtYmVyLCBldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmIChwb3NpdGlvbiA+PSAwICYmIHBvc2l0aW9uIDwgdGhpcy5pdGVtTGlzdC5sZW5ndGgpIHtcclxuICAgICAgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gcG9zaXRpb247XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKHBvc2l0aW9uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmICh0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSh0aGlzLmN1cnJlbnRGb2N1c0luZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0oaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XHJcbiAgICAgIHRoaXMuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IGl0ZW0uYWN0aXZlID0gZmFsc2UpO1xyXG4gICAgICB0aGlzLml0ZW1MaXN0W2luZGV4XS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pdGVtTGlzdFtpbmRleF0uYWN0aXZlID0gIXRoaXMuaXRlbUxpc3RbaW5kZXhdLmFjdGl2ZTtcclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSBpbmRleDtcclxuXHJcbiAgICB0aGlzLmNoZWNrQWN0aXZlSXRlbXMoKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogTcOpdG9kb3MgcGFyYSBmYWNpbGl0YXIgY29udGVuaWRvIGFsIHRlbXBsYXRlXHJcbiAgICovXHJcblxyXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLmlkICsgJy1saXN0Ym94LWl0ZW0nO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUlkKGl0ZW06IExpc3Rib3hJdGVtRGF0YSwgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgaXRlbUlkOiBzdHJpbmc7XHJcbiAgICBpZiAoaXRlbS5pZCkge1xyXG4gICAgICBpdGVtSWQgPSBpdGVtLmlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbUlkID0gdGhpcy5nZXRJZFByZWZpeCgpO1xyXG4gICAgICBpZiAoaW5kZXggPiAwKSB7XHJcbiAgICAgICAgaXRlbUlkICs9IGAtJHtpbmRleH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbUlkO1xyXG4gIH1cclxuXHJcbiAgaGFzTGFiZWwoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISEodGhpcy5sYWJlbCB8fCB0aGlzLmxhYmVsQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsQ29udGVudChsYWJlbDogTGlzdGJveExhYmVsRGF0YSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbGFiZWwuaHRtbCA/IGxhYmVsLmh0bWwgOiBgPHA+JHsgU3RyaW5nVXRpbHMuZXNjYXBlSHRtbChsYWJlbC50ZXh0KSB9PC9wPmA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,9 +1,10 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
2
  import { AccessibilityAndContentRequiredComponent } from '../../../shared/components';
3
3
  export class PillComponent extends AccessibilityAndContentRequiredComponent {
4
4
  constructor() {
5
5
  super(...arguments);
6
6
  this.clickEvent = new EventEmitter();
7
+ this.hostTabIndex = null; // Fix para evitar el tab-index agregado por routerLink en el host
7
8
  }
8
9
  onClick(event) {
9
10
  this.clickEvent.emit(event);
@@ -57,6 +58,7 @@ PillComponent.propDecorators = {
57
58
  routerLinkActiveClasses: [{ type: Input }],
58
59
  classes: [{ type: Input }],
59
60
  id: [{ type: Input }],
60
- clickEvent: [{ type: Output }]
61
+ clickEvent: [{ type: Output }],
62
+ hostTabIndex: [{ type: HostBinding, args: ['attr.tabindex',] }]
61
63
  };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9waWxsL3BpbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTXRGLE1BQU0sT0FBTyxhQUFlLFNBQVEsd0NBQXdDO0lBSjVFOztRQWtCWSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQXdDNUMsQ0FBQztJQXRDQyxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBQztZQUNaLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDdEM7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDYixJQUFJLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQzthQUNoQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsVUFBVSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVILElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQzs7QUFsRHNCLG9CQUFNLEdBQVcsR0FBRyxDQUFDO0FBQ3JCLHlCQUFXLEdBQVcsUUFBUSxDQUFDO0FBQy9CLHVCQUFTLEdBQVcsTUFBTSxDQUFDOztZQVJuRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLDRtTEFBb0M7YUFDckM7OzttQkFPRSxLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NDQUNMLEtBQUs7c0JBQ0wsS0FBSztpQkFDTCxLQUFLO3lCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5QW5kQ29udGVudFJlcXVpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXBpbGwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWxsLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGlsbENvbXBvbmVudCAgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5QW5kQ29udGVudFJlcXVpcmVkQ29tcG9uZW50IHtcclxuXHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX0E6IHN0cmluZyA9ICdhJztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfQlVUVE9OOiBzdHJpbmcgPSAnYnV0dG9uJztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfU1BBTjogc3RyaW5nID0gJ3NwYW4nO1xyXG5cclxuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7IC8vICdhJywgJ2J1dHRvbicgbyAnc3BhbidcclxuICBASW5wdXQoKSBocmVmOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGFyZ2V0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nfGFueVtdO1xyXG4gIEBJbnB1dCgpIHJvdXRlckxpbmtBY3RpdmVDbGFzc2VzOiBzdHJpbmd8c3RyaW5nW107XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIGxldCB0eXBlOiBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy50eXBlKXtcclxuICAgICAgdHlwZSA9IHRoaXMudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaHJlZikge1xyXG4gICAgICAgIHR5cGUgPSBQaWxsQ29tcG9uZW50LlRZUEVfQTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0eXBlID0gUGlsbENvbXBvbmVudC5UWVBFX1NQQU47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0eXBlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NOYW1lcygpOiBzdHJpbmcge1xyXG4gICAgICBsZXQgY2xhc3NOYW1lcyA9ICdjLXBpbGwnO1xyXG4gICAgICBpZiAodGhpcy5jbGFzc2VzKSB7XHJcbiAgICAgICAgY2xhc3NOYW1lcyArPSAnICcgKyB0aGlzLmNsYXNzZXM7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNsYXNzTmFtZXM7XHJcbiAgICB9XHJcblxyXG4gIGdldCBzdGF0aWNFbGVtZW50VHlwZUEoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBQaWxsQ29tcG9uZW50LlRZUEVfQTtcclxuICB9XHJcblxyXG4gIGdldCBzdGF0aWNFbGVtZW50VHlwZUJ1dHRvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFBpbGxDb21wb25lbnQuVFlQRV9CVVRUT047XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhdGljRWxlbWVudFR5cGVTcGFuKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gUGlsbENvbXBvbmVudC5UWVBFX1NQQU47XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9waWxsL3BpbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU10RixNQUFNLE9BQU8sYUFBZSxTQUFRLHdDQUF3QztJQUo1RTs7UUFrQlksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFSCxpQkFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLGtFQUFrRTtJQXdDaEksQ0FBQztJQXRDQyxPQUFPLENBQUMsS0FBVTtRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBQztZQUNaLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDdEM7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDYixJQUFJLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxJQUFJLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQzthQUNoQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsVUFBVSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVILElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQzs7QUFwRHNCLG9CQUFNLEdBQVcsR0FBRyxDQUFDO0FBQ3JCLHlCQUFXLEdBQVcsUUFBUSxDQUFDO0FBQy9CLHVCQUFTLEdBQVcsTUFBTSxDQUFDOztZQVJuRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLDRtTEFBb0M7YUFDckM7OzttQkFPRSxLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NDQUNMLEtBQUs7c0JBQ0wsS0FBSztpQkFDTCxLQUFLO3lCQUVMLE1BQU07MkJBRU4sV0FBVyxTQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlBbmRDb250ZW50UmVxdWlyZWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktcGlsbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpbGwuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaWxsQ29tcG9uZW50ICBleHRlbmRzIEFjY2Vzc2liaWxpdHlBbmRDb250ZW50UmVxdWlyZWRDb21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfQTogc3RyaW5nID0gJ2EnO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9CVVRUT046IHN0cmluZyA9ICdidXR0b24nO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9TUEFOOiBzdHJpbmcgPSAnc3Bhbic7XHJcblxyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZzsgLy8gJ2EnLCAnYnV0dG9uJyBvICdzcGFuJ1xyXG4gIEBJbnB1dCgpIGhyZWY6IHN0cmluZztcclxuICBASW5wdXQoKSB0YXJnZXQ6IHN0cmluZztcclxuICBASW5wdXQoKSByb3V0ZXJMaW5rOiBzdHJpbmd8YW55W107XHJcbiAgQElucHV0KCkgcm91dGVyTGlua0FjdGl2ZUNsYXNzZXM6IHN0cmluZ3xzdHJpbmdbXTtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHJlYWRvbmx5IGhvc3RUYWJJbmRleCA9IG51bGw7IC8vIEZpeCBwYXJhIGV2aXRhciBlbCB0YWItaW5kZXggYWdyZWdhZG8gcG9yIHJvdXRlckxpbmsgZW4gZWwgaG9zdFxyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIGxldCB0eXBlOiBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy50eXBlKXtcclxuICAgICAgdHlwZSA9IHRoaXMudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuaHJlZikge1xyXG4gICAgICAgIHR5cGUgPSBQaWxsQ29tcG9uZW50LlRZUEVfQTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0eXBlID0gUGlsbENvbXBvbmVudC5UWVBFX1NQQU47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0eXBlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NOYW1lcygpOiBzdHJpbmcge1xyXG4gICAgICBsZXQgY2xhc3NOYW1lcyA9ICdjLXBpbGwnO1xyXG4gICAgICBpZiAodGhpcy5jbGFzc2VzKSB7XHJcbiAgICAgICAgY2xhc3NOYW1lcyArPSAnICcgKyB0aGlzLmNsYXNzZXM7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGNsYXNzTmFtZXM7XHJcbiAgICB9XHJcblxyXG4gIGdldCBzdGF0aWNFbGVtZW50VHlwZUEoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBQaWxsQ29tcG9uZW50LlRZUEVfQTtcclxuICB9XHJcblxyXG4gIGdldCBzdGF0aWNFbGVtZW50VHlwZUJ1dHRvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFBpbGxDb21wb25lbnQuVFlQRV9CVVRUT047XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhdGljRWxlbWVudFR5cGVTcGFuKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gUGlsbENvbXBvbmVudC5UWVBFX1NQQU47XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { AccessibilityComponent } from '../../../../shared/components';
3
+ export class ToggleOffStateComponent extends AccessibilityComponent {
4
+ }
5
+ ToggleOffStateComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-toggle-off-state',
8
+ template: "<ng-template #contentTemplateOffState>\r\n <ng-content></ng-content>\r\n</ng-template>"
9
+ },] }
10
+ ];
11
+ ToggleOffStateComponent.propDecorators = {
12
+ content: [{ type: ViewChild, args: ['contentTemplateOffState', { static: true },] }],
13
+ classes: [{ type: Input }]
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9mZi1zdGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy90b2dnbGUvdG9nZ2xlLW9mZi1zdGF0ZS90b2dnbGUtb2ZmLXN0YXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFNckUsTUFBTSxPQUFPLHVCQUF5QixTQUFRLHNCQUFzQjs7O1lBSm5FLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxvR0FBZ0Q7YUFDakQ7OztzQkFHRSxTQUFTLFNBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUVyRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWNjZXNzaWJpbGl0eUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXRvZ2dsZS1vZmYtc3RhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtb2ZmLXN0YXRlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9nZ2xlT2ZmU3RhdGVDb21wb25lbnQgIGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCAge1xyXG4gIFxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZU9mZlN0YXRlJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudDtcclxuXHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxufSJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { AccessibilityComponent } from '../../../../shared/components';
3
+ export class ToggleOnStateComponent extends AccessibilityComponent {
4
+ }
5
+ ToggleOnStateComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-toggle-on-state',
8
+ template: "<ng-template #contentTemplateOnState>\r\n <ng-content></ng-content>\r\n</ng-template>"
9
+ },] }
10
+ ];
11
+ ToggleOnStateComponent.propDecorators = {
12
+ content: [{ type: ViewChild, args: ['contentTemplateOnState', { static: true },] }],
13
+ classes: [{ type: Input }]
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUtb24tc3RhdGUvdG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFNckUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHNCQUFzQjs7O1lBSmpFLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxtR0FBK0M7YUFDaEQ7OztzQkFHRSxTQUFTLFNBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUVwRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWNjZXNzaWJpbGl0eUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXRvZ2dsZS1vbi1zdGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1vbi1zdGF0ZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvZ2dsZU9uU3RhdGVDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGVudFRlbXBsYXRlT25TdGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnQ7XHJcblxyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,41 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
3
+ import { AccessibilityComponent } from '../../../shared/components';
4
+ import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
5
+ import { ToggleOffStateComponent } from './toggle-off-state/toggle-off-state.component';
6
+ import { ToggleOnStateComponent } from './toggle-on-state/toggle-on-state.component';
7
+ export class ToggleComponent extends AccessibilityComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.clickEvent = new EventEmitter();
11
+ this.pressedChange = new EventEmitter();
12
+ }
13
+ onClick(event) {
14
+ this.pressed = !this.pressed;
15
+ this.pressedChange.emit(this.pressed);
16
+ this.clickEvent.emit(event);
17
+ }
18
+ }
19
+ ToggleComponent.decorators = [
20
+ { type: Component, args: [{
21
+ selector: 'desy-toggle',
22
+ template: "<!-- toggle -->\r\n<div class=\"relative\">\r\n <button *ngIf=\"isSwitch\"\r\n (click)=\"onClick($event)\"\r\n [type]=\"'button'\"\r\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\r\n [attr.aria-checked]=\"pressed ? 'true' : 'false'\"\r\n \r\n [attr.id]=\"id ? id : null\" \r\n [attr.role]=\"'switch'\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\" \r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" \r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\" \r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" \r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" \r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" \r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n \r\n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\r\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\r\n </button>\r\n\r\n <button *ngIf=\"!isSwitch\"\r\n (click)=\"onClick($event)\"\r\n [type]=\"'button'\"\r\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\r\n [attr.aria-pressed]=\"pressed ? 'true' : 'false'\"\r\n [attr.id]=\"id ? id : null\" \r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\" \r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\" \r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\" \r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\" \r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" \r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" \r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n \r\n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\r\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\r\n </button>\r\n</div>\r\n<!-- /toggle -->"
23
+ },] }
24
+ ];
25
+ ToggleComponent.propDecorators = {
26
+ id: [{ type: Input }],
27
+ isSwitch: [{ type: Input }],
28
+ pressed: [{ type: Input }],
29
+ classes: [{ type: Input }],
30
+ clickEvent: [{ type: Output }],
31
+ pressedChange: [{ type: Output }],
32
+ contentTemplateOnState: [{ type: ContentChildren, args: [ToggleOnStateComponent,] }],
33
+ contentTemplateOffState: [{ type: ContentChildren, args: [ToggleOffStateComponent,] }]
34
+ };
35
+ __decorate([
36
+ DesyContentChild()
37
+ ], ToggleComponent.prototype, "contentTemplateOnState", void 0);
38
+ __decorate([
39
+ DesyContentChild()
40
+ ], ToggleComponent.prototype, "contentTemplateOffState", void 0);
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQU1yRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxzQkFBc0I7SUFKM0Q7O1FBV1ksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQWN2RSxDQUFDO0lBTkMsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQXhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLGtxR0FBc0M7YUFDdkM7OztpQkFHRSxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSztzQkFDTCxLQUFLO3lCQUVMLE1BQU07NEJBQ04sTUFBTTtxQ0FHTixlQUFlLFNBQUMsc0JBQXNCO3NDQUd0QyxlQUFlLFNBQUMsdUJBQXVCOztBQUhDO0lBRHhDLGdCQUFnQixFQUFFOytEQUNxRTtBQUc5QztJQUR6QyxnQkFBZ0IsRUFBRTtnRUFDd0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuaW1wb3J0IHsgVG9nZ2xlT2ZmU3RhdGVDb21wb25lbnQgfSBmcm9tICcuL3RvZ2dsZS1vZmYtc3RhdGUvdG9nZ2xlLW9mZi1zdGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2dnbGVPblN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi90b2dnbGUtb24tc3RhdGUvdG9nZ2xlLW9uLXN0YXRlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktdG9nZ2xlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XHJcbiAgXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBpc1N3aXRjaDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBwcmVzc2VkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBcclxuICBAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHJlc3NlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBcclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihUb2dnbGVPblN0YXRlQ29tcG9uZW50KSBjb250ZW50VGVtcGxhdGVPblN0YXRlOiBUb2dnbGVPblN0YXRlQ29tcG9uZW50O1xyXG4gIFxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKFRvZ2dsZU9mZlN0YXRlQ29tcG9uZW50KSBjb250ZW50VGVtcGxhdGVPZmZTdGF0ZTogVG9nZ2xlT2ZmU3RhdGVDb21wb25lbnQ7XHJcblxyXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmVzc2VkID0gIXRoaXMucHJlc3NlZDtcclxuICAgIHRoaXMucHJlc3NlZENoYW5nZS5lbWl0KHRoaXMucHJlc3NlZCk7XHJcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -11,6 +11,9 @@ import { DropdownComponent } from './components/dropdown/dropdown.component';
11
11
  import { ListboxComponent } from './components/listbox/listbox.component';
12
12
  import { ListboxItemComponent } from './components/listbox/listbox-item/listbox-item.component';
13
13
  import { ListboxLabelComponent } from './components/listbox/listbox-label/listbox-label.component';
14
+ import { ToggleComponent } from './components/toggle/toggle.component';
15
+ import { ToggleOnStateComponent } from './components/toggle/toggle-on-state/toggle-on-state.component';
16
+ import { ToggleOffStateComponent } from './components/toggle/toggle-off-state/toggle-off-state.component';
14
17
  export class DesyButtonsModule {
15
18
  }
16
19
  DesyButtonsModule.decorators = [
@@ -22,7 +25,10 @@ DesyButtonsModule.decorators = [
22
25
  ListboxComponent,
23
26
  PillComponent,
24
27
  ListboxItemComponent,
25
- ListboxLabelComponent
28
+ ListboxLabelComponent,
29
+ ToggleComponent,
30
+ ToggleOnStateComponent,
31
+ ToggleOffStateComponent
26
32
  ],
27
33
  imports: [
28
34
  CommonModule,
@@ -37,8 +43,11 @@ DesyButtonsModule.decorators = [
37
43
  ListboxComponent,
38
44
  PillComponent,
39
45
  ListboxItemComponent,
40
- ListboxLabelComponent
46
+ ListboxLabelComponent,
47
+ ToggleComponent,
48
+ ToggleOnStateComponent,
49
+ ToggleOffStateComponent
41
50
  ]
42
51
  },] }
43
52
  ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1idXR0b25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9kZXN5LWJ1dHRvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELGNBQWM7QUFDZCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBK0JuRyxNQUFNLE9BQU8saUJBQWlCOzs7WUE1QjdCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixhQUFhO29CQUViLG9CQUFvQjtvQkFDcEIscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixhQUFhO29CQUViLG9CQUFvQjtvQkFDcEIscUJBQXFCO2lCQUN0QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRGVzeVZpZXdzTW9kdWxlIH0gZnJvbSAnLi4vZGVzeS12aWV3cy9kZXN5LXZpZXdzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgTmd4VGlwcHlNb2R1bGUgfSBmcm9tICduZ3gtdGlwcHktd3JhcHBlcic7XHJcblxyXG4vLyBjb21wb25lbnRlc1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Mb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uLWxvYWRlci9idXR0b24tbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBpbGxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlsbC9waWxsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpc3Rib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpc3Rib3hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveC1pdGVtL2xpc3Rib3gtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0Ym94TGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LWxhYmVsL2xpc3Rib3gtbGFiZWwuY29tcG9uZW50JztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBMaXN0Ym94Q29tcG9uZW50LFxyXG4gICAgUGlsbENvbXBvbmVudCxcclxuXHJcbiAgICBMaXN0Ym94SXRlbUNvbXBvbmVudCxcclxuICAgIExpc3Rib3hMYWJlbENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgRGVzeVZpZXdzTW9kdWxlLFxyXG4gICAgTmd4VGlwcHlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkxvYWRlckNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duQ29tcG9uZW50LFxyXG4gICAgTGlzdGJveENvbXBvbmVudCxcclxuICAgIFBpbGxDb21wb25lbnQsXHJcblxyXG4gICAgTGlzdGJveEl0ZW1Db21wb25lbnQsXHJcbiAgICBMaXN0Ym94TGFiZWxDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXN5QnV0dG9uc01vZHVsZSB7IH1cclxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS1idXR0b25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9kZXN5LWJ1dHRvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELGNBQWM7QUFDZCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQXFDMUcsTUFBTSxPQUFPLGlCQUFpQjs7O1lBbEM3QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFFYixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtvQkFDckIsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixlQUFlO29CQUNmLGNBQWM7aUJBQ2Y7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGVBQWU7b0JBQ2YscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFFYixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtvQkFDckIsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERlc3lWaWV3c01vZHVsZSB9IGZyb20gJy4uL2Rlc3ktdmlld3MvZGVzeS12aWV3cy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5neFRpcHB5TW9kdWxlIH0gZnJvbSAnbmd4LXRpcHB5LXdyYXBwZXInO1xyXG5cclxuLy8gY29tcG9uZW50ZXNcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1sb2FkZXIvYnV0dG9uLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQaWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpbGwvcGlsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaXN0Ym94SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlzdGJveExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveC1sYWJlbC9saXN0Ym94LWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvZ2dsZU9uU3RhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS1vbi1zdGF0ZS90b2dnbGUtb24tc3RhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9nZ2xlT2ZmU3RhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9nZ2xlL3RvZ2dsZS1vZmYtc3RhdGUvdG9nZ2xlLW9mZi1zdGF0ZS5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICBCdXR0b25Mb2FkZXJDb21wb25lbnQsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIExpc3Rib3hDb21wb25lbnQsXHJcbiAgICBQaWxsQ29tcG9uZW50LFxyXG5cclxuICAgIExpc3Rib3hJdGVtQ29tcG9uZW50LFxyXG4gICAgTGlzdGJveExhYmVsQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlT25TdGF0ZUNvbXBvbmVudCxcclxuICAgIFRvZ2dsZU9mZlN0YXRlQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTaGFyZWRNb2R1bGUsXHJcbiAgICBEZXN5Vmlld3NNb2R1bGUsXHJcbiAgICBOZ3hUaXBweU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBMaXN0Ym94Q29tcG9uZW50LFxyXG4gICAgUGlsbENvbXBvbmVudCxcclxuXHJcbiAgICBMaXN0Ym94SXRlbUNvbXBvbmVudCxcclxuICAgIExpc3Rib3hMYWJlbENvbXBvbmVudCxcclxuICAgIFRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFRvZ2dsZU9uU3RhdGVDb21wb25lbnQsXHJcbiAgICBUb2dnbGVPZmZTdGF0ZUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERlc3lCdXR0b25zTW9kdWxlIHsgfVxyXG4iXX0=