@skyux/tabs 8.0.0-alpha.6 → 8.0.0-alpha.8

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 (48) hide show
  1. package/documentation.json +484 -209
  2. package/esm2020/index.mjs +3 -1
  3. package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +3 -3
  4. package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +75 -11
  5. package/esm2020/lib/modules/sectioned-form/sectioned-form.module.mjs +4 -4
  6. package/esm2020/lib/modules/sectioned-form/sectioned-form.service.mjs +3 -3
  7. package/esm2020/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +5 -0
  8. package/esm2020/lib/modules/sectioned-form/types/sectioned-form-message.mjs +2 -0
  9. package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +4 -4
  10. package/esm2020/lib/modules/shared/tab-id.service.mjs +7 -7
  11. package/esm2020/lib/modules/tabs/tab-button-adapter.service.mjs +3 -3
  12. package/esm2020/lib/modules/tabs/tab-button.component.mjs +22 -22
  13. package/esm2020/lib/modules/tabs/tab.component.mjs +35 -35
  14. package/esm2020/lib/modules/tabs/tabs.module.mjs +4 -4
  15. package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +7 -7
  16. package/esm2020/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +3 -3
  17. package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +19 -19
  18. package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +7 -7
  19. package/esm2020/lib/modules/tabs/tabset.component.mjs +48 -48
  20. package/esm2020/lib/modules/tabs/tabset.service.mjs +13 -13
  21. package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +3 -3
  22. package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +39 -39
  23. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +3 -3
  24. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +3 -3
  25. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +20 -20
  26. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.module.mjs +4 -4
  27. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +3 -3
  28. package/esm2020/testing/tabs/tabset-fixture.mjs +8 -8
  29. package/fesm2015/skyux-tabs-testing.mjs +8 -8
  30. package/fesm2015/skyux-tabs-testing.mjs.map +1 -1
  31. package/fesm2015/skyux-tabs.mjs +330 -263
  32. package/fesm2015/skyux-tabs.mjs.map +1 -1
  33. package/fesm2020/skyux-tabs-testing.mjs +8 -8
  34. package/fesm2020/skyux-tabs-testing.mjs.map +1 -1
  35. package/fesm2020/skyux-tabs.mjs +330 -263
  36. package/fesm2020/skyux-tabs.mjs.map +1 -1
  37. package/index.d.ts +2 -0
  38. package/lib/modules/sectioned-form/sectioned-form.component.d.ts +17 -2
  39. package/lib/modules/sectioned-form/types/sectioned-form-message-type.d.ts +3 -0
  40. package/lib/modules/sectioned-form/types/sectioned-form-message.d.ts +4 -0
  41. package/lib/modules/tabs/tab-button-view-model.d.ts +1 -1
  42. package/lib/modules/tabs/tab-button.component.d.ts +1 -1
  43. package/lib/modules/tabs/tab-index.d.ts +1 -1
  44. package/lib/modules/tabs/tabset-buttons-display-mode.d.ts +1 -1
  45. package/lib/modules/tabs/tabset-nav-button-type.d.ts +1 -1
  46. package/lib/modules/tabs/tabset-nav-button.component.d.ts +2 -2
  47. package/lib/modules/tabs/tabset-style.d.ts +1 -1
  48. package/package.json +15 -15
@@ -7,13 +7,6 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
7
7
  * @internal
8
8
  */
