@skyux/layout 7.0.0-beta.1 → 7.0.0-beta.3

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 (76) hide show
  1. package/documentation.json +1355 -781
  2. package/esm2020/index.mjs +1 -2
  3. package/esm2020/lib/modules/action-button/action-button-container.component.mjs +2 -2
  4. package/esm2020/lib/modules/card/card.component.mjs +38 -11
  5. package/esm2020/lib/modules/definition-list/definition-list-label.component.mjs +1 -1
  6. package/esm2020/lib/modules/definition-list/definition-list-value.component.mjs +3 -3
  7. package/esm2020/lib/modules/definition-list/definition-list.component.mjs +1 -1
  8. package/esm2020/lib/modules/definition-list/definition-list.service.mjs +1 -1
  9. package/esm2020/lib/modules/description-list/description-list-adapter-service.mjs +26 -22
  10. package/esm2020/lib/modules/description-list/description-list-content.component.mjs +2 -2
  11. package/esm2020/lib/modules/description-list/description-list-description.component.mjs +16 -11
  12. package/esm2020/lib/modules/description-list/description-list-term.component.mjs +1 -1
  13. package/esm2020/lib/modules/description-list/description-list.component.mjs +25 -16
  14. package/esm2020/lib/modules/fluid-grid/column.component.mjs +19 -1
  15. package/esm2020/lib/modules/fluid-grid/fluid-grid.component.mjs +15 -35
  16. package/esm2020/lib/modules/fluid-grid/row.component.mjs +1 -1
  17. package/esm2020/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.mjs +1 -1
  18. package/esm2020/lib/modules/format/format.component.mjs +34 -26
  19. package/esm2020/lib/modules/inline-delete/inline-delete-adapter.service.mjs +91 -83
  20. package/esm2020/lib/modules/inline-delete/inline-delete.component.mjs +15 -9
  21. package/esm2020/lib/modules/page/page-theme-adapter.service.mjs +14 -8
  22. package/esm2020/lib/modules/page/page.component.mjs +8 -4
  23. package/esm2020/lib/modules/page-summary/page-summary-adapter.service.mjs +1 -1
  24. package/esm2020/lib/modules/page-summary/page-summary.component.mjs +40 -16
  25. package/esm2020/lib/modules/text-expand/text-expand-adapter.service.mjs +8 -10
  26. package/esm2020/lib/modules/text-expand/text-expand-modal-context-token.mjs +6 -0
  27. package/esm2020/lib/modules/text-expand/text-expand-modal-context.mjs +2 -6
  28. package/esm2020/lib/modules/text-expand/text-expand-modal.component.mjs +12 -10
  29. package/esm2020/lib/modules/text-expand/text-expand.component.mjs +188 -127
  30. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.mjs +10 -12
  31. package/esm2020/lib/modules/text-expand-repeater/text-expand-repeater.component.mjs +139 -95
  32. package/esm2020/lib/modules/toolbar/toolbar.component.mjs +2 -2
  33. package/esm2020/testing/action-button-fixture.mjs +12 -6
  34. package/esm2020/testing/card-fixture.mjs +19 -16
  35. package/esm2020/testing/page-summary-fixture.mjs +9 -5
  36. package/fesm2015/skyux-layout-testing.mjs +35 -24
  37. package/fesm2015/skyux-layout-testing.mjs.map +1 -1
  38. package/fesm2015/skyux-layout.mjs +675 -506
  39. package/fesm2015/skyux-layout.mjs.map +1 -1
  40. package/fesm2020/skyux-layout-testing.mjs +35 -24
  41. package/fesm2020/skyux-layout-testing.mjs.map +1 -1
  42. package/fesm2020/skyux-layout.mjs +669 -506
  43. package/fesm2020/skyux-layout.mjs.map +1 -1
  44. package/index.d.ts +0 -1
  45. package/lib/modules/card/card.component.d.ts +7 -6
  46. package/lib/modules/definition-list/definition-list-label.component.d.ts +1 -1
  47. package/lib/modules/definition-list/definition-list-value.component.d.ts +1 -1
  48. package/lib/modules/definition-list/definition-list.component.d.ts +2 -2
  49. package/lib/modules/definition-list/definition-list.service.d.ts +2 -2
  50. package/lib/modules/description-list/description-list-adapter-service.d.ts +1 -2
  51. package/lib/modules/description-list/description-list-content.component.d.ts +2 -2
  52. package/lib/modules/description-list/description-list-description.component.d.ts +5 -7
  53. package/lib/modules/description-list/description-list-term.component.d.ts +1 -1
  54. package/lib/modules/description-list/description-list.component.d.ts +6 -7
  55. package/lib/modules/fluid-grid/column.component.d.ts +7 -5
  56. package/lib/modules/fluid-grid/fluid-grid.component.d.ts +3 -9
  57. package/lib/modules/fluid-grid/row.component.d.ts +1 -1
  58. package/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.d.ts +1 -1
  59. package/lib/modules/format/format.component.d.ts +5 -7
  60. package/lib/modules/inline-delete/inline-delete-adapter.service.d.ts +1 -11
  61. package/lib/modules/inline-delete/inline-delete.component.d.ts +3 -5
  62. package/lib/modules/page/page-theme-adapter.service.d.ts +1 -1
  63. package/lib/modules/page/page.component.d.ts +1 -1
  64. package/lib/modules/page-summary/page-summary.component.d.ts +8 -9
  65. package/lib/modules/text-expand/text-expand-adapter.service.d.ts +3 -4
  66. package/lib/modules/text-expand/text-expand-modal-context-token.d.ts +6 -0
  67. package/lib/modules/text-expand/text-expand-modal-context.d.ts +1 -1
  68. package/lib/modules/text-expand/text-expand.component.d.ts +18 -25
  69. package/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.d.ts +4 -5
  70. package/lib/modules/text-expand-repeater/text-expand-repeater.component.d.ts +13 -21
  71. package/package.json +9 -9
  72. package/testing/action-button-fixture.d.ts +4 -4
  73. package/testing/card-fixture.d.ts +3 -5
  74. package/testing/page-summary-fixture.d.ts +4 -4
  75. package/esm2020/lib/modules/fluid-grid/fluid-grid-gutter-size.mjs +0 -20
  76. package/lib/modules/fluid-grid/fluid-grid-gutter-size.d.ts +0 -18
@@ -1,4 +1,7 @@
1
- import { ChangeDetectorRef, Component, ElementRef, Input, TemplateRef, ViewChild, } from '@angular/core';
1
+ var _SkyTextExpandRepeaterComponent_instances, _SkyTextExpandRepeaterComponent_seeMoreText, _SkyTextExpandRepeaterComponent_seeLessText, _SkyTextExpandRepeaterComponent_htmlItems, _SkyTextExpandRepeaterComponent__data, _SkyTextExpandRepeaterComponent__maxItems, _SkyTextExpandRepeaterComponent_resources, _SkyTextExpandRepeaterComponent_elRef, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, _SkyTextExpandRepeaterComponent_changeDetector, _SkyTextExpandRepeaterComponent_animateRepeater, _SkyTextExpandRepeaterComponent_setup, _SkyTextExpandRepeaterComponent_hideItems, _SkyTextExpandRepeaterComponent_showItems;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { animate, state, style, transition, trigger, } from '@angular/animations';
4
+ import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild, } from '@angular/core';
2
5
  import { SkyLibResourcesService } from '@skyux/i18n';
3
6
  import { forkJoin as observableForkJoin } from 'rxjs';
4
7
  import { take } from 'rxjs/operators';
@@ -13,146 +16,187 @@ import * as i3 from "@angular/common";
13
16
  let nextId = 0;
