@skyux/datetime 11.21.0 → 11.22.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.
@@ -13,7 +13,7 @@ export class SkyDatepickerCalendarHarness extends SkyComponentHarness {
13
13
  #getNextButton = this.locatorFor('.sky-datepicker-btn-next');
14
14
  #getPreviousButton = this.locatorFor('.sky-datepicker-btn-previous');
15
15
  #getSelected = this.locatorFor('.sky-datepicker-btn-selected');
16
- #getTitle = this.locatorFor('.sky-datepicker-calendar-title > strong');
16
+ #getTitle = this.locatorFor('.sky-datepicker-calendar-title');
17
17
  #getTitleButton = this.locatorFor('.sky-datepicker-calendar-title');
18
18
  /**
19
19
  * @internal
@@ -85,4 +85,4 @@ export class SkyDatepickerCalendarHarness extends SkyComponentHarness {
85
85
  return (await this.#getSelected()).getAttribute('aria-label');
86
86
  }
87
87
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG1CQUFtQjtJQUNuRTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsb0NBQW9DLENBQUM7SUFFbEUsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RCxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDN0QsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM3RCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDckUsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUMvRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ3ZFLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFcEU7O09BRUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE0QztRQUU1QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNqQyxJQUFJLENBQUM7WUFDSCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyRSxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FDYixtQ0FBbUMsSUFBSSw0RUFBNEUsQ0FDcEgsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CO1FBQzlCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUU1QyxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO2FBQU0sSUFBSSxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9kYXRlcGlja2VyLWNhbGVuZGFyLWhhcm5lc3MuZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBkYXRlcGlja2VyIGNhbGVuZGFyIGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyJztcblxuICAjZ2V0RGF5cGlja2VyID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ3NreS1kYXlwaWNrZXInKTtcbiAgI2dldE1vbnRocGlja2VyID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ3NreS1tb250aHBpY2tlcicpO1xuICAjZ2V0TmV4dEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlcGlja2VyLWJ0bi1uZXh0Jyk7XG4gICNnZXRQcmV2aW91c0J1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlcGlja2VyLWJ0bi1wcmV2aW91cycpO1xuICAjZ2V0U2VsZWN0ZWQgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZGF0ZXBpY2tlci1idG4tc2VsZWN0ZWQnKTtcbiAgI2dldFRpdGxlID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItdGl0bGUgPiBzdHJvbmcnKTtcbiAgI2dldFRpdGxlQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItdGl0bGUnKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzLCBmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHNwZWNpZmllZCBkYXRlLCBtb250aCBvciB5ZWFyLlxuICAgKiBAcGFyYW1zIHRoZSBzcGVjaWZpZWQgdmFsdWUgdG8gY2xpY2ssIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0XG4gICAqIGRheSBmb3JtYXQ6IGRkZGQsIE1NTU0gRG8gWVlZWVxuICAgKiBtb250aCBmb3JtYXQ6IE1NTU0gWVlZWVxuICAgKiB5ZWFyIGZvcm1hdDogWVlZWVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRGF0ZShkYXRlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoYFthcmlhLWxhYmVsPVwiJHtkYXRlfVwiXWApKCkpLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmluZCBkYXRlIHdpdGggbGFiZWwgXCIke2RhdGV9XCIuIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBpcyBjb3JyZWN0IGFuZCBtYXRjaGVzIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vZGUuYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDbGlja3MgdGhlICduZXh0JyBidXR0b24gb24gdGhlIGNhbGVuZGFyIGhlYWRlci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja05leHRCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXROZXh0QnV0dG9uKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSAncHJldmlvdXMnIGJ1dHRvbiBvbiB0aGUgY2FsZW5kYXIgaGVhZGVyLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrUHJldmlvdXNCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRQcmV2aW91c0J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgJ3RpdGxlJyBidXR0b24gb24gdGhlIGNhbGVuZGFyIGhlYWRlci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RpdGxlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldFRpdGxlQnV0dG9uKCk7XG5cbiAgICBpZiAoYXdhaXQgYnV0dG9uLmhhc0NsYXNzKCdza3ktYnRuLWRpc2FibGVkJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGl0bGUgYnV0dG9uIGlzIGRpc2FibGVkLicpO1xuICAgIH1cblxuICAgIHJldHVybiBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vZGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2FsZW5kYXJNb2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuI2dldERheXBpY2tlcigpKSB7XG4gICAgICByZXR1cm4gJ2RheSc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCB0aGlzLiNnZXRNb250aHBpY2tlcigpKSB7XG4gICAgICByZXR1cm4gJ21vbnRoJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICd5ZWFyJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDYWxlbmRhclRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0VGl0bGUoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYWxlbmRhciBpdGVtLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkVmFsdWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTZWxlY3RlZCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxufVxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3Rlc3Rpbmcvc3JjL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1jYWxlbmRhci1oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG1CQUFtQjtJQUNuRTs7T0FFRzthQUNXLGlCQUFZLEdBQUcsb0NBQW9DLENBQUM7SUFFbEUsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RCxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDN0QsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM3RCxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDckUsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUMvRCxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQzlELGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFcEU7O09BRUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUE0QztRQUU1QyxPQUFPLElBQUksZ0JBQWdCLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNqQyxJQUFJLENBQUM7WUFDSCxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyRSxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FDYixtQ0FBbUMsSUFBSSw0RUFBNEUsQ0FDcEgsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CO1FBQzlCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUU1QyxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsZUFBZTtRQUMxQixJQUFJLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO2FBQU0sSUFBSSxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhcm5lc3NQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQgeyBTa3lDb21wb25lbnRIYXJuZXNzIH0gZnJvbSAnQHNreXV4L2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhckhhcm5lc3NGaWx0ZXJzIH0gZnJvbSAnLi9kYXRlcGlja2VyLWNhbGVuZGFyLWhhcm5lc3MuZmlsdGVycyc7XG5cbi8qKlxuICogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBkYXRlcGlja2VyIGNhbGVuZGFyIGluIHRlc3RzLlxuICovXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzcyBleHRlbmRzIFNreUNvbXBvbmVudEhhcm5lc3Mge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyJztcblxuICAjZ2V0RGF5cGlja2VyID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ3NreS1kYXlwaWNrZXInKTtcbiAgI2dldE1vbnRocGlja2VyID0gdGhpcy5sb2NhdG9yRm9yT3B0aW9uYWwoJ3NreS1tb250aHBpY2tlcicpO1xuICAjZ2V0TmV4dEJ1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlcGlja2VyLWJ0bi1uZXh0Jyk7XG4gICNnZXRQcmV2aW91c0J1dHRvbiA9IHRoaXMubG9jYXRvckZvcignLnNreS1kYXRlcGlja2VyLWJ0bi1wcmV2aW91cycpO1xuICAjZ2V0U2VsZWN0ZWQgPSB0aGlzLmxvY2F0b3JGb3IoJy5za3ktZGF0ZXBpY2tlci1idG4tc2VsZWN0ZWQnKTtcbiAgI2dldFRpdGxlID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItdGl0bGUnKTtcbiAgI2dldFRpdGxlQnV0dG9uID0gdGhpcy5sb2NhdG9yRm9yKCcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItdGl0bGUnKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHdpdGgoXG4gICAgZmlsdGVyczogU2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzc0ZpbHRlcnMsXG4gICk6IEhhcm5lc3NQcmVkaWNhdGU8U2t5RGF0ZXBpY2tlckNhbGVuZGFySGFybmVzcz4ge1xuICAgIHJldHVybiBuZXcgSGFybmVzc1ByZWRpY2F0ZShTa3lEYXRlcGlja2VyQ2FsZW5kYXJIYXJuZXNzLCBmaWx0ZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGlja3MgdGhlIHNwZWNpZmllZCBkYXRlLCBtb250aCBvciB5ZWFyLlxuICAgKiBAcGFyYW1zIHRoZSBzcGVjaWZpZWQgdmFsdWUgdG8gY2xpY2ssIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0XG4gICAqIGRheSBmb3JtYXQ6IGRkZGQsIE1NTU0gRG8gWVlZWVxuICAgKiBtb250aCBmb3JtYXQ6IE1NTU0gWVlZWVxuICAgKiB5ZWFyIGZvcm1hdDogWVlZWVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrRGF0ZShkYXRlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmxvY2F0b3JGb3IoYFthcmlhLWxhYmVsPVwiJHtkYXRlfVwiXWApKCkpLmNsaWNrKCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbmFibGUgdG8gZmluZCBkYXRlIHdpdGggbGFiZWwgXCIke2RhdGV9XCIuIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBpcyBjb3JyZWN0IGFuZCBtYXRjaGVzIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vZGUuYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqICBDbGlja3MgdGhlICduZXh0JyBidXR0b24gb24gdGhlIGNhbGVuZGFyIGhlYWRlci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja05leHRCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXROZXh0QnV0dG9uKCkpLmNsaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xpY2tzIHRoZSAncHJldmlvdXMnIGJ1dHRvbiBvbiB0aGUgY2FsZW5kYXIgaGVhZGVyLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsaWNrUHJldmlvdXNCdXR0b24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRQcmV2aW91c0J1dHRvbigpKS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsaWNrcyB0aGUgJ3RpdGxlJyBidXR0b24gb24gdGhlIGNhbGVuZGFyIGhlYWRlci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjbGlja1RpdGxlQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJ1dHRvbiA9IGF3YWl0IHRoaXMuI2dldFRpdGxlQnV0dG9uKCk7XG5cbiAgICBpZiAoYXdhaXQgYnV0dG9uLmhhc0NsYXNzKCdza3ktYnRuLWRpc2FibGVkJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGl0bGUgYnV0dG9uIGlzIGRpc2FibGVkLicpO1xuICAgIH1cblxuICAgIHJldHVybiBidXR0b24uY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGNhbGVuZGFyIG1vZGUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0Q2FsZW5kYXJNb2RlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKGF3YWl0IHRoaXMuI2dldERheXBpY2tlcigpKSB7XG4gICAgICByZXR1cm4gJ2RheSc7XG4gICAgfSBlbHNlIGlmIChhd2FpdCB0aGlzLiNnZXRNb250aHBpY2tlcigpKSB7XG4gICAgICByZXR1cm4gJ21vbnRoJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICd5ZWFyJztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCB0aXRsZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRDYWxlbmRhclRpdGxlKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCAoYXdhaXQgdGhpcy4jZ2V0VGl0bGUoKSkudGV4dCgpKS50cmltKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBjYWxlbmRhciBpdGVtLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNlbGVjdGVkVmFsdWUoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLiNnZXRTZWxlY3RlZCgpKS5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKTtcbiAgfVxufVxuIl19
@@ -260,7 +260,7 @@ class SkyDatepickerCalendarHarness extends SkyComponentHarness {
260
260
  #getNextButton = this.locatorFor('.sky-datepicker-btn-next');
261
261
  #getPreviousButton = this.locatorFor('.sky-datepicker-btn-previous');
262
262
  #getSelected = this.locatorFor('.sky-datepicker-btn-selected');
263
- #getTitle = this.locatorFor('.sky-datepicker-calendar-title > strong');
263
+ #getTitle = this.locatorFor('.sky-datepicker-calendar-title');
264
264
  #getTitleButton = this.locatorFor('.sky-datepicker-calendar-title');
265
265
  /**
266
266
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-datetime-testing.mjs","sources":["../../../../../libs/components/datetime/testing/src/datepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/timepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/date-range-picker/date-range-picker-harness.ts","../../../../../libs/components/datetime/testing/src/datepicker/datepicker-calendar-harness.ts","../../../../../libs/components/datetime/testing/src/datepicker/datepicker-harness-input.ts","../../../../../libs/components/datetime/testing/src/datepicker/datepicker-harness.ts","../../../../../libs/components/datetime/testing/src/skyux-datetime-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX datepicker component.\n * @internal\n */\nexport class SkyDatepickerFixture {\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-datepicker',\n );\n }\n\n /**\n * The datepicker's currently selected date.\n */\n public get date(): string {\n return this.#getDatepickerInputEl().nativeElement.value;\n }\n\n /**\n * Flag indicating if datepicker input is disabled.\n */\n public get disabled(): boolean {\n return this.#getDatepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * The datepicker's calendar element.\n */\n public get calendarEl(): any {\n const button = this.#debugEl.query(\n By.css('.sky-datepicker .sky-input-group-datepicker-btn'),\n ).nativeElement;\n\n const calendarId = button.getAttribute('aria-controls');\n if (!calendarId) {\n return null;\n }\n\n return document.getElementById(calendarId);\n }\n\n /**\n * Click the calendar button to open or close calendar.\n */\n public clickDatepickerCalenderButtonEl(): void {\n this.#debugEl\n .query(By.css('.sky-datepicker .sky-input-group-datepicker-btn'))\n .nativeElement.click();\n }\n\n public clickDayEl(dayIndex: number): void {\n const dayEls = this.calendarEl.querySelectorAll('.sky-datepicker-btn-date');\n\n const dayEl = dayEls[dayIndex];\n\n if (!dayEl) {\n throw new Error(`No day exists at index ${dayIndex}.`);\n }\n\n dayEl.click();\n }\n\n #getDatepickerInputEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-datepicker input'));\n }\n}\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\n/**\n * Allows interaction with a SKY UX timepicker component.\n * @internal\n */\nexport class SkyTimepickerFixture {\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-timepicker',\n );\n }\n\n /**\n * The timepicker's currently selected time.\n */\n public get value(): string {\n return this.#getTimepickerInputEl().nativeElement.value;\n }\n\n /**\n * Set the timepicker's selected time.\n */\n public set value(value: string) {\n const timepickerInputEl = this.#getTimepickerInputEl().nativeElement;\n timepickerInputEl.value = value;\n this.#fixture.detectChanges();\n\n SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');\n this.#fixture.detectChanges();\n }\n\n /**\n * Flag indicating if timepicker input is disabled.\n */\n public get isDisabled(): boolean {\n return this.#getTimepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * Set the timepicker's disabled value\n */\n public set isDisabled(value: boolean) {\n this.#getTimepickerInputEl().nativeElement.disabled = value;\n }\n\n /**\n * Flag indicating if timepicker input is valid.\n */\n public get isValid(): boolean {\n return !this.#getTimepickerInputEl().nativeElement.classList.contains(\n 'ng-invalid',\n );\n }\n\n #getTimepickerInputEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-timepicker input'));\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { SkyDateRangeCalculatorId } from '@skyux/datetime';\nimport { SkyInputBoxHarness } from '@skyux/forms/testing';\n\nimport { SkyDatepickerHarness } from '../public-api';\n\nimport { SkyDateRangePickerFilters } from './date-range-picker-harness.filters';\n\n/**\n * Harness for interacting with date range picker components in tests.\n */\nexport class SkyDateRangePickerHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-date-range-picker';\n\n #getStartDateInputBoxHarness = this.locatorFor(\n SkyInputBoxHarness.with({\n ancestor: '.sky-date-range-picker-start-date',\n }),\n );\n #getEndDateInputBoxHarness = this.locatorFor(\n SkyInputBoxHarness.with({\n ancestor: '.sky-date-range-picker-end-date',\n }),\n );\n #getCalculatorIdInputBoxHarness = this.locatorFor(\n SkyInputBoxHarness.with({\n ancestor: '.sky-date-range-picker-select-calculator',\n }),\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDateRangePickerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDateRangePickerFilters,\n ): HarnessPredicate<SkyDateRangePickerHarness> {\n return SkyDateRangePickerHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n await (await this.#getCalculatorIdInputBoxHarness()).clickHelpInline();\n }\n\n /**\n * Gets the help popover content.\n */\n public async getHelpPopoverContent(): Promise<string | undefined> {\n return (await (\n await this.#getCalculatorIdInputBoxHarness()\n ).getHelpPopoverContent()) as string | undefined;\n }\n\n /**\n * Gets the help inline popover title.\n */\n public async getHelpPopoverTitle(): Promise<string | undefined> {\n return await (\n await this.#getCalculatorIdInputBoxHarness()\n ).getHelpPopoverTitle();\n }\n\n /**\n * Gets the hint text.\n */\n public async getHintText(): Promise<string> {\n return await (await this.#getCalculatorIdInputBoxHarness()).getHintText();\n }\n\n /**\n * Gets the label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getCalculatorIdInputBoxHarness()).getLabelText();\n }\n\n /**\n * Whether date range picker end date before start date error is thrown.\n */\n public async hasEndDateBeforeStartDateError(): Promise<boolean> {\n return await (\n await this.#getCalculatorIdInputBoxHarness()\n ).hasCustomFormError('endDateBeforeStartDate');\n }\n\n /**\n * Whether end date input has required error.\n */\n public async hasEndDateRequiredError(): Promise<boolean> {\n return await (await this.#getEndDateInputBoxHarness()).hasRequiredError();\n }\n\n /**\n * Whether a custom error has fired.\n * @params errorName `errorName` property of the custom `sky-form-error`.\n */\n public async hasError(errorName: string): Promise<boolean> {\n return await (\n await this.#getCalculatorIdInputBoxHarness()\n ).hasCustomFormError(errorName);\n }\n\n /**\n * Whether start date input has required error.\n */\n public async hasStartDateRequiredError(): Promise<boolean> {\n return await (await this.#getStartDateInputBoxHarness()).hasRequiredError();\n }\n\n /**\n * Whether the date range picker component is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return await (await this.#getCalculatorIdInputBoxHarness()).getDisabled();\n }\n\n /**\n * Whether end date datepicker is visible.\n */\n public async isEndDateVisible(): Promise<boolean> {\n return !(await (\n await this.locatorFor('.sky-date-range-picker-end-date')()\n ).getProperty('hidden'));\n }\n\n /**\n * Whether the date range picker has stacked enabled.\n */\n public async isStacked(): Promise<boolean> {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n\n /**\n * Whether start date datepicker is visible.\n */\n public async isStartDateVisible(): Promise<boolean> {\n return !(await (\n await this.locatorFor('.sky-date-range-picker-start-date')()\n ).getProperty('hidden'));\n }\n\n /**\n * Selects the specified calculator.\n */\n public async selectCalculator(\n calculatorId: SkyDateRangeCalculatorId,\n ): Promise<void> {\n const select = await this.locatorFor(\n 'select[FormControlName=\"calculatorId\"',\n )();\n return await select.selectOptions(calculatorId);\n }\n\n /**\n * Sets the end date.\n * @param newDate date input as a formatted string.\n */\n public async setEndDateValue(newDate: string): Promise<void> {\n if (!(await this.isEndDateVisible())) {\n throw new Error('Unable to set end date. End datepicker is not visible.');\n }\n const input = await (await this.#getEndDatepicker()).getControl();\n await input.setValue(newDate);\n }\n\n /**\n * Sets the start date.\n * @param newDate date input as a formatted string.\n */\n public async setStartDateValue(newDate: string): Promise<void> {\n if (!(await this.isEndDateVisible())) {\n throw new Error(\n 'Unable to set start date. Start datepicker is not visible.',\n );\n }\n const input = await (await this.#getStartDatepicker()).getControl();\n await input.setValue(newDate);\n }\n\n async #getEndDatepicker(): Promise<SkyDatepickerHarness> {\n return await (\n await this.#getEndDateInputBoxHarness()\n ).queryHarness(SkyDatepickerHarness);\n }\n\n async #getStartDatepicker(): Promise<SkyDatepickerHarness> {\n return await (\n await this.#getStartDateInputBoxHarness()\n ).queryHarness(SkyDatepickerHarness);\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDatepickerCalendarHarnessFilters } from './datepicker-calendar-harness.filters';\n\n/**\n * Harness for interacting with datepicker calendar in tests.\n */\nexport class SkyDatepickerCalendarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-datepicker-calendar-container';\n\n #getDaypicker = this.locatorForOptional('sky-daypicker');\n #getMonthpicker = this.locatorForOptional('sky-monthpicker');\n #getNextButton = this.locatorFor('.sky-datepicker-btn-next');\n #getPreviousButton = this.locatorFor('.sky-datepicker-btn-previous');\n #getSelected = this.locatorFor('.sky-datepicker-btn-selected');\n #getTitle = this.locatorFor('.sky-datepicker-calendar-title > strong');\n #getTitleButton = this.locatorFor('.sky-datepicker-calendar-title');\n\n /**\n * @internal\n */\n public static with(\n filters: SkyDatepickerCalendarHarnessFilters,\n ): HarnessPredicate<SkyDatepickerCalendarHarness> {\n return new HarnessPredicate(SkyDatepickerCalendarHarness, filters);\n }\n\n /**\n * Clicks the specified date, month or year.\n * @params the specified value to click, in the following format\n * day format: dddd, MMMM Do YYYY\n * month format: MMMM YYYY\n * year format: YYYY\n */\n public async clickDate(date: string): Promise<void> {\n try {\n return (await this.locatorFor(`[aria-label=\"${date}\"]`)()).click();\n } catch {\n throw new Error(\n `Unable to find date with label \"${date}\". Check that the format is correct and matches the current calendar mode.`,\n );\n }\n }\n\n /**\n * Clicks the 'next' button on the calendar header.\n */\n public async clickNextButton(): Promise<void> {\n return (await this.#getNextButton()).click();\n }\n\n /**\n * Clicks the 'previous' button on the calendar header.\n */\n public async clickPreviousButton(): Promise<void> {\n return (await this.#getPreviousButton()).click();\n }\n\n /**\n * Clicks the 'title' button on the calendar header.\n */\n public async clickTitleButton(): Promise<void> {\n const button = await this.#getTitleButton();\n\n if (await button.hasClass('sky-btn-disabled')) {\n throw new Error('Title button is disabled.');\n }\n\n return button.click();\n }\n\n /**\n * Gets the current calendar mode.\n */\n public async getCalendarMode(): Promise<string> {\n if (await this.#getDaypicker()) {\n return 'day';\n } else if (await this.#getMonthpicker()) {\n return 'month';\n } else {\n return 'year';\n }\n }\n\n /**\n * Gets the current title.\n */\n public async getCalendarTitle(): Promise<string> {\n return (await (await this.#getTitle()).text()).trim();\n }\n\n /**\n * Gets the value of the currently selected calendar item.\n */\n public async getSelectedValue(): Promise<string | null> {\n return (await this.#getSelected()).getAttribute('aria-label');\n }\n}\n","import { SkyInputHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the datepicker input harness.\n */\nexport class SkyDatepickerInputHarness extends SkyInputHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyDatepickerInput]';\n\n /**\n * Sets the value of the input.\n */\n public override async setValue(value: string): Promise<void> {\n await super.setValue(value);\n\n await (await this.host()).blur();\n await (await this.host()).dispatchEvent('change');\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDatepickerCalendarHarness } from './datepicker-calendar-harness';\nimport { SkyDatepickerInputHarness } from './datepicker-harness-input';\nimport { SkyDatepickerFilters } from './datepicker-harness.filters';\n\n/**\n * Harness for interacting with datepicker components in tests.\n */\nexport class SkyDatepickerHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-datepicker, .sky-input-group';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getCalendarButton = this.locatorFor('.sky-input-group-datepicker-btn');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDatepickerHarness` that meets certain criteria.\n *\n * These filters only work for standalone datepickers. For datepickers\n * wrapped inside `sky-input-box`, place filters on the input box instead and\n * query the datepicker using a `SkyInputBoxHarness`.\n * For the input box implementation, see the code example.\n */\n public static with(\n filters: SkyDatepickerFilters,\n ): HarnessPredicate<SkyDatepickerHarness> {\n return SkyDatepickerHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the calendar button.\n */\n public async clickCalendarButton(): Promise<void> {\n return await (await this.#getCalendarButton()).click();\n }\n\n /**\n * Gets the `SkyDatepickerCalendarHarness` for the calendar picker controlled by\n * the datepicker. Throws an error if the calendar picker is not open.\n */\n public async getDatepickerCalendar(): Promise<SkyDatepickerCalendarHarness> {\n const calendarId = await this.#getAriaControls();\n\n if (!calendarId) {\n throw new Error(\n 'Unable to get calendar picker because picker is closed.',\n );\n }\n\n return await this.#documentRootLocator.locatorFor(\n SkyDatepickerCalendarHarness.with({ selector: `#${calendarId}` }),\n )();\n }\n\n /**\n * Gets the datepicker input harness.\n */\n public async getControl(): Promise<SkyDatepickerInputHarness> {\n return await this.locatorFor(SkyDatepickerInputHarness)();\n }\n\n /**\n * Whether the datepicker calendar picker is open.\n */\n public async isDatepickerOpen(): Promise<boolean> {\n return (\n (await (\n await this.#getCalendarButton()\n ).getAttribute('aria-expanded')) === 'true'\n );\n }\n\n async #getAriaControls(): Promise<string | null> {\n return await (\n await this.#getCalendarButton()\n ).getAttribute('aria-controls');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skyux-datetime-testing.mjs","sources":["../../../../../libs/components/datetime/testing/src/datepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/timepicker-fixture.ts","../../../../../libs/components/datetime/testing/src/date-range-picker/date-range-picker-harness.ts","../../../../../libs/components/datetime/testing/src/datepicker/datepicker-calendar-harness.ts","../../../../../libs/components/datetime/testing/src/datepicker/datepicker-harness-input.ts","../../../../../libs/components/datetime/testing/src/datepicker/datepicker-harness.ts","../../../../../libs/components/datetime/testing/src/skyux-datetime-testing.ts"],"sourcesContent":["import { DebugElement } from '@angular/core';\nimport { ComponentFixture } from '@angular/core/testing';\nimport { By } from '@angular/platform-browser';\nimport { SkyAppTestUtility } from '@skyux-sdk/testing';\n\n/**\n * Allows interaction with a SKY UX datepicker component.\n * @internal\n */\nexport class SkyDatepickerFixture {\n #debugEl: DebugElement;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-datepicker',\n );\n }\n\n /**\n * The datepicker's currently selected date.\n */\n public get date(): string {\n return this.#getDatepickerInputEl().nativeElement.value;\n }\n\n /**\n * Flag indicating if datepicker input is disabled.\n */\n public get disabled(): boolean {\n return this.#getDatepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * The datepicker's calendar element.\n */\n public get calendarEl(): any {\n const button = this.#debugEl.query(\n By.css('.sky-datepicker .sky-input-group-datepicker-btn'),\n ).nativeElement;\n\n const calendarId = button.getAttribute('aria-controls');\n if (!calendarId) {\n return null;\n }\n\n return document.getElementById(calendarId);\n }\n\n /**\n * Click the calendar button to open or close calendar.\n */\n public clickDatepickerCalenderButtonEl(): void {\n this.#debugEl\n .query(By.css('.sky-datepicker .sky-input-group-datepicker-btn'))\n .nativeElement.click();\n }\n\n public clickDayEl(dayIndex: number): void {\n const dayEls = this.calendarEl.querySelectorAll('.sky-datepicker-btn-date');\n\n const dayEl = dayEls[dayIndex];\n\n if (!dayEl) {\n throw new Error(`No day exists at index ${dayIndex}.`);\n }\n\n dayEl.click();\n }\n\n #getDatepickerInputEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-datepicker input'));\n }\n}\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\n/**\n * Allows interaction with a SKY UX timepicker component.\n * @internal\n */\nexport class SkyTimepickerFixture {\n #debugEl: DebugElement;\n #fixture: ComponentFixture<any>;\n\n constructor(fixture: ComponentFixture<any>, skyTestId: string) {\n this.#fixture = fixture;\n this.#debugEl = SkyAppTestUtility.getDebugElementByTestId(\n fixture,\n skyTestId,\n 'sky-timepicker',\n );\n }\n\n /**\n * The timepicker's currently selected time.\n */\n public get value(): string {\n return this.#getTimepickerInputEl().nativeElement.value;\n }\n\n /**\n * Set the timepicker's selected time.\n */\n public set value(value: string) {\n const timepickerInputEl = this.#getTimepickerInputEl().nativeElement;\n timepickerInputEl.value = value;\n this.#fixture.detectChanges();\n\n SkyAppTestUtility.fireDomEvent(timepickerInputEl, 'change');\n this.#fixture.detectChanges();\n }\n\n /**\n * Flag indicating if timepicker input is disabled.\n */\n public get isDisabled(): boolean {\n return this.#getTimepickerInputEl().nativeElement.disabled;\n }\n\n /**\n * Set the timepicker's disabled value\n */\n public set isDisabled(value: boolean) {\n this.#getTimepickerInputEl().nativeElement.disabled = value;\n }\n\n /**\n * Flag indicating if timepicker input is valid.\n */\n public get isValid(): boolean {\n return !this.#getTimepickerInputEl().nativeElement.classList.contains(\n 'ng-invalid',\n );\n }\n\n #getTimepickerInputEl(): DebugElement {\n return this.#debugEl.query(By.css('.sky-timepicker input'));\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { SkyDateRangeCalculatorId } from '@skyux/datetime';\nimport { SkyInputBoxHarness } from '@skyux/forms/testing';\n\nimport { SkyDatepickerHarness } from '../public-api';\n\nimport { SkyDateRangePickerFilters } from './date-range-picker-harness.filters';\n\n/**\n * Harness for interacting with date range picker components in tests.\n */\nexport class SkyDateRangePickerHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-date-range-picker';\n\n #getStartDateInputBoxHarness = this.locatorFor(\n SkyInputBoxHarness.with({\n ancestor: '.sky-date-range-picker-start-date',\n }),\n );\n #getEndDateInputBoxHarness = this.locatorFor(\n SkyInputBoxHarness.with({\n ancestor: '.sky-date-range-picker-end-date',\n }),\n );\n #getCalculatorIdInputBoxHarness = this.locatorFor(\n SkyInputBoxHarness.with({\n ancestor: '.sky-date-range-picker-select-calculator',\n }),\n );\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDateRangePickerHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyDateRangePickerFilters,\n ): HarnessPredicate<SkyDateRangePickerHarness> {\n return SkyDateRangePickerHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the help inline button.\n */\n public async clickHelpInline(): Promise<void> {\n await (await this.#getCalculatorIdInputBoxHarness()).clickHelpInline();\n }\n\n /**\n * Gets the help popover content.\n */\n public async getHelpPopoverContent(): Promise<string | undefined> {\n return (await (\n await this.#getCalculatorIdInputBoxHarness()\n ).getHelpPopoverContent()) as string | undefined;\n }\n\n /**\n * Gets the help inline popover title.\n */\n public async getHelpPopoverTitle(): Promise<string | undefined> {\n return await (\n await this.#getCalculatorIdInputBoxHarness()\n ).getHelpPopoverTitle();\n }\n\n /**\n * Gets the hint text.\n */\n public async getHintText(): Promise<string> {\n return await (await this.#getCalculatorIdInputBoxHarness()).getHintText();\n }\n\n /**\n * Gets the label text.\n */\n public async getLabelText(): Promise<string> {\n return await (await this.#getCalculatorIdInputBoxHarness()).getLabelText();\n }\n\n /**\n * Whether date range picker end date before start date error is thrown.\n */\n public async hasEndDateBeforeStartDateError(): Promise<boolean> {\n return await (\n await this.#getCalculatorIdInputBoxHarness()\n ).hasCustomFormError('endDateBeforeStartDate');\n }\n\n /**\n * Whether end date input has required error.\n */\n public async hasEndDateRequiredError(): Promise<boolean> {\n return await (await this.#getEndDateInputBoxHarness()).hasRequiredError();\n }\n\n /**\n * Whether a custom error has fired.\n * @params errorName `errorName` property of the custom `sky-form-error`.\n */\n public async hasError(errorName: string): Promise<boolean> {\n return await (\n await this.#getCalculatorIdInputBoxHarness()\n ).hasCustomFormError(errorName);\n }\n\n /**\n * Whether start date input has required error.\n */\n public async hasStartDateRequiredError(): Promise<boolean> {\n return await (await this.#getStartDateInputBoxHarness()).hasRequiredError();\n }\n\n /**\n * Whether the date range picker component is disabled.\n */\n public async isDisabled(): Promise<boolean> {\n return await (await this.#getCalculatorIdInputBoxHarness()).getDisabled();\n }\n\n /**\n * Whether end date datepicker is visible.\n */\n public async isEndDateVisible(): Promise<boolean> {\n return !(await (\n await this.locatorFor('.sky-date-range-picker-end-date')()\n ).getProperty('hidden'));\n }\n\n /**\n * Whether the date range picker has stacked enabled.\n */\n public async isStacked(): Promise<boolean> {\n return await (await this.host()).hasClass('sky-form-field-stacked');\n }\n\n /**\n * Whether start date datepicker is visible.\n */\n public async isStartDateVisible(): Promise<boolean> {\n return !(await (\n await this.locatorFor('.sky-date-range-picker-start-date')()\n ).getProperty('hidden'));\n }\n\n /**\n * Selects the specified calculator.\n */\n public async selectCalculator(\n calculatorId: SkyDateRangeCalculatorId,\n ): Promise<void> {\n const select = await this.locatorFor(\n 'select[FormControlName=\"calculatorId\"',\n )();\n return await select.selectOptions(calculatorId);\n }\n\n /**\n * Sets the end date.\n * @param newDate date input as a formatted string.\n */\n public async setEndDateValue(newDate: string): Promise<void> {\n if (!(await this.isEndDateVisible())) {\n throw new Error('Unable to set end date. End datepicker is not visible.');\n }\n const input = await (await this.#getEndDatepicker()).getControl();\n await input.setValue(newDate);\n }\n\n /**\n * Sets the start date.\n * @param newDate date input as a formatted string.\n */\n public async setStartDateValue(newDate: string): Promise<void> {\n if (!(await this.isEndDateVisible())) {\n throw new Error(\n 'Unable to set start date. Start datepicker is not visible.',\n );\n }\n const input = await (await this.#getStartDatepicker()).getControl();\n await input.setValue(newDate);\n }\n\n async #getEndDatepicker(): Promise<SkyDatepickerHarness> {\n return await (\n await this.#getEndDateInputBoxHarness()\n ).queryHarness(SkyDatepickerHarness);\n }\n\n async #getStartDatepicker(): Promise<SkyDatepickerHarness> {\n return await (\n await this.#getStartDateInputBoxHarness()\n ).queryHarness(SkyDatepickerHarness);\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDatepickerCalendarHarnessFilters } from './datepicker-calendar-harness.filters';\n\n/**\n * Harness for interacting with datepicker calendar in tests.\n */\nexport class SkyDatepickerCalendarHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = '.sky-datepicker-calendar-container';\n\n #getDaypicker = this.locatorForOptional('sky-daypicker');\n #getMonthpicker = this.locatorForOptional('sky-monthpicker');\n #getNextButton = this.locatorFor('.sky-datepicker-btn-next');\n #getPreviousButton = this.locatorFor('.sky-datepicker-btn-previous');\n #getSelected = this.locatorFor('.sky-datepicker-btn-selected');\n #getTitle = this.locatorFor('.sky-datepicker-calendar-title');\n #getTitleButton = this.locatorFor('.sky-datepicker-calendar-title');\n\n /**\n * @internal\n */\n public static with(\n filters: SkyDatepickerCalendarHarnessFilters,\n ): HarnessPredicate<SkyDatepickerCalendarHarness> {\n return new HarnessPredicate(SkyDatepickerCalendarHarness, filters);\n }\n\n /**\n * Clicks the specified date, month or year.\n * @params the specified value to click, in the following format\n * day format: dddd, MMMM Do YYYY\n * month format: MMMM YYYY\n * year format: YYYY\n */\n public async clickDate(date: string): Promise<void> {\n try {\n return (await this.locatorFor(`[aria-label=\"${date}\"]`)()).click();\n } catch {\n throw new Error(\n `Unable to find date with label \"${date}\". Check that the format is correct and matches the current calendar mode.`,\n );\n }\n }\n\n /**\n * Clicks the 'next' button on the calendar header.\n */\n public async clickNextButton(): Promise<void> {\n return (await this.#getNextButton()).click();\n }\n\n /**\n * Clicks the 'previous' button on the calendar header.\n */\n public async clickPreviousButton(): Promise<void> {\n return (await this.#getPreviousButton()).click();\n }\n\n /**\n * Clicks the 'title' button on the calendar header.\n */\n public async clickTitleButton(): Promise<void> {\n const button = await this.#getTitleButton();\n\n if (await button.hasClass('sky-btn-disabled')) {\n throw new Error('Title button is disabled.');\n }\n\n return button.click();\n }\n\n /**\n * Gets the current calendar mode.\n */\n public async getCalendarMode(): Promise<string> {\n if (await this.#getDaypicker()) {\n return 'day';\n } else if (await this.#getMonthpicker()) {\n return 'month';\n } else {\n return 'year';\n }\n }\n\n /**\n * Gets the current title.\n */\n public async getCalendarTitle(): Promise<string> {\n return (await (await this.#getTitle()).text()).trim();\n }\n\n /**\n * Gets the value of the currently selected calendar item.\n */\n public async getSelectedValue(): Promise<string | null> {\n return (await this.#getSelected()).getAttribute('aria-label');\n }\n}\n","import { SkyInputHarness } from '@skyux/core/testing';\n\n/**\n * Harness to interact with the datepicker input harness.\n */\nexport class SkyDatepickerInputHarness extends SkyInputHarness {\n /**\n * @internal\n */\n public static hostSelector = '[skyDatepickerInput]';\n\n /**\n * Sets the value of the input.\n */\n public override async setValue(value: string): Promise<void> {\n await super.setValue(value);\n\n await (await this.host()).blur();\n await (await this.host()).dispatchEvent('change');\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\nimport { SkyComponentHarness } from '@skyux/core/testing';\n\nimport { SkyDatepickerCalendarHarness } from './datepicker-calendar-harness';\nimport { SkyDatepickerInputHarness } from './datepicker-harness-input';\nimport { SkyDatepickerFilters } from './datepicker-harness.filters';\n\n/**\n * Harness for interacting with datepicker components in tests.\n */\nexport class SkyDatepickerHarness extends SkyComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-datepicker, .sky-input-group';\n\n #documentRootLocator = this.documentRootLocatorFactory();\n\n #getCalendarButton = this.locatorFor('.sky-input-group-datepicker-btn');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyDatepickerHarness` that meets certain criteria.\n *\n * These filters only work for standalone datepickers. For datepickers\n * wrapped inside `sky-input-box`, place filters on the input box instead and\n * query the datepicker using a `SkyInputBoxHarness`.\n * For the input box implementation, see the code example.\n */\n public static with(\n filters: SkyDatepickerFilters,\n ): HarnessPredicate<SkyDatepickerHarness> {\n return SkyDatepickerHarness.getDataSkyIdPredicate(filters);\n }\n\n /**\n * Clicks the calendar button.\n */\n public async clickCalendarButton(): Promise<void> {\n return await (await this.#getCalendarButton()).click();\n }\n\n /**\n * Gets the `SkyDatepickerCalendarHarness` for the calendar picker controlled by\n * the datepicker. Throws an error if the calendar picker is not open.\n */\n public async getDatepickerCalendar(): Promise<SkyDatepickerCalendarHarness> {\n const calendarId = await this.#getAriaControls();\n\n if (!calendarId) {\n throw new Error(\n 'Unable to get calendar picker because picker is closed.',\n );\n }\n\n return await this.#documentRootLocator.locatorFor(\n SkyDatepickerCalendarHarness.with({ selector: `#${calendarId}` }),\n )();\n }\n\n /**\n * Gets the datepicker input harness.\n */\n public async getControl(): Promise<SkyDatepickerInputHarness> {\n return await this.locatorFor(SkyDatepickerInputHarness)();\n }\n\n /**\n * Whether the datepicker calendar picker is open.\n */\n public async isDatepickerOpen(): Promise<boolean> {\n return (\n (await (\n await this.#getCalendarButton()\n ).getAttribute('aria-expanded')) === 'true'\n );\n }\n\n async #getAriaControls(): Promise<string | null> {\n return await (\n await this.#getCalendarButton()\n ).getAttribute('aria-controls');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { NgModule, inject, Injectable, Pipe, EventEmitter, Component, ViewEncapsulation, Input, Output, ChangeDetectionStrategy, ViewChild, output, EnvironmentInjector, ElementRef, TemplateRef, Optional, Inject, forwardRef, Directive, HostListener, DestroyRef, Injector, signal, computed, booleanAttribute, HostBinding } from '@angular/core';
3
3
  import * as i1 from '@skyux/i18n';
4
- import { SkyLibResourcesService, getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, SkyAppLocaleProvider, SkyIntlDateFormatter } from '@skyux/i18n';
4
+ import { SkyLibResourcesService, SkyI18nModule, SkyAppLocaleProvider, SkyIntlDateFormatter } from '@skyux/i18n';
5
5
  import { Subject, takeUntil as takeUntil$1, fromEvent, filter, map, distinctUntilChanged as distinctUntilChanged$1 } from 'rxjs';
6
6
  import { takeUntil, debounceTime, distinctUntilChanged } from 'rxjs/operators';
7
7
  import moment from 'moment';
@@ -137,36 +137,18 @@ const RESOURCES = {
137
137
  },
138
138
  };
139
139
  SkyLibResourcesService.addResources(RESOURCES);
140
- class SkyDatetimeResourcesProvider {
141
- getString(localeInfo, name) {
142
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
143
- }
144
- }
145
140
  /**
146
141
  * Import into any component library module that needs to use resource strings.
147
142
  */
148
143
  class SkyDatetimeResourcesModule {
149
144
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatetimeResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
150
145
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SkyDatetimeResourcesModule, exports: [SkyI18nModule] }); }
151
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatetimeResourcesModule, providers: [
152
- {
153
- provide: SKY_LIB_RESOURCES_PROVIDERS,
154
- useClass: SkyDatetimeResourcesProvider,
155
- multi: true,
156
- },
157
- ], imports: [SkyI18nModule] }); }
146
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatetimeResourcesModule, imports: [SkyI18nModule] }); }
158
147
  }
