@skyux/tabs 8.6.0 → 9.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/documentation.json +92 -54
  2. package/esm2022/index.mjs +26 -0
  3. package/esm2022/lib/modules/sectioned-form/sectioned-form-section.component.mjs +65 -0
  4. package/esm2022/lib/modules/sectioned-form/sectioned-form.component.mjs +187 -0
  5. package/{esm2020 → esm2022}/lib/modules/sectioned-form/sectioned-form.module.mjs +11 -11
  6. package/{esm2020 → esm2022}/lib/modules/sectioned-form/sectioned-form.service.mjs +4 -4
  7. package/esm2022/lib/modules/shared/sky-tabs-resources.module.mjs +61 -0
  8. package/esm2022/lib/modules/shared/tab-id.service.mjs +50 -0
  9. package/{esm2020 → esm2022}/lib/modules/tabs/tab-button-adapter.service.mjs +4 -4
  10. package/esm2022/lib/modules/tabs/tab-button.component.mjs +162 -0
  11. package/{esm2020 → esm2022}/lib/modules/tabs/tab-layout-type.mjs +1 -1
  12. package/esm2022/lib/modules/tabs/tab.component.mjs +197 -0
  13. package/{esm2020 → esm2022}/lib/modules/tabs/tabs.module.mjs +21 -21
  14. package/esm2022/lib/modules/tabs/tabset-adapter.service.mjs +68 -0
  15. package/{esm2020 → esm2022}/lib/modules/tabs/tabset-nav-button-disabled.pipe.mjs +4 -4
  16. package/esm2022/lib/modules/tabs/tabset-nav-button.component.mjs +149 -0
  17. package/esm2022/lib/modules/tabs/tabset-permalink.service.mjs +128 -0
  18. package/esm2022/lib/modules/tabs/tabset.component.mjs +466 -0
  19. package/esm2022/lib/modules/tabs/tabset.service.mjs +198 -0
  20. package/esm2022/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +68 -0
  21. package/esm2022/lib/modules/vertical-tabset/vertical-tab.component.mjs +217 -0
  22. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +48 -0
  23. package/esm2022/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +108 -0
  24. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.component.mjs +158 -0
  25. package/{esm2020 → esm2022}/lib/modules/vertical-tabset/vertical-tabset.module.mjs +21 -21
  26. package/esm2022/lib/modules/vertical-tabset/vertical-tabset.service.mjs +169 -0
  27. package/esm2022/testing/tabs/tabset-fixture.mjs +129 -0
  28. package/fesm2022/skyux-tabs-testing.mjs +136 -0
  29. package/{fesm2020 → fesm2022}/skyux-tabs-testing.mjs.map +1 -1
  30. package/fesm2022/skyux-tabs.mjs +2586 -0
  31. package/{fesm2020 → fesm2022}/skyux-tabs.mjs.map +1 -1
  32. package/index.d.ts +1 -0
  33. package/lib/modules/sectioned-form/sectioned-form-section.component.d.ts +1 -1
  34. package/lib/modules/sectioned-form/sectioned-form.component.d.ts +1 -1
  35. package/lib/modules/tabs/tab-button.component.d.ts +1 -1
  36. package/lib/modules/tabs/tab-layout-type.d.ts +1 -1
  37. package/lib/modules/tabs/tab.component.d.ts +1 -1
  38. package/lib/modules/tabs/tabset-nav-button.component.d.ts +1 -1
  39. package/lib/modules/tabs/tabset.component.d.ts +1 -1
  40. package/lib/modules/vertical-tabset/vertical-tab.component.d.ts +1 -1
  41. package/lib/modules/vertical-tabset/vertical-tabset-group.component.d.ts +1 -1
  42. package/lib/modules/vertical-tabset/vertical-tabset.component.d.ts +1 -1
  43. package/package.json +21 -29
  44. package/esm2020/index.mjs +0 -25
  45. package/esm2020/lib/modules/sectioned-form/sectioned-form-section.component.mjs +0 -67
  46. package/esm2020/lib/modules/sectioned-form/sectioned-form.component.mjs +0 -187
  47. package/esm2020/lib/modules/shared/sky-tabs-resources.module.mjs +0 -61
  48. package/esm2020/lib/modules/shared/tab-id.service.mjs +0 -53
  49. package/esm2020/lib/modules/tabs/tab-button.component.mjs +0 -162
  50. package/esm2020/lib/modules/tabs/tab.component.mjs +0 -198
  51. package/esm2020/lib/modules/tabs/tabset-adapter.service.mjs +0 -68
  52. package/esm2020/lib/modules/tabs/tabset-nav-button.component.mjs +0 -149
  53. package/esm2020/lib/modules/tabs/tabset-permalink.service.mjs +0 -128
  54. package/esm2020/lib/modules/tabs/tabset.component.mjs +0 -429
  55. package/esm2020/lib/modules/tabs/tabset.service.mjs +0 -196
  56. package/esm2020/lib/modules/vertical-tabset/vertical-tab-media-query.service.mjs +0 -71
  57. package/esm2020/lib/modules/vertical-tabset/vertical-tab.component.mjs +0 -216
  58. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-adapter.service.mjs +0 -51
  59. package/esm2020/lib/modules/vertical-tabset/vertical-tabset-group.component.mjs +0 -110
  60. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.component.mjs +0 -159
  61. package/esm2020/lib/modules/vertical-tabset/vertical-tabset.service.mjs +0 -167
  62. package/esm2020/testing/tabs/tabset-fixture.mjs +0 -128
  63. package/fesm2015/skyux-tabs-testing.mjs +0 -147
  64. package/fesm2015/skyux-tabs-testing.mjs.map +0 -1
  65. package/fesm2015/skyux-tabs.mjs +0 -2560
  66. package/fesm2015/skyux-tabs.mjs.map +0 -1
  67. package/fesm2020/skyux-tabs-testing.mjs +0 -135
  68. package/fesm2020/skyux-tabs.mjs +0 -2544
  69. /package/{esm2020 → esm2022}/lib/modules/sectioned-form/types/sectioned-form-message-type.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/modules/sectioned-form/types/sectioned-form-message.mjs +0 -0
  71. /package/{esm2020 → esm2022}/lib/modules/tabs/tab-button-view-model.mjs +0 -0
  72. /package/{esm2020 → esm2022}/lib/modules/tabs/tab-index.mjs +0 -0
  73. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-active-tab-unregistered-args.mjs +0 -0
  74. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-buttons-display-mode.mjs +0 -0
  75. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-nav-button-type.mjs +0 -0
  76. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-style.mjs +0 -0
  77. /package/{esm2020 → esm2022}/lib/modules/tabs/tabset-tab-indexes-change.mjs +0 -0
  78. /package/{esm2020 → esm2022}/skyux-tabs.mjs +0 -0
  79. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  80. /package/{esm2020 → esm2022}/testing/skyux-tabs-testing.mjs +0 -0
  81. /package/{esm2020 → esm2022}/testing/tabs/tab-fixture-tab.mjs +0 -0