14
17
  export class SkyTextExpandRepeaterComponent {
15
18
  constructor(resources, elRef, textExpandRepeaterAdapter, changeDetector) {
16
- this.resources = resources;
17
- this.elRef = elRef;
18
- this.textExpandRepeaterAdapter = textExpandRepeaterAdapter;
19
- this.changeDetector = changeDetector;
19
+ _SkyTextExpandRepeaterComponent_instances.add(this);
20
20
  /**
21
21
  * Specifies the style of bullet to use
22
22
  * @default "unordered"
23
23
  */
24
24
  this.listStyle = 'unordered';
25
+ this.buttonText = '';
26
+ this.expandable = false;
25
27
  this.contentSectionId = `sky-text-expand-repeater-content-${++nextId}`;
26
- this.isExpanded = false;
28
+ this.transitionHeight = 1;
29
+ _SkyTextExpandRepeaterComponent_seeMoreText.set(this, '');
30
+ _SkyTextExpandRepeaterComponent_seeLessText.set(this, '');
31
+ _SkyTextExpandRepeaterComponent_htmlItems.set(this, void 0);
32
+ _SkyTextExpandRepeaterComponent__data.set(this, void 0);
33
+ _SkyTextExpandRepeaterComponent__maxItems.set(this, void 0);
34
+ _SkyTextExpandRepeaterComponent_resources.set(this, void 0);
35
+ _SkyTextExpandRepeaterComponent_elRef.set(this, void 0);
36
+ _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter.set(this, void 0);
37
+ _SkyTextExpandRepeaterComponent_changeDetector.set(this, void 0);
38
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_resources, resources, "f");
39
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_elRef, elRef, "f");
40
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, textExpandRepeaterAdapter, "f");
41
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_changeDetector, changeDetector, "f");
42
+ }
43
+ /**
44
+ * Specifies the data to truncate.
45
+ */
46
+ set data(value) {
47
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__data, value, "f");
48
+ // Wait for the dom to render the new items based on the updated data
49
+ setTimeout(() => {
50
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_htmlItems, __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getItems(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_elRef, "f")), "f");
51
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, value);
52
+ });
53
+ }
54
+ get data() {
55
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__data, "f");
56
+ }
57
+ /**
58
+ * Specifies the number of items to display before truncating the list. If not supplied, all items are shown.
59
+ */
60
+ set maxItems(value) {
61
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent__maxItems, value, "f");
62
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_setup).call(this, this.data);
63
+ }
64
+ get maxItems() {
65
+ return __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent__maxItems, "f");
27
66
  }
28
67
  ngAfterViewInit() {
29
- if (this.contentItems) {
30
- this.items = this.textExpandRepeaterAdapter.getItems(this.elRef);
31
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
32
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
33
- }
34
- }
35
68
  observableForkJoin([
36
- this.resources.getString('skyux_text_expand_see_more'),
37
- this.resources.getString('skyux_text_expand_see_less'),
69
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_more'),
70
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_resources, "f").getString('skyux_text_expand_see_less'),
38
71
  ])
39
72
  .pipe(take(1))
40
73
  .subscribe((resources) => {
41
- this.seeMoreText = resources[0];
42
- this.seeLessText = resources[1];
74
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeMoreText, resources[0], "f");
75
+ __classPrivateFieldSet(this, _SkyTextExpandRepeaterComponent_seeLessText, resources[1], "f");
43
76
  /* sanity check */
44
77
  /* istanbul ignore else */
45
78
  if (!this.isExpanded) {
46
- this.buttonText = this.seeMoreText;
79
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
47
80
  }
48
81
  else {
49
- this.buttonText = this.seeLessText;
82
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
50
83
  }
51
- this.changeDetector.detectChanges();
84
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").detectChanges();
52
85
  });
53
86
  }
54
- ngOnChanges(changes) {
55
- /* istanbul ignore else */
56
- if (changes.maxItems || changes.data) {
57
- this.setup(this.data);
58
- }
59
- }
60
87
  animationEnd() {
61
- // Ensure the correct items are displayed
88
+ // Ensure all items that should be hidden are hidden. This is because we need them shown during the animation window for visual purposes.
62
89
  if (!this.isExpanded) {
63
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
64
- this.textExpandRepeaterAdapter.hideItem(this.items[i]);
65
- }
90
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
66
91
  }
67
- // Set height back to auto so the browser can change the height as needed with window changes
68
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, undefined);
92
+ // This set timeout is needed as the `animationEnd` function is called by the angular animation callback prior to the animation setting the style on the element
93
+ setTimeout(() => {
94
+ if (this.containerEl) {
95
+ // Set height back to auto so the browser can change the height as needed with window changes
96
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").removeContainerMaxHeight(this.containerEl);
97
+ }
98
+ });
69
99
  }
70
100
  repeaterExpand() {
71
101
  if (!this.isExpanded) {
72
- this.setContainerMaxHeight();
73
- setTimeout(() => {
74
- this.isExpanded = true;
75
- this.animateRepeater(true);
76
- });
102
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, true);
77
103
  }
78
104
  else {
79
- this.setContainerMaxHeight();
80
- setTimeout(() => {
81
- this.isExpanded = false;
82
- this.animateRepeater(false);
83
- });
105
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_animateRepeater).call(this, false);
84
106
  }
85
107
  }
86
- setContainerMaxHeight() {
87
- // ensure everything is reset
88
- this.animationEnd();
89
- /* Before animation is kicked off, ensure that a maxHeight exists */
90
- /* Once we have support for angular v4 animations with parameters we can use that instead */
91
- const currentHeight = this.textExpandRepeaterAdapter.getContainerHeight(this.containerEl);
92
- this.textExpandRepeaterAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
93
- }
94
- animateRepeater(expanding) {
95
- const adapter = this.textExpandRepeaterAdapter;
96
- const container = this.containerEl;
97
- adapter.setContainerHeight(container, undefined);
98
- const currentHeight = adapter.getContainerHeight(container);
99
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
100
- if (!expanding) {
101
- adapter.hideItem(this.items[i]);
102
- }
103
- else {
104
- adapter.showItem(this.items[i]);
105
- }
108
+ }
109
+ _SkyTextExpandRepeaterComponent_seeMoreText = new WeakMap(), _SkyTextExpandRepeaterComponent_seeLessText = new WeakMap(), _SkyTextExpandRepeaterComponent_htmlItems = new WeakMap(), _SkyTextExpandRepeaterComponent__data = new WeakMap(), _SkyTextExpandRepeaterComponent__maxItems = new WeakMap(), _SkyTextExpandRepeaterComponent_resources = new WeakMap(), _SkyTextExpandRepeaterComponent_elRef = new WeakMap(), _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter = new WeakMap(), _SkyTextExpandRepeaterComponent_changeDetector = new WeakMap(), _SkyTextExpandRepeaterComponent_instances = new WeakSet(), _SkyTextExpandRepeaterComponent_animateRepeater = function _SkyTextExpandRepeaterComponent_animateRepeater(expanding) {
110
+ const adapter = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f");
111
+ const container = this.containerEl;
112
+ if (container) {
113
+ if (expanding) {
114
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
115
+ }
116
+ else {
117
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
106
118
  }
107
119
  const newHeight = adapter.getContainerHeight(container);
120
+ this.transitionHeight = newHeight;
108
121
  if (!expanding) {
109
- this.buttonText = this.seeMoreText;
122
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
110
123
  }
111
124
  else {
112
- this.buttonText = this.seeLessText;
125
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeLessText, "f");
113
126
  }
114
- if (newHeight < currentHeight) {
115
- // The new text is smaller than the old text, so put the old text back before doing
116
- // the collapse animation to avoid showing a big chunk of whitespace.
117
- for (let i = this.maxItems; i < this.contentItems.length; i++) {
118
- adapter.showItem(this.items[i]);
119
- }
127
+ if (!expanding) {
128
+ // Show all items during animation for visual purposes.
129
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_showItems).call(this);
120
130
  }
121
- adapter.setContainerHeight(container, `${currentHeight}px`);
122
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
123
- // in order to do the transtion in height correctly. Without it the transition does not fire.
124
- setTimeout(() => {
125
- adapter.setContainerHeight(container, `${newHeight}px`);
126
- /* This resets values if the transition does not get kicked off */
127
- setTimeout(() => {
128
- this.animationEnd();
129
- }, 500);
130
- }, 10);
131
+ this.isExpanded = expanding;
131
132
  }
