@skyux/popovers 6.16.0 → 6.18.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.
@@ -4,6 +4,7 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
4
4
  * Provides information for and interaction with a SKY UX dropdown component.
5
5
  * By using the fixture API, a test insulates itself against updates to the internals
6
6
  * of a component, such as changing its DOM structure.
7
+ * @internal
7
8
  */
8
9
  export class SkyDropdownFixture {
9
10
  constructor(fixture, skyTestId) {
@@ -15,9 +16,6 @@ export class SkyDropdownFixture {
15
16
  */
16
17
  get dropdown() {
17
18
  const button = this.buttonDebugElement;
18
- if (!button) {
19
- return;
20
- }
21
19
  return {
22
20
  buttonStyle: this.getButtonStyle(button.classes),
23
21
  buttonType: this.getButtonType(button.classes),
@@ -85,13 +83,10 @@ export class SkyDropdownFixture {
85
83
  if (!itemEls) {
86
84
  return;
87
85
  }
88
- if (index >= itemEls.length) {
86
+ if (!itemEls[index]) {
89
87
  throw new Error(`There is no dropdown item at index ${index}.`);
90
88
  }
91
89
  const item = itemEls[index];
92
- if (!item) {
93
- return;
94
- }
95
90
  return {
96
91
  ariaRole: item.getAttribute('role'),
97
92
  };
@@ -127,14 +122,15 @@ export class SkyDropdownFixture {
127
122
  }
128
123
  getButtonType(classNames) {
129
124
  const prefix = 'sky-dropdown-button-type-';
125
+ let found = '';
130
126
  for (const i in classNames) {
131
127
  if (classNames[i]) {
132
128
  if (i.indexOf(prefix) > -1) {
133
- return i.replace(prefix, '');
129
+ found = i.replace(prefix, '');
134
130
  }
135
131
  }
136
132
  }
137
- return undefined;
133
+ return found;
138
134
  }
139
135
  }
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9kcm9wZG93bi1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU12RDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQXVEN0IsWUFBb0IsT0FBa0MsRUFBRSxTQUFpQjtRQUFyRCxZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDLHVCQUF1QixDQUN0RCxPQUFPLEVBQ1AsU0FBUyxFQUNULGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQTVERDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUVELE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2hELFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUN2QyxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1lBQ3RELEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsa0JBQWtCO1FBQzNCLE9B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O0lBRU8sVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUV0QjtRQUNDLElBQUksVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDakMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFTyxhQUFhLENBQUMsVUFFckI7UUFDQyxNQUFNLE1BQU0sR0FBRywyQkFBMkIsQ0FBQztRQUUzQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUMxQixJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMxQixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUM5QjthQUNGO1NBQ0Y7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgQnkgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgU2t5UG9wb3ZlcnNGaXh0dXJlRHJvcGRvd24gfSBmcm9tICcuL3BvcG92ZXJzLWZpeHR1cmUtZHJvcGRvd24nO1xuaW1wb3J0IHsgU2t5UG9wb3ZlcnNGaXh0dXJlRHJvcGRvd25JdGVtIH0gZnJvbSAnLi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duLWl0ZW0nO1xuaW1wb3J0IHsgU2t5UG9wb3ZlcnNGaXh0dXJlRHJvcGRvd25NZW51IH0gZnJvbSAnLi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duLW1lbnUnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIGZvciBhbmQgaW50ZXJhY3Rpb24gd2l0aCBhIFNLWSBVWCBkcm9wZG93biBjb21wb25lbnQuXG4gKiBCeSB1c2luZyB0aGUgZml4dHVyZSBBUEksIGEgdGVzdCBpbnN1bGF0ZXMgaXRzZWxmIGFnYWluc3QgdXBkYXRlcyB0byB0aGUgaW50ZXJuYWxzXG4gKiBvZiBhIGNvbXBvbmVudCwgc3VjaCBhcyBjaGFuZ2luZyBpdHMgRE9NIHN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duRml4dHVyZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duKCk6IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBidXR0b24gPSB0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudDtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1dHRvblN0eWxlOiB0aGlzLmdldEJ1dHRvblN0eWxlKGJ1dHRvbi5jbGFzc2VzKSxcbiAgICAgIGJ1dHRvblR5cGU6IHRoaXMuZ2V0QnV0dG9uVHlwZShidXR0b24uY2xhc3NlcyksXG4gICAgICBkaXNhYmxlZDogYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQsXG4gICAgICBsYWJlbDogYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyksXG4gICAgICB0aXRsZTogYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZHJvcGRvd24gYnV0dG9uJ3MgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25CdXR0b25UZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQodGhpcy5idXR0b25EZWJ1Z0VsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZHJvcGRvd24gbWVudSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duTWVudSgpOiBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bk1lbnUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1lbnUgPSB0aGlzLmdldERyb3Bkb3duTWVudUNvbnRlbnQoKTtcbiAgICBpZiAoIW1lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXJpYUxhYmVsbGVkQnk6IG1lbnUuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSxcbiAgICAgIGFyaWFSb2xlOiBtZW51LmdldEF0dHJpYnV0ZSgncm9sZScpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBkcm9wZG93biBtZW51IGlzIG9wZW4gYW5kIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duTWVudUlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXREcm9wZG93bk1lbnVDb250ZW50KCkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGJ1dHRvbkRlYnVnRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmRlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWRyb3Bkb3duLWJ1dHRvbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPiwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LWRyb3Bkb3duJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgdGhlIGRyb3Bkb3duIGJ1dHRvbiB0byBvcGVuIG9yIGNsb3NlIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRHJvcGRvd25CdXR0b24oKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgdGhpcy5idXR0b25EZWJ1Z0VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgdGhlIGRyb3Bkb3duIGl0ZW0gYXQgdGhlIHByb3ZpZGVkIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRHJvcGRvd25JdGVtKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5nZXREcm9wZG93bkl0ZW1FbHMoKTtcblxuICAgIGlmICghaXRlbUVscykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSBpdGVtRWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBkcm9wZG93biBpdGVtIGF0IGluZGV4ICR7aW5kZXh9LmApO1xuICAgIH1cblxuICAgIGl0ZW1FbHNbaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbixhJykuY2xpY2soKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZHJvcGRvd24gaXRlbSBhdCB0aGUgcHJvdmlkZWQgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZ2V0RHJvcGRvd25JdGVtKFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogU2t5UG9wb3ZlcnNGaXh0dXJlRHJvcGRvd25JdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5nZXREcm9wZG93bkl0ZW1FbHMoKTtcblxuICAgIGlmICghaXRlbUVscykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSBpdGVtRWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBkcm9wZG93biBpdGVtIGF0IGluZGV4ICR7aW5kZXh9LmApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW0gPSBpdGVtRWxzW2luZGV4XTtcbiAgICBpZiAoIWl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXJpYVJvbGU6IGl0ZW0uZ2V0QXR0cmlidXRlKCdyb2xlJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb250ZW50cyBvZiB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIHB1YmxpYyBnZXREcm9wZG93bk1lbnVDb250ZW50KCk6IGFueSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuZ2V0T3ZlcmxheSgpO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBvdmVybGF5LnF1ZXJ5U2VsZWN0b3IoJy5za3ktZHJvcGRvd24tbWVudScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcm9wZG93bkl0ZW1FbHMoKTogTm9kZUxpc3RPZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG5cbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gb3ZlcmxheS5xdWVyeVNlbGVjdG9yQWxsKCcuc2t5LWRyb3Bkb3duLWl0ZW0nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheSgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdza3ktb3ZlcmxheScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25TdHlsZShjbGFzc05hbWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNsYXNzTmFtZXNbJ3NreS1idG4tcHJpbWFyeSddKSB7XG4gICAgICByZXR1cm4gJ3ByaW1hcnknO1xuICAgIH1cbiAgICBpZiAoY2xhc3NOYW1lc1snc2t5LWJ0bi1kZWZhdWx0J10pIHtcbiAgICAgIHJldHVybiAnZGVmYXVsdCc7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnV0dG9uVHlwZShjbGFzc05hbWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcHJlZml4ID0gJ3NreS1kcm9wZG93bi1idXR0b24tdHlwZS0nO1xuXG4gICAgZm9yIChjb25zdCBpIGluIGNsYXNzTmFtZXMpIHtcbiAgICAgIGlmIChjbGFzc05hbWVzW2ldKSB7XG4gICAgICAgIGlmIChpLmluZGV4T2YocHJlZml4KSA+IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIGkucmVwbGFjZShwcmVmaXgsICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9kcm9wZG93bi1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU12RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFrRDdCLFlBQW9CLE9BQWtDLEVBQUUsU0FBaUI7UUFBckQsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdEQsT0FBTyxFQUNQLFNBQVMsRUFDVCxjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUF2REQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3ZDLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2hELFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUN2QyxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1lBQ3RELEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsa0JBQWtCO1FBQzNCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFB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QUFDLFVBRXRCO1FBQ0MsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNqQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELElBQUksVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDakMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFzQztRQUMxRCxNQUFNLE1BQU0sR0FBRywyQkFBMkIsQ0FBQztRQUUzQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUMxQixJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMxQixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQy9CO2FBQ0Y7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIH0gZnJvbSAnLi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duJztcbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duSXRlbSB9IGZyb20gJy4vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1pdGVtJztcbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duTWVudSB9IGZyb20gJy4vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1tZW51JztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggZHJvcGRvd24gY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duRml4dHVyZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duKCk6IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBidXR0b24gPSB0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudDtcbiAgICByZXR1cm4ge1xuICAgICAgYnV0dG9uU3R5bGU6IHRoaXMuZ2V0QnV0dG9uU3R5bGUoYnV0dG9uLmNsYXNzZXMpLFxuICAgICAgYnV0dG9uVHlwZTogdGhpcy5nZXRCdXR0b25UeXBlKGJ1dHRvbi5jbGFzc2VzKSxcbiAgICAgIGRpc2FibGVkOiBidXR0b24ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCxcbiAgICAgIGxhYmVsOiBidXR0b24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSxcbiAgICAgIHRpdGxlOiBidXR0b24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RpdGxlJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkcm9wZG93biBidXR0b24ncyB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGdldCBkcm9wZG93bkJ1dHRvblRleHQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dCh0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBtZW51IGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25NZW51KCk6IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duTWVudSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWVudSA9IHRoaXMuZ2V0RHJvcGRvd25NZW51Q29udGVudCgpO1xuICAgIGlmICghbWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhcmlhTGFiZWxsZWRCeTogbWVudS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpLFxuICAgICAgYXJpYVJvbGU6IG1lbnUuZ2V0QXR0cmlidXRlKCdyb2xlJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGRyb3Bkb3duIG1lbnUgaXMgb3BlbiBhbmQgdmlzaWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25NZW51SXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldERyb3Bkb3duTWVudUNvbnRlbnQoKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYnV0dG9uRGVidWdFbGVtZW50KCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktZHJvcGRvd24tYnV0dG9uJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktZHJvcGRvd24nXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGljayB0aGUgZHJvcGRvd24gYnV0dG9uIHRvIG9wZW4gb3IgY2xvc2UgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEcm9wZG93bkJ1dHRvbigpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICB0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGljayB0aGUgZHJvcGRvd24gaXRlbSBhdCB0aGUgcHJvdmlkZWQgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEcm9wZG93bkl0ZW0oaW5kZXg6IG51bWJlcik6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIGNvbnN0IGl0ZW1FbHMgPSB0aGlzLmdldERyb3Bkb3duSXRlbUVscygpO1xuXG4gICAgaWYgKCFpdGVtRWxzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ID49IGl0ZW1FbHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIGRyb3Bkb3duIGl0ZW0gYXQgaW5kZXggJHtpbmRleH0uYCk7XG4gICAgfVxuXG4gICAgaXRlbUVsc1tpbmRleF0ucXVlcnlTZWxlY3RvcignYnV0dG9uLGEnKS5jbGljaygpO1xuXG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBpdGVtIGF0IHRoZSBwcm92aWRlZCBpbmRleC5cbiAgICovXG4gIHB1YmxpYyBnZXREcm9wZG93bkl0ZW0oXG4gICAgaW5kZXg6IG51bWJlclxuICApOiBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bkl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGl0ZW1FbHMgPSB0aGlzLmdldERyb3Bkb3duSXRlbUVscygpO1xuXG4gICAgaWYgKCFpdGVtRWxzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpdGVtRWxzW2luZGV4XSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBkcm9wZG93biBpdGVtIGF0IGluZGV4ICR7aW5kZXh9LmApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW0gPSBpdGVtRWxzW2luZGV4XTtcblxuICAgIHJldHVybiB7XG4gICAgICBhcmlhUm9sZTogaXRlbS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbnRlbnRzIG9mIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgcHVibGljIGdldERyb3Bkb3duTWVudUNvbnRlbnQoKTogYW55IHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG92ZXJsYXkucXVlcnlTZWxlY3RvcignLnNreS1kcm9wZG93bi1tZW51Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldERyb3Bkb3duSXRlbUVscygpOiBOb2RlTGlzdE9mPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLmdldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBvdmVybGF5LnF1ZXJ5U2VsZWN0b3JBbGwoJy5za3ktZHJvcGRvd24taXRlbScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NreS1vdmVybGF5Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1dHRvblN0eWxlKGNsYXNzTmFtZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY2xhc3NOYW1lc1snc2t5LWJ0bi1wcmltYXJ5J10pIHtcbiAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgfVxuICAgIGlmIChjbGFzc05hbWVzWydza3ktYnRuLWRlZmF1bHQnXSkge1xuICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25UeXBlKGNsYXNzTmFtZXM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSAnc2t5LWRyb3Bkb3duLWJ1dHRvbi10eXBlLSc7XG5cbiAgICBsZXQgZm91bmQgPSAnJztcbiAgICBmb3IgKGNvbnN0IGkgaW4gY2xhc3NOYW1lcykge1xuICAgICAgaWYgKGNsYXNzTmFtZXNbaV0pIHtcbiAgICAgICAgaWYgKGkuaW5kZXhPZihwcmVmaXgpID4gLTEpIHtcbiAgICAgICAgICBmb3VuZCA9IGkucmVwbGFjZShwcmVmaXgsICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxufVxuIl19
@@ -1,6 +1,9 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { SkyDropdownModule } from '@skyux/popovers';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * @internal
6
+ */
4
7
  export class SkyDropdownTestingModule {
5
8
  }
6
9
  SkyDropdownTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDropdownTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -12,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
12
15
  exports: [SkyDropdownModule],
13
16
  }]
14
17
  }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvdGVzdGluZy9zcmMvZHJvcGRvd24vZHJvcGRvd24tdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3QjtzSEFBeEIsd0JBQXdCLFlBRnpCLGlCQUFpQjtzSEFFaEIsd0JBQXdCLFlBRnpCLGlCQUFpQjsyRkFFaEIsd0JBQXdCO2tCQUhwQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lEcm9wZG93bk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duVGVzdGluZ01vZHVsZSB7fVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvcG9wb3ZlcnMvdGVzdGluZy9zcmMvZHJvcGRvd24vZHJvcGRvd24tdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFcEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3NIQUF4Qix3QkFBd0IsWUFGekIsaUJBQWlCO3NIQUVoQix3QkFBd0IsWUFGekIsaUJBQWlCOzJGQUVoQix3QkFBd0I7a0JBSHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreURyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreURyb3Bkb3duTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RHJvcGRvd25UZXN0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL2Ryb3Bkb3duL3BvcG92ZXJzLWZpeHR1cmUtZHJvcGRvd24tbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bk1lbnUge1xuICBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuICBhcmlhUm9sZTogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL2Ryb3Bkb3duL3BvcG92ZXJzLWZpeHR1cmUtZHJvcGRvd24tbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bk1lbnUge1xuICBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuICBhcmlhUm9sZTogc3RyaW5nO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIHtcbiAgYnV0dG9uU3R5bGU/OiBzdHJpbmc7XG4gIGJ1dHRvblR5cGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBsYWJlbDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIHtcbiAgYnV0dG9uU3R5bGU/OiBzdHJpbmc7XG4gIGJ1dHRvblR5cGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBsYWJlbDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuIl19
@@ -3,6 +3,7 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
3
3
  * Provides information for and interaction with a SKY UX popover component.
4
4
  * By using the fixture API, a test insulates itself against updates to the internals
5
5
  * of a component, such as changing its DOM structure.
6
+ * @internal
6
7
  */
7
8
  export class SkyPopoverFixture {
8
9
  constructor(fixture) {
@@ -83,4 +84,4 @@ export class SkyPopoverFixture {
83
84
  return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);
84
85
  }
85
86
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL3BvcG92ZXIvcG9wb3Zlci1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBMEM1QixZQUFvQixPQUFrQztRQUFsQyxZQUFPLEdBQVAsT0FBTyxDQUEyQjtJQUFHLENBQUM7SUF6QzFEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLHdCQUF3QixDQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FDckMsSUFBSSxDQUFDLGdCQUFnQixFQUNyQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsWUFBWTtRQUNyQixPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsQ0FBQztJQUMzQyxDQUFDO0lBSUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1QsMERBQTBEO1FBQzFELGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsaUJBQWlCO0lBQ2pCLElBQVksY0FBYztRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBWSxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzVELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSywyQkFBMkIsQ0FDakMsT0FBZ0MsRUFDaEMsTUFBYztRQUVkLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFMUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IFNreUFwcFRlc3RVdGlsaXR5IH0gZnJvbSAnQHNreXV4LXNkay90ZXN0aW5nJztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggcG9wb3ZlciBjb21wb25lbnQuXG4gKiBCeSB1c2luZyB0aGUgZml4dHVyZSBBUEksIGEgdGVzdCBpbnN1bGF0ZXMgaXRzZWxmIGFnYWluc3QgdXBkYXRlcyB0byB0aGUgaW50ZXJuYWxzXG4gKiBvZiBhIGNvbXBvbmVudCwgc3VjaCBhcyBjaGFuZ2luZyBpdHMgRE9NIHN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBvcG92ZXJGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBvcG92ZXIgYWxpZ25tZW50IGlmIHRoZSBwb3BvdmVyIGlzIG9wZW4sIG90aGVyd2lzZSB1bmRlZmluZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFsaWdubWVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzU3VmZml4QnlDbGFzc1ByZWZpeChcbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCxcbiAgICAgICdza3ktcG9wb3Zlci1hbGlnbm1lbnQtJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQgaWYgdGhlIHBvcG92ZXIgaXMgb3Blbiwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYm9keSgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYm9keUVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9wb3ZlciBwb3NpdGlvbiBpZiB0aGUgcG9wb3ZlciBpcyBvcGVuLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGdldCBwbGFjZW1lbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDbGFzc1N1ZmZpeEJ5Q2xhc3NQcmVmaXgoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQsXG4gICAgICAnc2t5LXBvcG92ZXItcGxhY2VtZW50LSdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBvcG92ZXIgdGl0bGUgdGV4dCBpZiB0aGUgcG9wb3ZlciBpcyBvcGVuLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGdldCBwb3BvdmVyVGl0bGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dCh0aGlzLnRpdGxlRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBwb3BvdmVyIGlzIG9wZW4gYW5kIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBvcG92ZXJJc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudEVsZW1lbnQgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPikge31cblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIGJsdXIgZXZlbnQgZm9yIHRoZSBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIGJsdXIoKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgLy8gY2xvc2UgdGhlIHBvcG92ZXIgYnkgY2hhbmdpbmcgZm9jdXMgdG8gdGhlIGJvZHkgZWxlbWVudFxuICAgIFNreUFwcFRlc3RVdGlsaXR5LmZpcmVEb21FdmVudCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgJ2NsaWNrJyk7XG5cbiAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgLy8jcmVnaW9uIGhlbHBlcnNcbiAgcHJpdmF0ZSBnZXQgY29udGVudEVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5T3ZlcmxheSgnc2t5LXBvcG92ZXItY29udGVudCcpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbnRhaW5lckVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5T3ZlcmxheSgnLnNreS1wb3BvdmVyLWNvbnRhaW5lcicpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRpdGxlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlPdmVybGF5KCcuc2t5LXBvcG92ZXItdGl0bGUnKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBib2R5RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlPdmVybGF5KCcuc2t5LXBvcG92ZXItYm9keScpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheSgpOiBFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2t5LW92ZXJsYXknKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHF1ZXJ5T3ZlcmxheShxdWVyeTogc3RyaW5nKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG5cbiAgICByZXR1cm4gIW92ZXJsYXkgPyBudWxsIDogb3ZlcmxheS5xdWVyeVNlbGVjdG9yKHF1ZXJ5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyB0aGUgZWxlbWVudCdzIGNsYXNzIG5hbWVzIGZvciBhIGNsYXNzIHdoaWNoIG1hdGNoZXMgYSBnaXZlbiBwcmVmaXguXG4gICAqIElmIGEgbWF0Y2ggaXMgZm91bmQsIHRoZSBwcmVmaXggaXMgdHJpbW1lZCBmcm9tIHRoZSBjbGFzcyBuYW1lIGFuZCB0aGUgc3VmZml4IGlzIHJldHVybmVkLlxuICAgKiBJZiBubyBjbGFzcyBtYXRjaGluZyB0aGUgcHJlZml4IGlzIGZvdW5kLCB1bmRlZmluZWQgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqICAgRm9yIGEgY2xhc3MgJ3NreS1wb3BvdmVyLXBsYWNlbWVudC1yaWdodCcsIHBhc3NpbmcgdGhlIHByZWZpeCAnc2t5LXBvcG92ZXItcGxhY2VtZW50LSdcbiAgICogICBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSAncmlnaHQnLlxuICAgKiBAcGFyYW0gcHJlZml4XG4gICAqL1xuICBwcml2YXRlIGdldENsYXNzU3VmZml4QnlDbGFzc1ByZWZpeChcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcbiAgICBwcmVmaXg6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbnRhaW5lckNsYXNzZXMgPSBlbGVtZW50Py5jbGFzc05hbWUuc3BsaXQoJyAnKTtcbiAgICBjb25zdCBwcmVmaXhlZENsYXNzID0gY29udGFpbmVyQ2xhc3Nlcz8uZmluZCgoeCkgPT4geC5zdGFydHNXaXRoKHByZWZpeCkpO1xuXG4gICAgcmV0dXJuICFwcmVmaXhlZENsYXNzID8gdW5kZWZpbmVkIDogcHJlZml4ZWRDbGFzcy5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3BvcG92ZXJzL3Rlc3Rpbmcvc3JjL3BvcG92ZXIvcG9wb3Zlci1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQTBDNUIsWUFBb0IsT0FBa0M7UUFBbEMsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7SUFBRyxDQUFDO0lBekMxRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FDckMsSUFBSSxDQUFDLGdCQUFnQixFQUNyQix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsRUFDckIsd0JBQXdCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDckIsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUlEOztPQUVHO0lBQ0ksSUFBSTtRQUNULDBEQUEwRDtRQUMxRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtJQUNqQixJQUFZLGNBQWM7UUFDeEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksU0FBUyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDN0QsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWE7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWxDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ssMkJBQTJCLENBQ2pDLE9BQWdDLEVBQ2hDLE1BQWM7UUFFZCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gZm9yIGFuZCBpbnRlcmFjdGlvbiB3aXRoIGEgU0tZIFVYIHBvcG92ZXIgY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreVBvcG92ZXJGaXh0dXJlIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBvcG92ZXIgYWxpZ25tZW50IGlmIHRoZSBwb3BvdmVyIGlzIG9wZW4sIG90aGVyd2lzZSB1bmRlZmluZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFsaWdubWVudCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmdldENsYXNzU3VmZml4QnlDbGFzc1ByZWZpeChcbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudCxcbiAgICAgICdza3ktcG9wb3Zlci1hbGlnbm1lbnQtJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9wb3ZlciBib2R5IGVsZW1lbnQgaWYgdGhlIHBvcG92ZXIgaXMgb3Blbiwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgYm9keSgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYm9keUVsZW1lbnQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcG9wb3ZlciBwb3NpdGlvbiBpZiB0aGUgcG9wb3ZlciBpcyBvcGVuLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGdldCBwbGFjZW1lbnQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDbGFzc1N1ZmZpeEJ5Q2xhc3NQcmVmaXgoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsZW1lbnQsXG4gICAgICAnc2t5LXBvcG92ZXItcGxhY2VtZW50LSdcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBvcG92ZXIgdGl0bGUgdGV4dCBpZiB0aGUgcG9wb3ZlciBpcyBvcGVuLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIGdldCBwb3BvdmVyVGl0bGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dCh0aGlzLnRpdGxlRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBwb3BvdmVyIGlzIG9wZW4gYW5kIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBvcG92ZXJJc1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGVudEVsZW1lbnQgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPikge31cblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIGJsdXIgZXZlbnQgZm9yIHRoZSBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIGJsdXIoKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgLy8gY2xvc2UgdGhlIHBvcG92ZXIgYnkgY2hhbmdpbmcgZm9jdXMgdG8gdGhlIGJvZHkgZWxlbWVudFxuICAgIFNreUFwcFRlc3RVdGlsaXR5LmZpcmVEb21FdmVudCh3aW5kb3cuZG9jdW1lbnQuYm9keSwgJ2NsaWNrJyk7XG5cbiAgICB0aGlzLmZpeHR1cmUuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLmZpeHR1cmUud2hlblN0YWJsZSgpO1xuICB9XG5cbiAgLy8jcmVnaW9uIGhlbHBlcnNcbiAgcHJpdmF0ZSBnZXQgY29udGVudEVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5T3ZlcmxheSgnc2t5LXBvcG92ZXItY29udGVudCcpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbnRhaW5lckVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5T3ZlcmxheSgnLnNreS1wb3BvdmVyLWNvbnRhaW5lcicpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRpdGxlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlPdmVybGF5KCcuc2t5LXBvcG92ZXItdGl0bGUnKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBib2R5RWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlPdmVybGF5KCcuc2t5LXBvcG92ZXItYm9keScpIHx8IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheSgpOiBFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2t5LW92ZXJsYXknKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHF1ZXJ5T3ZlcmxheShxdWVyeTogc3RyaW5nKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG5cbiAgICByZXR1cm4gIW92ZXJsYXkgPyBudWxsIDogb3ZlcmxheS5xdWVyeVNlbGVjdG9yKHF1ZXJ5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2hlcyB0aGUgZWxlbWVudCdzIGNsYXNzIG5hbWVzIGZvciBhIGNsYXNzIHdoaWNoIG1hdGNoZXMgYSBnaXZlbiBwcmVmaXguXG4gICAqIElmIGEgbWF0Y2ggaXMgZm91bmQsIHRoZSBwcmVmaXggaXMgdHJpbW1lZCBmcm9tIHRoZSBjbGFzcyBuYW1lIGFuZCB0aGUgc3VmZml4IGlzIHJldHVybmVkLlxuICAgKiBJZiBubyBjbGFzcyBtYXRjaGluZyB0aGUgcHJlZml4IGlzIGZvdW5kLCB1bmRlZmluZWQgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqICAgRm9yIGEgY2xhc3MgJ3NreS1wb3BvdmVyLXBsYWNlbWVudC1yaWdodCcsIHBhc3NpbmcgdGhlIHByZWZpeCAnc2t5LXBvcG92ZXItcGxhY2VtZW50LSdcbiAgICogICBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSAncmlnaHQnLlxuICAgKiBAcGFyYW0gcHJlZml4XG4gICAqL1xuICBwcml2YXRlIGdldENsYXNzU3VmZml4QnlDbGFzc1ByZWZpeChcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcbiAgICBwcmVmaXg6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbnRhaW5lckNsYXNzZXMgPSBlbGVtZW50Py5jbGFzc05hbWUuc3BsaXQoJyAnKTtcbiAgICBjb25zdCBwcmVmaXhlZENsYXNzID0gY29udGFpbmVyQ2xhc3Nlcz8uZmluZCgoeCkgPT4geC5zdGFydHNXaXRoKHByZWZpeCkpO1xuXG4gICAgcmV0dXJuICFwcmVmaXhlZENsYXNzID8gdW5kZWZpbmVkIDogcHJlZml4ZWRDbGFzcy5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
@@ -3,6 +3,9 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
3
3
  import { SkyPopoverModule } from '@skyux/popovers';
4
4
  import { SkyThemeModule } from '@skyux/theme';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * @internal
8
+ */
6
9
  export class SkyPopoverTestingModule {
7
10
  }
8
11
  SkyPopoverTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPopoverTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -26,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
26
29
  imports: [SkyThemeModule],
27
30
  }]
28
31
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9wb3BvdmVyL3BvcG92ZXItdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVk5QyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3FIQUF2Qix1QkFBdUIsWUFGeEIsY0FBYyxhQU50QixnQkFBZ0I7UUFFaEIsOERBQThEO1FBQzlELDREQUE0RDtRQUM1RCxvQkFBb0I7cUhBSVgsdUJBQXVCLFlBRnpCLENBQUMsY0FBYyxDQUFDLEVBTnZCLGdCQUFnQjtRQUVoQiw4REFBOEQ7UUFDOUQsNERBQTREO1FBQzVELG9CQUFvQjsyRkFJWCx1QkFBdUI7a0JBVm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFFaEIsOERBQThEO3dCQUM5RCw0REFBNEQ7d0JBQzVELG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb29wQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1xuICAgIFNreVBvcG92ZXJNb2R1bGUsXG5cbiAgICAvLyBUaGUgbm9vcCBhbmltYXRpb25zIG1vZHVsZSBuZWVkcyB0byBiZSBsb2FkZWQgbGFzdCB0byBhdm9pZFxuICAgIC8vIHN1YnNlcXVlbnQgbW9kdWxlcyBhZGRpbmcgYW5pbWF0aW9ucyBhbmQgb3ZlcnJpZGluZyB0aGlzLlxuICAgIE5vb3BBbmltYXRpb25zTW9kdWxlLFxuICBdLFxuICBpbXBvcnRzOiBbU2t5VGhlbWVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQb3BvdmVyVGVzdGluZ01vZHVsZSB7fVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9wb3BvdmVyL3BvcG92ZXItdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUU5Qzs7R0FFRztBQVdILE1BQU0sT0FBTyx1QkFBdUI7O29IQUF2Qix1QkFBdUI7cUhBQXZCLHVCQUF1QixZQUZ4QixjQUFjLGFBTnRCLGdCQUFnQjtRQUVoQiw4REFBOEQ7UUFDOUQsNERBQTREO1FBQzVELG9CQUFvQjtxSEFJWCx1QkFBdUIsWUFGekIsQ0FBQyxjQUFjLENBQUMsRUFOdkIsZ0JBQWdCO1FBRWhCLDhEQUE4RDtRQUM5RCw0REFBNEQ7UUFDNUQsb0JBQW9COzJGQUlYLHVCQUF1QjtrQkFWbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUVoQiw4REFBOEQ7d0JBQzlELDREQUE0RDt3QkFDNUQsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IFNreVBvcG92ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbXG4gICAgU2t5UG9wb3Zlck1vZHVsZSxcblxuICAgIC8vIFRoZSBub29wIGFuaW1hdGlvbnMgbW9kdWxlIG5lZWRzIHRvIGJlIGxvYWRlZCBsYXN0IHRvIGF2b2lkXG4gICAgLy8gc3Vic2VxdWVudCBtb2R1bGVzIGFkZGluZyBhbmltYXRpb25zIGFuZCBvdmVycmlkaW5nIHRoaXMuXG4gICAgTm9vcEFuaW1hdGlvbnNNb2R1bGUsXG4gIF0sXG4gIGltcG9ydHM6IFtTa3lUaGVtZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVBvcG92ZXJUZXN0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -7,6 +7,9 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
7
7
  import { NoopAnimationsModule } from '@angular/platform-browser/animations';
8
8
  import { SkyThemeModule } from '@skyux/theme';
9
9
 
10
+ /**
11
+ * @internal
12
+ */
10
13
  class SkyDropdownTestingModule {
11
14
  }
12
15
  SkyDropdownTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDropdownTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -23,6 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
23
26
  * Provides information for and interaction with a SKY UX dropdown component.
24
27
  * By using the fixture API, a test insulates itself against updates to the internals
25
28
  * of a component, such as changing its DOM structure.
29
+ * @internal
26
30
  */
27
31
  class SkyDropdownFixture {
28
32
  constructor(fixture, skyTestId) {
@@ -34,9 +38,6 @@ class SkyDropdownFixture {
34
38
  */
35
39
  get dropdown() {
36
40
  const button = this.buttonDebugElement;
37
- if (!button) {
38
- return;
39
- }
40
41
  return {
41
42
  buttonStyle: this.getButtonStyle(button.classes),
42
43
  buttonType: this.getButtonType(button.classes),
@@ -108,13 +109,10 @@ class SkyDropdownFixture {
108
109
  if (!itemEls) {
109
110
  return;
110
111
  }
111
- if (index >= itemEls.length) {
112
+ if (!itemEls[index]) {
112
113
  throw new Error(`There is no dropdown item at index ${index}.`);
113
114
  }
114
115
  const item = itemEls[index];
115
- if (!item) {
116
- return;
117
- }
118
116
  return {
119
117
  ariaRole: item.getAttribute('role'),
120
118
  };
@@ -150,17 +148,21 @@ class SkyDropdownFixture {
150
148
  }
151
149
  getButtonType(classNames) {
152
150
  const prefix = 'sky-dropdown-button-type-';
151
+ let found = '';
153
152
  for (const i in classNames) {
154
153
  if (classNames[i]) {
155
154
  if (i.indexOf(prefix) > -1) {
156
- return i.replace(prefix, '');
155
+ found = i.replace(prefix, '');
157
156
  }
158
157
  }
159
158
  }
160
- return undefined;
159
+ return found;
161
160
  }
162
161
  }
163
162
 
163
+ /**
164
+ * @internal
165
+ */
164
166
  class SkyPopoverTestingModule {
165
167
  }
166
168
  SkyPopoverTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPopoverTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -189,6 +191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
189
191
  * Provides information for and interaction with a SKY UX popover component.
190
192
  * By using the fixture API, a test insulates itself against updates to the internals
191
193
  * of a component, such as changing its DOM structure.
194
+ * @internal
192
195
  */
193
196
  class SkyPopoverFixture {
194
197
  constructor(fixture) {
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-popovers-testing.mjs","sources":["../../../../../libs/components/popovers/testing/src/dropdown/dropdown-testing.module.ts","../../../../../libs/components/popovers/testing/src/dropdown/dropdown-fixture.ts","../../../../../libs/components/popovers/testing/src/popover/popover-testing.module.ts","../../../../../libs/components/popovers/testing/src/popover/popover-fixture.ts","../../../../../libs/components/popovers/testing/src/skyux-popovers-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\n@NgModule({\n exports: [SkyDropdownModule],\n})\nexport class SkyDropdownTestingModule {}\n","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 { SkyPopoversFixtureDropdown } from './popovers-fixture-dropdown';\nimport { SkyPopoversFixtureDropdownItem } from './popovers-fixture-dropdown-item';\nimport { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu';\n\n/**\n * Provides information for and interaction with a SKY UX dropdown component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n */\nexport class SkyDropdownFixture {\n /**\n * Returns information about the dropdown component.\n */\n public get dropdown(): SkyPopoversFixtureDropdown | undefined {\n const button = this.buttonDebugElement;\n\n if (!button) {\n return;\n }\n\n return {\n buttonStyle: this.getButtonStyle(button.classes),\n buttonType: this.getButtonType(button.classes),\n disabled: button.nativeElement.disabled,\n label: button.nativeElement.getAttribute('aria-label'),\n title: button.nativeElement.getAttribute('title'),\n };\n }\n\n /**\n * Returns the dropdown button's text.\n */\n public get dropdownButtonText(): string | undefined {\n return SkyAppTestUtility.getText(this.buttonDebugElement.nativeElement);\n }\n\n /**\n * Returns information about the dropdown menu component.\n */\n public get dropdownMenu(): SkyPopoversFixtureDropdownMenu | undefined {\n const menu = this.getDropdownMenuContent();\n if (!menu) {\n return;\n }\n\n return {\n ariaLabelledBy: menu.getAttribute('aria-labelledby'),\n ariaRole: menu.getAttribute('role'),\n };\n }\n\n /**\n * Indicates if the dropdown menu is open and visible.\n */\n public get dropdownMenuIsVisible(): boolean {\n return this.getDropdownMenuContent() !== undefined;\n }\n\n private get buttonDebugElement(): DebugElement {\n return this.debugEl.query(By.css('.sky-dropdown-button'));\n }\n\n private debugEl: DebugElement;\n\n constructor(private fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-dropdown'\n );\n }\n\n /**\n * Click the dropdown button to open or close the dropdown menu.\n */\n public async clickDropdownButton(): Promise<unknown> {\n this.buttonDebugElement.nativeElement.click();\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Click the dropdown item at the provided index.\n */\n public async clickDropdownItem(index: number): Promise<unknown> {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n itemEls[index].querySelector('button,a').click();\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Returns information about the dropdown item at the provided index.\n */\n public getDropdownItem(\n index: number\n ): SkyPopoversFixtureDropdownItem | undefined {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n const item = itemEls[index];\n if (!item) {\n return;\n }\n\n return {\n ariaRole: item.getAttribute('role'),\n };\n }\n\n /**\n * Returns the contents of the dropdown menu.\n */\n public getDropdownMenuContent(): any {\n const overlay = this.getOverlay();\n if (!overlay) {\n return;\n }\n\n return overlay.querySelector('.sky-dropdown-menu');\n }\n\n private getDropdownItemEls(): NodeListOf<any> | undefined {\n const overlay = this.getOverlay();\n\n if (!overlay) {\n return;\n }\n\n return overlay.querySelectorAll('.sky-dropdown-item');\n }\n\n private getOverlay(): HTMLElement | null {\n return document.querySelector('sky-overlay');\n }\n\n private getButtonStyle(classNames: {\n [key: string]: boolean;\n }): string | undefined {\n if (classNames['sky-btn-primary']) {\n return 'primary';\n }\n if (classNames['sky-btn-default']) {\n return 'default';\n }\n return;\n }\n\n private getButtonType(classNames: {\n [key: string]: boolean;\n }): string | undefined {\n const prefix = 'sky-dropdown-button-type-';\n\n for (const i in classNames) {\n if (classNames[i]) {\n if (i.indexOf(prefix) > -1) {\n return i.replace(prefix, '');\n }\n }\n }\n\n return undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\n@NgModule({\n exports: [\n SkyPopoverModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n imports: [SkyThemeModule],\n})\nexport class SkyPopoverTestingModule {}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX popover component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n */\nexport class SkyPopoverFixture {\n /**\n * Returns the popover alignment if the popover is open, otherwise undefined.\n */\n public get alignment(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-alignment-'\n );\n }\n\n /**\n * Returns the popover body element if the popover is open, otherwise undefined.\n */\n public get body(): HTMLElement | undefined {\n return this.bodyElement;\n }\n\n /**\n * Returns the popover position if the popover is open, otherwise undefined.\n */\n public get placement(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-placement-'\n );\n }\n\n /**\n * Returns the popover title text if the popover is open, otherwise undefined.\n */\n public get popoverTitle(): string | undefined {\n return SkyAppTestUtility.getText(this.titleElement);\n }\n\n /**\n * Indicates if the popover is open and visible.\n */\n public get popoverIsVisible(): boolean {\n return this.contentElement !== undefined;\n }\n\n constructor(private fixture: ComponentFixture<unknown>) {}\n\n /**\n * Triggers the blur event for the popover.\n */\n public blur(): Promise<unknown> {\n // close the popover by changing focus to the body element\n SkyAppTestUtility.fireDomEvent(window.document.body, 'click');\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n private get contentElement(): HTMLElement | undefined {\n return this.queryOverlay('sky-popover-content') || undefined;\n }\n\n private get containerElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-container') || undefined;\n }\n\n private get titleElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-title') || undefined;\n }\n\n private get bodyElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-body') || undefined;\n }\n\n private getOverlay(): Element | undefined {\n return document.querySelector('sky-overlay') || undefined;\n }\n\n private queryOverlay(query: string): HTMLElement | null {\n const overlay = this.getOverlay();\n\n return !overlay ? null : overlay.querySelector(query);\n }\n\n /**\n * Searches the element's class names for a class which matches a given prefix.\n * If a match is found, the prefix is trimmed from the class name and the suffix is returned.\n * If no class matching the prefix is found, undefined is returned.\n *\n * Example:\n * For a class 'sky-popover-placement-right', passing the prefix 'sky-popover-placement-'\n * should return the value 'right'.\n * @param prefix\n */\n private getClassSuffixByClassPrefix(\n element: HTMLElement | undefined,\n prefix: string\n ): string | undefined {\n const containerClasses = element?.className.split(' ');\n const prefixedClass = containerClasses?.find((x) => x.startsWith(prefix));\n\n return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);\n }\n //#endregion\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-popovers-testing.mjs","sources":["../../../../../libs/components/popovers/testing/src/dropdown/dropdown-testing.module.ts","../../../../../libs/components/popovers/testing/src/dropdown/dropdown-fixture.ts","../../../../../libs/components/popovers/testing/src/popover/popover-testing.module.ts","../../../../../libs/components/popovers/testing/src/popover/popover-fixture.ts","../../../../../libs/components/popovers/testing/src/skyux-popovers-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyDropdownModule],\n})\nexport class SkyDropdownTestingModule {}\n","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 { SkyPopoversFixtureDropdown } from './popovers-fixture-dropdown';\nimport { SkyPopoversFixtureDropdownItem } from './popovers-fixture-dropdown-item';\nimport { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu';\n\n/**\n * Provides information for and interaction with a SKY UX dropdown component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyDropdownFixture {\n /**\n * Returns information about the dropdown component.\n */\n public get dropdown(): SkyPopoversFixtureDropdown | undefined {\n const button = this.buttonDebugElement;\n return {\n buttonStyle: this.getButtonStyle(button.classes),\n buttonType: this.getButtonType(button.classes),\n disabled: button.nativeElement.disabled,\n label: button.nativeElement.getAttribute('aria-label'),\n title: button.nativeElement.getAttribute('title'),\n };\n }\n\n /**\n * Returns the dropdown button's text.\n */\n public get dropdownButtonText(): string | undefined {\n return SkyAppTestUtility.getText(this.buttonDebugElement.nativeElement);\n }\n\n /**\n * Returns information about the dropdown menu component.\n */\n public get dropdownMenu(): SkyPopoversFixtureDropdownMenu | undefined {\n const menu = this.getDropdownMenuContent();\n if (!menu) {\n return;\n }\n\n return {\n ariaLabelledBy: menu.getAttribute('aria-labelledby'),\n ariaRole: menu.getAttribute('role'),\n };\n }\n\n /**\n * Indicates if the dropdown menu is open and visible.\n */\n public get dropdownMenuIsVisible(): boolean {\n return this.getDropdownMenuContent() !== undefined;\n }\n\n private get buttonDebugElement(): DebugElement {\n return this.debugEl.query(By.css('.sky-dropdown-button'));\n }\n\n private debugEl: DebugElement;\n\n constructor(private fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-dropdown'\n );\n }\n\n /**\n * Click the dropdown button to open or close the dropdown menu.\n */\n public async clickDropdownButton(): Promise<unknown> {\n this.buttonDebugElement.nativeElement.click();\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Click the dropdown item at the provided index.\n */\n public async clickDropdownItem(index: number): Promise<unknown> {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n itemEls[index].querySelector('button,a').click();\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Returns information about the dropdown item at the provided index.\n */\n public getDropdownItem(\n index: number\n ): SkyPopoversFixtureDropdownItem | undefined {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (!itemEls[index]) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n const item = itemEls[index];\n\n return {\n ariaRole: item.getAttribute('role'),\n };\n }\n\n /**\n * Returns the contents of the dropdown menu.\n */\n public getDropdownMenuContent(): any {\n const overlay = this.getOverlay();\n if (!overlay) {\n return;\n }\n\n return overlay.querySelector('.sky-dropdown-menu');\n }\n\n private getDropdownItemEls(): NodeListOf<any> | undefined {\n const overlay = this.getOverlay();\n\n if (!overlay) {\n return;\n }\n\n return overlay.querySelectorAll('.sky-dropdown-item');\n }\n\n private getOverlay(): HTMLElement | null {\n return document.querySelector('sky-overlay');\n }\n\n private getButtonStyle(classNames: {\n [key: string]: boolean;\n }): string | undefined {\n if (classNames['sky-btn-primary']) {\n return 'primary';\n }\n if (classNames['sky-btn-default']) {\n return 'default';\n }\n return;\n }\n\n private getButtonType(classNames: { [key: string]: boolean }): string {\n const prefix = 'sky-dropdown-button-type-';\n\n let found = '';\n for (const i in classNames) {\n if (classNames[i]) {\n if (i.indexOf(prefix) > -1) {\n found = i.replace(prefix, '');\n }\n }\n }\n\n return found;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [\n SkyPopoverModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n imports: [SkyThemeModule],\n})\nexport class SkyPopoverTestingModule {}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX popover component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyPopoverFixture {\n /**\n * Returns the popover alignment if the popover is open, otherwise undefined.\n */\n public get alignment(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-alignment-'\n );\n }\n\n /**\n * Returns the popover body element if the popover is open, otherwise undefined.\n */\n public get body(): HTMLElement | undefined {\n return this.bodyElement;\n }\n\n /**\n * Returns the popover position if the popover is open, otherwise undefined.\n */\n public get placement(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-placement-'\n );\n }\n\n /**\n * Returns the popover title text if the popover is open, otherwise undefined.\n */\n public get popoverTitle(): string | undefined {\n return SkyAppTestUtility.getText(this.titleElement);\n }\n\n /**\n * Indicates if the popover is open and visible.\n */\n public get popoverIsVisible(): boolean {\n return this.contentElement !== undefined;\n }\n\n constructor(private fixture: ComponentFixture<unknown>) {}\n\n /**\n * Triggers the blur event for the popover.\n */\n public blur(): Promise<unknown> {\n // close the popover by changing focus to the body element\n SkyAppTestUtility.fireDomEvent(window.document.body, 'click');\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n private get contentElement(): HTMLElement | undefined {\n return this.queryOverlay('sky-popover-content') || undefined;\n }\n\n private get containerElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-container') || undefined;\n }\n\n private get titleElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-title') || undefined;\n }\n\n private get bodyElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-body') || undefined;\n }\n\n private getOverlay(): Element | undefined {\n return document.querySelector('sky-overlay') || undefined;\n }\n\n private queryOverlay(query: string): HTMLElement | null {\n const overlay = this.getOverlay();\n\n return !overlay ? null : overlay.querySelector(query);\n }\n\n /**\n * Searches the element's class names for a class which matches a given prefix.\n * If a match is found, the prefix is trimmed from the class name and the suffix is returned.\n * If no class matching the prefix is found, undefined is returned.\n *\n * Example:\n * For a class 'sky-popover-placement-right', passing the prefix 'sky-popover-placement-'\n * should return the value 'right'.\n * @param prefix\n */\n private getClassSuffixByClassPrefix(\n element: HTMLElement | undefined,\n prefix: string\n ): string | undefined {\n const containerClasses = element?.className.split(' ');\n const prefixedClass = containerClasses?.find((x) => x.startsWith(prefix));\n\n return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);\n }\n //#endregion\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ import { SkyAppTestUtility } from '@skyux-sdk/testing';
6
6
  import { NoopAnimationsModule } from '@angular/platform-browser/animations';
7
7
  import { SkyThemeModule } from '@skyux/theme';
8
8
 
9
+ /**
10
+ * @internal
11
+ */
9
12
  class SkyDropdownTestingModule {
10
13
  }
11
14
  SkyDropdownTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyDropdownTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -22,6 +25,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
22
25
  * Provides information for and interaction with a SKY UX dropdown component.
23
26
  * By using the fixture API, a test insulates itself against updates to the internals
24
27
  * of a component, such as changing its DOM structure.
28
+ * @internal
25
29
  */
26
30
  class SkyDropdownFixture {
27
31
  constructor(fixture, skyTestId) {
@@ -33,9 +37,6 @@ class SkyDropdownFixture {
33
37
  */
34
38
  get dropdown() {
35
39
  const button = this.buttonDebugElement;
36
- if (!button) {
37
- return;
38
- }
39
40
  return {
40
41
  buttonStyle: this.getButtonStyle(button.classes),
41
42
  buttonType: this.getButtonType(button.classes),
@@ -103,13 +104,10 @@ class SkyDropdownFixture {
103
104
  if (!itemEls) {
104
105
  return;
105
106
  }
106
- if (index >= itemEls.length) {
107
+ if (!itemEls[index]) {
107
108
  throw new Error(`There is no dropdown item at index ${index}.`);
108
109
  }
109
110
  const item = itemEls[index];
110
- if (!item) {
111
- return;
112
- }
113
111
  return {
114
112
  ariaRole: item.getAttribute('role'),
115
113
  };
@@ -145,17 +143,21 @@ class SkyDropdownFixture {
145
143
  }
146
144
  getButtonType(classNames) {
147
145
  const prefix = 'sky-dropdown-button-type-';
146
+ let found = '';
148
147
  for (const i in classNames) {
149
148
  if (classNames[i]) {
150
149
  if (i.indexOf(prefix) > -1) {
151
- return i.replace(prefix, '');
150
+ found = i.replace(prefix, '');
152
151
  }
153
152
  }
154
153
  }
155
- return undefined;
154
+ return found;
156
155
  }
157
156
  }
158
157
 
158
+ /**
159
+ * @internal
160
+ */
159
161
  class SkyPopoverTestingModule {
160
162
  }
161
163
  SkyPopoverTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPopoverTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -184,6 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
184
186
  * Provides information for and interaction with a SKY UX popover component.
185
187
  * By using the fixture API, a test insulates itself against updates to the internals
186
188
  * of a component, such as changing its DOM structure.
189
+ * @internal
187
190
  */
188
191
  class SkyPopoverFixture {
189
192
  constructor(fixture) {
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-popovers-testing.mjs","sources":["../../../../../libs/components/popovers/testing/src/dropdown/dropdown-testing.module.ts","../../../../../libs/components/popovers/testing/src/dropdown/dropdown-fixture.ts","../../../../../libs/components/popovers/testing/src/popover/popover-testing.module.ts","../../../../../libs/components/popovers/testing/src/popover/popover-fixture.ts","../../../../../libs/components/popovers/testing/src/skyux-popovers-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\n@NgModule({\n exports: [SkyDropdownModule],\n})\nexport class SkyDropdownTestingModule {}\n","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 { SkyPopoversFixtureDropdown } from './popovers-fixture-dropdown';\nimport { SkyPopoversFixtureDropdownItem } from './popovers-fixture-dropdown-item';\nimport { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu';\n\n/**\n * Provides information for and interaction with a SKY UX dropdown component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n */\nexport class SkyDropdownFixture {\n /**\n * Returns information about the dropdown component.\n */\n public get dropdown(): SkyPopoversFixtureDropdown | undefined {\n const button = this.buttonDebugElement;\n\n if (!button) {\n return;\n }\n\n return {\n buttonStyle: this.getButtonStyle(button.classes),\n buttonType: this.getButtonType(button.classes),\n disabled: button.nativeElement.disabled,\n label: button.nativeElement.getAttribute('aria-label'),\n title: button.nativeElement.getAttribute('title'),\n };\n }\n\n /**\n * Returns the dropdown button's text.\n */\n public get dropdownButtonText(): string | undefined {\n return SkyAppTestUtility.getText(this.buttonDebugElement.nativeElement);\n }\n\n /**\n * Returns information about the dropdown menu component.\n */\n public get dropdownMenu(): SkyPopoversFixtureDropdownMenu | undefined {\n const menu = this.getDropdownMenuContent();\n if (!menu) {\n return;\n }\n\n return {\n ariaLabelledBy: menu.getAttribute('aria-labelledby'),\n ariaRole: menu.getAttribute('role'),\n };\n }\n\n /**\n * Indicates if the dropdown menu is open and visible.\n */\n public get dropdownMenuIsVisible(): boolean {\n return this.getDropdownMenuContent() !== undefined;\n }\n\n private get buttonDebugElement(): DebugElement {\n return this.debugEl.query(By.css('.sky-dropdown-button'));\n }\n\n private debugEl: DebugElement;\n\n constructor(private fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-dropdown'\n );\n }\n\n /**\n * Click the dropdown button to open or close the dropdown menu.\n */\n public async clickDropdownButton(): Promise<unknown> {\n this.buttonDebugElement.nativeElement.click();\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Click the dropdown item at the provided index.\n */\n public async clickDropdownItem(index: number): Promise<unknown> {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n itemEls[index].querySelector('button,a').click();\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Returns information about the dropdown item at the provided index.\n */\n public getDropdownItem(\n index: number\n ): SkyPopoversFixtureDropdownItem | undefined {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n const item = itemEls[index];\n if (!item) {\n return;\n }\n\n return {\n ariaRole: item.getAttribute('role'),\n };\n }\n\n /**\n * Returns the contents of the dropdown menu.\n */\n public getDropdownMenuContent(): any {\n const overlay = this.getOverlay();\n if (!overlay) {\n return;\n }\n\n return overlay.querySelector('.sky-dropdown-menu');\n }\n\n private getDropdownItemEls(): NodeListOf<any> | undefined {\n const overlay = this.getOverlay();\n\n if (!overlay) {\n return;\n }\n\n return overlay.querySelectorAll('.sky-dropdown-item');\n }\n\n private getOverlay(): HTMLElement | null {\n return document.querySelector('sky-overlay');\n }\n\n private getButtonStyle(classNames: {\n [key: string]: boolean;\n }): string | undefined {\n if (classNames['sky-btn-primary']) {\n return 'primary';\n }\n if (classNames['sky-btn-default']) {\n return 'default';\n }\n return;\n }\n\n private getButtonType(classNames: {\n [key: string]: boolean;\n }): string | undefined {\n const prefix = 'sky-dropdown-button-type-';\n\n for (const i in classNames) {\n if (classNames[i]) {\n if (i.indexOf(prefix) > -1) {\n return i.replace(prefix, '');\n }\n }\n }\n\n return undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\n@NgModule({\n exports: [\n SkyPopoverModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n imports: [SkyThemeModule],\n})\nexport class SkyPopoverTestingModule {}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX popover component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n */\nexport class SkyPopoverFixture {\n /**\n * Returns the popover alignment if the popover is open, otherwise undefined.\n */\n public get alignment(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-alignment-'\n );\n }\n\n /**\n * Returns the popover body element if the popover is open, otherwise undefined.\n */\n public get body(): HTMLElement | undefined {\n return this.bodyElement;\n }\n\n /**\n * Returns the popover position if the popover is open, otherwise undefined.\n */\n public get placement(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-placement-'\n );\n }\n\n /**\n * Returns the popover title text if the popover is open, otherwise undefined.\n */\n public get popoverTitle(): string | undefined {\n return SkyAppTestUtility.getText(this.titleElement);\n }\n\n /**\n * Indicates if the popover is open and visible.\n */\n public get popoverIsVisible(): boolean {\n return this.contentElement !== undefined;\n }\n\n constructor(private fixture: ComponentFixture<unknown>) {}\n\n /**\n * Triggers the blur event for the popover.\n */\n public blur(): Promise<unknown> {\n // close the popover by changing focus to the body element\n SkyAppTestUtility.fireDomEvent(window.document.body, 'click');\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n private get contentElement(): HTMLElement | undefined {\n return this.queryOverlay('sky-popover-content') || undefined;\n }\n\n private get containerElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-container') || undefined;\n }\n\n private get titleElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-title') || undefined;\n }\n\n private get bodyElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-body') || undefined;\n }\n\n private getOverlay(): Element | undefined {\n return document.querySelector('sky-overlay') || undefined;\n }\n\n private queryOverlay(query: string): HTMLElement | null {\n const overlay = this.getOverlay();\n\n return !overlay ? null : overlay.querySelector(query);\n }\n\n /**\n * Searches the element's class names for a class which matches a given prefix.\n * If a match is found, the prefix is trimmed from the class name and the suffix is returned.\n * If no class matching the prefix is found, undefined is returned.\n *\n * Example:\n * For a class 'sky-popover-placement-right', passing the prefix 'sky-popover-placement-'\n * should return the value 'right'.\n * @param prefix\n */\n private getClassSuffixByClassPrefix(\n element: HTMLElement | undefined,\n prefix: string\n ): string | undefined {\n const containerClasses = element?.className.split(' ');\n const prefixedClass = containerClasses?.find((x) => x.startsWith(prefix));\n\n return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);\n }\n //#endregion\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-popovers-testing.mjs","sources":["../../../../../libs/components/popovers/testing/src/dropdown/dropdown-testing.module.ts","../../../../../libs/components/popovers/testing/src/dropdown/dropdown-fixture.ts","../../../../../libs/components/popovers/testing/src/popover/popover-testing.module.ts","../../../../../libs/components/popovers/testing/src/popover/popover-fixture.ts","../../../../../libs/components/popovers/testing/src/skyux-popovers-testing.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [SkyDropdownModule],\n})\nexport class SkyDropdownTestingModule {}\n","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 { SkyPopoversFixtureDropdown } from './popovers-fixture-dropdown';\nimport { SkyPopoversFixtureDropdownItem } from './popovers-fixture-dropdown-item';\nimport { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu';\n\n/**\n * Provides information for and interaction with a SKY UX dropdown component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyDropdownFixture {\n /**\n * Returns information about the dropdown component.\n */\n public get dropdown(): SkyPopoversFixtureDropdown | undefined {\n const button = this.buttonDebugElement;\n return {\n buttonStyle: this.getButtonStyle(button.classes),\n buttonType: this.getButtonType(button.classes),\n disabled: button.nativeElement.disabled,\n label: button.nativeElement.getAttribute('aria-label'),\n title: button.nativeElement.getAttribute('title'),\n };\n }\n\n /**\n * Returns the dropdown button's text.\n */\n public get dropdownButtonText(): string | undefined {\n return SkyAppTestUtility.getText(this.buttonDebugElement.nativeElement);\n }\n\n /**\n * Returns information about the dropdown menu component.\n */\n public get dropdownMenu(): SkyPopoversFixtureDropdownMenu | undefined {\n const menu = this.getDropdownMenuContent();\n if (!menu) {\n return;\n }\n\n return {\n ariaLabelledBy: menu.getAttribute('aria-labelledby'),\n ariaRole: menu.getAttribute('role'),\n };\n }\n\n /**\n * Indicates if the dropdown menu is open and visible.\n */\n public get dropdownMenuIsVisible(): boolean {\n return this.getDropdownMenuContent() !== undefined;\n }\n\n private get buttonDebugElement(): DebugElement {\n return this.debugEl.query(By.css('.sky-dropdown-button'));\n }\n\n private debugEl: DebugElement;\n\n constructor(private fixture: ComponentFixture<unknown>, skyTestId: string) {\n this.debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-dropdown'\n );\n }\n\n /**\n * Click the dropdown button to open or close the dropdown menu.\n */\n public async clickDropdownButton(): Promise<unknown> {\n this.buttonDebugElement.nativeElement.click();\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Click the dropdown item at the provided index.\n */\n public async clickDropdownItem(index: number): Promise<unknown> {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (index >= itemEls.length) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n itemEls[index].querySelector('button,a').click();\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n /**\n * Returns information about the dropdown item at the provided index.\n */\n public getDropdownItem(\n index: number\n ): SkyPopoversFixtureDropdownItem | undefined {\n const itemEls = this.getDropdownItemEls();\n\n if (!itemEls) {\n return;\n }\n\n if (!itemEls[index]) {\n throw new Error(`There is no dropdown item at index ${index}.`);\n }\n\n const item = itemEls[index];\n\n return {\n ariaRole: item.getAttribute('role'),\n };\n }\n\n /**\n * Returns the contents of the dropdown menu.\n */\n public getDropdownMenuContent(): any {\n const overlay = this.getOverlay();\n if (!overlay) {\n return;\n }\n\n return overlay.querySelector('.sky-dropdown-menu');\n }\n\n private getDropdownItemEls(): NodeListOf<any> | undefined {\n const overlay = this.getOverlay();\n\n if (!overlay) {\n return;\n }\n\n return overlay.querySelectorAll('.sky-dropdown-item');\n }\n\n private getOverlay(): HTMLElement | null {\n return document.querySelector('sky-overlay');\n }\n\n private getButtonStyle(classNames: {\n [key: string]: boolean;\n }): string | undefined {\n if (classNames['sky-btn-primary']) {\n return 'primary';\n }\n if (classNames['sky-btn-default']) {\n return 'default';\n }\n return;\n }\n\n private getButtonType(classNames: { [key: string]: boolean }): string {\n const prefix = 'sky-dropdown-button-type-';\n\n let found = '';\n for (const i in classNames) {\n if (classNames[i]) {\n if (i.indexOf(prefix) > -1) {\n found = i.replace(prefix, '');\n }\n }\n }\n\n return found;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { SkyPopoverModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\n/**\n * @internal\n */\n@NgModule({\n exports: [\n SkyPopoverModule,\n\n // The noop animations module needs to be loaded last to avoid\n // subsequent modules adding animations and overriding this.\n NoopAnimationsModule,\n ],\n imports: [SkyThemeModule],\n})\nexport class SkyPopoverTestingModule {}\n","import { ComponentFixture } from '@angular/core/testing';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Provides information for and interaction with a SKY UX popover component.\n * By using the fixture API, a test insulates itself against updates to the internals\n * of a component, such as changing its DOM structure.\n * @internal\n */\nexport class SkyPopoverFixture {\n /**\n * Returns the popover alignment if the popover is open, otherwise undefined.\n */\n public get alignment(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-alignment-'\n );\n }\n\n /**\n * Returns the popover body element if the popover is open, otherwise undefined.\n */\n public get body(): HTMLElement | undefined {\n return this.bodyElement;\n }\n\n /**\n * Returns the popover position if the popover is open, otherwise undefined.\n */\n public get placement(): string | undefined {\n return this.getClassSuffixByClassPrefix(\n this.containerElement,\n 'sky-popover-placement-'\n );\n }\n\n /**\n * Returns the popover title text if the popover is open, otherwise undefined.\n */\n public get popoverTitle(): string | undefined {\n return SkyAppTestUtility.getText(this.titleElement);\n }\n\n /**\n * Indicates if the popover is open and visible.\n */\n public get popoverIsVisible(): boolean {\n return this.contentElement !== undefined;\n }\n\n constructor(private fixture: ComponentFixture<unknown>) {}\n\n /**\n * Triggers the blur event for the popover.\n */\n public blur(): Promise<unknown> {\n // close the popover by changing focus to the body element\n SkyAppTestUtility.fireDomEvent(window.document.body, 'click');\n\n this.fixture.detectChanges();\n return this.fixture.whenStable();\n }\n\n //#region helpers\n private get contentElement(): HTMLElement | undefined {\n return this.queryOverlay('sky-popover-content') || undefined;\n }\n\n private get containerElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-container') || undefined;\n }\n\n private get titleElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-title') || undefined;\n }\n\n private get bodyElement(): HTMLElement | undefined {\n return this.queryOverlay('.sky-popover-body') || undefined;\n }\n\n private getOverlay(): Element | undefined {\n return document.querySelector('sky-overlay') || undefined;\n }\n\n private queryOverlay(query: string): HTMLElement | null {\n const overlay = this.getOverlay();\n\n return !overlay ? null : overlay.querySelector(query);\n }\n\n /**\n * Searches the element's class names for a class which matches a given prefix.\n * If a match is found, the prefix is trimmed from the class name and the suffix is returned.\n * If no class matching the prefix is found, undefined is returned.\n *\n * Example:\n * For a class 'sky-popover-placement-right', passing the prefix 'sky-popover-placement-'\n * should return the value 'right'.\n * @param prefix\n */\n private getClassSuffixByClassPrefix(\n element: HTMLElement | undefined,\n prefix: string\n ): string | undefined {\n const containerClasses = element?.className.split(' ');\n const prefixedClass = containerClasses?.find((x) => x.startsWith(prefix));\n\n return !prefixedClass ? undefined : prefixedClass.slice(prefix.length);\n }\n //#endregion\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/popovers",
3
- "version": "6.16.0",
3
+ "version": "6.18.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -44,11 +44,11 @@
44
44
  "@angular/common": "^13.3.2",
45
45
  "@angular/core": "^13.3.2",
46
46
  "@angular/platform-browser": "^13.3.2",
47
- "@skyux-sdk/testing": "6.16.0",
48
- "@skyux/core": "6.16.0",
49
- "@skyux/i18n": "6.16.0",
50
- "@skyux/indicators": "6.16.0",
51
- "@skyux/theme": "6.16.0"
47
+ "@skyux-sdk/testing": "6.18.0",
48
+ "@skyux/core": "6.18.0",
49
+ "@skyux/i18n": "6.18.0",
50
+ "@skyux/indicators": "6.18.0",
51
+ "@skyux/theme": "6.18.0"
52
52
  },
53
53
  "dependencies": {
54
54
  "tslib": "^2.3.1"
@@ -6,6 +6,7 @@ import { SkyPopoversFixtureDropdownMenu } from './popovers-fixture-dropdown-menu
6
6
  * Provides information for and interaction with a SKY UX dropdown component.
7
7
  * By using the fixture API, a test insulates itself against updates to the internals
8
8
  * of a component, such as changing its DOM structure.
9
+ * @internal
9
10
  */
10
11
  export declare class SkyDropdownFixture {
11
12
  private fixture;
@@ -1,5 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "@skyux/popovers";
3
+ /**
4
+ * @internal
5
+ */
3
6
  export declare class SkyDropdownTestingModule {
4
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyDropdownTestingModule, never>;
5
8
  static ɵmod: i0.ɵɵNgModuleDeclaration<SkyDropdownTestingModule, never, never, [typeof i1.SkyDropdownModule]>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export interface SkyPopoversFixtureDropdownMenu {
2
5
  ariaLabelledBy: string;
3
6
  ariaRole: string;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @internal
3
+ */
1
4
  export interface SkyPopoversFixtureDropdown {
2
5
  buttonStyle?: string;
3
6
  buttonType?: string;
@@ -3,6 +3,7 @@ import { ComponentFixture } from '@angular/core/testing';
3
3
  * Provides information for and interaction with a SKY UX popover component.
4
4
  * By using the fixture API, a test insulates itself against updates to the internals
5
5
  * of a component, such as changing its DOM structure.
6
+ * @internal
6
7
  */
7
8
  export declare class SkyPopoverFixture {
8
9
  private fixture;
@@ -2,6 +2,9 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "@skyux/theme";
3
3
  import * as i2 from "@skyux/popovers";
4
4
  import * as i3 from "@angular/platform-browser/animations";
5
+ /**
6
+ * @internal
7
+ */
5
8
  export declare class SkyPopoverTestingModule {
6
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyPopoverTestingModule, never>;
7
10
  static ɵmod: i0.ɵɵNgModuleDeclaration<SkyPopoverTestingModule, never, [typeof i1.SkyThemeModule], [typeof i2.SkyPopoverModule, typeof i3.NoopAnimationsModule]>;