159
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatetimeResourcesModule, decorators: [{
160
149
  type: NgModule,
161
150
  args: [{
162
151
  exports: [SkyI18nModule],
163
- providers: [
164
- {
165
- provide: SKY_LIB_RESOURCES_PROVIDERS,
166
- useClass: SkyDatetimeResourcesProvider,
167
- multi: true,
168
- },
169
- ],
170
152
  }]
171
153
  }] });
172
154
 
@@ -1171,11 +1153,11 @@ class SkyDatepickerCalendarInnerComponent {
1171
1153
  return undefined;
1172
1154
  }
1173
1155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatepickerCalendarInnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDatepickerCalendarInnerComponent, selector: "sky-datepicker-inner", inputs: { customDates: "customDates", startingDay: "startingDay", minDate: "minDate", maxDate: "maxDate", startAtDate: "startAtDate", selectedDate: "selectedDate" }, outputs: { selectedDateChange: "selectedDateChange", calendarModeChange: "calendarModeChange" }, usesOnChanges: true, ngImport: i0, template: "@if (datepickerMode) {\n <div class=\"sky-datepicker-calendar-inner\">\n <div class=\"sky-datepicker-calendar-header\">\n <span class=\"sky-datepicker-header-left\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n [attr.aria-label]=\"previousLabel\"\n (click)=\"moveCalendar($event, -1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-left\" />\n </button>\n </span>\n <span class=\"sky-datepicker-header-center\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n [id]=\"datepickerId + '-title'\"\n [disabled]=\"datepickerMode === maxMode\"\n [ngClass]=\"{\n 'sky-btn-disabled': datepickerMode === maxMode\n }\"\n (click)=\"toggleModeCalendar($event)\"\n >\n <strong>{{ title }}</strong>\n </button>\n </span>\n <span class=\"sky-datepicker-header-right\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n [attr.aria-label]=\"nextLabel\"\n (click)=\"moveCalendar($event, 1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-right\" />\n </button>\n </span>\n </div>\n <ng-content />\n </div>\n}\n", styles: [".sky-datepicker-calendar-inner{border-radius:5px;background-color:#fff;border-top:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-right:1px solid #e2e3e4}.sky-datepicker-calendar-inner .sky-datepicker-calendar-header{width:100%;display:flex}.sky-datepicker-calendar-inner .sky-btn-default{border-color:transparent;border:2px solid #ffffff}.sky-datepicker-calendar-inner .sky-btn-default:hover{border-color:#eeeeef}.sky-datepicker-calendar-inner .sky-datepicker-center{text-align:center}.sky-datepicker-calendar-inner .sky-datepicker-btn-selected,.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-selected:hover{background-color:#c1e8fb;border:2px solid #00b4f1}.sky-datepicker-calendar-inner .sky-btn.sky-btn-active{box-shadow:none}.sky-datepicker-calendar-inner .sky-datepicker-secondary{color:#686c73}.sky-datepicker-calendar-inner .sky-datepicker-btn-date{min-width:100%}.sky-datepicker-calendar-inner .sky-datepicker-calendar-title{width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-left{text-align:left}.sky-datepicker-calendar-inner .sky-datepicker-header-center{display:flex;width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-right{text-align:right}.sky-theme-modern .sky-datepicker-calendar-inner{border:none;box-shadow:inset 0 0 0 1px #d2d2d2;border-radius:6px;padding:5px 10px}.sky-theme-modern .sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible{outline:none}.sky-theme-modern .sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible .sky-btn-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default{border:none;box-shadow:inset 0 0 0 1px transparent;padding:5px 7px}.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-active,.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default:hover{border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-datepicker-calendar-inner .sky-datepicker-btn-selected,.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-selected:hover{background-color:var(--sky-background-color-input-selected)}.sky-theme-modern .sky-btn-sm.sky-datepicker-btn-date{height:30px;min-width:0;padding:0;width:30px}.sky-theme-modern .sky-datepicker-chevron{font-size:16px}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner:not(:focus-within){border:none;box-shadow:inset 0 0 0 1px #686c73}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner .sky-datepicker-btn-selected{background-color:#009cd1}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }], encapsulation: i0.ViewEncapsulation.None }); }
1156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDatepickerCalendarInnerComponent, selector: "sky-datepicker-inner", inputs: { customDates: "customDates", startingDay: "startingDay", minDate: "minDate", maxDate: "maxDate", startAtDate: "startAtDate", selectedDate: "selectedDate" }, outputs: { selectedDateChange: "selectedDateChange", calendarModeChange: "calendarModeChange" }, usesOnChanges: true, ngImport: i0, template: "@if (datepickerMode) {\n <div class=\"sky-datepicker-calendar-inner\">\n <div class=\"sky-datepicker-calendar-header\">\n <span class=\"sky-datepicker-header-left\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n [attr.aria-label]=\"previousLabel\"\n (click)=\"moveCalendar($event, -1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-left\" />\n </button>\n </span>\n <span class=\"sky-datepicker-header-center\">\n <!-- display: inline -->\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n [id]=\"datepickerId + '-title'\"\n [disabled]=\"datepickerMode === maxMode\"\n [ngClass]=\"{\n 'sky-btn-disabled': datepickerMode === maxMode\n }\"\n (click)=\"toggleModeCalendar($event)\"\n >{{ title }}</button\n >\n </span>\n <span class=\"sky-datepicker-header-right\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n [attr.aria-label]=\"nextLabel\"\n (click)=\"moveCalendar($event, 1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-right\" />\n </button>\n </span>\n </div>\n <ng-content />\n </div>\n}\n", styles: [".sky-datepicker-calendar-inner:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px;--sky-override-datepicker-background-color: #ffffff;--sky-override-datepicker-button-background-color: #ffffff;--sky-override-datepicker-button-background-color-active: #eeeeef;--sky-override-datepicker-button-background-color-hover: #eeeeef;--sky-override-datepicker-button-background-color-disabled: #ffffff;--sky-override-datepicker-border: 1px solid #e2e3e4;--sky-override-datepicker-button-border: 2px solid #ffffff;--sky-override-datepicker-nav-button-padding: 5px 10px;--sky-override-datepicker-day-button-padding: 5px 10px;--sky-override-datepicker-day-button-size: 100%;--sky-override-datepicker-month-year-button-padding: 6px 12px;--sky-override-datepicker-border-color-hover: #eeeeef;--sky-override-datepicker-button-selected-background: #c1e8fb;--sky-override-datepicker-button-selected-border: 2px solid #00b4f1;--sky-override-button-box-shadow: none;--sky-override-secondary-date-color: #686c73;--sky-override-datepicker-horizontal-padding: 0;--sky-override-datepicker-vertical-padding: 0;--sky-override-datepicker-calendar-top-padding: 0;--sky-override-datepicker-chevron-size: inherit;--sky-override-chevron-color: #212327;--sky-override-datepicker-title-font-style: 700;--sky-override-datepicker-nav-space: 0;--sky-override-datepicker-table-border-spacing: 2px;--sky-override-datepicker-td-padding: 1px;--sky-override-datepicker-weekday-font-weight: 900;--sky-override-datepicker-weekday-font-size: 12px;--sky-override-datepicker-focus-outline: auto;--sky-override-datepicker-day-btn-font-size: 12px;--sky-override-datepicker-day-btn-line-height: 1.5}.sky-theme-modern:not(.sky-theme-brand-blackbaud) .sky-datepicker-calendar-inner{--sky-override-datepicker-box-shadow: inset 0 0 0 1px var(--modern-color-gray-15);--sky-override-datepicker-button-active-border-width: var(--modern-size-1);--sky-override-datepicker-button-background-color: var(--modern-color-white);--sky-override-datepicker-button-background-color-active: var( --modern-color-white );--sky-override-datepicker-button-background-color-hover: var( --modern-color-white );--sky-override-datepicker-button-border-color-transparent: var( --modern-color-transparent );--sky-override-datepicker-button-border-color-disabled: var( --sky-color-background-action-secondary-disabled );--sky-override-datepicker-nav-button-padding: 5px 7px;--sky-override-datepicker-month-year-button-padding: 5px 7px;--sky-override-datepicker-horizontal-padding: 10px;--sky-override-datepicker-vertical-padding: 5px;--sky-override-datepicker-calendar-top-padding: 0;--sky-override-datepicker-title-font-style: 700;--sky-override-chevron-color: var(--sky-color-text-default);--sky-override-datepicker-nav-space: 0;--sky-override-datepicker-table-border-spacing: 2px;--sky-override-datepicker-td-padding: 1px;--sky-override-datepicker-weekday-font-weight: 900;--sky-override-datepicker-weekday-font-size: 12.8px;--sky-override-datepicker-day-btn-font-size: 12px}.sky-theme-modern.sky-theme-brand-blackbaud .sky-datepicker-calendar-inner .sky-datepicker-calendar-header .sky-btn-default{line-height:1}.sky-theme-modern.sky-theme-brand-blackbaud .sky-datepicker-calendar-inner sky-yearpicker td{width:20%}.sky-theme-modern.sky-theme-brand-blackbaud .sky-datepicker-calendar-inner sky-monthpicker td{width:33%}.sky-datepicker-calendar-inner{border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s));background-color:var(--sky-override-datepicker-background-color, var(--sky-color-background-container-menu));border:var(--sky-override-datepicker-border);box-shadow:var(--sky-override-datepicker-box-shadow)}.sky-datepicker-calendar-inner .sky-datepicker-calendar-header{width:100%;display:flex;padding:var(--sky-override-datepicker-vertical-padding, var(--sky-space-inset-bottomless-top-m)) var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-bottomless-right-m)) 0 var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-bottomless-left-m))}.sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container{padding:var(--sky-override-datepicker-calendar-top-padding, var(--sky-space-inset-balanced-m)) var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-balanced-m)) var(--sky-override-datepicker-vertical-padding, var(--sky-space-inset-balanced-m)) var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-balanced-m))}.sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible{outline:var(--sky-override-datepicker-focus-outline, none)}.sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible .sky-btn.sky-btn-active{border:var(--sky-override-datepicker-button-selected-border, none);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}.sky-datepicker-calendar-inner .sky-btn-default{background-color:var(--sky-override-datepicker-button-background-color, var(--sky-color-background-action-tertiary-base));border:var(--sky-override-datepicker-button-border, none);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base))}.sky-datepicker-calendar-inner .sky-btn-default:hover{background-color:var(--sky-override-datepicker-button-background-color-hover, var(--sky-color-background-action-tertiary-hover));border-color:var(--sky-override-datepicker-border-color-hover);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-datepicker-calendar-inner .sky-btn-default:active{background-color:var(--sky-override-datepicker-button-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-override-datepicker-button-border-color-transparent, var(--sky-color-border-action-tertiary-active)))}.sky-datepicker-calendar-inner .sky-btn-default:focus-visible:not(:active){box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus))}.sky-datepicker-calendar-inner .sky-btn-default.sky-btn.sky-datepicker-btn-date.sky-btn-disabled{background-color:var(--sky-override-datepicker-button-background-color-disabled, var(--sky-color-background-action-tertiary-disabled));box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-override-datepicker-button-border-color-transparent, var(--sky-border-width-action-disabled)) var(--sky-color-border-action-tertiary-disabled))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-next,.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-previous{padding:var(--sky-override-datepicker-nav-button-padding, var(--sky-space-inset-balanced-xs))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-previous{margin-right:var(--sky-override-datepicker-nav-space, var(--sky-space-gap-action_group-s))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-next{margin-left:var(--sky-override-datepicker-nav-space, var(--sky-space-gap-action_group-s))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-calendar-title{font-weight:var(--sky-override-datepicker-title-font-style, var(--sky-font-style-emphasized));padding:var(--sky-override-datepicker-nav-button-padding, var(--sky-space-inset-pillarbox-1_4-top-s) var(--sky-space-inset-pillarbox-1_4-right-s) var(--sky-space-inset-pillarbox-1_4-bottom-s) var(--sky-space-inset-pillarbox-1_4-left-s))}.sky-datepicker-calendar-inner .sky-datepicker-btn-date{min-width:100%}.sky-datepicker-calendar-inner .sky-btn-sm.sky-datepicker-btn-date{font-size:var(--sky-override-datepicker-day-btn-font-size, var(--sky-font-size-body-m));height:var(--sky-override-datepicker-day-button-size, var(--sky-size-picker_btn));line-height:var(--sky-override-datepicker-day-btn-line-height, var(--sky-font-line_height-body-m));min-width:var(--sky-override-datepicker-day-button-size, 0);padding:var(--sky-override-datepicker-day-button-padding, 0);width:var(--sky-override-datepicker-day-button-size, var(--sky-size-picker_btn))}.sky-datepicker-calendar-inner .sky-datepicker-center{text-align:center}.sky-datepicker-calendar-inner .sky-btn.sky-btn-default.sky-datepicker-btn-selected,.sky-datepicker-calendar-inner .sky-btn.sky-btn-default.sky-datepicker-btn-selected:hover{background-color:var(--sky-override-datepicker-button-selected-background, var(--sky-color-background-selected-soft));border:var(--sky-override-datepicker-button-selected-border);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-selected-s) var(--sky-color-border-selected))}.sky-datepicker-calendar-inner .sky-btn.sky-btn-active{box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-override-datepicker-button-active-border-width, var(--sky-border-width-action-active)) var(--sky-color-border-action-tertiary-active));background-color:var(--sky-override-datepicker-button-background-color-active, var(--sky-color-background-action-tertiary-active))}.sky-datepicker-calendar-inner .sky-datepicker-secondary{color:var(--sky-override-secondary-date-color, var(--sky-color-text-deemphasized))}.sky-datepicker-calendar-inner .sky-datepicker-calendar-title{width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-left{text-align:left}.sky-datepicker-calendar-inner .sky-datepicker-header-center{display:flex;width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-right{text-align:right}.sky-datepicker-calendar-inner table{border-spacing:var(--sky-override-datepicker-table-border-spacing, var(--sky-space-gap-action_group-s))}.sky-datepicker-calendar-inner table td{padding:var(--sky-override-datepicker-td-padding, 0)}.sky-datepicker-calendar-inner table th{padding-bottom:var(--sky-override-datepicker-td-padding, calc(var(--sky-space-gap-text_action-xs) - var(--sky-space-gap-action_group-s)))}.sky-datepicker-chevron{color:var(--sky-override-chevron-color, var(--sky-color-icon-deemphasized));font-size:var(--sky-override-datepicker-chevron-size, var(--sky-size-icon-s))}sky-yearpicker .sky-btn.sky-btn-default,sky-monthpicker .sky-btn.sky-btn-default{padding:var(--sky-override-datepicker-month-year-button-padding, var(--sky-space-inset-pillarbox-1_2-top-s) var(--sky-space-inset-pillarbox-1_2-right-s) var(--sky-space-inset-pillarbox-1_2-bottom-s) var(--sky-space-inset-pillarbox-1_2-left-s))}.sky-datepicker-weekday-text{font-size:var(--sky-override-datepicker-weekday-font-size, var(--sky-font-size-body-m));font-weight:var(--sky-override-datepicker-weekday-font-weight, var(--sky-font-style-emphasized))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }], encapsulation: i0.ViewEncapsulation.None }); }
1175
1157
  }
1176
1158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatepickerCalendarInnerComponent, decorators: [{
1177
1159
  type: Component,
1178
- args: [{ selector: 'sky-datepicker-inner', encapsulation: ViewEncapsulation.None, template: "@if (datepickerMode) {\n <div class=\"sky-datepicker-calendar-inner\">\n <div class=\"sky-datepicker-calendar-header\">\n <span class=\"sky-datepicker-header-left\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n [attr.aria-label]=\"previousLabel\"\n (click)=\"moveCalendar($event, -1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-left\" />\n </button>\n </span>\n <span class=\"sky-datepicker-header-center\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n [id]=\"datepickerId + '-title'\"\n [disabled]=\"datepickerMode === maxMode\"\n [ngClass]=\"{\n 'sky-btn-disabled': datepickerMode === maxMode\n }\"\n (click)=\"toggleModeCalendar($event)\"\n >\n <strong>{{ title }}</strong>\n </button>\n </span>\n <span class=\"sky-datepicker-header-right\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n [attr.aria-label]=\"nextLabel\"\n (click)=\"moveCalendar($event, 1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-right\" />\n </button>\n </span>\n </div>\n <ng-content />\n </div>\n}\n", styles: [".sky-datepicker-calendar-inner{border-radius:5px;background-color:#fff;border-top:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;border-right:1px solid #e2e3e4}.sky-datepicker-calendar-inner .sky-datepicker-calendar-header{width:100%;display:flex}.sky-datepicker-calendar-inner .sky-btn-default{border-color:transparent;border:2px solid #ffffff}.sky-datepicker-calendar-inner .sky-btn-default:hover{border-color:#eeeeef}.sky-datepicker-calendar-inner .sky-datepicker-center{text-align:center}.sky-datepicker-calendar-inner .sky-datepicker-btn-selected,.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-selected:hover{background-color:#c1e8fb;border:2px solid #00b4f1}.sky-datepicker-calendar-inner .sky-btn.sky-btn-active{box-shadow:none}.sky-datepicker-calendar-inner .sky-datepicker-secondary{color:#686c73}.sky-datepicker-calendar-inner .sky-datepicker-btn-date{min-width:100%}.sky-datepicker-calendar-inner .sky-datepicker-calendar-title{width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-left{text-align:left}.sky-datepicker-calendar-inner .sky-datepicker-header-center{display:flex;width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-right{text-align:right}.sky-theme-modern .sky-datepicker-calendar-inner{border:none;box-shadow:inset 0 0 0 1px #d2d2d2;border-radius:6px;padding:5px 10px}.sky-theme-modern .sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible{outline:none}.sky-theme-modern .sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible .sky-btn-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default{border:none;box-shadow:inset 0 0 0 1px transparent;padding:5px 7px}.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-active,.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default:hover{border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-datepicker-calendar-inner .sky-datepicker-btn-selected,.sky-theme-modern .sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-selected:hover{background-color:var(--sky-background-color-input-selected)}.sky-theme-modern .sky-btn-sm.sky-datepicker-btn-date{height:30px;min-width:0;padding:0;width:30px}.sky-theme-modern .sky-datepicker-chevron{font-size:16px}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner{background-color:transparent}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner:not(:focus-within){border:none;box-shadow:inset 0 0 0 1px #686c73}.sky-theme-modern.sky-theme-mode-dark .sky-datepicker-calendar-inner .sky-datepicker-btn-selected{background-color:#009cd1}\n"] }]
1160
+ args: [{ selector: 'sky-datepicker-inner', encapsulation: ViewEncapsulation.None, template: "@if (datepickerMode) {\n <div class=\"sky-datepicker-calendar-inner\">\n <div class=\"sky-datepicker-calendar-header\">\n <span class=\"sky-datepicker-header-left\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-previous\"\n [attr.aria-label]=\"previousLabel\"\n (click)=\"moveCalendar($event, -1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-left\" />\n </button>\n </span>\n <span class=\"sky-datepicker-header-center\">\n <!-- display: inline -->\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-calendar-title\"\n [id]=\"datepickerId + '-title'\"\n [disabled]=\"datepickerMode === maxMode\"\n [ngClass]=\"{\n 'sky-btn-disabled': datepickerMode === maxMode\n }\"\n (click)=\"toggleModeCalendar($event)\"\n >{{ title }}</button\n >\n </span>\n <span class=\"sky-datepicker-header-right\">\n <button\n type=\"button\"\n class=\"sky-btn sky-btn-default sky-btn-sm sky-datepicker-btn-next\"\n [attr.aria-label]=\"nextLabel\"\n (click)=\"moveCalendar($event, 1)\"\n >\n <sky-icon class=\"sky-datepicker-chevron\" icon=\"chevron-right\" />\n </button>\n </span>\n </div>\n <ng-content />\n </div>\n}\n", styles: [".sky-datepicker-calendar-inner:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px;--sky-override-datepicker-background-color: #ffffff;--sky-override-datepicker-button-background-color: #ffffff;--sky-override-datepicker-button-background-color-active: #eeeeef;--sky-override-datepicker-button-background-color-hover: #eeeeef;--sky-override-datepicker-button-background-color-disabled: #ffffff;--sky-override-datepicker-border: 1px solid #e2e3e4;--sky-override-datepicker-button-border: 2px solid #ffffff;--sky-override-datepicker-nav-button-padding: 5px 10px;--sky-override-datepicker-day-button-padding: 5px 10px;--sky-override-datepicker-day-button-size: 100%;--sky-override-datepicker-month-year-button-padding: 6px 12px;--sky-override-datepicker-border-color-hover: #eeeeef;--sky-override-datepicker-button-selected-background: #c1e8fb;--sky-override-datepicker-button-selected-border: 2px solid #00b4f1;--sky-override-button-box-shadow: none;--sky-override-secondary-date-color: #686c73;--sky-override-datepicker-horizontal-padding: 0;--sky-override-datepicker-vertical-padding: 0;--sky-override-datepicker-calendar-top-padding: 0;--sky-override-datepicker-chevron-size: inherit;--sky-override-chevron-color: #212327;--sky-override-datepicker-title-font-style: 700;--sky-override-datepicker-nav-space: 0;--sky-override-datepicker-table-border-spacing: 2px;--sky-override-datepicker-td-padding: 1px;--sky-override-datepicker-weekday-font-weight: 900;--sky-override-datepicker-weekday-font-size: 12px;--sky-override-datepicker-focus-outline: auto;--sky-override-datepicker-day-btn-font-size: 12px;--sky-override-datepicker-day-btn-line-height: 1.5}.sky-theme-modern:not(.sky-theme-brand-blackbaud) .sky-datepicker-calendar-inner{--sky-override-datepicker-box-shadow: inset 0 0 0 1px var(--modern-color-gray-15);--sky-override-datepicker-button-active-border-width: var(--modern-size-1);--sky-override-datepicker-button-background-color: var(--modern-color-white);--sky-override-datepicker-button-background-color-active: var( --modern-color-white );--sky-override-datepicker-button-background-color-hover: var( --modern-color-white );--sky-override-datepicker-button-border-color-transparent: var( --modern-color-transparent );--sky-override-datepicker-button-border-color-disabled: var( --sky-color-background-action-secondary-disabled );--sky-override-datepicker-nav-button-padding: 5px 7px;--sky-override-datepicker-month-year-button-padding: 5px 7px;--sky-override-datepicker-horizontal-padding: 10px;--sky-override-datepicker-vertical-padding: 5px;--sky-override-datepicker-calendar-top-padding: 0;--sky-override-datepicker-title-font-style: 700;--sky-override-chevron-color: var(--sky-color-text-default);--sky-override-datepicker-nav-space: 0;--sky-override-datepicker-table-border-spacing: 2px;--sky-override-datepicker-td-padding: 1px;--sky-override-datepicker-weekday-font-weight: 900;--sky-override-datepicker-weekday-font-size: 12.8px;--sky-override-datepicker-day-btn-font-size: 12px}.sky-theme-modern.sky-theme-brand-blackbaud .sky-datepicker-calendar-inner .sky-datepicker-calendar-header .sky-btn-default{line-height:1}.sky-theme-modern.sky-theme-brand-blackbaud .sky-datepicker-calendar-inner sky-yearpicker td{width:20%}.sky-theme-modern.sky-theme-brand-blackbaud .sky-datepicker-calendar-inner sky-monthpicker td{width:33%}.sky-datepicker-calendar-inner{border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s));background-color:var(--sky-override-datepicker-background-color, var(--sky-color-background-container-menu));border:var(--sky-override-datepicker-border);box-shadow:var(--sky-override-datepicker-box-shadow)}.sky-datepicker-calendar-inner .sky-datepicker-calendar-header{width:100%;display:flex;padding:var(--sky-override-datepicker-vertical-padding, var(--sky-space-inset-bottomless-top-m)) var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-bottomless-right-m)) 0 var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-bottomless-left-m))}.sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container{padding:var(--sky-override-datepicker-calendar-top-padding, var(--sky-space-inset-balanced-m)) var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-balanced-m)) var(--sky-override-datepicker-vertical-padding, var(--sky-space-inset-balanced-m)) var(--sky-override-datepicker-horizontal-padding, var(--sky-space-inset-balanced-m))}.sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible{outline:var(--sky-override-datepicker-focus-outline, none)}.sky-datepicker-calendar-inner .sky-datepicker-calendar-table-container:focus-visible .sky-btn.sky-btn-active{border:var(--sky-override-datepicker-button-selected-border, none);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}.sky-datepicker-calendar-inner .sky-btn-default{background-color:var(--sky-override-datepicker-button-background-color, var(--sky-color-background-action-tertiary-base));border:var(--sky-override-datepicker-button-border, none);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base))}.sky-datepicker-calendar-inner .sky-btn-default:hover{background-color:var(--sky-override-datepicker-button-background-color-hover, var(--sky-color-background-action-tertiary-hover));border-color:var(--sky-override-datepicker-border-color-hover);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-datepicker-calendar-inner .sky-btn-default:active{background-color:var(--sky-override-datepicker-button-background-color-active, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-override-datepicker-button-border-color-transparent, var(--sky-color-border-action-tertiary-active)))}.sky-datepicker-calendar-inner .sky-btn-default:focus-visible:not(:active){box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus))}.sky-datepicker-calendar-inner .sky-btn-default.sky-btn.sky-datepicker-btn-date.sky-btn-disabled{background-color:var(--sky-override-datepicker-button-background-color-disabled, var(--sky-color-background-action-tertiary-disabled));box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-override-datepicker-button-border-color-transparent, var(--sky-border-width-action-disabled)) var(--sky-color-border-action-tertiary-disabled))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-next,.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-previous{padding:var(--sky-override-datepicker-nav-button-padding, var(--sky-space-inset-balanced-xs))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-previous{margin-right:var(--sky-override-datepicker-nav-space, var(--sky-space-gap-action_group-s))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-btn-next{margin-left:var(--sky-override-datepicker-nav-space, var(--sky-space-gap-action_group-s))}.sky-datepicker-calendar-inner .sky-btn-default.sky-datepicker-calendar-title{font-weight:var(--sky-override-datepicker-title-font-style, var(--sky-font-style-emphasized));padding:var(--sky-override-datepicker-nav-button-padding, var(--sky-space-inset-pillarbox-1_4-top-s) var(--sky-space-inset-pillarbox-1_4-right-s) var(--sky-space-inset-pillarbox-1_4-bottom-s) var(--sky-space-inset-pillarbox-1_4-left-s))}.sky-datepicker-calendar-inner .sky-datepicker-btn-date{min-width:100%}.sky-datepicker-calendar-inner .sky-btn-sm.sky-datepicker-btn-date{font-size:var(--sky-override-datepicker-day-btn-font-size, var(--sky-font-size-body-m));height:var(--sky-override-datepicker-day-button-size, var(--sky-size-picker_btn));line-height:var(--sky-override-datepicker-day-btn-line-height, var(--sky-font-line_height-body-m));min-width:var(--sky-override-datepicker-day-button-size, 0);padding:var(--sky-override-datepicker-day-button-padding, 0);width:var(--sky-override-datepicker-day-button-size, var(--sky-size-picker_btn))}.sky-datepicker-calendar-inner .sky-datepicker-center{text-align:center}.sky-datepicker-calendar-inner .sky-btn.sky-btn-default.sky-datepicker-btn-selected,.sky-datepicker-calendar-inner .sky-btn.sky-btn-default.sky-datepicker-btn-selected:hover{background-color:var(--sky-override-datepicker-button-selected-background, var(--sky-color-background-selected-soft));border:var(--sky-override-datepicker-button-selected-border);box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-border-width-action-selected-s) var(--sky-color-border-selected))}.sky-datepicker-calendar-inner .sky-btn.sky-btn-active{box-shadow:var(--sky-override-button-box-shadow, inset 0 0 0 var(--sky-override-datepicker-button-active-border-width, var(--sky-border-width-action-active)) var(--sky-color-border-action-tertiary-active));background-color:var(--sky-override-datepicker-button-background-color-active, var(--sky-color-background-action-tertiary-active))}.sky-datepicker-calendar-inner .sky-datepicker-secondary{color:var(--sky-override-secondary-date-color, var(--sky-color-text-deemphasized))}.sky-datepicker-calendar-inner .sky-datepicker-calendar-title{width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-left{text-align:left}.sky-datepicker-calendar-inner .sky-datepicker-header-center{display:flex;width:100%}.sky-datepicker-calendar-inner .sky-datepicker-header-right{text-align:right}.sky-datepicker-calendar-inner table{border-spacing:var(--sky-override-datepicker-table-border-spacing, var(--sky-space-gap-action_group-s))}.sky-datepicker-calendar-inner table td{padding:var(--sky-override-datepicker-td-padding, 0)}.sky-datepicker-calendar-inner table th{padding-bottom:var(--sky-override-datepicker-td-padding, calc(var(--sky-space-gap-text_action-xs) - var(--sky-space-gap-action_group-s)))}.sky-datepicker-chevron{color:var(--sky-override-chevron-color, var(--sky-color-icon-deemphasized));font-size:var(--sky-override-datepicker-chevron-size, var(--sky-size-icon-s))}sky-yearpicker .sky-btn.sky-btn-default,sky-monthpicker .sky-btn.sky-btn-default{padding:var(--sky-override-datepicker-month-year-button-padding, var(--sky-space-inset-pillarbox-1_2-top-s) var(--sky-space-inset-pillarbox-1_2-right-s) var(--sky-space-inset-pillarbox-1_2-bottom-s) var(--sky-space-inset-pillarbox-1_2-left-s))}.sky-datepicker-weekday-text{font-size:var(--sky-override-datepicker-weekday-font-size, var(--sky-font-size-body-m));font-weight:var(--sky-override-datepicker-weekday-font-weight, var(--sky-font-style-emphasized))}\n"] }]
1179
1161
  }], propDecorators: { customDates: [{
1180
1162
  type: Input
1181
1163
  }], startingDay: [{
@@ -1275,11 +1257,11 @@ class SkyDayPickerButtonComponent {
1275
1257
  this.datepicker = datepicker;
1276
1258
  }
1277
1259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDayPickerButtonComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
1278
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "@if (date) {\n <button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n [attr.aria-label]=\"date.date | skyDatepickerCalendarLabel\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n >\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n </button>\n}\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SkyDatepickerCalendarLabelPipe, name: "skyDatepickerCalendarLabel" }] }); }
1260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "@if (date) {\n <button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n [attr.aria-label]=\"date.date | skyDatepickerCalendarLabel\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n >\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n </button>\n}\n", styles: [".sky-datepicker-btn-date:not(.sky-theme-modern *){--sky-override-daypicker-disabled-style: italic;--sky-override-daypicker-key-date-color: #d93a3d;--sky-override-daypicker-key-date-size: 5px;--sky-override-daypicker-key-date-left: 15px;--sky-override-daypicker-key-date-top: 22px}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-datepicker-btn-date{--sky-override-daypicker-disabled-style: italic;--sky-override-daypicker-key-date-left: 12px;--sky-override-daypicker-key-date-top: 22px}.sky-datepicker-btn-disabled{font-style:var(--sky-override-daypicker-disabled-style)}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:var(--sky-override-daypicker-key-date-size, var(--sky-size-icon-xxs));width:var(--sky-override-daypicker-key-date-size, var(--sky-size-icon-xxs));background-color:var(--sky-override-daypicker-key-date-color, var(--sky-color-icon-danger));border-radius:50%;left:var(--sky-override-daypicker-key-date-left, calc(50% - var(--sky-size-icon-xxs) / 2));top:var(--sky-override-daypicker-key-date-top, calc(50% + var(--sky-font-size-body-m) * var(--sky-font-line_height-body-m) / 2 - var(--sky-size-icon-xxs) / 2))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SkyDatepickerCalendarLabelPipe, name: "skyDatepickerCalendarLabel" }] }); }
1279
1261
  }
1280
1262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDayPickerButtonComponent, decorators: [{
1281
1263
  type: Component,
1282
- args: [{ selector: 'sky-daypicker-button', template: "@if (date) {\n <button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n [attr.aria-label]=\"date.date | skyDatepickerCalendarLabel\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n >\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n </button>\n}\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"] }]
1264
+ args: [{ selector: 'sky-daypicker-button', template: "@if (date) {\n <button\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n [attr.aria-label]=\"date.date | skyDatepickerCalendarLabel\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n >\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n </button>\n}\n", styles: [".sky-datepicker-btn-date:not(.sky-theme-modern *){--sky-override-daypicker-disabled-style: italic;--sky-override-daypicker-key-date-color: #d93a3d;--sky-override-daypicker-key-date-size: 5px;--sky-override-daypicker-key-date-left: 15px;--sky-override-daypicker-key-date-top: 22px}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-datepicker-btn-date{--sky-override-daypicker-disabled-style: italic;--sky-override-daypicker-key-date-left: 12px;--sky-override-daypicker-key-date-top: 22px}.sky-datepicker-btn-disabled{font-style:var(--sky-override-daypicker-disabled-style)}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:var(--sky-override-daypicker-key-date-size, var(--sky-size-icon-xxs));width:var(--sky-override-daypicker-key-date-size, var(--sky-size-icon-xxs));background-color:var(--sky-override-daypicker-key-date-color, var(--sky-color-icon-danger));border-radius:50%;left:var(--sky-override-daypicker-key-date-left, calc(50% - var(--sky-size-icon-xxs) / 2));top:var(--sky-override-daypicker-key-date-top, calc(50% + var(--sky-font-size-body-m) * var(--sky-font-line_height-body-m) / 2 - var(--sky-size-icon-xxs) / 2))}\n"] }]
1283
1265
  }], ctorParameters: () => [{ type: SkyDatepickerCalendarInnerComponent }], propDecorators: { date: [{
1284
1266
  type: Input
1285
1267
  }] } });
@@ -1603,11 +1585,11 @@ class SkyDayPickerComponent {
1603
1585
  return undefined;
1604
1586
  }
1605
1587
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDayPickerComponent, deps: [{ token: SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
1606
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDayPickerComponent, selector: "sky-daypicker", inputs: { customDates: "customDates", isWaiting: "isWaiting" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange" }, ngImport: i0, template: "<table\n class=\"sky-daypicker-table\"\n role=\"grid\"\n [attr.aria-labelledby]=\"datepicker.datepickerId + '-title'\"\n>\n <thead>\n <tr>\n @for (label of labels; track label.full) {\n <th scope=\"col\" class=\"sky-datepicker-center sky-datepicker-weekdays\">\n <small [attr.aria-label]=\"label.full\">\n <b>{{ label.abbr }}</b>\n </small>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- Wait indicator for async custom date stream -->\n <sky-wait [isWaiting]=\"isWaiting\" />\n @for (row of rows; track $index) {\n <tr role=\"row\">\n @for (date of row; track date.uid) {\n <td class=\"sky-datepicker-center\" role=\"gridcell\" [id]=\"date.uid\">\n <sky-daypicker-cell\n [activeDateHasChanged]=\"activeDateHasChanged\"\n [date]=\"date\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: i2$2.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "component", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: ["activeDateHasChanged", "date"] }] }); }
1588
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDayPickerComponent, selector: "sky-daypicker", inputs: { customDates: "customDates", isWaiting: "isWaiting" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange" }, ngImport: i0, template: "<table\n class=\"sky-daypicker-table\"\n role=\"grid\"\n [attr.aria-labelledby]=\"datepicker.datepickerId + '-title'\"\n>\n <thead>\n <tr>\n @for (label of labels; track label.full) {\n <th scope=\"col\" class=\"sky-datepicker-center sky-datepicker-weekdays\">\n <!-- display: inline -->\n <span\n class=\"sky-datepicker-weekday-text\"\n [attr.aria-label]=\"label.full\"\n >{{ label.abbr }}</span\n >\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- Wait indicator for async custom date stream -->\n <sky-wait [isWaiting]=\"isWaiting\" />\n @for (row of rows; track $index) {\n <tr role=\"row\">\n @for (date of row; track date.uid) {\n <td class=\"sky-datepicker-center\" role=\"gridcell\" [id]=\"date.uid\">\n <sky-daypicker-cell\n [activeDateHasChanged]=\"activeDateHasChanged\"\n [date]=\"date\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n", dependencies: [{ kind: "component", type: i2$2.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "component", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: ["activeDateHasChanged", "date"] }] }); }
1607
1589
  }
1608
1590
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDayPickerComponent, decorators: [{
1609
1591
  type: Component,
1610
- args: [{ selector: 'sky-daypicker', template: "<table\n class=\"sky-daypicker-table\"\n role=\"grid\"\n [attr.aria-labelledby]=\"datepicker.datepickerId + '-title'\"\n>\n <thead>\n <tr>\n @for (label of labels; track label.full) {\n <th scope=\"col\" class=\"sky-datepicker-center sky-datepicker-weekdays\">\n <small [attr.aria-label]=\"label.full\">\n <b>{{ label.abbr }}</b>\n </small>\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- Wait indicator for async custom date stream -->\n <sky-wait [isWaiting]=\"isWaiting\" />\n @for (row of rows; track $index) {\n <tr role=\"row\">\n @for (date of row; track date.uid) {\n <td class=\"sky-datepicker-center\" role=\"gridcell\" [id]=\"date.uid\">\n <sky-daypicker-cell\n [activeDateHasChanged]=\"activeDateHasChanged\"\n [date]=\"date\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n" }]
1592
+ args: [{ selector: 'sky-daypicker', template: "<table\n class=\"sky-daypicker-table\"\n role=\"grid\"\n [attr.aria-labelledby]=\"datepicker.datepickerId + '-title'\"\n>\n <thead>\n <tr>\n @for (label of labels; track label.full) {\n <th scope=\"col\" class=\"sky-datepicker-center sky-datepicker-weekdays\">\n <!-- display: inline -->\n <span\n class=\"sky-datepicker-weekday-text\"\n [attr.aria-label]=\"label.full\"\n >{{ label.abbr }}</span\n >\n </th>\n }\n </tr>\n </thead>\n <tbody>\n <!-- Wait indicator for async custom date stream -->\n <sky-wait [isWaiting]=\"isWaiting\" />\n @for (row of rows; track $index) {\n <tr role=\"row\">\n @for (date of row; track date.uid) {\n <td class=\"sky-datepicker-center\" role=\"gridcell\" [id]=\"date.uid\">\n <sky-daypicker-cell\n [activeDateHasChanged]=\"activeDateHasChanged\"\n [date]=\"date\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n" }]
1611
1593
  }], ctorParameters: () => [{ type: SkyDatepickerCalendarInnerComponent }], propDecorators: { customDates: [{
1612
1594
  type: Input
1613
1595
  }], calendarDateRangeChange: [{
@@ -2179,11 +2161,11 @@ class SkyDatepickerComponent {
2179
2161
  }
2180
2162
  }
2181
2163
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatepickerComponent, deps: [{ token: i1$1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1$1.SkyCoreAdapterService }, { token: i1$1.SkyOverlayService }, { token: i2$3.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }, { token: SKY_STACKING_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
2182
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange", dateFormatChange: "dateFormatChange", openChange: "openChange", calendarDateChange: "calendarDateChange" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: SkyDatepickerCalendarComponent, descendants: true }, { propertyName: "calendarRef", first: true, predicate: ["calendarRef"], descendants: true, read: ElementRef }, { propertyName: "calendarTemplateRef", first: true, predicate: ["calendarTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n >\n <sky-icon icon=\"calendar\" size=\"lg\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "startAtDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange", dateFormatChange: "dateFormatChange", openChange: "openChange", calendarDateChange: "calendarDateChange" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: SkyDatepickerCalendarComponent, descendants: true }, { propertyName: "calendarRef", first: true, predicate: ["calendarRef"], descendants: true, read: ElementRef }, { propertyName: "calendarTemplateRef", first: true, predicate: ["calendarTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n >\n <sky-icon icon=\"calendar\" size=\"lg\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px}.sky-datepicker-calendar-container{position:fixed;border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s))}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "startAtDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2183
2165
  }
2184
2166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SkyDatepickerComponent, decorators: [{
2185
2167
  type: Component,
2186
- args: [{ selector: 'sky-datepicker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n >\n <sky-icon icon=\"calendar\" size=\"lg\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"] }]
2168
+ args: [{ selector: 'sky-datepicker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-datepicker\">\n @if (!inputBoxHostService) {\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\" />\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\" />\n </div>\n }\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content />\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n #triggerButtonRef\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n inputBoxHostService?.labelText\n ? ('skyux_datepicker_trigger_button_label_context'\n | skyLibResources: inputBoxHostService?.labelText)\n : ('skyux_datepicker_trigger_button_label' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n >\n <sky-icon icon=\"calendar\" size=\"lg\" />\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n #calendarRef\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n >\n <sky-datepicker-calendar\n cdkTrapFocus\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startAtDate]=\"startAtDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n />\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container:not(.sky-theme-modern *){--sky-override-datepicker-border-radius: 5px}.sky-datepicker-calendar-container{position:fixed;border-radius:var(--sky-override-datepicker-border-radius, var(--sky-border-radius-s))}.sky-datepicker-hidden{visibility:hidden}\n"] }]
2187
2169
  }], ctorParameters: () => [{ type: i1$1.SkyAffixService }, { type: i0.ChangeDetectorRef }, { type: i1$1.SkyCoreAdapterService }, { type: i1$1.SkyOverlayService }, { type: i2$3.SkyInputBoxHostService, decorators: [{
2188
2170
  type: Optional
2189
2171
  }] }, { type: i3.SkyThemeService, decorators: [{
@@ -2394,13 +2376,10 @@ class SkyFuzzyDatepickerInputDirective {
2394
2376
  this.#_futureDisabled = false;
2395
2377
  this.#_disabled = false;
2396
2378
  this.#_yearRequired = false;
2397
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2398
2379
  // istanbul ignore next
2399
2380
  this.#onChange = (_) => { };
2400
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2401
2381
  // istanbul ignore next
2402
2382
  this.#onTouched = () => { };
2403
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2404
2383
  // istanbul ignore next
2405
2384
  this.#onValidatorChange = () => { };
2406
2385
  if (!datepickerComponent) {
@@ -2618,13 +2597,10 @@ class SkyFuzzyDatepickerInputDirective {
2618
2597
  ((!dateA.month && !dateB.month) || dateA.month === dateB.month) &&
2619
2598
  ((!dateA.year && !dateB.year) || dateA.year === dateB.year));
2620
2599
  }
2621
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2622
2600
  // istanbul ignore next
2623
2601
  #onChange;
2624
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2625
2602
  // istanbul ignore next
2626
2603
  #onTouched;
2627
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2628
2604
  // istanbul ignore next
2629
2605
  #onValidatorChange;
2630
2606
  /**
@@ -2885,13 +2861,10 @@ class SkyDatepickerInputDirective {
2885
2861
  this.#ngUnsubscribe = new Subject();
2886
2862
  this.#_disabled = false;
2887
2863
  this.#_strict = false;
2888
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2889
2864
  // istanbul ignore next
2890
2865
  this.#onChange = (_) => { };
2891
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2892
2866
  // istanbul ignore next
2893
2867
  this.#onTouched = () => { };
2894
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2895
2868
  // istanbul ignore next
2896
2869
  this.#onValidatorChange = () => { };
2897
2870
  if (!datepickerComponent) {
@@ -3138,13 +3111,10 @@ class SkyDatepickerInputDirective {
3138
3111
  }
3139
3112
  return moment(value).isValid();
3140
3113
  }
3141
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3142
3114
  // istanbul ignore next
3143
3115
  #onChange;
3144
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3145
3116
  // istanbul ignore next
3146
3117
  #onTouched;
3147
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3148
3118
  // istanbul ignore next
3149
3119
  #onValidatorChange;
3150
3120
  /**