132
- setup(value) {
133
- if (value) {
134
- const length = value.length;
135
- if (length > this.maxItems) {
136
- this.expandable = true;
137
- this.buttonText = this.seeMoreText;
138
- this.isExpanded = false;
133
+ }, _SkyTextExpandRepeaterComponent_setup = function _SkyTextExpandRepeaterComponent_setup(value) {
134
+ if (value) {
135
+ const length = value.length;
136
+ if (this.maxItems && length > this.maxItems) {
137
+ this.expandable = true;
138
+ this.buttonText = __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_seeMoreText, "f");
139
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_instances, "m", _SkyTextExpandRepeaterComponent_hideItems).call(this);
140
+ if (this.containerEl) {
141
+ this.transitionHeight =
142
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").getContainerHeight(this.containerEl);
139
143
  }
140
- else {
141
- this.expandable = false;
142
- }
143
- this.contentItems = value;
144
+ this.isExpanded = false;
144
145
  }
145
146
  else {
146
- this.contentItems = undefined;
147
147
  this.expandable = false;
148
+ this.isExpanded = undefined;
148
149
  }
149
150
  }
150
- }
151
+ else {
152
+ this.expandable = false;
153
+ this.isExpanded = undefined;
154
+ }
155
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_changeDetector, "f").markForCheck();
156
+ }, _SkyTextExpandRepeaterComponent_hideItems = function _SkyTextExpandRepeaterComponent_hideItems() {
157
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
158
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
159
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").hideItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
160
+ }
161
+ }
162
+ }, _SkyTextExpandRepeaterComponent_showItems = function _SkyTextExpandRepeaterComponent_showItems() {
163
+ if (__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f") && this.maxItems) {
164
+ for (let i = this.maxItems; i < __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f").length; i++) {
165
+ __classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_textExpandRepeaterAdapter, "f").showItem(__classPrivateFieldGet(this, _SkyTextExpandRepeaterComponent_htmlItems, "f")[i]);
166
+ }
167
+ }
168
+ };
151
169
  SkyTextExpandRepeaterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i0.ElementRef }, { token: i2.SkyTextExpandRepeaterAdapterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
152
- SkyTextExpandRepeaterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of contentItems\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;transition:max-height .25s}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
170
+ SkyTextExpandRepeaterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyTextExpandRepeaterComponent, selector: "sky-text-expand-repeater", inputs: { data: "data", itemTemplate: "itemTemplate", listStyle: "listStyle", maxItems: "maxItems" }, providers: [SkyTextExpandRepeaterAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
171
+ trigger('expansionAnimation', [
172
+ transition(':enter', []),
173
+ state('true', style({
174
+ maxHeight: '{{transitionHeight}}px',
175
+ }), { params: { transitionHeight: 0 } }),
176
+ state('false', style({
177
+ maxHeight: '{{transitionHeight}}px',
178
+ }), { params: { transitionHeight: 0 } }),
179
+ transition('true => false', animate('250ms ease')),
180
+ transition('false => true', animate('250ms ease')),
181
+ transition('void => *', []),
182
+ ]),
183
+ ] });
153
184
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTextExpandRepeaterComponent, decorators: [{
154
185
  type: Component,
155
- args: [{ selector: 'sky-text-expand-repeater', providers: [SkyTextExpandRepeaterAdapterService], template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [id]=\"contentSectionId\"\n (transitionend)=\"animationEnd()\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of contentItems\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0;transition:max-height .25s}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"] }]
186
+ args: [{ animations: [
187
+ trigger('expansionAnimation', [
188
+ transition(':enter', []),
189
+ state('true', style({
190
+ maxHeight: '{{transitionHeight}}px',
191
+ }), { params: { transitionHeight: 0 } }),
192
+ state('false', style({
193
+ maxHeight: '{{transitionHeight}}px',
194
+ }), { params: { transitionHeight: 0 } }),
195
+ transition('true => false', animate('250ms ease')),
196
+ transition('false => true', animate('250ms ease')),
197
+ transition('void => *', []),
198
+ ]),
199
+ ], selector: 'sky-text-expand-repeater', providers: [SkyTextExpandRepeaterAdapterService], template: "<div class=\"sky-text-expand-repeater\">\n <ul\n *ngIf=\"listStyle !== 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-list-style-none': listStyle === 'unstyled'\n }\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ul>\n <ol\n *ngIf=\"listStyle === 'ordered'\"\n class=\"sky-text-expand-repeater-container\"\n [@expansionAnimation]=\"{\n value: isExpanded,\n params: { transitionHeight: transitionHeight }\n }\"\n (@expansionAnimation.done)=\"animationEnd()\"\n [id]=\"contentSectionId\"\n #container\n >\n <ng-template [ngTemplateOutlet]=\"listItemTemplate\"></ng-template>\n </ol>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-repeater-see-more\"\n [attr.aria-expanded]=\"!!isExpanded\"\n [attr.aria-controls]=\"contentSectionId\"\n (click)=\"repeaterExpand()\"\n [ngClass]=\"{\n 'sky-text-expand-repeater-see-more-list-style-none':\n listStyle === 'unstyled'\n }\"\n >\n {{ buttonText }}\n </button>\n</div>\n\n<ng-template let-item #defaultItemTemplate>\n {{ item }}\n</ng-template>\n\n<ng-template #listItemTemplate>\n <li *ngFor=\"let item of data\" class=\"sky-text-expand-repeater-item\">\n <ng-template\n [ngTemplateOutlet]=\"itemTemplate || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </li>\n</ng-template>\n", styles: [".sky-text-expand-repeater-container{overflow-y:hidden;height:auto;margin-bottom:0}.sky-text-expand-repeater-see-more{white-space:nowrap;margin-left:40px}.sky-text-expand-repeater-list-style-none{list-style-type:none;padding-left:0}.sky-text-expand-repeater-see-more-list-style-none{margin-left:0}\n"] }]
156
200
  }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }, { type: i0.ElementRef }, { type: i2.SkyTextExpandRepeaterAdapterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
157
201
  type: Input
158
202
  }], itemTemplate: [{
@@ -168,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
168
212
  static: false,
169
213
  }]