9
9
  export class SkyTabsetFixture {
10
- constructor(fixture, skyTestId) {
11
- _SkyTabsetFixture_instances.add(this);
12
- _SkyTabsetFixture_debugEl.set(this, void 0);
13
- _SkyTabsetFixture_fixture.set(this, void 0);
14
- __classPrivateFieldSet(this, _SkyTabsetFixture_fixture, fixture, "f");
15
- __classPrivateFieldSet(this, _SkyTabsetFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-tabset'), "f");
16
- }
17
10
  /**
18
11
  * The tabset component's ARIA label.
19
12
  */
@@ -42,6 +35,13 @@ export class SkyTabsetFixture {
42
35
  /* istanbul ignore next */
43
36
  return -1;
44
37
  }
38
+ constructor(fixture, skyTestId) {
39
+ _SkyTabsetFixture_instances.add(this);
40
+ _SkyTabsetFixture_debugEl.set(this, void 0);
41
+ _SkyTabsetFixture_fixture.set(this, void 0);
42
+ __classPrivateFieldSet(this, _SkyTabsetFixture_fixture, fixture, "f");
43
+ __classPrivateFieldSet(this, _SkyTabsetFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-tabset'), "f");
44
+ }
45
45
  /**
46
46
  * Retrieves information about the tab at the specified index.
47
47
  * @param tabIndex The index of the tab.
@@ -125,4 +125,4 @@ _SkyTabsetFixture_debugEl = new WeakMap(), _SkyTabsetFixture_fixture = new WeakM
125
125
  }, _SkyTabsetFixture_getTextContent = function _SkyTabsetFixture_getTextContent(el) {
126
126
  return (el && el.textContent?.trim()) || undefined;
127
127
  };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy90ZXN0aW5nL3NyYy90YWJzL3RhYnNldC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFxQzNCLFlBQVksT0FBOEIsRUFBRSxTQUFpQjs7UUFIN0QsNENBQXVCO1FBQ3ZCLDRDQUFnQztRQUc5Qix1QkFBQSxJQUFJLDZCQUFZLE9BQU8sTUFBQSxDQUFDO1FBQ3hCLHVCQUFBLElBQUksNkJBQVksaUJBQWlCLENBQUMsdUJBQXVCLENBQ3ZELE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxDQUNiLE1BQUEsQ0FBQztJQUNKLENBQUM7SUEzQ0Q7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsdUJBQUEsSUFBSSxrRUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsY0FBYztRQUN2QixNQUFNLFFBQVEsR0FBRyx1QkFBQSxJQUFJLGtFQUFhLE1BQWpCLElBQUksQ0FBZSxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsdUJBQUEsSUFBSSxvRUFBZSxNQUFuQixJQUFJLENBQWlCLENBQUM7UUFFekMsS0FBSyxJQUFJLENBQUMs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LEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU2t5QXBwVGVzdFV0aWxpdHkgfSBmcm9tICdAc2t5dXgtc2RrL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBTa3lUYWJzZXRGaXh0dXJlVGFiIH0gZnJvbSAnLi90YWItZml4dHVyZS10YWInO1xuXG4vKipcbiAqIEFsbG93cyBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIHRhYnNldCBjb21wb25lbnQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVRhYnNldEZpeHR1cmUge1xuICAvKipcbiAgICogVGhlIHRhYnNldCBjb21wb25lbnQncyBBUklBIGxhYmVsLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2dldFRhYnNldEVsKCk7XG4gICAgcmV0dXJuIHRhYnNldEVsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGFic2V0IGNvbXBvbmVudCdzIEFSSUEgbGFiZWxsZWQgYnkgYXR0cmlidXRlLlxuICAgKi9cbiAgcHVibGljIGdldCBhcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRhYnNldEVsID0gdGhpcy4jZ2V0VGFic2V0RWwoKTtcbiAgICByZXR1cm4gdGFic2V0RWwuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdGFiLlxuICAgKi9cbiAgcHVibGljIGdldCBhY3RpdmVUYWJJbmRleCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRhYkxpbmtFbHMgPSB0aGlzLiNnZXRUYWJMaW5rRWxzKCk7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbiA9IHRhYkxpbmtFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICBpZiAodGFiTGlua0Vscy5pdGVtKGkpLmNsYXNzTGlzdC5jb250YWlucygnc2t5LWJ0bi10YWItc2VsZWN0ZWQnKSkge1xuICAgICAgICByZXR1cm4gaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBzYWZldHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gICNkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG4gICNmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPGFueT47XG5cbiAgY29uc3RydWN0b3IoZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuI2ZpeHR1cmUgPSBmaXh0dXJlO1xuICAgIHRoaXMuI2RlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LXRhYnNldCdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFiIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBnZXRUYWIodGFiSW5kZXg6IG51bWJlcik6IFNreVRhYnNldEZpeHR1cmVUYWIge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuI2dldFRhYkxpbmtFbCh0YWJJbmRleCk7XG5cbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmFjdGl2ZVRhYkluZGV4ID09PSB0YWJJbmRleDtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRhYkxpbmtFbC5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1idG4tdGFiLWRpc2FibGVkJyk7XG4gICAgY29uc3QgdGFiSGVhZGluZyA9IHRoaXMuI2dldFRleHRDb250ZW50KFxuICAgICAgdGFiTGlua0VsLnF1ZXJ5U2VsZWN0b3IoJy5za3ktdGFiLWhlYWRpbmcnKT8uY2hpbGROb2Rlc1swXVxuICAgICk7XG4gICAgY29uc3QgdGFiSGVhZGVyQ291bnQgPSB0aGlzLiNnZXRUZXh0Q29udGVudChcbiAgICAgIHRhYkxpbmtFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYi1oZWFkZXItY291bnQnKVxuICAgICk7XG5cbiAgICBsZXQgcGVybWFsaW5rVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0YWJMaW5rRWwuaHJlZikge1xuICAgICAgY29uc3QgcGVybWFsaW5rID0gdGFiTGlua0VsLmhyZWYuc3BsaXQoJz8nKVsxXTtcbiAgICAgIGlmIChwZXJtYWxpbmspIHtcbiAgICAgICAgY29uc3QgcGVybWFsaW5rUGFydHMgPSBwZXJtYWxpbmsuc3BsaXQoJz0nKTtcblxuICAgICAgICBwZXJtYWxpbmtWYWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudChwZXJtYWxpbmtQYXJ0c1sxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGl2ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgcGVybWFsaW5rVmFsdWUsXG4gICAgICB0YWJIZWFkZXJDb3VudCxcbiAgICAgIHRhYkhlYWRpbmcsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHRhYnNldCdzIFwibmV3XCIgYnV0dG9uLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrTmV3QnV0dG9uKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI2NsaWNrQnV0dG9uKCdza3ktdGFic2V0LWJ0bi1uZXcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHRhYnNldCdzIFwib3BlblwiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja09wZW5CdXR0b24oKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy4jY2xpY2tCdXR0b24oJ3NreS10YWJzZXQtYnRuLW9wZW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHRhYiBidXR0b24gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrVGFiKHRhYkluZGV4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuI2dldFRhYkxpbmtFbCh0YWJJbmRleCk7XG5cbiAgICB0YWJMaW5rRWwuY2xpY2soKTtcblxuICAgIHRoaXMuI2ZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLiNmaXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGljaydzIHRoZSB0YWIncyBjbG9zZSBidXR0b24gYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICogQHBhcmFtIHRhYkluZGV4IFRoZSBpbmRleCBvZiB0aGUgdGFiLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrVGFiQ2xvc2UodGFiSW5kZXg6IG51bWJlcik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdGFiV3JhcHBlckVsID0gdGhpcy4jZ2V0VGFic2V0RWwoKS5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgYC5za3ktdGFic2V0LXRhYnMgLnNreS1idG4tdGFiLXdyYXBwZXJgXG4gICAgKVt0YWJJbmRleF07XG5cbiAgICBjb25zdCBjbG9zZUJ0bkVsID0gdGFiV3JhcHBlckVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNreS1idG4tdGFiLWNsb3NlJ1xuICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICBpZiAoIWNsb3NlQnRuRWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIHNwZWNpZmllZCB0YWIgZG9lcyBub3QgaGF2ZSBhIGNsb3NlIGJ1dHRvbi4nKTtcbiAgICB9XG5cbiAgICBjbG9zZUJ0bkVsLmNsaWNrKCk7XG5cbiAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICBhc3luYyAjY2xpY2tCdXR0b24oYnV0dG9uQ2xzOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHRhYnNldEVsID0gdGhpcy4jZ2V0VGFic2V0RWwoKTtcblxuICAgIGNvbnN0IG5ld0J1dHRvbkVsID0gdGFic2V0RWwucXVlcnlTZWxlY3RvcihcbiAgICAgIGAuc2t5LXRhYnNldC1idG5zIC4ke2J1dHRvbkNsc31gXG4gICAgKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcblxuICAgIG5ld0J1dHRvbkVsLmNsaWNrKCk7XG5cbiAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAjZ2V0VGFic2V0RWwoKTogSFRNTERpdkVsZW1lbnQge1xuICAgIGNvbnN0IHRhYnNldEVsID0gdGhpcy4jZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktdGFic2V0JykpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICByZXR1cm4gdGFic2V0RWw7XG4gIH1cblxuICAjZ2V0VGFiTGlua0VscygpOiBOb2RlTGlzdE9mPEhUTUxBbmNob3JFbGVtZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuI2dldFRhYnNldEVsKCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGAuc2t5LXRhYnNldC10YWJzIC5za3ktYnRuLXRhYmBcbiAgICApO1xuICB9XG5cbiAgI2dldFRhYkxpbmtFbCh0YWJJbmRleDogbnVtYmVyKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgIGNvbnN0IHRhYkxpbmtFbCA9IHRoaXMuI2dldFRhYkxpbmtFbHMoKS5pdGVtKHRhYkluZGV4KTtcblxuICAgIGlmICghdGFiTGlua0VsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIHRhYiBhdCBpbmRleCAke3RhYkluZGV4fS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGFiTGlua0VsO1xuICB9XG5cbiAgI2dldFRleHRDb250ZW50KGVsOiBFbGVtZW50IHwgTm9kZSB8IHVuZGVmaW5lZCB8IG51bGwpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZWwgJiYgZWwudGV4dENvbnRlbnQ/LnRyaW0oKSkgfHwgdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy90ZXN0aW5nL3NyYy90YWJzL3RhYnNldC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsdUJBQUEsSUFBSSxrRUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsY0FBYztRQUN2QixNQUFNLFFBQVEsR0FBRyx1QkFBQSxJQUFJLGtFQUFhLE1BQWpCLElBQUksQ0FBZSxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsdUJBQUEsSUFBSSxvRUFBZSxNQUFuQixJQUFJLENBQWlCLENBQUM7UUFFekMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUNqRSxPQUFPLENBQUMsQ0FBQzthQUNWO1NBQ0Y7UUFFRCxrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBS0QsWUFBWSxPQUE4QixFQUFFLFNBQWlCOztRQUg3RCw0Q0FBdUI7UUFDdkIsNENBQWdDO1FBRzlCLHVCQUFBLElBQUksNkJBQVksT0FBTyxNQUFBLENBQUM7UUFDeEIsdUJBQUEsSUFBSSw2QkFBWSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdkQsT0FBTyxFQUNQLFNBQVMsRUFDVCxZQUFZLENBQ2IsTUFBQSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxRQUFnQjtRQUM1QixNQUFNLFNBQVMsR0FBRyx1QkFBQSxJQUFJLG1FQUFjLE1BQWxCLElBQUksRUFBZSxRQUFRLENBQUMsQ0FBQztRQUUvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxLQUFLLFFBQVEsQ0FBQztRQUNoRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLHVCQUFBLElBQUkscUVBQWdCLE1BQXBCLElBQUksRUFDckIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDM0QsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFHLHVCQUFBLElBQUkscUVBQWdCLE1BQXBCLElBQUksRUFDekIsU0FBUyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUNqRCxDQUFDO1FBRUYsSUFBSSxjQUFrQyxDQUFDO1FBRXZDLElBQUksU0FBUyxDQUFDLElBQUksRUFBRTtZQUNsQixNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxJQUFJLFNBQVMsRUFBRTtnQkFDYixNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUU1QyxjQUFjLEdBQUcsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDeEQ7U0FDRjtRQUVELE9BQU87WUFDTCxNQUFNO1lBQ04sUUFBUTtZQUNSLGNBQWM7WUFDZCxjQUFjO1lBQ2QsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsY0FBYztRQUN6QixPQUFPLHVCQUFBLElBQUksa0VBQWEsTUFBakIsSUFBSSxFQUFjLG9CQUFvQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGVBQWU7UUFDMUIsT0FBTyx1QkFBQSxJQUFJLGtFQUFhLE1BQWpCLElBQUksRUFBYyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQWdCO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLHVCQUFBLElBQUksbUVBQWMsTUFBbEIsSUFBSSxFQUFlLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQix1QkFBQSxJQUFJLGlDQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsT0FBTyx1QkFBQSxJQUFJLGlDQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBZ0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsdUJBQUEsSUFBSSxrRUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQyxnQkFBZ0IsQ0FDdkQsdUNBQXVDLENBQ3hDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFWixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUMzQyxvQkFBb0IsQ0FDQSxDQUFDO1FBRXZCLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7U0FDcEU7UUFFRCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbkIsdUJBQUEsSUFBSSxpQ0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sdUJBQUEsSUFBSSxpQ0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7Q0F3Q0Y7bUtBdENDLEtBQUssd0NBQWMsU0FBaUI7SUFDbEMsTUFBTSxRQUFRLEdBQUcsdUJBQUEsSUFBSSxrRUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQztJQUVyQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUN4QyxxQkFBcUIsU0FBUyxFQUFFLENBQ1osQ0FBQztJQUV2QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFcEIsdUJBQUEsSUFBSSxpQ0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLE9BQU8sdUJBQUEsSUFBSSxpQ0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3BDLENBQUM7SUFHQyxNQUFNLFFBQVEsR0FBRyx1QkFBQSxJQUFJLGlDQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFMUUsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztJQUdDLE9BQU8sdUJBQUEsSUFBSSxrRUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQyxnQkFBZ0IsQ0FDekMsK0JBQStCLENBQ2hDLENBQUM7QUFDSixDQUFDLDJFQUVhLFFBQWdCO0lBQzVCLE1BQU0sU0FBUyxHQUFHLHVCQUFBLElBQUksb0VBQWUsTUFBbkIsSUFBSSxDQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV2RCxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsUUFBUSxHQUFHLENBQUMsQ0FBQztLQUMxRDtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsK0VBRWUsRUFBcUM7SUFDbkQsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5VGFic2V0Rml4dHVyZVRhYiB9IGZyb20gJy4vdGFiLWZpeHR1cmUtdGFiJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCB0YWJzZXQgY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB0YWJzZXQgY29tcG9uZW50J3MgQVJJQSBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFic2V0RWwgPSB0aGlzLiNnZXRUYWJzZXRFbCgpO1xuICAgIHJldHVybiB0YWJzZXRFbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRhYnNldCBjb21wb25lbnQncyBBUklBIGxhYmVsbGVkIGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2dldFRhYnNldEVsKCk7XG4gICAgcmV0dXJuIHRhYnNldEVsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JykgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYi5cbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWJMaW5rRWxzID0gdGhpcy4jZ2V0VGFiTGlua0VscygpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0YWJMaW5rRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgaWYgKHRhYkxpbmtFbHMuaXRlbShpKS5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1idG4tdGFiLXNlbGVjdGVkJykpIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogc2FmZXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuICAjZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNmaXh0dXJlID0gZml4dHVyZTtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS10YWJzZXQnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhYiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIuXG4gICAqL1xuICBwdWJsaWMgZ2V0VGFiKHRhYkluZGV4OiBudW1iZXIpOiBTa3lUYWJzZXRGaXh0dXJlVGFiIHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWwodGFiSW5kZXgpO1xuXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5hY3RpdmVUYWJJbmRleCA9PT0gdGFiSW5kZXg7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0YWJMaW5rRWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktYnRuLXRhYi1kaXNhYmxlZCcpO1xuICAgIGNvbnN0IHRhYkhlYWRpbmcgPSB0aGlzLiNnZXRUZXh0Q29udGVudChcbiAgICAgIHRhYkxpbmtFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYi1oZWFkaW5nJyk/LmNoaWxkTm9kZXNbMF1cbiAgICApO1xuICAgIGNvbnN0IHRhYkhlYWRlckNvdW50ID0gdGhpcy4jZ2V0VGV4dENvbnRlbnQoXG4gICAgICB0YWJMaW5rRWwucXVlcnlTZWxlY3RvcignLnNreS10YWItaGVhZGVyLWNvdW50JylcbiAgICApO1xuXG4gICAgbGV0IHBlcm1hbGlua1ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGFiTGlua0VsLmhyZWYpIHtcbiAgICAgIGNvbnN0IHBlcm1hbGluayA9IHRhYkxpbmtFbC5ocmVmLnNwbGl0KCc/JylbMV07XG4gICAgICBpZiAocGVybWFsaW5rKSB7XG4gICAgICAgIGNvbnN0IHBlcm1hbGlua1BhcnRzID0gcGVybWFsaW5rLnNwbGl0KCc9Jyk7XG5cbiAgICAgICAgcGVybWFsaW5rVmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQocGVybWFsaW5rUGFydHNbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhY3RpdmUsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHBlcm1hbGlua1ZhbHVlLFxuICAgICAgdGFiSGVhZGVyQ291bnQsXG4gICAgICB0YWJIZWFkaW5nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWJzZXQncyBcIm5ld1wiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja05ld0J1dHRvbigpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLiNjbGlja0J1dHRvbignc2t5LXRhYnNldC1idG4tbmV3Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWJzZXQncyBcIm9wZW5cIiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tPcGVuQnV0dG9uKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI2NsaWNrQnV0dG9uKCdza3ktdGFic2V0LWJ0bi1vcGVuJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWIgYnV0dG9uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RhYih0YWJJbmRleDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWwodGFiSW5kZXgpO1xuXG4gICAgdGFiTGlua0VsLmNsaWNrKCk7XG5cbiAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sncyB0aGUgdGFiJ3MgY2xvc2UgYnV0dG9uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RhYkNsb3NlKHRhYkluZGV4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHRhYldyYXBwZXJFbCA9IHRoaXMuI2dldFRhYnNldEVsKCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGAuc2t5LXRhYnNldC10YWJzIC5za3ktYnRuLXRhYi13cmFwcGVyYFxuICAgIClbdGFiSW5kZXhdO1xuXG4gICAgY29uc3QgY2xvc2VCdG5FbCA9IHRhYldyYXBwZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktYnRuLXRhYi1jbG9zZSdcbiAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuXG4gICAgaWYgKCFjbG9zZUJ0bkVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBzcGVjaWZpZWQgdGFiIGRvZXMgbm90IGhhdmUgYSBjbG9zZSBidXR0b24uJyk7XG4gICAgfVxuXG4gICAgY2xvc2VCdG5FbC5jbGljaygpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgYXN5bmMgI2NsaWNrQnV0dG9uKGJ1dHRvbkNsczogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2dldFRhYnNldEVsKCk7XG5cbiAgICBjb25zdCBuZXdCdXR0b25FbCA9IHRhYnNldEVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBgLnNreS10YWJzZXQtYnRucyAuJHtidXR0b25DbHN9YFxuICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICBuZXdCdXR0b25FbC5jbGljaygpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgI2dldFRhYnNldEVsKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXRhYnNldCcpKS5uYXRpdmVFbGVtZW50O1xuXG4gICAgcmV0dXJuIHRhYnNldEVsO1xuICB9XG5cbiAgI2dldFRhYkxpbmtFbHMoKTogTm9kZUxpc3RPZjxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRUYWJzZXRFbCgpLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgLnNreS10YWJzZXQtdGFicyAuc2t5LWJ0bi10YWJgXG4gICAgKTtcbiAgfVxuXG4gICNnZXRUYWJMaW5rRWwodGFiSW5kZXg6IG51bWJlcik6IEhUTUxBbmNob3JFbGVtZW50IHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWxzKCkuaXRlbSh0YWJJbmRleCk7XG5cbiAgICBpZiAoIXRhYkxpbmtFbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyB0YWIgYXQgaW5kZXggJHt0YWJJbmRleH0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhYkxpbmtFbDtcbiAgfVxuXG4gICNnZXRUZXh0Q29udGVudChlbDogRWxlbWVudCB8IE5vZGUgfCB1bmRlZmluZWQgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVsICYmIGVsLnRleHRDb250ZW50Py50cmltKCkpIHx8IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } from 'tslib';
1
+ import { __classPrivateFieldGet, __classPrivateFieldSet, __awaiter } from 'tslib';
2
2
  import { By } from '@angular/platform-browser';
3
3
  import { SkyAppTestUtility } from '@skyux-sdk/testing';
4
4
 
@@ -8,13 +8,6 @@ var _SkyTabsetFixture_instances, _SkyTabsetFixture_debugEl, _SkyTabsetFixture_fi
8
8
  * @internal
9
9
  */
10
10
  class SkyTabsetFixture {
11
- constructor(fixture, skyTestId) {
12
- _SkyTabsetFixture_instances.add(this);
13
- _SkyTabsetFixture_debugEl.set(this, void 0);
14
- _SkyTabsetFixture_fixture.set(this, void 0);
15
- __classPrivateFieldSet(this, _SkyTabsetFixture_fixture, fixture, "f");
16
- __classPrivateFieldSet(this, _SkyTabsetFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-tabset'), "f");
17
- }
18
11
  /**
19
12
  * The tabset component's ARIA label.
20
13
  */
@@ -43,6 +36,13 @@ class SkyTabsetFixture {
43
36
  /* istanbul ignore next */
44
37
  return -1;
45
38
  }
39
+ constructor(fixture, skyTestId) {
40
+ _SkyTabsetFixture_instances.add(this);
41
+ _SkyTabsetFixture_debugEl.set(this, void 0);
42
+ _SkyTabsetFixture_fixture.set(this, void 0);
43
+ __classPrivateFieldSet(this, _SkyTabsetFixture_fixture, fixture, "f");
44
+ __classPrivateFieldSet(this, _SkyTabsetFixture_debugEl, SkyAppTestUtility.getDebugElementByTestId(fixture, skyTestId, 'sky-tabset'), "f");
45
+ }
46
46
  /**
47
47
  * Retrieves information about the tab at the specified index.
48
48
  * @param tabIndex The index of the tab.
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-tabs-testing.mjs","sources":["../../../../../libs/components/tabs/testing/src/tabs/tabset-fixture.ts","../../../../../libs/components/tabs/testing/src/skyux-tabs-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyTabsetFixtureTab } from './tab-fixture-tab';\n\n/**\n * Allows interaction with a SKY UX tabset component.\n * @internal\n */\nexport class SkyTabsetFixture {\n /**\n * The tabset component's ARIA label.\n */\n public get ariaLabel(): string | undefined {\n const tabsetEl = this.#getTabsetEl();\n return tabsetEl.getAttribute('aria-label') || undefined;\n }\n\n /**\n * The tabset component's ARIA labelled by attribute.\n */\n public get ariaLabelledBy(): string | undefined {\n const tabsetEl = this.#getTabsetEl();\n return tabsetEl.getAttribute('aria-labelledby') || undefined;\n }\n\n /**\n * The index of the currently selected tab.\n */\n public get activeTabIndex(): number {\n const tabLinkEls = this.#getTabLinkEls();\n\n for (let i = 0, n = tabLinkEls.length; i < n; i++) {\n if (tabLinkEls.item(i).classList.contains('sky-btn-tab-selected')) {\n return i;\n }\n }\n\n /* safety check */\n /* istanbul ignore next */\n return -1;\n }\n\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-tabset'\n );\n }\n\n /**\n * Retrieves information about the tab at the specified index.\n * @param tabIndex The index of the tab.\n */\n public getTab(tabIndex: number): SkyTabsetFixtureTab {\n const tabLinkEl = this.#getTabLinkEl(tabIndex);\n\n const active = this.activeTabIndex === tabIndex;\n const disabled = tabLinkEl.classList.contains('sky-btn-tab-disabled');\n const tabHeading = this.#getTextContent(\n tabLinkEl.querySelector('.sky-tab-heading')?.childNodes[0]\n );\n const tabHeaderCount = this.#getTextContent(\n tabLinkEl.querySelector('.sky-tab-header-count')\n );\n\n let permalinkValue: string | undefined;\n\n if (tabLinkEl.href) {\n const permalink = tabLinkEl.href.split('?')[1];\n if (permalink) {\n const permalinkParts = permalink.split('=');\n\n permalinkValue = decodeURIComponent(permalinkParts[1]);\n }\n }\n\n return {\n active,\n disabled,\n permalinkValue,\n tabHeaderCount,\n tabHeading,\n };\n }\n\n /**\n * Clicks the tabset's \"new\" button.\n */\n public async clickNewButton(): Promise<any> {\n return this.#clickButton('sky-tabset-btn-new');\n }\n\n /**\n * Clicks the tabset's \"open\" button.\n */\n public async clickOpenButton(): Promise<any> {\n return this.#clickButton('sky-tabset-btn-open');\n }\n\n /**\n * Clicks the tab button at the specified index.\n * @param tabIndex The index of the tab.\n */\n public async clickTab(tabIndex: number): Promise<any> {\n const tabLinkEl = this.#getTabLinkEl(tabIndex);\n\n tabLinkEl.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n /**\n * Click's the tab's close button at the specified index.\n * @param tabIndex The index of the tab.\n */\n public async clickTabClose(tabIndex: number): Promise<any> {\n const tabWrapperEl = this.#getTabsetEl().querySelectorAll(\n `.sky-tabset-tabs .sky-btn-tab-wrapper`\n )[tabIndex];\n\n const closeBtnEl = tabWrapperEl.querySelector(\n '.sky-btn-tab-close'\n ) as HTMLButtonElement;\n\n if (!closeBtnEl) {\n throw new Error('The specified tab does not have a close button.');\n }\n\n closeBtnEl.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n async #clickButton(buttonCls: string): Promise<any> {\n const tabsetEl = this.#getTabsetEl();\n\n const newButtonEl = tabsetEl.querySelector(\n `.sky-tabset-btns .${buttonCls}`\n ) as HTMLButtonElement;\n\n newButtonEl.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n #getTabsetEl(): HTMLDivElement {\n const tabsetEl = this.#debugEl.query(By.css('.sky-tabset')).nativeElement;\n\n return tabsetEl;\n }\n\n #getTabLinkEls(): NodeListOf<HTMLAnchorElement> {\n return this.#getTabsetEl().querySelectorAll(\n `.sky-tabset-tabs .sky-btn-tab`\n );\n }\n\n #getTabLinkEl(tabIndex: number): HTMLAnchorElement {\n const tabLinkEl = this.#getTabLinkEls().item(tabIndex);\n\n if (!tabLinkEl) {\n throw new Error(`There is no tab at index ${tabIndex}.`);\n }\n\n return tabLinkEl;\n }\n\n #getTextContent(el: Element | Node | undefined | null): string | undefined {\n return (el && el.textContent?.trim()) || undefined;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-tabs-testing.mjs","sources":["../../../../../libs/components/tabs/testing/src/tabs/tabset-fixture.ts","../../../../../libs/components/tabs/testing/src/skyux-tabs-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\nimport { SkyTabsetFixtureTab } from './tab-fixture-tab';\n\n/**\n * Allows interaction with a SKY UX tabset component.\n * @internal\n */\nexport class SkyTabsetFixture {\n /**\n * The tabset component's ARIA label.\n */\n public get ariaLabel(): string | undefined {\n const tabsetEl = this.#getTabsetEl();\n return tabsetEl.getAttribute('aria-label') || undefined;\n }\n\n /**\n * The tabset component's ARIA labelled by attribute.\n */\n public get ariaLabelledBy(): string | undefined {\n const tabsetEl = this.#getTabsetEl();\n return tabsetEl.getAttribute('aria-labelledby') || undefined;\n }\n\n /**\n * The index of the currently selected tab.\n */\n public get activeTabIndex(): number {\n const tabLinkEls = this.#getTabLinkEls();\n\n for (let i = 0, n = tabLinkEls.length; i < n; i++) {\n if (tabLinkEls.item(i).classList.contains('sky-btn-tab-selected')) {\n return i;\n }\n }\n\n /* safety check */\n /* istanbul ignore next */\n return -1;\n }\n\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-tabset'\n );\n }\n\n /**\n * Retrieves information about the tab at the specified index.\n * @param tabIndex The index of the tab.\n */\n public getTab(tabIndex: number): SkyTabsetFixtureTab {\n const tabLinkEl = this.#getTabLinkEl(tabIndex);\n\n const active = this.activeTabIndex === tabIndex;\n const disabled = tabLinkEl.classList.contains('sky-btn-tab-disabled');\n const tabHeading = this.#getTextContent(\n tabLinkEl.querySelector('.sky-tab-heading')?.childNodes[0]\n );\n const tabHeaderCount = this.#getTextContent(\n tabLinkEl.querySelector('.sky-tab-header-count')\n );\n\n let permalinkValue: string | undefined;\n\n if (tabLinkEl.href) {\n const permalink = tabLinkEl.href.split('?')[1];\n if (permalink) {\n const permalinkParts = permalink.split('=');\n\n permalinkValue = decodeURIComponent(permalinkParts[1]);\n }\n }\n\n return {\n active,\n disabled,\n permalinkValue,\n tabHeaderCount,\n tabHeading,\n };\n }\n\n /**\n * Clicks the tabset's \"new\" button.\n */\n public async clickNewButton(): Promise<any> {\n return this.#clickButton('sky-tabset-btn-new');\n }\n\n /**\n * Clicks the tabset's \"open\" button.\n */\n public async clickOpenButton(): Promise<any> {\n return this.#clickButton('sky-tabset-btn-open');\n }\n\n /**\n * Clicks the tab button at the specified index.\n * @param tabIndex The index of the tab.\n */\n public async clickTab(tabIndex: number): Promise<any> {\n const tabLinkEl = this.#getTabLinkEl(tabIndex);\n\n tabLinkEl.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n /**\n * Click's the tab's close button at the specified index.\n * @param tabIndex The index of the tab.\n */\n public async clickTabClose(tabIndex: number): Promise<any> {\n const tabWrapperEl = this.#getTabsetEl().querySelectorAll(\n `.sky-tabset-tabs .sky-btn-tab-wrapper`\n )[tabIndex];\n\n const closeBtnEl = tabWrapperEl.querySelector(\n '.sky-btn-tab-close'\n ) as HTMLButtonElement;\n\n if (!closeBtnEl) {\n throw new Error('The specified tab does not have a close button.');\n }\n\n closeBtnEl.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n async #clickButton(buttonCls: string): Promise<any> {\n const tabsetEl = this.#getTabsetEl();\n\n const newButtonEl = tabsetEl.querySelector(\n `.sky-tabset-btns .${buttonCls}`\n ) as HTMLButtonElement;\n\n newButtonEl.click();\n\n this.#fixture.detectChanges();\n return this.#fixture.whenStable();\n }\n\n #getTabsetEl(): HTMLDivElement {\n const tabsetEl = this.#debugEl.query(By.css('.sky-tabset')).nativeElement;\n\n return tabsetEl;\n }\n\n #getTabLinkEls(): NodeListOf<HTMLAnchorElement> {\n return this.#getTabsetEl().querySelectorAll(\n `.sky-tabset-tabs .sky-btn-tab`\n );\n }\n\n #getTabLinkEl(tabIndex: number): HTMLAnchorElement {\n const tabLinkEl = this.#getTabLinkEls().item(tabIndex);\n\n if (!tabLinkEl) {\n throw new Error(`There is no tab at index ${tabIndex}.`);\n }\n\n return tabLinkEl;\n }\n\n #getTextContent(el: Element | Node | undefined | null): string | undefined {\n return (el && el.textContent?.trim()) || undefined;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}