@@ -1,128 +0,0 @@
1
- var _SkyTabsetFixture_instances, _SkyTabsetFixture_debugEl, _SkyTabsetFixture_fixture, _SkyTabsetFixture_clickButton, _SkyTabsetFixture_getTabsetEl, _SkyTabsetFixture_getTabLinkEls, _SkyTabsetFixture_getTabLinkEl, _SkyTabsetFixture_getTextContent;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { By } from '@angular/platform-browser';
4
- import { SkyAppTestUtility } from '@skyux-sdk/testing';
5
- /**
6
- * Allows interaction with a SKY UX tabset component.
7
- * @internal
8
- */
9
- export class SkyTabsetFixture {
10
- /**
11
- * The tabset component's ARIA label.
12
- */
13
- get ariaLabel() {
14
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this);
15
- return tabsetEl.getAttribute('aria-label') || undefined;
16
- }
17
- /**
18
- * The tabset component's ARIA labelled by attribute.
19
- */
20
- get ariaLabelledBy() {
21
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this);
22
- return tabsetEl.getAttribute('aria-labelledby') || undefined;
23
- }
24
- /**
25
- * The index of the currently selected tab.
26
- */
27
- get activeTabIndex() {
28
- const tabLinkEls = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEls).call(this);
29
- for (let i = 0, n = tabLinkEls.length; i < n; i++) {
30
- if (tabLinkEls.item(i).classList.contains('sky-btn-tab-selected')) {
31
- return i;
32
- }
33
- }
34
- /* safety check */
35
- /* istanbul ignore next */
36
- return -1;
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
- /**
46
- * Retrieves information about the tab at the specified index.
47
- * @param tabIndex The index of the tab.
48
- */
49
- getTab(tabIndex) {
50
- const tabLinkEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEl).call(this, tabIndex);
51
- const active = this.activeTabIndex === tabIndex;
52
- const disabled = tabLinkEl.classList.contains('sky-btn-tab-disabled');
53
- const tabHeading = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTextContent).call(this, tabLinkEl.querySelector('.sky-tab-heading')?.childNodes[0]);
54
- const tabHeaderCount = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTextContent).call(this, tabLinkEl.querySelector('.sky-tab-header-count'));
55
- let permalinkValue;
56
- if (tabLinkEl.href) {
57
- const permalink = tabLinkEl.href.split('?')[1];
58
- if (permalink) {
59
- const permalinkParts = permalink.split('=');
60
- permalinkValue = decodeURIComponent(permalinkParts[1]);
61
- }
62
- }
63
- return {
64
- active,
65
- disabled,
66
- permalinkValue,
67
- tabHeaderCount,
68
- tabHeading,
69
- };
70
- }
71
- /**
72
- * Clicks the tabset's "new" button.
73
- */
74
- async clickNewButton() {
75
- return __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_clickButton).call(this, 'sky-tabset-btn-new');
76
- }
77
- /**
78
- * Clicks the tabset's "open" button.
79
- */
80
- async clickOpenButton() {
81
- return __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_clickButton).call(this, 'sky-tabset-btn-open');
82
- }
83
- /**
84
- * Clicks the tab button at the specified index.
85
- * @param tabIndex The index of the tab.
86
- */
87
- async clickTab(tabIndex) {
88
- const tabLinkEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEl).call(this, tabIndex);
89
- tabLinkEl.click();
90
- __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").detectChanges();
91
- return __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").whenStable();
92
- }
93
- /**
94
- * Click's the tab's close button at the specified index.
95
- * @param tabIndex The index of the tab.
96
- */
97
- async clickTabClose(tabIndex) {
98
- const tabWrapperEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this).querySelectorAll(`.sky-tabset-tabs .sky-btn-tab-wrapper`)[tabIndex];
99
- const closeBtnEl = tabWrapperEl.querySelector('.sky-btn-tab-close');
100
- if (!closeBtnEl) {
101
- throw new Error('The specified tab does not have a close button.');
102
- }
103
- closeBtnEl.click();
104
- __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").detectChanges();
105
- return __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").whenStable();
106
- }
107
- }
108
- _SkyTabsetFixture_debugEl = new WeakMap(), _SkyTabsetFixture_fixture = new WeakMap(), _SkyTabsetFixture_instances = new WeakSet(), _SkyTabsetFixture_clickButton = async function _SkyTabsetFixture_clickButton(buttonCls) {
109
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this);
110
- const newButtonEl = tabsetEl.querySelector(`.sky-tabset-btns .${buttonCls}`);
111
- newButtonEl.click();
112
- __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").detectChanges();
113
- return __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").whenStable();
114
- }, _SkyTabsetFixture_getTabsetEl = function _SkyTabsetFixture_getTabsetEl() {
115
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_debugEl, "f").query(By.css('.sky-tabset')).nativeElement;
116
- return tabsetEl;
117
- }, _SkyTabsetFixture_getTabLinkEls = function _SkyTabsetFixture_getTabLinkEls() {
118
- return __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this).querySelectorAll(`.sky-tabset-tabs .sky-btn-tab`);
119
- }, _SkyTabsetFixture_getTabLinkEl = function _SkyTabsetFixture_getTabLinkEl(tabIndex) {
120
- const tabLinkEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEls).call(this).item(tabIndex);
121
- if (!tabLinkEl) {
122
- throw new Error(`There is no tab at index ${tabIndex}.`);
123
- }
124
- return tabLinkEl;
125
- }, _SkyTabsetFixture_getTextContent = function _SkyTabsetFixture_getTextContent(el) {
126
- return (el && el.textContent?.trim()) || undefined;
127
- };
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFic2V0LWZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFicy90ZXN0aW5nL3NyYy90YWJzL3RhYnNldC1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsdUJBQUEsSUFBSSxrRUFBYSxNQUFqQixJQUFJLENBQWUsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsY0FBYztRQUN2QixNQUFNLFFBQVEsR0FBRyx1QkFBQSxJQUFJLGtFQUFhLE1BQWpCLElBQUksQ0FBZSxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsTUFBTSxVQUFVLEdBQUcsdUJBQUEsSUFBSSxvRUFBZSxNQUFuQixJQUFJLENBQWlCLENBQUM7UUFFekMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUNqRSxPQUFPLENBQUMsQ0FBQzthQUNWO1NB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QUFFLElBQUksRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5VGFic2V0Rml4dHVyZVRhYiB9IGZyb20gJy4vdGFiLWZpeHR1cmUtdGFiJztcblxuLyoqXG4gKiBBbGxvd3MgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCB0YWJzZXQgY29tcG9uZW50LlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lUYWJzZXRGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFRoZSB0YWJzZXQgY29tcG9uZW50J3MgQVJJQSBsYWJlbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdGFic2V0RWwgPSB0aGlzLiNnZXRUYWJzZXRFbCgpO1xuICAgIHJldHVybiB0YWJzZXRFbC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRhYnNldCBjb21wb25lbnQncyBBUklBIGxhYmVsbGVkIGJ5IGF0dHJpYnV0ZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsbGVkQnkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2dldFRhYnNldEVsKCk7XG4gICAgcmV0dXJuIHRhYnNldEVsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JykgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHRhYi5cbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0YWJMaW5rRWxzID0gdGhpcy4jZ2V0VGFiTGlua0VscygpO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSB0YWJMaW5rRWxzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgaWYgKHRhYkxpbmtFbHMuaXRlbShpKS5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1idG4tdGFiLXNlbGVjdGVkJykpIHtcbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogc2FmZXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAjZGVidWdFbDogRGVidWdFbGVtZW50O1xuICAjZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8YW55Piwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNmaXh0dXJlID0gZml4dHVyZTtcbiAgICB0aGlzLiNkZWJ1Z0VsID0gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0RGVidWdFbGVtZW50QnlUZXN0SWQoXG4gICAgICBmaXh0dXJlLFxuICAgICAgc2t5VGVzdElkLFxuICAgICAgJ3NreS10YWJzZXQnXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRhYiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgKiBAcGFyYW0gdGFiSW5kZXggVGhlIGluZGV4IG9mIHRoZSB0YWIuXG4gICAqL1xuICBwdWJsaWMgZ2V0VGFiKHRhYkluZGV4OiBudW1iZXIpOiBTa3lUYWJzZXRGaXh0dXJlVGFiIHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWwodGFiSW5kZXgpO1xuXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5hY3RpdmVUYWJJbmRleCA9PT0gdGFiSW5kZXg7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0YWJMaW5rRWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktYnRuLXRhYi1kaXNhYmxlZCcpO1xuICAgIGNvbnN0IHRhYkhlYWRpbmcgPSB0aGlzLiNnZXRUZXh0Q29udGVudChcbiAgICAgIHRhYkxpbmtFbC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRhYi1oZWFkaW5nJyk/LmNoaWxkTm9kZXNbMF1cbiAgICApO1xuICAgIGNvbnN0IHRhYkhlYWRlckNvdW50ID0gdGhpcy4jZ2V0VGV4dENvbnRlbnQoXG4gICAgICB0YWJMaW5rRWwucXVlcnlTZWxlY3RvcignLnNreS10YWItaGVhZGVyLWNvdW50JylcbiAgICApO1xuXG4gICAgbGV0IHBlcm1hbGlua1ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGFiTGlua0VsLmhyZWYpIHtcbiAgICAgIGNvbnN0IHBlcm1hbGluayA9IHRhYkxpbmtFbC5ocmVmLnNwbGl0KCc/JylbMV07XG4gICAgICBpZiAocGVybWFsaW5rKSB7XG4gICAgICAgIGNvbnN0IHBlcm1hbGlua1BhcnRzID0gcGVybWFsaW5rLnNwbGl0KCc9Jyk7XG5cbiAgICAgICAgcGVybWFsaW5rVmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQocGVybWFsaW5rUGFydHNbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhY3RpdmUsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHBlcm1hbGlua1ZhbHVlLFxuICAgICAgdGFiSGVhZGVyQ291bnQsXG4gICAgICB0YWJIZWFkaW5nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWJzZXQncyBcIm5ld1wiIGJ1dHRvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja05ld0J1dHRvbigpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLiNjbGlja0J1dHRvbignc2t5LXRhYnNldC1idG4tbmV3Jyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWJzZXQncyBcIm9wZW5cIiBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tPcGVuQnV0dG9uKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuI2NsaWNrQnV0dG9uKCdza3ktdGFic2V0LWJ0bi1vcGVuJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSB0YWIgYnV0dG9uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RhYih0YWJJbmRleDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWwodGFiSW5kZXgpO1xuXG4gICAgdGFiTGlua0VsLmNsaWNrKCk7XG5cbiAgICB0aGlzLiNmaXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy4jZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sncyB0aGUgdGFiJ3MgY2xvc2UgYnV0dG9uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG4gICAqIEBwYXJhbSB0YWJJbmRleCBUaGUgaW5kZXggb2YgdGhlIHRhYi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RhYkNsb3NlKHRhYkluZGV4OiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHRhYldyYXBwZXJFbCA9IHRoaXMuI2dldFRhYnNldEVsKCkucXVlcnlTZWxlY3RvckFsbChcbiAgICAgIGAuc2t5LXRhYnNldC10YWJzIC5za3ktYnRuLXRhYi13cmFwcGVyYFxuICAgIClbdGFiSW5kZXhdO1xuXG4gICAgY29uc3QgY2xvc2VCdG5FbCA9IHRhYldyYXBwZXJFbC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5za3ktYnRuLXRhYi1jbG9zZSdcbiAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuXG4gICAgaWYgKCFjbG9zZUJ0bkVsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBzcGVjaWZpZWQgdGFiIGRvZXMgbm90IGhhdmUgYSBjbG9zZSBidXR0b24uJyk7XG4gICAgfVxuXG4gICAgY2xvc2VCdG5FbC5jbGljaygpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgYXN5bmMgI2NsaWNrQnV0dG9uKGJ1dHRvbkNsczogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2dldFRhYnNldEVsKCk7XG5cbiAgICBjb25zdCBuZXdCdXR0b25FbCA9IHRhYnNldEVsLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBgLnNreS10YWJzZXQtYnRucyAuJHtidXR0b25DbHN9YFxuICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICBuZXdCdXR0b25FbC5jbGljaygpO1xuXG4gICAgdGhpcy4jZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuI2ZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgI2dldFRhYnNldEVsKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCB0YWJzZXRFbCA9IHRoaXMuI2RlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LXRhYnNldCcpKS5uYXRpdmVFbGVtZW50O1xuXG4gICAgcmV0dXJuIHRhYnNldEVsO1xuICB9XG5cbiAgI2dldFRhYkxpbmtFbHMoKTogTm9kZUxpc3RPZjxIVE1MQW5jaG9yRWxlbWVudD4ge1xuICAgIHJldHVybiB0aGlzLiNnZXRUYWJzZXRFbCgpLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgLnNreS10YWJzZXQtdGFicyAuc2t5LWJ0bi10YWJgXG4gICAgKTtcbiAgfVxuXG4gICNnZXRUYWJMaW5rRWwodGFiSW5kZXg6IG51bWJlcik6IEhUTUxBbmNob3JFbGVtZW50IHtcbiAgICBjb25zdCB0YWJMaW5rRWwgPSB0aGlzLiNnZXRUYWJMaW5rRWxzKCkuaXRlbSh0YWJJbmRleCk7XG5cbiAgICBpZiAoIXRhYkxpbmtFbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyB0YWIgYXQgaW5kZXggJHt0YWJJbmRleH0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhYkxpbmtFbDtcbiAgfVxuXG4gICNnZXRUZXh0Q29udGVudChlbDogRWxlbWVudCB8IE5vZGUgfCB1bmRlZmluZWQgfCBudWxsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVsICYmIGVsLnRleHRDb250ZW50Py50cmltKCkpIHx8IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,147 +0,0 @@
1
- import { __classPrivateFieldGet, __classPrivateFieldSet, __awaiter } from 'tslib';
2
- import { By } from '@angular/platform-browser';
3
- import { SkyAppTestUtility } from '@skyux-sdk/testing';
4
-
5
- var _SkyTabsetFixture_instances, _SkyTabsetFixture_debugEl, _SkyTabsetFixture_fixture, _SkyTabsetFixture_clickButton, _SkyTabsetFixture_getTabsetEl, _SkyTabsetFixture_getTabLinkEls, _SkyTabsetFixture_getTabLinkEl, _SkyTabsetFixture_getTextContent;
6
- /**
7
- * Allows interaction with a SKY UX tabset component.
8
- * @internal
9
- */
10
- class SkyTabsetFixture {
11
- /**
12
- * The tabset component's ARIA label.
13
- */
14
- get ariaLabel() {
15
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this);
16
- return tabsetEl.getAttribute('aria-label') || undefined;
17
- }
18
- /**
19
- * The tabset component's ARIA labelled by attribute.
20
- */
21
- get ariaLabelledBy() {
22
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this);
23
- return tabsetEl.getAttribute('aria-labelledby') || undefined;
24
- }
25
- /**
26
- * The index of the currently selected tab.
27
- */
28
- get activeTabIndex() {
29
- const tabLinkEls = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEls).call(this);
30
- for (let i = 0, n = tabLinkEls.length; i < n; i++) {
31
- if (tabLinkEls.item(i).classList.contains('sky-btn-tab-selected')) {
32
- return i;
33
- }
34
- }
35
- /* safety check */
36
- /* istanbul ignore next */
37
- return -1;
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
- /**
47
- * Retrieves information about the tab at the specified index.
48
- * @param tabIndex The index of the tab.
49
- */
50
- getTab(tabIndex) {
51
- var _a;
52
- const tabLinkEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEl).call(this, tabIndex);
53
- const active = this.activeTabIndex === tabIndex;
54
- const disabled = tabLinkEl.classList.contains('sky-btn-tab-disabled');
55
- const tabHeading = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTextContent).call(this, (_a = tabLinkEl.querySelector('.sky-tab-heading')) === null || _a === void 0 ? void 0 : _a.childNodes[0]);
56
- const tabHeaderCount = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTextContent).call(this, tabLinkEl.querySelector('.sky-tab-header-count'));
57
- let permalinkValue;
58
- if (tabLinkEl.href) {
59
- const permalink = tabLinkEl.href.split('?')[1];
60
- if (permalink) {
61
- const permalinkParts = permalink.split('=');
62
- permalinkValue = decodeURIComponent(permalinkParts[1]);
63
- }
64
- }
65
- return {
66
- active,
67
- disabled,
68
- permalinkValue,
69
- tabHeaderCount,
70
- tabHeading,
71
- };
72
- }
73
- /**
74
- * Clicks the tabset's "new" button.
75
- */
76
- clickNewButton() {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- return __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_clickButton).call(this, 'sky-tabset-btn-new');
79
- });
80
- }
81
- /**
82
- * Clicks the tabset's "open" button.
83
- */
84
- clickOpenButton() {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- return __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_clickButton).call(this, 'sky-tabset-btn-open');
87
- });
88
- }
89
- /**
90
- * Clicks the tab button at the specified index.
91
- * @param tabIndex The index of the tab.
92
- */
93
- clickTab(tabIndex) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const tabLinkEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEl).call(this, tabIndex);
96
- tabLinkEl.click();
97
- __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").detectChanges();
98
- return __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").whenStable();
99
- });
100
- }
101
- /**
102
- * Click's the tab's close button at the specified index.
103
- * @param tabIndex The index of the tab.
104
- */
105
- clickTabClose(tabIndex) {
106
- return __awaiter(this, void 0, void 0, function* () {
107
- const tabWrapperEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this).querySelectorAll(`.sky-tabset-tabs .sky-btn-tab-wrapper`)[tabIndex];
108
- const closeBtnEl = tabWrapperEl.querySelector('.sky-btn-tab-close');
109
- if (!closeBtnEl) {
110
- throw new Error('The specified tab does not have a close button.');
111
- }
112
- closeBtnEl.click();
113
- __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").detectChanges();
114
- return __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").whenStable();
115
- });
116
- }
117
- }
118
- _SkyTabsetFixture_debugEl = new WeakMap(), _SkyTabsetFixture_fixture = new WeakMap(), _SkyTabsetFixture_instances = new WeakSet(), _SkyTabsetFixture_clickButton = function _SkyTabsetFixture_clickButton(buttonCls) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this);
121
- const newButtonEl = tabsetEl.querySelector(`.sky-tabset-btns .${buttonCls}`);
122
- newButtonEl.click();
123
- __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").detectChanges();
124
- return __classPrivateFieldGet(this, _SkyTabsetFixture_fixture, "f").whenStable();
125
- });
126
- }, _SkyTabsetFixture_getTabsetEl = function _SkyTabsetFixture_getTabsetEl() {
127
- const tabsetEl = __classPrivateFieldGet(this, _SkyTabsetFixture_debugEl, "f").query(By.css('.sky-tabset')).nativeElement;
128
- return tabsetEl;
129
- }, _SkyTabsetFixture_getTabLinkEls = function _SkyTabsetFixture_getTabLinkEls() {
130
- return __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabsetEl).call(this).querySelectorAll(`.sky-tabset-tabs .sky-btn-tab`);
131
- }, _SkyTabsetFixture_getTabLinkEl = function _SkyTabsetFixture_getTabLinkEl(tabIndex) {
132
- const tabLinkEl = __classPrivateFieldGet(this, _SkyTabsetFixture_instances, "m", _SkyTabsetFixture_getTabLinkEls).call(this).item(tabIndex);
133
- if (!tabLinkEl) {
134
- throw new Error(`There is no tab at index ${tabIndex}.`);
135
- }
136
- return tabLinkEl;
137
- }, _SkyTabsetFixture_getTextContent = function _SkyTabsetFixture_getTextContent(el) {
138
- var _a;
139
- return (el && ((_a = el.textContent) === null || _a === void 0 ? void 0 : _a.trim())) || undefined;
140
- };
141
-
142
- /**
143
- * Generated bundle index. Do not edit.
144
- */
145
-
146
- export { SkyTabsetFixture };
147
- //# sourceMappingURL=skyux-tabs-testing.mjs.map
@@ -1 +0,0 @@
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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"}