170
214
  }] } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxJQUFJLGtCQUFrQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFHN0Y7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFRZixNQUFNLE9BQU8sOEJBQThCO0lBOEN6QyxZQUNVLFNBQWlDLEVBQ2pDLEtBQWlCLEVBQ2pCLHlCQUE4RCxFQUM5RCxjQUFpQztRQUhqQyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNqQyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBcUM7UUFDOUQsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBbkMzQzs7O1dBR0c7UUFFSSxjQUFTLEdBQXVDLFdBQVcsQ0FB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Q0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2FBQ3pCO1lBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7MkhBekxVLDhCQUE4QjsrR0FBOUIsOEJBQThCLHlKQUY5QixDQUFDLG1DQUFtQyxDQUFDLCtHQXlDeEMsVUFBVSxrRENyRXBCLDA5Q0FrREE7MkZEcEJhLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSwwQkFBMEIsYUFHekIsQ0FBQyxtQ0FBbUMsQ0FBQzt3TkFTekMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLFlBQVk7c0JBRGxCLEtBQUs7Z0JBUUMsU0FBUztzQkFEZixLQUFLO2dCQU9DLFFBQVE7c0JBRGQsS0FBSztnQkFpQkUsV0FBVztzQkFKbEIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgZm9ya0pvaW4gYXMgb2JzZXJ2YWJsZUZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vdGV4dC1leHBhbmQtcmVwZWF0ZXItYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreVRleHRFeHBhbmRSZXBlYXRlckxpc3RTdHlsZVR5cGUgfSBmcm9tICcuL3R5cGVzL3RleHQtZXhwYW5kLXJlcGVhdGVyLWxpc3Qtc3R5bGUtdHlwZSc7XG5cbi8qKlxuICogQXV0by1pbmNyZW1lbnRpbmcgaW50ZWdlciB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBpZHMgZm9yIHRleHQgZXhwYW5kIHJlcGVhdGVyIGNvbXBvbmVudHMuXG4gKi9cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRleHRFeHBhbmRSZXBlYXRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlc1xue1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkYXRhIHRvIHRydW5jYXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE6IGFueVtdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSB0ZW1wbGF0ZSBmb3IgaXRlbXMgaW4gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdHlsZSBvZiBidWxsZXQgdG8gdXNlXG4gICAqIEBkZWZhdWx0IFwidW5vcmRlcmVkXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaXN0U3R5bGU6IFNreVRleHRFeHBhbmRSZXBlYXRlckxpc3RTdHlsZVR5cGUgPSAndW5vcmRlcmVkJztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgaXRlbXMgdG8gZGlzcGxheSBiZWZvcmUgdHJ1bmNhdGluZyB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhJdGVtczogbnVtYmVyO1xuXG4gIHB1YmxpYyBidXR0b25UZXh0OiBzdHJpbmc7XG4gIHB1YmxpYyBjb250ZW50SXRlbXM6IEFycmF5PGFueT47XG4gIHB1YmxpYyBleHBhbmRhYmxlOiBib29sZWFuO1xuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHNlZU1vcmVUZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgc2VlTGVzc1RleHQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IGZhbHNlLFxuICB9KVxuICBwcml2YXRlIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgaXRlbXM6IEFycmF5PEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlc291cmNlczogU2t5TGliUmVzb3VyY2VzU2VydmljZSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjogU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudEl0ZW1zKSB7XG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy50ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLmdldEl0ZW1zKHRoaXMuZWxSZWYpO1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLmNvbnRlbnRJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLnRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuaGlkZUl0ZW0odGhpcy5pdGVtc1tpXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb2JzZXJ2YWJsZUZvcmtKb2luKFtcbiAgICAgIHRoaXMucmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmUnKSxcbiAgICAgIHRoaXMucmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX2xlc3MnKSxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc291cmNlcykgPT4ge1xuICAgICAgICB0aGlzLnNlZU1vcmVUZXh0ID0gcmVzb3VyY2VzWzBdO1xuICAgICAgICB0aGlzLnNlZUxlc3NUZXh0ID0gcmVzb3VyY2VzWzFdO1xuICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLnNlZU1vcmVUZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuc2VlTGVzc1RleHQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoY2hhbmdlcy5tYXhJdGVtcyB8fCBjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuc2V0dXAodGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYW5pbWF0aW9uRW5kKCkge1xuICAgIC8vIEVuc3VyZSB0aGUgY29ycmVjdCBpdGVtcyBhcmUgZGlzcGxheWVkXG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIGZvciAobGV0IGkgPSB0aGlzLm1heEl0ZW1zOyBpIDwgdGhpcy5jb250ZW50SXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy50ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLmhpZGVJdGVtKHRoaXMuaXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBTZXQgaGVpZ2h0IGJhY2sgdG8gYXV0byBzbyB0aGUgYnJvd3NlciBjYW4gY2hhbmdlIHRoZSBoZWlnaHQgYXMgbmVlZGVkIHdpdGggd2luZG93IGNoYW5nZXNcbiAgICB0aGlzLnRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIuc2V0Q29udGFpbmVySGVpZ2h0KFxuICAgICAgdGhpcy5jb250YWluZXJFbCxcbiAgICAgIHVuZGVmaW5lZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVwZWF0ZXJFeHBhbmQoKSB7XG4gICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuc2V0Q29udGFpbmVyTWF4SGVpZ2h0KCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5hbmltYXRlUmVwZWF0ZXIodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRDb250YWluZXJNYXhIZWlnaHQoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hbmltYXRlUmVwZWF0ZXIoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250YWluZXJNYXhIZWlnaHQoKSB7XG4gICAgLy8gZW5zdXJlIGV2ZXJ5dGhpbmcgaXMgcmVzZXRcbiAgICB0aGlzLmFuaW1hdGlvbkVuZCgpO1xuICAgIC8qIEJlZm9yZSBhbmltYXRpb24gaXMga2lja2VkIG9mZiwgZW5zdXJlIHRoYXQgYSBtYXhIZWlnaHQgZXhpc3RzICovXG4gICAgLyogT25jZSB3ZSBoYXZlIHN1cHBvcnQgZm9yIGFuZ3VsYXIgdjQgYW5pbWF0aW9ucyB3aXRoIHBhcmFtZXRlcnMgd2UgY2FuIHVzZSB0aGF0IGluc3RlYWQgKi9cbiAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gdGhpcy50ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChcbiAgICAgIHRoaXMuY29udGFpbmVyRWxcbiAgICApO1xuICAgIHRoaXMudGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5zZXRDb250YWluZXJIZWlnaHQoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLFxuICAgICAgYCR7Y3VycmVudEhlaWdodH1weGBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhbmltYXRlUmVwZWF0ZXIoZXhwYW5kaW5nOiBib29sZWFuKSB7XG4gICAgY29uc3QgYWRhcHRlciA9IHRoaXMudGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lckVsO1xuXG4gICAgYWRhcHRlci5zZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyLCB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGN1cnJlbnRIZWlnaHQgPSBhZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChjb250YWluZXIpO1xuICAgIGZvciAobGV0IGkgPSB0aGlzLm1heEl0ZW1zOyBpIDwgdGhpcy5jb250ZW50SXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICAgIGFkYXB0ZXIuaGlkZUl0ZW0odGhpcy5pdGVtc1tpXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhZGFwdGVyLnNob3dJdGVtKHRoaXMuaXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBuZXdIZWlnaHQgPSBhZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChjb250YWluZXIpO1xuICAgIGlmICghZXhwYW5kaW5nKSB7XG4gICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLnNlZU1vcmVUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLnNlZUxlc3NUZXh0O1xuICAgIH1cbiAgICBpZiAobmV3SGVpZ2h0IDwgY3VycmVudEhlaWdodCkge1xuICAgICAgLy8gVGhlIG5ldyB0ZXh0IGlzIHNtYWxsZXIgdGhhbiB0aGUgb2xkIHRleHQsIHNvIHB1dCB0aGUgb2xkIHRleHQgYmFjayBiZWZvcmUgZG9pbmdcbiAgICAgIC8vIHRoZSBjb2xsYXBzZSBhbmltYXRpb24gdG8gYXZvaWQgc2hvd2luZyBhIGJpZyBjaHVuayBvZiB3aGl0ZXNwYWNlLlxuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLmNvbnRlbnRJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBhZGFwdGVyLnNob3dJdGVtKHRoaXMuaXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFkYXB0ZXIuc2V0Q29udGFpbmVySGVpZ2h0KGNvbnRhaW5lciwgYCR7Y3VycmVudEhlaWdodH1weGApO1xuICAgIC8vIFRoaXMgdGltZW91dCBpcyBuZWNlc3NhcnkgZHVlIHRvIHRoZSBicm93c2VyIG5lZWRpbmcgdG8gcGljayB1cCB0aGUgbm9uLWF1dG8gaGVpZ2h0IGJlaW5nIHNldFxuICAgIC8vIGluIG9yZGVyIHRvIGRvIHRoZSB0cmFuc3Rpb24gaW4gaGVpZ2h0IGNvcnJlY3RseS4gV2l0aG91dCBpdCB0aGUgdHJhbnNpdGlvbiBkb2VzIG5vdCBmaXJlLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgYWRhcHRlci5zZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyLCBgJHtuZXdIZWlnaHR9cHhgKTtcbiAgICAgIC8qIFRoaXMgcmVzZXRzIHZhbHVlcyBpZiB0aGUgdHJhbnNpdGlvbiBkb2VzIG5vdCBnZXQga2lja2VkIG9mZiAqL1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRW5kKCk7XG4gICAgICB9LCA1MDApO1xuICAgIH0sIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXAodmFsdWU6IEFycmF5PGFueT4pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggPiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbnRlbnRJdGVtcyA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRlbnRJdGVtcyA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlclwiPlxuICA8dWxcbiAgICAqbmdJZj1cImxpc3RTdHlsZSAhPT0gJ29yZGVyZWQnXCJcbiAgICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1jb250YWluZXJcIlxuICAgIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCJcbiAgICAodHJhbnNpdGlvbmVuZCk9XCJhbmltYXRpb25FbmQoKVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1saXN0LXN0eWxlLW5vbmUnOiBsaXN0U3R5bGUgPT09ICd1bnN0eWxlZCdcbiAgICB9XCJcbiAgICAjY29udGFpbmVyXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvdWw+XG4gIDxvbFxuICAgICpuZ0lmPVwibGlzdFN0eWxlID09PSAnb3JkZXJlZCdcIlxuICAgIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWNvbnRhaW5lclwiXG4gICAgW2lkXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgICh0cmFuc2l0aW9uZW5kKT1cImFuaW1hdGlvbkVuZCgpXCJcbiAgICAjY29udGFpbmVyXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvb2w+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1zZWUtbW9yZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0V4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgIChjbGljayk9XCJyZXBlYXRlckV4cGFuZCgpXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLXNlZS1tb3JlLWxpc3Qtc3R5bGUtbm9uZSc6XG4gICAgICAgIGxpc3RTdHlsZSA9PT0gJ3Vuc3R5bGVkJ1xuICAgIH1cIlxuICA+XG4gICAge3sgYnV0dG9uVGV4dCB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgbGV0LWl0ZW0gI2RlZmF1bHRJdGVtVGVtcGxhdGU+XG4gIHt7IGl0ZW0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW1UZW1wbGF0ZT5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRlbnRJdGVtc1wiIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW1cIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXIvdGV4dC1leHBhbmQtcmVwZWF0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxJQUFJLGtCQUFrQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7QUFHN0Y7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUE4QmYsTUFBTSxPQUFPLDhCQUE4QjtJQXdFekMsWUFDRSxTQUFpQyxFQUNqQyxLQUFpQixFQUNqQix5QkFBOEQsRUFDOUQsY0FBaUM7O1FBbkRuQzs7O1dBR0c7UUFFSSxjQUFTLEdBQ2QsV0FBVyxDQUFDO1FBZVAsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixlQUFV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QUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxLQUFLLENBQ0gsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDSixTQUFTLEVBQUUsd0JBQXdCOzZCQUNwQyxDQUFDLEVBQ0YsRUFBRSxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNwQzs0QkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ2xELFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO3lCQUM1QixDQUFDO3FCQUNILFlBQ1MsMEJBQTBCLGFBR3pCLENBQUMsbUNBQW1DLENBQUM7d05BT3JDLElBQUk7c0JBRGQsS0FBSztnQkFtQkMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxTQUFTO3NCQURmLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkF3QkMsV0FBVztzQkFKakIsU0FBUzt1QkFBQyxXQUFXLEVBQUU7d0JBQ3RCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5pbXBvcnQgeyBmb3JrSm9pbiBhcyBvYnNlcnZhYmxlRm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZFJlcGVhdGVyTGlzdFN0eWxlVHlwZSB9IGZyb20gJy4vdHlwZXMvdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS10eXBlJztcblxuLyoqXG4gKiBBdXRvLWluY3JlbWVudGluZyBpbnRlZ2VyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIGlkcyBmb3IgdGV4dCBleHBhbmQgcmVwZWF0ZXIgY29tcG9uZW50cy5cbiAqL1xubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZXhwYW5zaW9uQW5pbWF0aW9uJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW10pLFxuICAgICAgc3RhdGUoXG4gICAgICAgICd0cnVlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH1cbiAgICAgICksXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ2ZhbHNlJyxcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgIG1heEhlaWdodDogJ3t7dHJhbnNpdGlvbkhlaWdodH19cHgnLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogMCB9IH1cbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd0cnVlID0+IGZhbHNlJywgYW5pbWF0ZSgnMjUwbXMgZWFzZScpKSxcbiAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlID0+IHRydWUnLCBhbmltYXRlKCcyNTBtcyBlYXNlJykpLFxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW10pLFxuICAgIF0pLFxuICBdLFxuICBzZWxlY3RvcjogJ3NreS10ZXh0LWV4cGFuZC1yZXBlYXRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWV4cGFuZC1yZXBlYXRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZXhwYW5kLXJlcGVhdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreVRleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZFJlcGVhdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGRhdGEgdG8gdHJ1bmNhdGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGEodmFsdWU6IGFueVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGEgPSB2YWx1ZTtcblxuICAgIC8vIFdhaXQgZm9yIHRoZSBkb20gdG8gcmVuZGVyIHRoZSBuZXcgaXRlbXMgYmFzZWQgb24gdGhlIHVwZGF0ZWQgZGF0YVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy4jaHRtbEl0ZW1zID0gdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5nZXRJdGVtcyh0aGlzLiNlbFJlZik7XG4gICAgICB0aGlzLiNzZXR1cCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGEoKTogYW55W10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSB0ZW1wbGF0ZSBmb3IgaXRlbXMgaW4gdGhlIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBzdHlsZSBvZiBidWxsZXQgdG8gdXNlXG4gICAqIEBkZWZhdWx0IFwidW5vcmRlcmVkXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsaXN0U3R5bGU6IFNreVRleHRFeHBhbmRSZXBlYXRlckxpc3RTdHlsZVR5cGUgfCB1bmRlZmluZWQgPVxuICAgICd1bm9yZGVyZWQnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSBsaXN0LiBJZiBub3Qgc3VwcGxpZWQsIGFsbCBpdGVtcyBhcmUgc2hvd24uXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEl0ZW1zKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4SXRlbXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNzZXR1cCh0aGlzLmRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBtYXhJdGVtcygpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfbWF4SXRlbXM7XG4gIH1cblxuICBwdWJsaWMgYnV0dG9uVGV4dCA9ICcnO1xuICBwdWJsaWMgZXhwYW5kYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgY29udGVudFNlY3Rpb25JZCA9IGBza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItY29udGVudC0keysrbmV4dElkfWA7XG5cbiAgcHVibGljIGlzRXhwYW5kZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHB1YmxpYyB0cmFuc2l0aW9uSGVpZ2h0ID0gMTtcblxuICAjc2VlTW9yZVRleHQgPSAnJztcbiAgI3NlZUxlc3NUZXh0ID0gJyc7XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNodG1sSXRlbXM6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNfZGF0YTogYW55W10gfCB1bmRlZmluZWQ7XG4gICNfbWF4SXRlbXM6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAjcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlO1xuICAjZWxSZWY6IEVsZW1lbnRSZWY7XG4gICN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyOiBTa3lUZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZXNvdXJjZXM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjogU2t5VGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuI3Jlc291cmNlcyA9IHJlc291cmNlcztcbiAgICB0aGlzLiNlbFJlZiA9IGVsUmVmO1xuICAgIHRoaXMuI3RleHRFeHBhbmRSZXBlYXRlckFkYXB0ZXIgPSB0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIG9ic2VydmFibGVGb3JrSm9pbihbXG4gICAgICB0aGlzLiNyZXNvdXJjZXMuZ2V0U3RyaW5nKCdza3l1eF90ZXh0X2V4cGFuZF9zZWVfbW9yZScpLFxuICAgICAgdGhpcy4jcmVzb3VyY2VzLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfc2VlX2xlc3MnKSxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlc291cmNlcykgPT4ge1xuICAgICAgICB0aGlzLiNzZWVNb3JlVGV4dCA9IHJlc291cmNlc1swXTtcbiAgICAgICAgdGhpcy4jc2VlTGVzc1RleHQgPSByZXNvdXJjZXNbMV07XG4gICAgICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZUxlc3NUZXh0O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFuaW1hdGlvbkVuZCgpOiB2b2lkIHtcbiAgICAvLyBFbnN1cmUgYWxsIGl0ZW1zIHRoYXQgc2hvdWxkIGJlIGhpZGRlbiBhcmUgaGlkZGVuLiBUaGlzIGlzIGJlY2F1c2Ugd2UgbmVlZCB0aGVtIHNob3duIGR1cmluZyB0aGUgYW5pbWF0aW9uIHdpbmRvdyBmb3IgdmlzdWFsIHB1cnBvc2VzLlxuICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICB0aGlzLiNoaWRlSXRlbXMoKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIHNldCB0aW1lb3V0IGlzIG5lZWRlZCBhcyB0aGUgYGFuaW1hdGlvbkVuZGAgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBhbmd1bGFyIGFuaW1hdGlvbiBjYWxsYmFjayBwcmlvciB0byB0aGUgYW5pbWF0aW9uIHNldHRpbmcgdGhlIHN0eWxlIG9uIHRoZSBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250YWluZXJFbCkge1xuICAgICAgICAvLyBTZXQgaGVpZ2h0IGJhY2sgdG8gYXV0byBzbyB0aGUgYnJvd3NlciBjYW4gY2hhbmdlIHRoZSBoZWlnaHQgYXMgbmVlZGVkIHdpdGggd2luZG93IGNoYW5nZXNcbiAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5yZW1vdmVDb250YWluZXJNYXhIZWlnaHQoXG4gICAgICAgICAgdGhpcy5jb250YWluZXJFbFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlcGVhdGVyRXhwYW5kKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0V4cGFuZGVkKSB7XG4gICAgICB0aGlzLiNhbmltYXRlUmVwZWF0ZXIodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2FuaW1hdGVSZXBlYXRlcihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgI2FuaW1hdGVSZXBlYXRlcihleHBhbmRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlcjtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lckVsO1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGlmIChleHBhbmRpbmcpIHtcbiAgICAgICAgdGhpcy4jc2hvd0l0ZW1zKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNoaWRlSXRlbXMoKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0hlaWdodCA9IGFkYXB0ZXIuZ2V0Q29udGFpbmVySGVpZ2h0KGNvbnRhaW5lcik7XG4gICAgICB0aGlzLnRyYW5zaXRpb25IZWlnaHQgPSBuZXdIZWlnaHQ7XG4gICAgICBpZiAoIWV4cGFuZGluZykge1xuICAgICAgICB0aGlzLmJ1dHRvblRleHQgPSB0aGlzLiNzZWVNb3JlVGV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZUxlc3NUZXh0O1xuICAgICAgfVxuICAgICAgaWYgKCFleHBhbmRpbmcpIHtcbiAgICAgICAgLy8gU2hvdyBhbGwgaXRlbXMgZHVyaW5nIGFuaW1hdGlvbiBmb3IgdmlzdWFsIHB1cnBvc2VzLlxuICAgICAgICB0aGlzLiNzaG93SXRlbXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGV4cGFuZGluZztcbiAgICB9XG4gIH1cblxuICAjc2V0dXAodmFsdWU6IEFycmF5PHVua25vd24+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBsZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gICAgICBpZiAodGhpcy5tYXhJdGVtcyAmJiBsZW5ndGggPiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuI3NlZU1vcmVUZXh0O1xuICAgICAgICB0aGlzLiNoaWRlSXRlbXMoKTtcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyRWwpIHtcbiAgICAgICAgICB0aGlzLnRyYW5zaXRpb25IZWlnaHQgPVxuICAgICAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoXG4gICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyRWxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjaGlkZUl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNodG1sSXRlbXMgJiYgdGhpcy5tYXhJdGVtcykge1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMubWF4SXRlbXM7IGkgPCB0aGlzLiNodG1sSXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy4jdGV4dEV4cGFuZFJlcGVhdGVyQWRhcHRlci5oaWRlSXRlbSh0aGlzLiNodG1sSXRlbXNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzaG93SXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2h0bWxJdGVtcyAmJiB0aGlzLm1heEl0ZW1zKSB7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy5tYXhJdGVtczsgaSA8IHRoaXMuI2h0bWxJdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLiN0ZXh0RXhwYW5kUmVwZWF0ZXJBZGFwdGVyLnNob3dJdGVtKHRoaXMuI2h0bWxJdGVtc1tpXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyXCI+XG4gIDx1bFxuICAgICpuZ0lmPVwibGlzdFN0eWxlICE9PSAnb3JkZXJlZCdcIlxuICAgIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWNvbnRhaW5lclwiXG4gICAgW0BleHBhbnNpb25BbmltYXRpb25dPVwie1xuICAgICAgdmFsdWU6IGlzRXhwYW5kZWQsXG4gICAgICBwYXJhbXM6IHsgdHJhbnNpdGlvbkhlaWdodDogdHJhbnNpdGlvbkhlaWdodCB9XG4gICAgfVwiXG4gICAgKEBleHBhbnNpb25BbmltYXRpb24uZG9uZSk9XCJhbmltYXRpb25FbmQoKVwiXG4gICAgW2lkXT1cImNvbnRlbnRTZWN0aW9uSWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItbGlzdC1zdHlsZS1ub25lJzogbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gICAgI2NvbnRhaW5lclxuICA+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L3VsPlxuICA8b2xcbiAgICAqbmdJZj1cImxpc3RTdHlsZSA9PT0gJ29yZGVyZWQnXCJcbiAgICBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1jb250YWluZXJcIlxuICAgIFtAZXhwYW5zaW9uQW5pbWF0aW9uXT1cIntcbiAgICAgIHZhbHVlOiBpc0V4cGFuZGVkLFxuICAgICAgcGFyYW1zOiB7IHRyYW5zaXRpb25IZWlnaHQ6IHRyYW5zaXRpb25IZWlnaHQgfVxuICAgIH1cIlxuICAgIChAZXhwYW5zaW9uQW5pbWF0aW9uLmRvbmUpPVwiYW5pbWF0aW9uRW5kKClcIlxuICAgIFtpZF09XCJjb250ZW50U2VjdGlvbklkXCJcbiAgICAjY29udGFpbmVyXG4gID5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdEl0ZW1UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvb2w+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImV4cGFuZGFibGVcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmstaW5saW5lIHNreS10ZXh0LWV4cGFuZC1yZXBlYXRlci1zZWUtbW9yZVwiXG4gICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhIWlzRXhwYW5kZWRcIlxuICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiY29udGVudFNlY3Rpb25JZFwiXG4gICAgKGNsaWNrKT1cInJlcGVhdGVyRXhwYW5kKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdGV4dC1leHBhbmQtcmVwZWF0ZXItc2VlLW1vcmUtbGlzdC1zdHlsZS1ub25lJzpcbiAgICAgICAgbGlzdFN0eWxlID09PSAndW5zdHlsZWQnXG4gICAgfVwiXG4gID5cbiAgICB7eyBidXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZT5cbiAge3sgaXRlbSB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0SXRlbVRlbXBsYXRlPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YVwiIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLXJlcGVhdGVyLWl0ZW1cIj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSB8fCBkZWZhdWx0SXRlbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ContentChildren, QueryList } from '@angular/core';
