@skyux/popovers 6.17.0 → 6.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,9 +16,6 @@ export class SkyDropdownFixture {
16
16
  */
17
17
  get dropdown() {
18
18
  const button = this.buttonDebugElement;
19
- if (!button) {
20
- return;
21
- }
22
19
  return {
23
20
  buttonStyle: this.getButtonStyle(button.classes),
24
21
  buttonType: this.getButtonType(button.classes),
@@ -86,13 +83,10 @@ export class SkyDropdownFixture {
86
83
  if (!itemEls) {
87
84
  return;
88
85
  }
89
- if (index >= itemEls.length) {
86
+ if (!itemEls[index]) {
90
87
  throw new Error(`There is no dropdown item at index ${index}.`);
91
88
  }
92
89
  const item = itemEls[index];
93
- if (!item) {
94
- return;
95
- }
96
90
  return {
97
91
  ariaRole: item.getAttribute('role'),
98
92
  };
@@ -128,14 +122,15 @@ export class SkyDropdownFixture {
128
122
  }
129
123
  getButtonType(classNames) {
130
124
  const prefix = 'sky-dropdown-button-type-';
125
+ let found = '';
131
126
  for (const i in classNames) {
132
127
  if (classNames[i]) {
133
128
  if (i.indexOf(prefix) > -1) {
134
- return i.replace(prefix, '');
129
+ found = i.replace(prefix, '');
135
130
  }
136
131
  }
137
132
  }
138
- return undefined;
133
+ return found;
139
134
  }
140
135
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9kcm9wZG93bi1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU12RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUF1RDdCLFlBQW9CLE9BQWtDLEVBQUUsU0FBaUI7UUFBckQsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdEQsT0FBTyxFQUNQLFNBQVMsRUFDVCxjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUE1REQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBRXZDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPO1NBQ1I7UUFFRCxPQUFPO1lBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNoRCxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzlDLFFBQVEsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVE7WUFDdkMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztZQUN0RCxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1NBQ2xELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGtCQUFrQjtRQUMzQixP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QztJQUVPLFVBQVU7UUFDaEIsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxjQUFjLENBQUMsVUFFdEI7UUFDQyxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNqQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU87SUFDVCxDQUFDO0lBRU8sYUFBYSxDQUFDLFVBRXJCO1FBQ0MsTUFBTSxNQUFNLEdBQUcsMkJBQTJCLENBQUM7UUFFM0MsS0FBSyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDMUIsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDMUIsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDOUI7YUFDRjtTQUNGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIH0gZnJvbSAnLi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duJztcbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duSXRlbSB9IGZyb20gJy4vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1pdGVtJztcbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duTWVudSB9IGZyb20gJy4vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1tZW51JztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggZHJvcGRvd24gY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duRml4dHVyZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duKCk6IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBidXR0b24gPSB0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudDtcblxuICAgIGlmICghYnV0dG9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1dHRvblN0eWxlOiB0aGlzLmdldEJ1dHRvblN0eWxlKGJ1dHRvbi5jbGFzc2VzKSxcbiAgICAgIGJ1dHRvblR5cGU6IHRoaXMuZ2V0QnV0dG9uVHlwZShidXR0b24uY2xhc3NlcyksXG4gICAgICBkaXNhYmxlZDogYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQsXG4gICAgICBsYWJlbDogYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJyksXG4gICAgICB0aXRsZTogYnV0dG9uLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZHJvcGRvd24gYnV0dG9uJ3MgdGV4dC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25CdXR0b25UZXh0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFNreUFwcFRlc3RVdGlsaXR5LmdldFRleHQodGhpcy5idXR0b25EZWJ1Z0VsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZHJvcGRvd24gbWVudSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duTWVudSgpOiBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bk1lbnUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1lbnUgPSB0aGlzLmdldERyb3Bkb3duTWVudUNvbnRlbnQoKTtcbiAgICBpZiAoIW1lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXJpYUxhYmVsbGVkQnk6IG1lbnUuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKSxcbiAgICAgIGFyaWFSb2xlOiBtZW51LmdldEF0dHJpYnV0ZSgncm9sZScpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBkcm9wZG93biBtZW51IGlzIG9wZW4gYW5kIHZpc2libGUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duTWVudUlzVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXREcm9wZG93bk1lbnVDb250ZW50KCkgIT09IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGJ1dHRvbkRlYnVnRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmRlYnVnRWwucXVlcnkoQnkuY3NzKCcuc2t5LWRyb3Bkb3duLWJ1dHRvbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVidWdFbDogRGVidWdFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTx1bmtub3duPiwgc2t5VGVzdElkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRlYnVnRWwgPSBTa3lBcHBUZXN0VXRpbGl0eS5nZXREZWJ1Z0VsZW1lbnRCeVRlc3RJZChcbiAgICAgIGZpeHR1cmUsXG4gICAgICBza3lUZXN0SWQsXG4gICAgICAnc2t5LWRyb3Bkb3duJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgdGhlIGRyb3Bkb3duIGJ1dHRvbiB0byBvcGVuIG9yIGNsb3NlIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRHJvcGRvd25CdXR0b24oKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgdGhpcy5idXR0b25EZWJ1Z0VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2sgdGhlIGRyb3Bkb3duIGl0ZW0gYXQgdGhlIHByb3ZpZGVkIGluZGV4LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRHJvcGRvd25JdGVtKGluZGV4OiBudW1iZXIpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5nZXREcm9wZG93bkl0ZW1FbHMoKTtcblxuICAgIGlmICghaXRlbUVscykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSBpdGVtRWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBkcm9wZG93biBpdGVtIGF0IGluZGV4ICR7aW5kZXh9LmApO1xuICAgIH1cblxuICAgIGl0ZW1FbHNbaW5kZXhdLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbixhJykuY2xpY2soKTtcblxuICAgIHRoaXMuZml4dHVyZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuZml4dHVyZS53aGVuU3RhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZHJvcGRvd24gaXRlbSBhdCB0aGUgcHJvdmlkZWQgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgZ2V0RHJvcGRvd25JdGVtKFxuICAgIGluZGV4OiBudW1iZXJcbiAgKTogU2t5UG9wb3ZlcnNGaXh0dXJlRHJvcGRvd25JdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpdGVtRWxzID0gdGhpcy5nZXREcm9wZG93bkl0ZW1FbHMoKTtcblxuICAgIGlmICghaXRlbUVscykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpbmRleCA+PSBpdGVtRWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBkcm9wZG93biBpdGVtIGF0IGluZGV4ICR7aW5kZXh9LmApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW0gPSBpdGVtRWxzW2luZGV4XTtcbiAgICBpZiAoIWl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYXJpYVJvbGU6IGl0ZW0uZ2V0QXR0cmlidXRlKCdyb2xlJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb250ZW50cyBvZiB0aGUgZHJvcGRvd24gbWVudS5cbiAgICovXG4gIHB1YmxpYyBnZXREcm9wZG93bk1lbnVDb250ZW50KCk6IGFueSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuZ2V0T3ZlcmxheSgpO1xuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBvdmVybGF5LnF1ZXJ5U2VsZWN0b3IoJy5za3ktZHJvcGRvd24tbWVudScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREcm9wZG93bkl0ZW1FbHMoKTogTm9kZUxpc3RPZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG5cbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICByZXR1cm4gb3ZlcmxheS5xdWVyeVNlbGVjdG9yQWxsKCcuc2t5LWRyb3Bkb3duLWl0ZW0nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheSgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdza3ktb3ZlcmxheScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25TdHlsZShjbGFzc05hbWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNsYXNzTmFtZXNbJ3NreS1idG4tcHJpbWFyeSddKSB7XG4gICAgICByZXR1cm4gJ3ByaW1hcnknO1xuICAgIH1cbiAgICBpZiAoY2xhc3NOYW1lc1snc2t5LWJ0bi1kZWZhdWx0J10pIHtcbiAgICAgIHJldHVybiAnZGVmYXVsdCc7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnV0dG9uVHlwZShjbGFzc05hbWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgfSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcHJlZml4ID0gJ3NreS1kcm9wZG93bi1idXR0b24tdHlwZS0nO1xuXG4gICAgZm9yIChjb25zdCBpIGluIGNsYXNzTmFtZXMpIHtcbiAgICAgIGlmIChjbGFzc05hbWVzW2ldKSB7XG4gICAgICAgIGlmIChpLmluZGV4T2YocHJlZml4KSA+IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIGkucmVwbGFjZShwcmVmaXgsICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wb3BvdmVycy90ZXN0aW5nL3NyYy9kcm9wZG93bi9kcm9wZG93bi1maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU12RDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFrRDdCLFlBQW9CLE9BQWtDLEVBQUUsU0FBaUI7UUFBckQsWUFBTyxHQUFQLE9BQU8sQ0FBMkI7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FDdEQsT0FBTyxFQUNQLFNBQVMsRUFDVCxjQUFjLENBQ2YsQ0FBQztJQUNKLENBQUM7SUF2REQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ3ZDLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2hELFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDOUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUN2QyxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO1lBQ3RELEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsa0JBQWtCO1FBQzNCLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFB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QUFDLFVBRXRCO1FBQ0MsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNqQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELElBQUksVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDakMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUFzQztRQUMxRCxNQUFNLE1BQU0sR0FBRywyQkFBMkIsQ0FBQztRQUUzQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUMxQixJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUMxQixLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQy9CO2FBQ0Y7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVidWdFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRGaXh0dXJlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS90ZXN0aW5nJztcbmltcG9ydCB7IEJ5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTa3lBcHBUZXN0VXRpbGl0eSB9IGZyb20gJ0Bza3l1eC1zZGsvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIH0gZnJvbSAnLi9wb3BvdmVycy1maXh0dXJlLWRyb3Bkb3duJztcbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duSXRlbSB9IGZyb20gJy4vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1pdGVtJztcbmltcG9ydCB7IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duTWVudSB9IGZyb20gJy4vcG9wb3ZlcnMtZml4dHVyZS1kcm9wZG93bi1tZW51JztcblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBmb3IgYW5kIGludGVyYWN0aW9uIHdpdGggYSBTS1kgVVggZHJvcGRvd24gY29tcG9uZW50LlxuICogQnkgdXNpbmcgdGhlIGZpeHR1cmUgQVBJLCBhIHRlc3QgaW5zdWxhdGVzIGl0c2VsZiBhZ2FpbnN0IHVwZGF0ZXMgdG8gdGhlIGludGVybmFsc1xuICogb2YgYSBjb21wb25lbnQsIHN1Y2ggYXMgY2hhbmdpbmcgaXRzIERPTSBzdHJ1Y3R1cmUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFNreURyb3Bkb3duRml4dHVyZSB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRyb3Bkb3duKCk6IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBidXR0b24gPSB0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudDtcbiAgICByZXR1cm4ge1xuICAgICAgYnV0dG9uU3R5bGU6IHRoaXMuZ2V0QnV0dG9uU3R5bGUoYnV0dG9uLmNsYXNzZXMpLFxuICAgICAgYnV0dG9uVHlwZTogdGhpcy5nZXRCdXR0b25UeXBlKGJ1dHRvbi5jbGFzc2VzKSxcbiAgICAgIGRpc2FibGVkOiBidXR0b24ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCxcbiAgICAgIGxhYmVsOiBidXR0b24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSxcbiAgICAgIHRpdGxlOiBidXR0b24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RpdGxlJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkcm9wZG93biBidXR0b24ncyB0ZXh0LlxuICAgKi9cbiAgcHVibGljIGdldCBkcm9wZG93bkJ1dHRvblRleHQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gU2t5QXBwVGVzdFV0aWxpdHkuZ2V0VGV4dCh0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBtZW51IGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25NZW51KCk6IFNreVBvcG92ZXJzRml4dHVyZURyb3Bkb3duTWVudSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWVudSA9IHRoaXMuZ2V0RHJvcGRvd25NZW51Q29udGVudCgpO1xuICAgIGlmICghbWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhcmlhTGFiZWxsZWRCeTogbWVudS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpLFxuICAgICAgYXJpYVJvbGU6IG1lbnUuZ2V0QXR0cmlidXRlKCdyb2xlJyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGRyb3Bkb3duIG1lbnUgaXMgb3BlbiBhbmQgdmlzaWJsZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZHJvcGRvd25NZW51SXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldERyb3Bkb3duTWVudUNvbnRlbnQoKSAhPT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgYnV0dG9uRGVidWdFbGVtZW50KCk6IERlYnVnRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZGVidWdFbC5xdWVyeShCeS5jc3MoJy5za3ktZHJvcGRvd24tYnV0dG9uJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWJ1Z0VsOiBEZWJ1Z0VsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaXh0dXJlOiBDb21wb25lbnRGaXh0dXJlPHVua25vd24+LCBza3lUZXN0SWQ6IHN0cmluZykge1xuICAgIHRoaXMuZGVidWdFbCA9IFNreUFwcFRlc3RVdGlsaXR5LmdldERlYnVnRWxlbWVudEJ5VGVzdElkKFxuICAgICAgZml4dHVyZSxcbiAgICAgIHNreVRlc3RJZCxcbiAgICAgICdza3ktZHJvcGRvd24nXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGljayB0aGUgZHJvcGRvd24gYnV0dG9uIHRvIG9wZW4gb3IgY2xvc2UgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEcm9wZG93bkJ1dHRvbigpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICB0aGlzLmJ1dHRvbkRlYnVnRWxlbWVudC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGljayB0aGUgZHJvcGRvd24gaXRlbSBhdCB0aGUgcHJvdmlkZWQgaW5kZXguXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xpY2tEcm9wZG93bkl0ZW0oaW5kZXg6IG51bWJlcik6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIGNvbnN0IGl0ZW1FbHMgPSB0aGlzLmdldERyb3Bkb3duSXRlbUVscygpO1xuXG4gICAgaWYgKCFpdGVtRWxzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGluZGV4ID49IGl0ZW1FbHMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIG5vIGRyb3Bkb3duIGl0ZW0gYXQgaW5kZXggJHtpbmRleH0uYCk7XG4gICAgfVxuXG4gICAgaXRlbUVsc1tpbmRleF0ucXVlcnlTZWxlY3RvcignYnV0dG9uLGEnKS5jbGljaygpO1xuXG4gICAgdGhpcy5maXh0dXJlLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4gdGhpcy5maXh0dXJlLndoZW5TdGFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkcm9wZG93biBpdGVtIGF0IHRoZSBwcm92aWRlZCBpbmRleC5cbiAgICovXG4gIHB1YmxpYyBnZXREcm9wZG93bkl0ZW0oXG4gICAgaW5kZXg6IG51bWJlclxuICApOiBTa3lQb3BvdmVyc0ZpeHR1cmVEcm9wZG93bkl0ZW0gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGl0ZW1FbHMgPSB0aGlzLmdldERyb3Bkb3duSXRlbUVscygpO1xuXG4gICAgaWYgKCFpdGVtRWxzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFpdGVtRWxzW2luZGV4XSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBkcm9wZG93biBpdGVtIGF0IGluZGV4ICR7aW5kZXh9LmApO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW0gPSBpdGVtRWxzW2luZGV4XTtcblxuICAgIHJldHVybiB7XG4gICAgICBhcmlhUm9sZTogaXRlbS5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbnRlbnRzIG9mIHRoZSBkcm9wZG93biBtZW51LlxuICAgKi9cbiAgcHVibGljIGdldERyb3Bkb3duTWVudUNvbnRlbnQoKTogYW55IHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5nZXRPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG92ZXJsYXkucXVlcnlTZWxlY3RvcignLnNreS1kcm9wZG93bi1tZW51Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldERyb3Bkb3duSXRlbUVscygpOiBOb2RlTGlzdE9mPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLmdldE92ZXJsYXkoKTtcblxuICAgIGlmICghb3ZlcmxheSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiBvdmVybGF5LnF1ZXJ5U2VsZWN0b3JBbGwoJy5za3ktZHJvcGRvd24taXRlbScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NreS1vdmVybGF5Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1dHRvblN0eWxlKGNsYXNzTmFtZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuO1xuICB9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoY2xhc3NOYW1lc1snc2t5LWJ0bi1wcmltYXJ5J10pIHtcbiAgICAgIHJldHVybiAncHJpbWFyeSc7XG4gICAgfVxuICAgIGlmIChjbGFzc05hbWVzWydza3ktYnRuLWRlZmF1bHQnXSkge1xuICAgICAgcmV0dXJuICdkZWZhdWx0JztcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b25UeXBlKGNsYXNzTmFtZXM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSAnc2t5LWRyb3Bkb3duLWJ1dHRvbi10eXBlLSc7XG5cbiAgICBsZXQgZm91bmQgPSAnJztcbiAgICBmb3IgKGNvbnN0IGkgaW4gY2xhc3NOYW1lcykge1xuICAgICAgaWYgKGNsYXNzTmFtZXNbaV0pIHtcbiAgICAgICAgaWYgKGkuaW5kZXhPZihwcmVmaXgpID4gLTEpIHtcbiAgICAgICAgICBmb3VuZCA9IGkucmVwbGFjZShwcmVmaXgsICcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxufVxuIl19
@@ -38,9 +38,6 @@ class SkyDropdownFixture {
38
38
  */
39
39
  get dropdown() {
40
40
  const button = this.buttonDebugElement;
41
- if (!button) {
42
- return;
43
- }
44
41
  return {
45
42
  buttonStyle: this.getButtonStyle(button.classes),
46
43
  buttonType: this.getButtonType(button.classes),
@@ -112,13 +109,10 @@ class SkyDropdownFixture {
112
109
  if (!itemEls) {
113
110
  return;
114
111
  }
115
- if (index >= itemEls.length) {
112
+ if (!itemEls[index]) {
116
113
  throw new Error(`There is no dropdown item at index ${index}.`);
117
114
  }
118
115
  const item = itemEls[index];
119
- if (!item) {
120
- return;
121
- }
122
116
  return {
123
117
  ariaRole: item.getAttribute('role'),
124
118
  };
@@ -154,14 +148,15 @@ class SkyDropdownFixture {
154
148
  }
155
149
  getButtonType(classNames) {
156
150
  const prefix = 'sky-dropdown-button-type-';
151
+ let found = '';
157
152
  for (const i in classNames) {
158
153
  if (classNames[i]) {
159
154
  if (i.indexOf(prefix) > -1) {
160
- return i.replace(prefix, '');
155
+ found = i.replace(prefix, '');
161
156
  }
162
157
  }
163
158
  }
164
- return undefined;
159
+ return found;
165
160
  }
166
161
  }
167
162
 
@@ -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/**\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\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/**\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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"}
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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"}
@@ -37,9 +37,6 @@ class SkyDropdownFixture {
37
37
  */
38
38
  get dropdown() {
39
39
  const button = this.buttonDebugElement;
40
- if (!button) {
41
- return;
42
- }
43
40
  return {
44
41
  buttonStyle: this.getButtonStyle(button.classes),
45
42
  buttonType: this.getButtonType(button.classes),
@@ -107,13 +104,10 @@ class SkyDropdownFixture {
107
104
  if (!itemEls) {
108
105
  return;
109
106
  }
110
- if (index >= itemEls.length) {
107
+ if (!itemEls[index]) {
111
108
  throw new Error(`There is no dropdown item at index ${index}.`);
112
109
  }
113
110
  const item = itemEls[index];
114
- if (!item) {
115
- return;
116
- }
117
111
  return {
118
112
  ariaRole: item.getAttribute('role'),
119
113
  };
@@ -149,14 +143,15 @@ class SkyDropdownFixture {
149
143
  }
150
144
  getButtonType(classNames) {
151
145
  const prefix = 'sky-dropdown-button-type-';
146
+ let found = '';
152
147
  for (const i in classNames) {
153
148
  if (classNames[i]) {
154
149
  if (i.indexOf(prefix) > -1) {
155
- return i.replace(prefix, '');
150
+ found = i.replace(prefix, '');
156
151
  }
157
152
  }
158
153
  }
159
- return undefined;
154
+ return found;
160
155
  }
161
156
  }
162
157
 
@@ -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/**\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\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/**\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":";;;;;;;;AAGA;;AAEG;MAIU,wBAAwB,CAAA;;qHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAFzB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAEhB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAFzB,iBAAiB,CAAA,EAAA,CAAA,CAAA;2FAEhB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;ACCD;;;;;AAKG;MACU,kBAAkB,CAAA;IAuD7B,WAAoB,CAAA,OAAkC,EAAE,SAAiB,EAAA;QAArD,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2B;AACpD,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,uBAAuB,CACtD,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;KACH;AA5DD;;AAEG;AACH,IAAA,IAAW,QAAQ,GAAA;AACjB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAEvC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;AACR,SAAA;QAED,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;AAC9C,YAAA,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ;YACvC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC;YACtD,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC;SAClD,CAAC;KACH;AAED;;AAEG;AACH,IAAA,IAAW,kBAAkB,GAAA;QAC3B,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;KACzE;AAED;;AAEG;AACH,IAAA,IAAW,YAAY,GAAA;AACrB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;AACR,SAAA;QAED,OAAO;AACL,YAAA,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;AACpD,YAAA,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;SACpC,CAAC;KACH;AAED;;AAEG;AACH,IAAA,IAAW,qBAAqB,GAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,sBAAsB,EAAE,KAAK,SAAS,CAAC;KACpD;AAED,IAAA,IAAY,kBAAkB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;KAC3D;AAYD;;AAEG;AACI,IAAA,MAAM,mBAAmB,GAAA;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAClC;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;AAC1C,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;AACR,SAAA;AAED,QAAA,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;AACjE,SAAA;QAED,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;AAEjD,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAClC;AAED;;AAEG;AACI,IAAA,eAAe,CACpB,KAAa,EAAA;AAEb,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;AACR,SAAA;AAED,QAAA,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;AACjE,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;AACR,SAAA;QAED,OAAO;AACL,YAAA,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;SACpC,CAAC;KACH;AAED;;AAEG;IACI,sBAAsB,GAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;AACR,SAAA;AAED,QAAA,OAAO,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;KACpD;IAEO,kBAAkB,GAAA;AACxB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;AACR,SAAA;AAED,QAAA,OAAO,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;KACvD;IAEO,UAAU,GAAA;AAChB,QAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;KAC9C;AAEO,IAAA,cAAc,CAAC,UAEtB,EAAA;AACC,QAAA,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE;AACjC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;AACD,QAAA,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE;AACjC,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QACD,OAAO;KACR;AAEO,IAAA,aAAa,CAAC,UAErB,EAAA;QACC,MAAM,MAAM,GAAG,2BAA2B,CAAC;AAE3C,QAAA,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;AAC1B,YAAA,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;gBACjB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9B,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KAClB;AACF;;ACrLD;;AAEG;MAWU,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qHAAvB,uBAAuB,EAAA,OAAA,EAAA,CAFxB,cAAc,CAAA,EAAA,OAAA,EAAA,CANtB,gBAAgB;;;QAIhB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAIX,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAFzB,OAAA,EAAA,CAAA,CAAC,cAAc,CAAC,EANvB,gBAAgB;;;QAIhB,oBAAoB,CAAA,EAAA,CAAA,CAAA;2FAIX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,gBAAgB;;;wBAIhB,oBAAoB;AACrB,qBAAA;oBACD,OAAO,EAAE,CAAC,cAAc,CAAC;AAC1B,iBAAA,CAAA;;;ACdD;;;;;AAKG;MACU,iBAAiB,CAAA;AA0C5B,IAAA,WAAA,CAAoB,OAAkC,EAAA;QAAlC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2B;KAAI;AAzC1D;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,2BAA2B,CACrC,IAAI,CAAC,gBAAgB,EACrB,wBAAwB,CACzB,CAAC;KACH;AAED;;AAEG;AACH,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,2BAA2B,CACrC,IAAI,CAAC,gBAAgB,EACrB,wBAAwB,CACzB,CAAC;KACH;AAED;;AAEG;AACH,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrD;AAED;;AAEG;AACH,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC;KAC1C;AAID;;AAEG;IACI,IAAI,GAAA;;QAET,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE9D,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAClC;;AAGD,IAAA,IAAY,cAAc,GAAA;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,SAAS,CAAC;KAC9D;AAED,IAAA,IAAY,gBAAgB,GAAA;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,IAAI,SAAS,CAAC;KACjE;AAED,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC;KAC7D;AAED,IAAA,IAAY,WAAW,GAAA;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC;KAC5D;IAEO,UAAU,GAAA;QAChB,OAAO,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC;KAC3D;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;AAChC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAElC,QAAA,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACvD;AAED;;;;;;;;;AASG;IACK,2BAA2B,CACjC,OAAgC,EAChC,MAAc,EAAA;QAEd,MAAM,gBAAgB,GAAG,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvD,QAAA,MAAM,aAAa,GAAG,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1E,QAAA,OAAO,CAAC,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACxE;AAEF;;AC/GD;;AAEG;;;;"}
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.17.0",
3
+ "version": "6.17.1",
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.17.0",
48
- "@skyux/core": "6.17.0",
49
- "@skyux/i18n": "6.17.0",
50
- "@skyux/indicators": "6.17.0",
51
- "@skyux/theme": "6.17.0"
47
+ "@skyux-sdk/testing": "6.17.1",
48
+ "@skyux/core": "6.17.1",
49
+ "@skyux/i18n": "6.17.1",
50
+ "@skyux/indicators": "6.17.1",
51
+ "@skyux/theme": "6.17.1"
52
52
  },
53
53
  "dependencies": {
54
54
  "tslib": "^2.3.1"