1
+ import { Component, ContentChildren } from '@angular/core';
2
2
  import { SkyToolbarSectionComponent } from './toolbar-section.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
22
22
  type: ContentChildren,
23
23
  args: [SkyToolbarSectionComponent, { descendants: true }]
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9saWIvbW9kdWxlcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXpFOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1TLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBUTVCO0lBTkMsSUFDVyxpQkFBaUIsQ0FDMUIsS0FBd0Q7UUFFeEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O2dIQVJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHFGQUdiLDBCQUEwQixnRENmN0MsMlRBVUE7MkZERWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7OEJBUVosaUJBQWlCO3NCQUQzQixlQUFlO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5VG9vbGJhclNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItc2VjdGlvbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIERpc3BsYXlzIGFjdGlvbnMgZm9yIGxpc3RzLCByZWNvcmRzLCBhbmQgdGlsZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10b29sYmFyJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVRvb2xiYXJDb21wb25lbnQge1xuICBwdWJsaWMgaGFzU2VjdGlvbnMgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkcmVuKFNreVRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBzZXQgc2VjdGlvbkNvbXBvbmVudHMoXG4gICAgdmFsdWU6IFF1ZXJ5TGlzdDxTa3lUb29sYmFyU2VjdGlvbkNvbXBvbmVudD4gfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgdGhpcy5oYXNTZWN0aW9ucyA9ICEhdmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS10b29sYmFyLWNvbnRhaW5lclwiXG4gIFtuZ0NsYXNzXT1cInsgJ3NreS10b29sYmFyLXNlY3Rpb25lZCc6IGhhc1NlY3Rpb25zIH1cIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktdG9vbGJhci1zZWN0aW9uXCI+PC9uZy1jb250ZW50PlxuICA8ZGl2IGNsYXNzPVwic2t5LXRvb2xiYXItaXRlbXNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktdG9vbGJhci12aWV3LWFjdGlvbnNcIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGF5b3V0L3NyYy9saWIvbW9kdWxlcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvbGliL21vZHVsZXMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRXRFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFekU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTVMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0FRNUI7SUFOQyxJQUNXLGlCQUFpQixDQUMxQixLQUF3RDtRQUV4RCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Z0hBUlUsbUJBQW1CO29HQUFuQixtQkFBbUIscUZBR2IsMEJBQTBCLGdEQ2Y3QywyVEFVQTsyRkRFYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTs4QkFRWixpQkFBaUI7c0JBRDNCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUb29sYmFyU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci1zZWN0aW9uLmNvbXBvbmVudCc7XG5cbi8qKlxuICogRGlzcGxheXMgYWN0aW9ucyBmb3IgbGlzdHMsIHJlY29yZHMsIGFuZCB0aWxlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRvb2xiYXInLFxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9vbGJhckNvbXBvbmVudCB7XG4gIHB1YmxpYyBoYXNTZWN0aW9ucyA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5VG9vbGJhclNlY3Rpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHVibGljIHNldCBzZWN0aW9uQ29tcG9uZW50cyhcbiAgICB2YWx1ZTogUXVlcnlMaXN0PFNreVRvb2xiYXJTZWN0aW9uQ29tcG9uZW50PiB8IHVuZGVmaW5lZFxuICApIHtcbiAgICB0aGlzLmhhc1NlY3Rpb25zID0gISF2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRvb2xiYXItY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieyAnc2t5LXRvb2xiYXItc2VjdGlvbmVkJzogaGFzU2VjdGlvbnMgfVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS10b29sYmFyLXNlY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9vbGJhci1pdGVtc1wiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS10b29sYmFyLXZpZXctYWN0aW9uc1wiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,3 +1,5 @@
1
+ var _SkyActionButtonFixture_debugEl;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { By } from '@angular/platform-browser';
2
4
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
5
  /**
@@ -6,25 +8,26 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
6
8
  */
7
9
  export class SkyActionButtonFixture {
8
10
  constructor(fixture, skyTestId) {
9
- this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-action-button');
11
+ _SkyActionButtonFixture_debugEl.set(this, void 0);
12
+ __classPrivateFieldSet(this, _SkyActionButtonFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-action-button'), "f");
10
13
  }
11
14
  /**
12
15
  * The action button's current header text.
13
16
  */
14
17
  get headerText() {
15
- return SkyAppTestUtility.getText(this.debugEl.query(By.css('.sky-action-button-header')));
18
+ return SkyAppTestUtility.getText(__classPrivateFieldGet(this, _SkyActionButtonFixture_debugEl, "f").query(By.css('.sky-action-button-header')));
16
19
  }
17
20
  /**
18
21
  * The action button's current details text.
19
22
  */
20
23
  get detailsText() {
21
- return SkyAppTestUtility.getText(this.debugEl.query(By.css('sky-action-button-details')));
24
+ return SkyAppTestUtility.getText(__classPrivateFieldGet(this, _SkyActionButtonFixture_debugEl, "f").query(By.css('sky-action-button-details')));
22
25
  }
23
26
  /**
24
27
  * The action button's current icon type.
25
28
  */
26
29
  get iconType() {
27
- const classList = this.debugEl.query(By.css('.fa.sky-icon')).nativeElement
30
+ const classList = __classPrivateFieldGet(this, _SkyActionButtonFixture_debugEl, "f").query(By.css('.fa.sky-icon')).nativeElement
28
31
  .classList;
29
32
  for (let i = 0, n = classList.length; i < n; i++) {
30
33
  const cls = classList.item(i);
@@ -32,14 +35,17 @@ export class SkyActionButtonFixture {
32
35
  return cls.substr(3);
33
36
  }
34
37
  }
38
+ /* istanbul ignore next */
39
+ return undefined;
35
40
  }
36
41
  /**
37
42
  * Clicks the action button.
38
43
  */
39
44
  actionClick() {
40
- this.debugEl
45
+ __classPrivateFieldGet(this, _SkyActionButtonFixture_debugEl, "f")
41
46
  .query(By.css('.sky-action-button'))
42
47
  .triggerEventHandler('click', {});
43
48
  }
44
49
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC90ZXN0aW5nL3NyYy9hY3Rpb24tYnV0dG9uLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFxQ2pDLFlBQVksT0FBOEIsRUFBRSxTQUFpQjtRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN0RCxPQUFPLEVBQ1AsU0FBUyxFQUNULG1CQUFtQixDQUNwQixDQUFDO0lBQ0osQ0FBQztJQTFDRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhO2FBQ3ZFLFNBQVMsQ0FBQztRQUViLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5QixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM1QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7U0FDRjtJQUNILENBQUM7SUFZRDs7T0FFRztJQUNJLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE9BQU87YUFDVCxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2FBQ25DLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBhY3Rpb24gYnV0dG9uIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5QWN0aW9uQnV0dG9uRml4dHVyZSB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGJ1dHRvbidzIGN1cnJlbnQgaGVhZGVyIHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGhlYWRlclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChcbiAgICAgIHRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktYWN0aW9uLWJ1dHRvbi1oZWFkZXInKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gYnV0dG9uJ3MgY3VycmVudCBkZXRhaWxzIHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRldGFpbHNUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLmRlYnVnRWwucXVlcnkoQnkuY3NzKCdza3ktYWN0aW9uLWJ1dHRvbi1kZXRhaWxzJykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGJ1dHRvbidzIGN1cnJlbnQgaWNvbiB0eXBlLlxuICAgKi9cbiAgcHVibGljIGdldCBpY29uVHlwZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzTGlzdCA9IHRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJy5mYS5za3ktaWNvbicpKS5uYXRpdmVFbGVtZW50XG4gICAgICAuY2xhc3NMaXN0O1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBjbGFzc0xpc3QubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICBjb25zdCBjbHMgPSBjbGFzc0xpc3QuaXRlbShpKTtcblxuICAgICAgaWYgKGNscy5pbmRleE9mKCdmYS0nKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gY2xzLnN1YnN0cigzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlYnVnRWw6IERlYnVnRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT4sIHNreVRlc3RJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5kZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1hY3Rpb24tYnV0dG9uJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBhY3Rpb24gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFjdGlvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuZGVidWdFbFxuICAgICAgLnF1ZXJ5KEJ5LmNzcygnLnNreS1hY3Rpb24tYnV0dG9uJykpXG4gICAgICAudHJpZ2dlckV2ZW50SGFuZGxlcignY2xpY2snLCB7fSk7XG4gIH1cbn1cbiJdfQ==
50
+ _SkyActionButtonFixture_debugEl = new WeakMap();
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC90ZXN0aW5nL3NyYy9hY3Rpb24tYnV0dG9uLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQXVDakMsWUFBWSxPQUE4QixFQUFFLFNBQWlCO1FBRjdELGtEQUF1QjtRQUdyQix1QkFBQSxJQUFJLG1DQUFZLGlCQUFpQixDQUFDLHVCQUF1QixDQUN2RCxPQUFPLEVBQ1AsU0FBUyxFQUNULG1CQUFtQixDQUNwQixNQUFBLENBQUM7SUFDSixDQUFDO0lBNUNEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUM5Qix1QkFBQSxJQUFJLHVDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUM5Qix1QkFBQSxJQUFJLHVDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLHVCQUFBLElBQUksdUNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWE7YUFDeEUsU0FBUyxDQUFDO1FBRWIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoRCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTlCLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QjtTQUNGO1FBQ0QsMEJBQTBCO1FBQzFCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFZRDs7T0FFRztJQUNJLFdBQVc7UUFDaEIsdUJBQUEsSUFBSSx1Q0FBUzthQUNWLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDbkMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGFjdGlvbiBidXR0b24gY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lBY3Rpb25CdXR0b25GaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gYnV0dG9uJ3MgY3VycmVudCBoZWFkZXIgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGVhZGVyVGV4dCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktYWN0aW9uLWJ1dHRvbi1oZWFkZXInKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gYnV0dG9uJ3MgY3VycmVudCBkZXRhaWxzIHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRldGFpbHNUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnc2t5LWFjdGlvbi1idXR0b24tZGV0YWlscycpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFjdGlvbiBidXR0b24ncyBjdXJyZW50IGljb24gdHlwZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgaWNvblR5cGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnLmZhLnNreS1pY29uJykpLm5hdGl2ZUVsZW1lbnRcbiAgICAgIC5jbGFzc0xpc3Q7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbiA9IGNsYXNzTGlzdC5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgIGNvbnN0IGNscyA9IGNsYXNzTGlzdC5pdGVtKGkpO1xuXG4gICAgICBpZiAoY2xzLmluZGV4T2YoJ2ZhLScpID09PSAwKSB7XG4gICAgICAgIHJldHVybiBjbHMuc3Vic3RyKDMpO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1hY3Rpb24tYnV0dG9uJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSBhY3Rpb24gYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFjdGlvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuI2RlYnVnRWxcbiAgICAgIC5xdWVyeShCeS5jc3MoJy5za3ktYWN0aW9uLWJ1dHRvbicpKVxuICAgICAgLnRyaWdnZXJFdmVudEhhbmRsZXIoJ2NsaWNrJywge30pO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,5 @@
1
+ var _SkyCardFixture_instances, _SkyCardFixture_debugEl, _SkyCardFixture_clickCheckLabelEl, _SkyCardFixture_getCheckInputEl;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { By } from '@angular/platform-browser';
2
4
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
5
  /**
@@ -6,25 +8,27 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
6
8
  */
7
9
  export class SkyCardFixture {
8
10
  constructor(fixture, skyTestId) {
9
- this.debugEl = SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-card');
11
+ _SkyCardFixture_instances.add(this);
12
+ _SkyCardFixture_debugEl.set(this, void 0);
13
+ __classPrivateFieldSet(this, _SkyCardFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-card'), "f");
10
14
  }
11
15
  /**
12
16
  * The card's current title.
13
17
  */
14
18
  get titleText() {
15
- return SkyAppTestUtility.getText(this.debugEl.query(By.css('sky-card-title')));
19
+ return SkyAppTestUtility.getText(__classPrivateFieldGet(this, _SkyCardFixture_debugEl, "f").query(By.css('sky-card-title')));
16
20
  }
17
21
  /**
18
22
  * The card's current content text.
19
23
  */
20
24
  get contentText() {
21
- return SkyAppTestUtility.getText(this.debugEl.query(By.css('sky-card-content')));
25
+ return SkyAppTestUtility.getText(__classPrivateFieldGet(this, _SkyCardFixture_debugEl, "f").query(By.css('sky-card-content')));
22
26
  }
23
27
  /**
24
28
  * A flag indicating whether the user can select the card.
25
29
  */
26
30
  get selectable() {
27
- return !!this.debugEl.query(By.css('.sky-card-check'));
31
+ return !!__classPrivateFieldGet(this, _SkyCardFixture_debugEl, "f").query(By.css('.sky-card-check'));
28
32
  }
29
33
  /**
30
34
  * A flag indicating whether the card is currently selected. If the card
@@ -32,7 +36,7 @@ export class SkyCardFixture {
32
36
  */
33
37
  get selected() {
34
38
  if (this.selectable) {
35
- return this.getCheckInputEl().nativeElement.checked;
39
+ return __classPrivateFieldGet(this, _SkyCardFixture_instances, "m", _SkyCardFixture_getCheckInputEl).call(this).nativeElement.checked;
36
40
  }
37
41
  throw new Error('The card is not selectable.');
38
42
  }
@@ -41,7 +45,7 @@ export class SkyCardFixture {
41
45
  */
42
46
  select() {
43
47
  if (!this.selected) {
44
- this.clickCheckLabelEl();
48
+ __classPrivateFieldGet(this, _SkyCardFixture_instances, "m", _SkyCardFixture_clickCheckLabelEl).call(this);
45
49
  }
46
50
  }
47
51
  /**
@@ -49,16 +53,15 @@ export class SkyCardFixture {
49
53
  */
50
54
  deselect() {
51
55
  if (this.selected) {
52
- this.clickCheckLabelEl();
56
+ __classPrivateFieldGet(this, _SkyCardFixture_instances, "m", _SkyCardFixture_clickCheckLabelEl).call(this);
53
57
  }
54
58
  }
55
- clickCheckLabelEl() {
56
- this.debugEl
57
- .query(By.css('.sky-card-check label.sky-checkbox-wrapper'))
58
- .nativeElement.click();
59
- }
60
- getCheckInputEl() {
61
- return this.debugEl.query(By.css('.sky-card-check .sky-checkbox-wrapper input'));
62
- }
63
59
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC90ZXN0aW5nL3NyYy9jYXJkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBd0N6QixZQUFZLE9BQThCLEVBQUUsU0FBaUI7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdEQsT0FBTyxFQUNQLFNBQVMsRUFDVCxVQUFVLENBQ1gsQ0FBQztJQUNKLENBQUM7SUE3Q0Q7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxXQUFXO1FBQ3BCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1NBQ3JEO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFZRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPO2FBQ1QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQzthQUMzRCxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDdkIsRUFBRSxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUN0RCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbi8qKlxuICogQWxsb3dzIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggYXZhdGFyIGNvbXBvbmVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgU2t5Q2FyZEZpeHR1cmUge1xuICAvKipcbiAgICogVGhlIGNhcmQncyBjdXJyZW50IHRpdGxlLlxuICAgKi9cbiAgcHVibGljIGdldCB0aXRsZVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dChcbiAgICAgIHRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJ3NreS1jYXJkLXRpdGxlJykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FyZCdzIGN1cnJlbnQgY29udGVudCB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGdldCBjb250ZW50VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBTa3lBcHBUZXN0VXRpbGl0eS5nZXRUZXh0KFxuICAgICAgdGhpcy5kZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnc2t5LWNhcmQtY29udGVudCcpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgdXNlciBjYW4gc2VsZWN0IHRoZSBjYXJkLlxuICAgKi9cbiAgcHVibGljIGdldCBzZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktY2FyZC1jaGVjaycpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBjYXJkIGlzIGN1cnJlbnRseSBzZWxlY3RlZC4gIElmIHRoZSBjYXJkXG4gICAqIGlzIG5vdCBzZWxlY3RhYmxlLCBhbiBlcnJvciBpcyB0aHJvd24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENoZWNrSW5wdXRFbCgpLm5hdGl2ZUVsZW1lbnQuY2hlY2tlZDtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBjYXJkIGlzIG5vdCBzZWxlY3RhYmxlLicpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktY2FyZCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgdGhlIGNhcmQuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5jbGlja0NoZWNrTGFiZWxFbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgdGhlIGNhcmQuXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuY2xpY2tDaGVja0xhYmVsRWwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsaWNrQ2hlY2tMYWJlbEVsKCk6IHZvaWQge1xuICAgIHRoaXMuZGVidWdFbFxuICAgICAgLnF1ZXJ5KEJ5LmNzcygnLnNreS1jYXJkLWNoZWNrIGxhYmVsLnNreS1jaGVja2JveC13cmFwcGVyJykpXG4gICAgICAubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGVja0lucHV0RWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5kZWJ1Z0VsLnF1ZXJ5KFxuICAgICAgQnkuY3NzKCcuc2t5LWNhcmQtY2hlY2sgLnNreS1jaGVja2JveC13cmFwcGVyIGlucHV0JylcbiAgICApO1xuICB9XG59XG4iXX0=
60
+ _SkyCardFixture_debugEl = new WeakMap(), _SkyCardFixture_instances = new WeakSet(), _SkyCardFixture_clickCheckLabelEl = function _SkyCardFixture_clickCheckLabelEl() {
61
+ __classPrivateFieldGet(this, _SkyCardFixture_debugEl, "f")
62
+ .query(By.css('.sky-card-check label.sky-checkbox-wrapper'))
63
+ .nativeElement.click();
64
+ }, _SkyCardFixture_getCheckInputEl = function _SkyCardFixture_getCheckInputEl() {
65
+ return __classPrivateFieldGet(this, _SkyCardFixture_debugEl, "f").query(By.css('.sky-card-check .sky-checkbox-wrapper input'));
66
+ };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC90ZXN0aW5nL3NyYy9jYXJkLWZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF3Q3pCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjs7UUFGN0QsMENBQXVCO1FBR3JCLHVCQUFBLElBQUksMkJBQVksaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsVUFBVSxDQUNYLE1BQUEsQ0FBQztJQUNKLENBQUM7SUE3Q0Q7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQzlCLHVCQUFBLElBQUksK0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxDQUFDLENBQUMsdUJBQUEsSUFBSSwrQkFBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLHVCQUFBLElBQUksa0VBQWlCLE1BQXJCLElBQUksQ0FBbUIsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFZRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQix1QkFBQSxJQUFJLG9FQUFtQixNQUF2QixJQUFJLENBQXFCLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLHVCQUFBLElBQUksb0VBQW1CLE1BQXZCLElBQUksQ0FBcUIsQ0FBQztTQUMzQjtJQUNILENBQUM7Q0FhRjs7SUFWRyx1QkFBQSxJQUFJLCtCQUFTO1NBQ1YsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUMzRCxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDM0IsQ0FBQztJQUdDLE9BQU8sdUJBQUEsSUFBSSwrQkFBUyxDQUFDLEtBQUssQ0FDeEIsRUFBRSxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUN0RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIGF2YXRhciBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreUNhcmRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSBjYXJkJ3MgY3VycmVudCB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgdGl0bGVUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnc2t5LWNhcmQtdGl0bGUnKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjYXJkJ3MgY3VycmVudCBjb250ZW50IHRleHQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNvbnRlbnRUZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQoXG4gICAgICB0aGlzLiNkZWJ1Z0VsLnF1ZXJ5KEJ5LmNzcygnc2t5LWNhcmQtY29udGVudCcpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgdXNlciBjYW4gc2VsZWN0IHRoZSBjYXJkLlxuICAgKi9cbiAgcHVibGljIGdldCBzZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWNhcmQtY2hlY2snKSk7XG4gIH1cblxuICAvKipcbiAgICogQSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgY2FyZCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuICBJZiB0aGUgY2FyZFxuICAgKiBpcyBub3Qgc2VsZWN0YWJsZSwgYW4gZXJyb3IgaXMgdGhyb3duLlxuICAgKi9cbiAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zZWxlY3RhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy4jZ2V0Q2hlY2tJbnB1dEVsKCkubmF0aXZlRWxlbWVudC5jaGVja2VkO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGNhcmQgaXMgbm90IHNlbGVjdGFibGUuJyk7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS1jYXJkJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyB0aGUgY2FyZC5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLiNjbGlja0NoZWNrTGFiZWxFbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgdGhlIGNhcmQuXG4gICAqL1xuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuI2NsaWNrQ2hlY2tMYWJlbEVsKCk7XG4gICAgfVxuICB9XG5cbiAgI2NsaWNrQ2hlY2tMYWJlbEVsKCk6IHZvaWQge1xuICAgIHRoaXMuI2RlYnVnRWxcbiAgICAgIC5xdWVyeShCeS5jc3MoJy5za3ktY2FyZC1jaGVjayBsYWJlbC5za3ktY2hlY2tib3gtd3JhcHBlcicpKVxuICAgICAgLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gICNnZXRDaGVja0lucHV0RWwoKTogRGVidWdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jZGVidWdFbC5xdWVyeShcbiAgICAgIEJ5LmNzcygnLnNreS1jYXJkLWNoZWNrIC5za3ktY2hlY2tib3gtd3JhcHBlciBpbnB1dCcpXG4gICAgKTtcbiAgfVxufVxuIl19