@skyux/core 10.37.4 → 10.39.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.
package/esm2022/index.mjs CHANGED
@@ -40,6 +40,7 @@ export { SkyPercentPipe } from './lib/modules/percent-pipe/percent.pipe';
40
40
  export { SkyResizeObserverMediaQueryService } from './lib/modules/resize-observer/resize-observer-media-query.service';
41
41
  export { SkyResizeObserverService } from './lib/modules/resize-observer/resize-observer.service';
42
42
  export { SkyScreenReaderLabelDirective } from './lib/modules/screen-reader-label/screen-reader-label.directive';
43
+ export { SkyScrollShadowDirective } from './lib/modules/scroll-shadow/scroll-shadow.directive';
43
44
  export { SkyScrollableHostService } from './lib/modules/scrollable-host/scrollable-host.service';
44
45
  export { SKY_STACKING_CONTEXT } from './lib/modules/stacking-context/stacking-context-token';
45
46
  export { SkyAppTitleService } from './lib/modules/title/title.service';
@@ -56,4 +57,4 @@ export { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';
56
57
  export { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';
57
58
  export { SkyTrimDirective as λ4 } from './lib/modules/trim/trim.directive';
58
59
  export { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFTcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFbkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFHdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBRXpHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsMEJBQTBCLEdBQzNCLE1BQU0sMkRBQTJELENBQUM7QUFFbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUcvRCxP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LCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDb3JlQWRhcHRlck1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIubW9kdWxlJztcbmV4cG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIuc2VydmljZSc7XG5leHBvcnQgeyBTa3lGb2N1c2FibGVDaGlsZHJlbk9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9mb2N1c2FibGUtY2hpbGRyZW4tb3B0aW9ucyc7XG5cbmV4cG9ydCB7IFNreUFmZml4QXV0b0ZpdENvbnRleHQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWF1dG8tZml0LWNvbnRleHQnO1xuZXhwb3J0IHsgU2t5QWZmaXhDb25maWcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWNvbmZpZyc7XG5leHBvcnQgeyBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcbmV4cG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1vZmZzZXQnO1xuZXhwb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuZXhwb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LXBsYWNlbWVudCc7XG5leHBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5leHBvcnQgeyBTa3lBZmZpeFBvc2l0aW9uIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1wb3NpdGlvbic7XG5leHBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuZXhwb3J0IHsgU2t5QWZmaXhNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4Lm1vZHVsZSc7XG5leHBvcnQgeyBTa3lBZmZpeFNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5QWZmaXhlciB9IGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXhlcic7XG5cbmV4cG9ydCB7IFNreUNvbnRlbnRJbmZvIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jb250ZW50LWluZm8tcHJvdmlkZXIvY29udGVudC1pbmZvJztcbmV4cG9ydCB7IFNreUNvbnRlbnRJbmZvRGVzY3JpcHRvciB9IGZyb20gJy4vbGliL21vZHVsZXMvY29udGVudC1pbmZvLXByb3ZpZGVyL2NvbnRlbnQtaW5mby1kZXNjcmlwdG9yJztcbmV4cG9ydCB7IFNreUNvbnRlbnRJbmZvUHJvdmlkZXIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NvbnRlbnQtaW5mby1wcm92aWRlci9jb250ZW50LWluZm8tcHJvdmlkZXInO1xuXG5leHBvcnQgeyBTa3lEZWZhdWx0SW5wdXRQcm92aWRlciB9IGZyb20gJy4vbGliL21vZHVsZXMvZGVmYXVsdC1pbnB1dC1wcm92aWRlci9kZWZhdWx0LWlucHV0LXByb3ZpZGVyJztcblxuZXhwb3J0IHsgU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWluc2VydC1jb21wb25lbnQtY29uZmlnJztcbmV4cG9ydCB7IFNreURvY2tJdGVtIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staXRlbSc7XG5leHBvcnQgeyBTa3lEb2NrSXRlbUNvbmZpZyB9IGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWl0ZW0tY29uZmlnJztcbmV4cG9ydCB7IFNreURvY2tMb2NhdGlvbiB9IGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWxvY2F0aW9uJztcbmV4cG9ydCB7IFNreURvY2tPcHRpb25zIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stb3B0aW9ucyc7XG5leHBvcnQgeyBTa3lEb2NrTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2subW9kdWxlJztcbmV4cG9ydCB7IFNreURvY2tTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2suc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbiB9IGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuZXhwb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LW9wdGlvbnMnO1xuZXhwb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCB7XG4gIFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbn0gZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5Rm9ybXNVdGlsaXR5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3Jtcy11dGlsaXR5L2Zvcm1zLXV0aWxpdHknO1xuXG5leHBvcnQgeyBTa3lBcHBGb3JtYXQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm1hdC9hcHAtZm9ybWF0JztcblxuZXhwb3J0IHsgU2t5SGVscEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2hlbHAvaGVscC1nbG9iYWwtb3B0aW9ucyc7XG5leHBvcnQgeyBTS1lfSEVMUF9HTE9CQUxfT1BUSU9OUyB9IGZyb20gJy4vbGliL21vZHVsZXMvaGVscC9oZWxwLWdsb2JhbC1vcHRpb25zLXRva2VuJztcbmV4cG9ydCB7IFNreUhlbHBPcGVuQXJncyB9IGZyb20gJy4vbGliL21vZHVsZXMvaGVscC9oZWxwLW9wZW4tYXJncyc7XG5leHBvcnQgeyBTa3lIZWxwU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQubW9kdWxlJztcbmV4cG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQuc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreUxheW91dEhvc3RGb3JDaGlsZEFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xheW91dC1ob3N0L2xheW91dC1ob3N0LWZvci1jaGlsZC1hcmdzJztcbmV4cG9ydCB7IFNreUxheW91dEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9sYXlvdXQtaG9zdC9sYXlvdXQtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL2xpdmUtYW5ub3VuY2VyLnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5TGl2ZUFubm91bmNlckFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL3R5cGVzL2xpdmUtYW5ub3VuY2VyLWFyZ3MnO1xuZXhwb3J0IHsgU2t5TGl2ZUFubm91bmNlclBvbGl0ZW5lc3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL3R5cGVzL2xpdmUtYW5ub3VuY2VyLXBvbGl0ZW5lc3MnO1xuXG5leHBvcnQgeyBTa3lMb2dNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xvZy9sb2cubW9kdWxlJztcbmV4cG9ydCB7IFNreUxvZ1NlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xvZy9sb2cuc2VydmljZSc7XG5leHBvcnQgeyBTa3lMb2dMZXZlbCB9IGZyb20gJy4vbGliL21vZHVsZXMvbG9nL3R5cGVzL2xvZy1sZXZlbCc7XG5leHBvcnQgeyBTS1lfTE9HX0xFVkVMIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvdHlwZXMvbG9nLWxldmVsLXRva2VuJztcblxuZXhwb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuZXhwb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5leHBvcnQgeyBTa3lNZWRpYVF1ZXJ5TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lNdXRhdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreU51bWVyaWNTeW1ib2wgfSBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy1zeW1ib2wnO1xuZXhwb3J0IHsgU2t5TnVtZXJpY01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm1vZHVsZSc7XG5leHBvcnQge1xuICBOdW1lcmljT3B0aW9ucyxcbiAgU2t5TnVtZXJpY09wdGlvbnMsXG59IGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm9wdGlvbnMnO1xuZXhwb3J0IHsgU2t5TnVtZXJpY1BpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5waXBlJztcbmV4cG9ydCB7IFNreU51bWVyaWNTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMuc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS1jb25maWcnO1xuZXhwb3J0IHsgU2t5T3ZlcmxheUluc3RhbmNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UnO1xuZXhwb3J0IHsgU2t5T3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktcG9zaXRpb24nO1xuZXhwb3J0IHsgU2t5T3ZlcmxheU1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQge1xuICBTa3lPdmVybGF5TGVnYWN5U2VydmljZSxcbiAgU2t5T3ZlcmxheVNlcnZpY2UsXG59IGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lQZXJjZW50UGlwZU1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcGVyY2VudC1waXBlL3BlcmNlbnQtcGlwZS5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5UGVyY2VudFBpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUnO1xuXG5leHBvcnQgeyBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yZXNpemUtb2JzZXJ2ZXIvcmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yZXNpemUtb2JzZXJ2ZXIvcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lTY3JlZW5SZWFkZXJMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2NyZWVuLXJlYWRlci1sYWJlbC9zY3JlZW4tcmVhZGVyLWxhYmVsLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7IFNreVNjcm9sbGFibGVIb3N0U2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5U3RhY2tpbmdDb250ZXh0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQnO1xuZXhwb3J0IHsgU0tZX1NUQUNLSU5HX0NPTlRFWFQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3N0YWNraW5nLWNvbnRleHQvc3RhY2tpbmctY29udGV4dC10b2tlbic7XG5cbmV4cG9ydCB7IFNreUFwcFNldFRpdGxlQXJncyB9IGZyb20gJy4vbGliL21vZHVsZXMvdGl0bGUvc2V0LXRpdGxlLWFyZ3MnO1xuZXhwb3J0IHsgU2t5QXBwVGl0bGVTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90aXRsZS90aXRsZS5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5VHJpbU1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdHJpbS90cmltLm1vZHVsZSc7XG5cbmV4cG9ydCB7IFNreVVJQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvdWktY29uZmlnL3VpLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5Vmlld2tlZXBlckhvc3RPcHRpb25zIH0gZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXItaG9zdC1vcHRpb25zJztcbmV4cG9ydCB7IFNreVZpZXdrZWVwZXJPcHRpb25zIH0gZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXItb3B0aW9ucyc7XG5leHBvcnQgeyBTa3lWaWV3a2VlcGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIubW9kdWxlJztcbmV4cG9ydCB7IFNreVZpZXdrZWVwZXJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIuc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJy4vbGliL21vZHVsZXMvd2luZG93L3dpbmRvdy1yZWYnO1xuXG5leHBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnLi92ZXJzaW9uJztcblxuLy8gQ29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyBtdXN0IGJlIGV4cG9ydGVkIHRvIHN1cHBvcnQgQW5ndWxhcidzIFwicGFydGlhbFwiIEl2eSBjb21waWxlci5cbi8vIE9ic2N1cmUgbmFtZXMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgdHlwZXMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJLlxuZXhwb3J0IHsgU2t5QWZmaXhEaXJlY3RpdmUgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5SWREaXJlY3RpdmUgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pZC9pZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5VHJpbURpcmVjdGl2ZSBhcyDOuzQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RyaW0vdHJpbS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5Vmlld2tlZXBlckRpcmVjdGl2ZSBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5kaXJlY3RpdmUnO1xuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFTcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFbkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFHdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBRXpHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsMEJBQTBCLEdBQzNCLE1BQU0sMkRBQTJELENBQUM7QUFFbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUcvRCxP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LEVBQUUsc0JBQXNCLElBQUksRUFBRSxFQUFFLE1BQU0sK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTa3lDb3JlQWRhcHRlck1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIubW9kdWxlJztcbmV4cG9ydCB7IFNreUNvcmVBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIuc2VydmljZSc7XG5leHBvcnQgeyBTa3lGb2N1c2FibGVDaGlsZHJlbk9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9mb2N1c2FibGUtY2hpbGRyZW4tb3B0aW9ucyc7XG5cbmV4cG9ydCB7IFNreUFmZml4QXV0b0ZpdENvbnRleHQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWF1dG8tZml0LWNvbnRleHQnO1xuZXhwb3J0IHsgU2t5QWZmaXhDb25maWcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWNvbmZpZyc7XG5leHBvcnQgeyBTa3lBZmZpeEhvcml6b250YWxBbGlnbm1lbnQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWhvcml6b250YWwtYWxpZ25tZW50JztcbmV4cG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1vZmZzZXQnO1xuZXhwb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuZXhwb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LXBsYWNlbWVudCc7XG5leHBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5leHBvcnQgeyBTa3lBZmZpeFBvc2l0aW9uIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1wb3NpdGlvbic7XG5leHBvcnQgeyBTa3lBZmZpeFZlcnRpY2FsQWxpZ25tZW50IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuZXhwb3J0IHsgU2t5QWZmaXhNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4Lm1vZHVsZSc7XG5leHBvcnQgeyBTa3lBZmZpeFNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5QWZmaXhlciB9IGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXhlcic7XG5cbmV4cG9ydCB7IFNreUNvbnRlbnRJbmZvIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9jb250ZW50LWluZm8tcHJvdmlkZXIvY29udGVudC1pbmZvJztcbmV4cG9ydCB7IFNreUNvbnRlbnRJbmZvRGVzY3JpcHRvciB9IGZyb20gJy4vbGliL21vZHVsZXMvY29udGVudC1pbmZvLXByb3ZpZGVyL2NvbnRlbnQtaW5mby1kZXNjcmlwdG9yJztcbmV4cG9ydCB7IFNreUNvbnRlbnRJbmZvUHJvdmlkZXIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2NvbnRlbnQtaW5mby1wcm92aWRlci9jb250ZW50LWluZm8tcHJvdmlkZXInO1xuXG5leHBvcnQgeyBTa3lEZWZhdWx0SW5wdXRQcm92aWRlciB9IGZyb20gJy4vbGliL21vZHVsZXMvZGVmYXVsdC1pbnB1dC1wcm92aWRlci9kZWZhdWx0LWlucHV0LXByb3ZpZGVyJztcblxuZXhwb3J0IHsgU2t5RG9ja0luc2VydENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWluc2VydC1jb21wb25lbnQtY29uZmlnJztcbmV4cG9ydCB7IFNreURvY2tJdGVtIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staXRlbSc7XG5leHBvcnQgeyBTa3lEb2NrSXRlbUNvbmZpZyB9IGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWl0ZW0tY29uZmlnJztcbmV4cG9ydCB7IFNreURvY2tMb2NhdGlvbiB9IGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWxvY2F0aW9uJztcbmV4cG9ydCB7IFNreURvY2tPcHRpb25zIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stb3B0aW9ucyc7XG5leHBvcnQgeyBTa3lEb2NrTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2subW9kdWxlJztcbmV4cG9ydCB7IFNreURvY2tTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2suc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreUR5bmFtaWNDb21wb25lbnRMb2NhdGlvbiB9IGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuZXhwb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2R5bmFtaWMtY29tcG9uZW50L2R5bmFtaWMtY29tcG9uZW50LW9wdGlvbnMnO1xuZXhwb3J0IHsgU2t5RHluYW1pY0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCB7XG4gIFNreUR5bmFtaWNDb21wb25lbnRMZWdhY3lTZXJ2aWNlLFxuICBTa3lEeW5hbWljQ29tcG9uZW50U2VydmljZSxcbn0gZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5Rm9ybXNVdGlsaXR5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9mb3Jtcy11dGlsaXR5L2Zvcm1zLXV0aWxpdHknO1xuXG5leHBvcnQgeyBTa3lBcHBGb3JtYXQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2Zvcm1hdC9hcHAtZm9ybWF0JztcblxuZXhwb3J0IHsgU2t5SGVscEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2hlbHAvaGVscC1nbG9iYWwtb3B0aW9ucyc7XG5leHBvcnQgeyBTS1lfSEVMUF9HTE9CQUxfT1BUSU9OUyB9IGZyb20gJy4vbGliL21vZHVsZXMvaGVscC9oZWxwLWdsb2JhbC1vcHRpb25zLXRva2VuJztcbmV4cG9ydCB7IFNreUhlbHBPcGVuQXJncyB9IGZyb20gJy4vbGliL21vZHVsZXMvaGVscC9oZWxwLW9wZW4tYXJncyc7XG5leHBvcnQgeyBTa3lIZWxwU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaGVscC9oZWxwLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQubW9kdWxlJztcbmV4cG9ydCB7IFNreUlkU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvaWQvaWQuc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreUxheW91dEhvc3RGb3JDaGlsZEFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xheW91dC1ob3N0L2xheW91dC1ob3N0LWZvci1jaGlsZC1hcmdzJztcbmV4cG9ydCB7IFNreUxheW91dEhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9sYXlvdXQtaG9zdC9sYXlvdXQtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5TGl2ZUFubm91bmNlclNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL2xpdmUtYW5ub3VuY2VyLnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5TGl2ZUFubm91bmNlckFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL3R5cGVzL2xpdmUtYW5ub3VuY2VyLWFyZ3MnO1xuZXhwb3J0IHsgU2t5TGl2ZUFubm91bmNlclBvbGl0ZW5lc3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL3R5cGVzL2xpdmUtYW5ub3VuY2VyLXBvbGl0ZW5lc3MnO1xuXG5leHBvcnQgeyBTa3lMb2dNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xvZy9sb2cubW9kdWxlJztcbmV4cG9ydCB7IFNreUxvZ1NlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2xvZy9sb2cuc2VydmljZSc7XG5leHBvcnQgeyBTa3lMb2dMZXZlbCB9IGZyb20gJy4vbGliL21vZHVsZXMvbG9nL3R5cGVzL2xvZy1sZXZlbCc7XG5leHBvcnQgeyBTS1lfTE9HX0xFVkVMIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvdHlwZXMvbG9nLWxldmVsLXRva2VuJztcblxuZXhwb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4vbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuZXhwb3J0IHsgU2t5TWVkaWFRdWVyeUxpc3RlbmVyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5leHBvcnQgeyBTa3lNZWRpYVF1ZXJ5TW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5TWVkaWFRdWVyeVNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lNdXRhdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJy4vbGliL21vZHVsZXMvbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreU51bWVyaWNTeW1ib2wgfSBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy1zeW1ib2wnO1xuZXhwb3J0IHsgU2t5TnVtZXJpY01vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm1vZHVsZSc7XG5leHBvcnQge1xuICBOdW1lcmljT3B0aW9ucyxcbiAgU2t5TnVtZXJpY09wdGlvbnMsXG59IGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm9wdGlvbnMnO1xuZXhwb3J0IHsgU2t5TnVtZXJpY1BpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5waXBlJztcbmV4cG9ydCB7IFNreU51bWVyaWNTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMuc2VydmljZSc7XG5cbmV4cG9ydCB7IFNreU92ZXJsYXlDb25maWcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS1jb25maWcnO1xuZXhwb3J0IHsgU2t5T3ZlcmxheUluc3RhbmNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UnO1xuZXhwb3J0IHsgU2t5T3ZlcmxheVBvc2l0aW9uIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktcG9zaXRpb24nO1xuZXhwb3J0IHsgU2t5T3ZlcmxheU1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQge1xuICBTa3lPdmVybGF5TGVnYWN5U2VydmljZSxcbiAgU2t5T3ZlcmxheVNlcnZpY2UsXG59IGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lQZXJjZW50UGlwZU1vZHVsZSB9IGZyb20gJy4vbGliL21vZHVsZXMvcGVyY2VudC1waXBlL3BlcmNlbnQtcGlwZS5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5UGVyY2VudFBpcGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUnO1xuXG5leHBvcnQgeyBTa3lSZXNpemVPYnNlcnZlck1lZGlhUXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yZXNpemUtb2JzZXJ2ZXIvcmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuZXhwb3J0IHsgU2t5UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9yZXNpemUtb2JzZXJ2ZXIvcmVzaXplLW9ic2VydmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lTY3JlZW5SZWFkZXJMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2NyZWVuLXJlYWRlci1sYWJlbC9zY3JlZW4tcmVhZGVyLWxhYmVsLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB7IFNreVNjcm9sbFNoYWRvd0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliL21vZHVsZXMvc2Nyb2xsLXNoYWRvdy9zY3JvbGwtc2hhZG93LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3Njcm9sbC1zaGFkb3cvc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzJztcblxuZXhwb3J0IHsgU2t5U2Nyb2xsYWJsZUhvc3RTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9zY3JvbGxhYmxlLWhvc3Qvc2Nyb2xsYWJsZS1ob3N0LnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lTdGFja2luZ0NvbnRleHQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3N0YWNraW5nLWNvbnRleHQvc3RhY2tpbmctY29udGV4dCc7XG5leHBvcnQgeyBTS1lfU1RBQ0tJTkdfQ09OVEVYVCB9IGZyb20gJy4vbGliL21vZHVsZXMvc3RhY2tpbmctY29udGV4dC9zdGFja2luZy1jb250ZXh0LXRva2VuJztcblxuZXhwb3J0IHsgU2t5QXBwU2V0VGl0bGVBcmdzIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90aXRsZS9zZXQtdGl0bGUtYXJncyc7XG5leHBvcnQgeyBTa3lBcHBUaXRsZVNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RpdGxlL3RpdGxlLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lUcmltTW9kdWxlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy90cmltL3RyaW0ubW9kdWxlJztcblxuZXhwb3J0IHsgU2t5VUlDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9saWIvbW9kdWxlcy91aS1jb25maWcvdWktY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgeyBTa3lWaWV3a2VlcGVySG9zdE9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1ob3N0LW9wdGlvbnMnO1xuZXhwb3J0IHsgU2t5Vmlld2tlZXBlck9wdGlvbnMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci1vcHRpb25zJztcbmV4cG9ydCB7IFNreVZpZXdrZWVwZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5tb2R1bGUnO1xuZXhwb3J0IHsgU2t5Vmlld2tlZXBlclNlcnZpY2UgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5zZXJ2aWNlJztcblxuZXhwb3J0IHsgU2t5QXBwV2luZG93UmVmIH0gZnJvbSAnLi9saWIvbW9kdWxlcy93aW5kb3cvd2luZG93LXJlZic7XG5cbmV4cG9ydCB7IFZFUlNJT04gfSBmcm9tICcuL3ZlcnNpb24nO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lBZmZpeERpcmVjdGl2ZSBhcyDOuzEgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lJZERpcmVjdGl2ZSBhcyDOuzIgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2lkL2lkLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lUcmltRGlyZWN0aXZlIGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvdHJpbS90cmltLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lWaWV3a2VlcGVyRGlyZWN0aXZlIGFzIM67MyB9IGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,14 +1,21 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import { Injectable } from '@angular/core';
3
+ import { of } from 'rxjs';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * Provides methods for opening a globally accessible help dialog.
6
7
  */
7
8
  export class SkyHelpService {
9
+ /**
10
+ * Emits when the help widget ready state changes.
11
+ */
12
+ get widgetReadyStateChange() {
13
+ return of(false);
14
+ }
8
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyHelpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
16
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyHelpService }); }
10
17
  }
11
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyHelpService, decorators: [{
12
19
  type: Injectable
13
20
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2hlbHAvaGVscC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQzs7R0FFRztBQUVILE1BQU0sT0FBZ0IsY0FBYzs4R0FBZCxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SGVscE9wZW5BcmdzIH0gZnJvbSAnLi9oZWxwLW9wZW4tYXJncyc7XG5cbi8qKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3Igb3BlbmluZyBhIGdsb2JhbGx5IGFjY2Vzc2libGUgaGVscCBkaWFsb2cuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTa3lIZWxwU2VydmljZSB7XG4gIC8qKlxuICAgKiBPcGVucyBhIGdsb2JhbGx5IGFjY2Vzc2libGUgaGVscCBkaWFsb2cuXG4gICAqIEBwYXJhbSBhcmdzIFRoZSBvcHRpb25zIGZvciBvcGVuaW5nIHRoZSBoZWxwIGRpYWxvZy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBvcGVuSGVscChhcmdzOiBTa3lIZWxwT3BlbkFyZ3MpOiB2b2lkO1xufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2hlbHAvaGVscC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSXRDOztHQUVHO0FBRUgsTUFBTSxPQUFnQixjQUFjO0lBQ2xDOztPQUVHO0lBQ0gsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs4R0FObUIsY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreUhlbHBPcGVuQXJncyB9IGZyb20gJy4vaGVscC1vcGVuLWFyZ3MnO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIG9wZW5pbmcgYSBnbG9iYWxseSBhY2Nlc3NpYmxlIGhlbHAgZGlhbG9nLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2t5SGVscFNlcnZpY2Uge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgaGVscCB3aWRnZXQgcmVhZHkgc3RhdGUgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgd2lkZ2V0UmVhZHlTdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gb2YoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgZ2xvYmFsbHkgYWNjZXNzaWJsZSBoZWxwIGRpYWxvZy5cbiAgICogQHBhcmFtIGFyZ3MgVGhlIG9wdGlvbnMgZm9yIG9wZW5pbmcgdGhlIGhlbHAgZGlhbG9nLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IG9wZW5IZWxwKGFyZ3M6IFNreUhlbHBPcGVuQXJncyk6IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3Njcm9sbC1zaGFkb3cvc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyB7XG4gIGJvdHRvbVNoYWRvdzogc3RyaW5nO1xuXG4gIHRvcFNoYWRvdzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,123 @@
1
+ import { Directive, ElementRef, EventEmitter, HostListener, Input, NgZone, Output, inject, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { SkyMutationObserverService } from '../mutation/mutation-observer-service';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Raises an event when the box shadow for a component's header or footer should be adjusted
7
+ * based on the scroll position of the host element.
8
+ * @internal
9
+ */
10
+ export class SkyScrollShadowDirective {
11
+ constructor() {
12
+ this.skyScrollShadow = new EventEmitter();
13
+ this.#ngUnsubscribe = new Subject();
14
+ this.#elRef = inject(ElementRef);
15
+ this.#mutationObserverSvc = inject(SkyMutationObserverService);
16
+ this.#ngZone = inject(NgZone);
17
+ this.#_enabled = false;
18
+ }
19
+ set skyScrollShadowEnabled(value) {
20
+ this.#_enabled = value;
21
+ if (value) {
22
+ this.#initMutationObserver();
23
+ }
24
+ else {
25
+ this.#emitShadow({
26
+ bottomShadow: 'none',
27
+ topShadow: 'none',
28
+ });
29
+ this.#destroyMutationObserver();
30
+ }
31
+ }
32
+ get skyScrollShadowEnabled() {
33
+ return this.#_enabled;
34
+ }
35
+ #currentShadow;
36
+ #mutationObserver;
37
+ #ngUnsubscribe;
38
+ #elRef;
39
+ #mutationObserverSvc;
40
+ #ngZone;
41
+ #_enabled;
42
+ windowResize() {
43
+ this.#checkForShadow();
44
+ }
45
+ scroll() {
46
+ this.#checkForShadow();
47
+ }
48
+ ngOnDestroy() {
49
+ this.#ngUnsubscribe.next();
50
+ this.#ngUnsubscribe.complete();
51
+ this.#destroyMutationObserver();
52
+ }
53
+ #initMutationObserver() {
54
+ if (!this.#mutationObserver) {
55
+ const el = this.#elRef.nativeElement;
56
+ // MutationObserver is patched by Zone.js and therefore becomes part of the
57
+ // Angular change detection cycle, but this can lead to infinite loops in some
58
+ // scenarios. This will keep MutationObserver from triggering change detection.
59
+ this.#ngZone.runOutsideAngular(() => {
60
+ this.#mutationObserver = this.#mutationObserverSvc.create(() => {
61
+ this.#checkForShadow();
62
+ });
63
+ this.#mutationObserver.observe(el, {
64
+ attributes: true,
65
+ characterData: true,
66
+ childList: true,
67
+ subtree: true,
68
+ });
69
+ });
70
+ }
71
+ }
72
+ #destroyMutationObserver() {
73
+ if (this.#mutationObserver) {
74
+ this.#mutationObserver.disconnect();
75
+ this.#mutationObserver = undefined;
76
+ }
77
+ }
78
+ #checkForShadow() {
79
+ if (this.skyScrollShadowEnabled) {
80
+ const el = this.#elRef.nativeElement;
81
+ const topShadow = this.#buildShadowStyle(el.scrollTop);
82
+ const bottomShadow = this.#buildShadowStyle(el.scrollHeight - el.scrollTop - el.clientHeight);
83
+ this.#emitShadow({
84
+ bottomShadow,
85
+ topShadow,
86
+ });
87
+ }
88
+ }
89
+ #buildShadowStyle(pixelsFromEnd) {
90
+ // Progressively darken the shadow until the user scrolls 30 pixels from the top or bottom
91
+ // of the scrollable element, with a max opacity of 0.3.
92
+ const opacity = Math.min(pixelsFromEnd / 30, 1) * 0.3;
93
+ return opacity > 0 ? `0px 1px 8px 0px rgba(0, 0, 0, ${opacity})` : 'none';
94
+ }
95
+ #emitShadow(shadow) {
96
+ if (!this.#currentShadow ||
97
+ this.#currentShadow.bottomShadow !== shadow.bottomShadow ||
98
+ this.#currentShadow.topShadow !== shadow.topShadow) {
99
+ this.skyScrollShadow.emit(shadow);
100
+ this.#currentShadow = shadow;
101
+ }
102
+ }
103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyScrollShadowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
104
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: SkyScrollShadowDirective, isStandalone: true, selector: "[skyScrollShadow]", inputs: { skyScrollShadowEnabled: "skyScrollShadowEnabled" }, outputs: { skyScrollShadow: "skyScrollShadow" }, host: { listeners: { "window:resize": "windowResize()", "scroll": "scroll()" } }, ngImport: i0 }); }
105
+ }
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyScrollShadowDirective, decorators: [{
107
+ type: Directive,
108
+ args: [{
109
+ standalone: true,
110
+ selector: '[skyScrollShadow]',
111
+ }]
112
+ }], propDecorators: { skyScrollShadowEnabled: [{
113
+ type: Input
114
+ }], skyScrollShadow: [{
115
+ type: Output
116
+ }], windowResize: [{
117
+ type: HostListener,
118
+ args: ['window:resize']
119
+ }], scroll: [{
120
+ type: HostListener,
121
+ args: ['scroll']
122
+ }] } });
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXNoYWRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvc2Nyb2xsLXNoYWRvdy9zY3JvbGwtc2hhZG93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUluRjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHdCQUF3QjtJQUpyQztRQTBCUyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBTXRFLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1QixXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzFELFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQW1GbkI7SUFwSEMsSUFDVyxzQkFBc0IsQ0FBQyxLQUFjO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ2YsWUFBWSxFQUFFLE1BQU07Z0JBQ3BCLFNBQVMsRUFBRSxNQUFNO2FBQ2xCLENBQUMs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QUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxZQUFZO1lBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQ2xELENBQUM7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQzs4R0FwSFUsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzhCQUdZLHNCQUFzQjtzQkFEaEMsS0FBSztnQkFxQkMsZUFBZTtzQkFEckIsTUFBTTtnQkFnQkEsWUFBWTtzQkFEbEIsWUFBWTt1QkFBQyxlQUFlO2dCQU10QixNQUFNO3NCQURaLFlBQVk7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbXV0YXRpb24vbXV0YXRpb24tb2JzZXJ2ZXItc2VydmljZSc7XG5cbmltcG9ydCB7IFNreVNjcm9sbFNoYWRvd0V2ZW50QXJncyB9IGZyb20gJy4vc2Nyb2xsLXNoYWRvdy1ldmVudC1hcmdzJztcblxuLyoqXG4gKiBSYWlzZXMgYW4gZXZlbnQgd2hlbiB0aGUgYm94IHNoYWRvdyBmb3IgYSBjb21wb25lbnQncyBoZWFkZXIgb3IgZm9vdGVyIHNob3VsZCBiZSBhZGp1c3RlZFxuICogYmFzZWQgb24gdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgaG9zdCBlbGVtZW50LlxuICogQGludGVybmFsXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tza3lTY3JvbGxTaGFkb3ddJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2Nyb2xsU2hhZG93RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lTY3JvbGxTaGFkb3dFbmFibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy4jX2VuYWJsZWQgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jaW5pdE11dGF0aW9uT2JzZXJ2ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZW1pdFNoYWRvdyh7XG4gICAgICAgIGJvdHRvbVNoYWRvdzogJ25vbmUnLFxuICAgICAgICB0b3BTaGFkb3c6ICdub25lJyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLiNkZXN0cm95TXV0YXRpb25PYnNlcnZlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2t5U2Nyb2xsU2hhZG93RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2VuYWJsZWQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNreVNjcm9sbFNoYWRvdyA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5U2Nyb2xsU2hhZG93RXZlbnRBcmdzPigpO1xuXG4gICNjdXJyZW50U2hhZG93OiBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MgfCB1bmRlZmluZWQ7XG5cbiAgI211dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5ICNlbFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI211dGF0aW9uT2JzZXJ2ZXJTdmMgPSBpbmplY3QoU2t5TXV0YXRpb25PYnNlcnZlclNlcnZpY2UpO1xuICByZWFkb25seSAjbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgI19lbmFibGVkID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHB1YmxpYyB3aW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tGb3JTaGFkb3coKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3Njcm9sbCcpXG4gIHB1YmxpYyBzY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy4jY2hlY2tGb3JTaGFkb3coKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNkZXN0cm95TXV0YXRpb25PYnNlcnZlcigpO1xuICB9XG5cbiAgI2luaXRNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy4jbXV0YXRpb25PYnNlcnZlcikge1xuICAgICAgY29uc3QgZWwgPSB0aGlzLiNlbFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAvLyBNdXRhdGlvbk9ic2VydmVyIGlzIHBhdGNoZWQgYnkgWm9uZS5qcyBhbmQgdGhlcmVmb3JlIGJlY29tZXMgcGFydCBvZiB0aGVcbiAgICAgIC8vIEFuZ3VsYXIgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSwgYnV0IHRoaXMgY2FuIGxlYWQgdG8gaW5maW5pdGUgbG9vcHMgaW4gc29tZVxuICAgICAgLy8gc2NlbmFyaW9zLiBUaGlzIHdpbGwga2VlcCBNdXRhdGlvbk9ic2VydmVyIGZyb20gdHJpZ2dlcmluZyBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAgdGhpcy4jbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy4jbXV0YXRpb25PYnNlcnZlciA9IHRoaXMuI211dGF0aW9uT2JzZXJ2ZXJTdmMuY3JlYXRlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNjaGVja0ZvclNoYWRvdygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLiNtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoZWwsIHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lNdXRhdGlvbk9ic2VydmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNtdXRhdGlvbk9ic2VydmVyKSB7XG4gICAgICB0aGlzLiNtdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIHRoaXMuI211dGF0aW9uT2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2NoZWNrRm9yU2hhZG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreVNjcm9sbFNoYWRvd0VuYWJsZWQpIHtcbiAgICAgIGNvbnN0IGVsOiBFbGVtZW50ID0gdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgY29uc3QgdG9wU2hhZG93ID0gdGhpcy4jYnVpbGRTaGFkb3dTdHlsZShlbC5zY3JvbGxUb3ApO1xuXG4gICAgICBjb25zdCBib3R0b21TaGFkb3cgPSB0aGlzLiNidWlsZFNoYWRvd1N0eWxlKFxuICAgICAgICBlbC5zY3JvbGxIZWlnaHQgLSBlbC5zY3JvbGxUb3AgLSBlbC5jbGllbnRIZWlnaHQsXG4gICAgICApO1xuXG4gICAgICB0aGlzLiNlbWl0U2hhZG93KHtcbiAgICAgICAgYm90dG9tU2hhZG93LFxuICAgICAgICB0b3BTaGFkb3csXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjYnVpbGRTaGFkb3dTdHlsZShwaXhlbHNGcm9tRW5kOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIFByb2dyZXNzaXZlbHkgZGFya2VuIHRoZSBzaGFkb3cgdW50aWwgdGhlIHVzZXIgc2Nyb2xscyAzMCBwaXhlbHMgZnJvbSB0aGUgdG9wIG9yIGJvdHRvbVxuICAgIC8vIG9mIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQsIHdpdGggYSBtYXggb3BhY2l0eSBvZiAwLjMuXG4gICAgY29uc3Qgb3BhY2l0eSA9IE1hdGgubWluKHBpeGVsc0Zyb21FbmQgLyAzMCwgMSkgKiAwLjM7XG5cbiAgICByZXR1cm4gb3BhY2l0eSA+IDAgPyBgMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgJHtvcGFjaXR5fSlgIDogJ25vbmUnO1xuICB9XG5cbiAgI2VtaXRTaGFkb3coc2hhZG93OiBTa3lTY3JvbGxTaGFkb3dFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy4jY3VycmVudFNoYWRvdyB8fFxuICAgICAgdGhpcy4jY3VycmVudFNoYWRvdy5ib3R0b21TaGFkb3cgIT09IHNoYWRvdy5ib3R0b21TaGFkb3cgfHxcbiAgICAgIHRoaXMuI2N1cnJlbnRTaGFkb3cudG9wU2hhZG93ICE9PSBzaGFkb3cudG9wU2hhZG93XG4gICAgKSB7XG4gICAgICB0aGlzLnNreVNjcm9sbFNoYWRvdy5lbWl0KHNoYWRvdyk7XG4gICAgICB0aGlzLiNjdXJyZW50U2hhZG93ID0gc2hhZG93O1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { inject } from '@angular/core';
2
+ // eslint-disable-next-line @nx/enforce-module-boundaries
2
3
  import { SkyHelpService } from '@skyux/core';
3
4
  function formatHelpKeyForError(helpKey) {
4
5
  return helpKey === undefined ? 'undefined' : `'${helpKey}'`;
@@ -25,4 +26,4 @@ export class SkyHelpTestingController {
25
26
  this.#helpSvc.closeHelp();
26
27
  }
27
28
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC10ZXN0aW5nLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS90ZXN0aW5nL3NyYy9oZWxwL2hlbHAtdGVzdGluZy1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUk3QyxTQUFTLHFCQUFxQixDQUFDLE9BQTJCO0lBQ3hELE9BQU8sT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDO0FBQzlELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQTBCLENBQUM7SUFFM0Q7OztPQUdHO0lBQ0ksb0JBQW9CLENBQUMsZUFBbUM7UUFDN0QsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpELElBQUksY0FBYyxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUNBQW1DLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxpQ0FBaUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDbkosQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lIZWxwVGVzdGluZ1NlcnZpY2UgfSBmcm9tICcuL2hlbHAtdGVzdGluZy5zZXJ2aWNlJztcblxuZnVuY3Rpb24gZm9ybWF0SGVscEtleUZvckVycm9yKGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIHJldHVybiBoZWxwS2V5ID09PSB1bmRlZmluZWQgPyAndW5kZWZpbmVkJyA6IGAnJHtoZWxwS2V5fSdgO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIHZhbGlkYXRpbmcgZ2xvYmFsIGhlbHAgaW4gdW5pdCB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUhlbHBUZXN0aW5nQ29udHJvbGxlciB7XG4gICNoZWxwU3ZjID0gaW5qZWN0KFNreUhlbHBTZXJ2aWNlKSBhcyBTa3lIZWxwVGVzdGluZ1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgY3VycmVudCBoZWxwIGtleSBhbmQgdGhyb3dzIGFuIGVycm9yIGlmIHRoZSBjdXJyZW50IGhlbHAga2V5IGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBoZWxwIGtleS5cbiAgICogQHBhcmFtIGV4cGVjdGVkSGVscEtleSBUaGUgZXhwZWN0ZWQgaGVscCBrZXkuXG4gICAqL1xuICBwdWJsaWMgZXhwZWN0Q3VycmVudEhlbHBLZXkoZXhwZWN0ZWRIZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50SGVscEtleSA9IHRoaXMuI2hlbHBTdmMuZ2V0Q3VycmVudEhlbHBLZXkoKTtcblxuICAgIGlmIChjdXJyZW50SGVscEtleSAhPT0gZXhwZWN0ZWRIZWxwS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFeHBlY3RlZCBjdXJyZW50IGhlbHAga2V5IHRvIGJlICR7Zm9ybWF0SGVscEtleUZvckVycm9yKGV4cGVjdGVkSGVscEtleSl9LCBidXQgdGhlIGN1cnJlbnQgaGVscCBrZXkgaXMgJHtmb3JtYXRIZWxwS2V5Rm9yRXJyb3IoY3VycmVudEhlbHBLZXkpfS5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIGN1cnJlbnQgaGVscC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZUhlbHAoKTogdm9pZCB7XG4gICAgdGhpcy4jaGVscFN2Yy5jbG9zZUhlbHAoKTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC10ZXN0aW5nLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS90ZXN0aW5nL3NyYy9oZWxwL2hlbHAtdGVzdGluZy1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMseURBQXlEO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJN0MsU0FBUyxxQkFBcUIsQ0FBQyxPQUEyQjtJQUN4RCxPQUFPLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQztBQUM5RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUEwQixDQUFDO0lBRTNEOzs7T0FHRztJQUNJLG9CQUFvQixDQUFDLGVBQW1DO1FBQzdELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6RCxJQUFJLGNBQWMsS0FBSyxlQUFlLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUNiLG1DQUFtQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsaUNBQWlDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ25KLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IFNreUhlbHBTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lIZWxwVGVzdGluZ1NlcnZpY2UgfSBmcm9tICcuL2hlbHAtdGVzdGluZy5zZXJ2aWNlJztcblxuZnVuY3Rpb24gZm9ybWF0SGVscEtleUZvckVycm9yKGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIHJldHVybiBoZWxwS2V5ID09PSB1bmRlZmluZWQgPyAndW5kZWZpbmVkJyA6IGAnJHtoZWxwS2V5fSdgO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIHZhbGlkYXRpbmcgZ2xvYmFsIGhlbHAgaW4gdW5pdCB0ZXN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNreUhlbHBUZXN0aW5nQ29udHJvbGxlciB7XG4gICNoZWxwU3ZjID0gaW5qZWN0KFNreUhlbHBTZXJ2aWNlKSBhcyBTa3lIZWxwVGVzdGluZ1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgY3VycmVudCBoZWxwIGtleSBhbmQgdGhyb3dzIGFuIGVycm9yIGlmIHRoZSBjdXJyZW50IGhlbHAga2V5IGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBoZWxwIGtleS5cbiAgICogQHBhcmFtIGV4cGVjdGVkSGVscEtleSBUaGUgZXhwZWN0ZWQgaGVscCBrZXkuXG4gICAqL1xuICBwdWJsaWMgZXhwZWN0Q3VycmVudEhlbHBLZXkoZXhwZWN0ZWRIZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50SGVscEtleSA9IHRoaXMuI2hlbHBTdmMuZ2V0Q3VycmVudEhlbHBLZXkoKTtcblxuICAgIGlmIChjdXJyZW50SGVscEtleSAhPT0gZXhwZWN0ZWRIZWxwS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFeHBlY3RlZCBjdXJyZW50IGhlbHAga2V5IHRvIGJlICR7Zm9ybWF0SGVscEtleUZvckVycm9yKGV4cGVjdGVkSGVscEtleSl9LCBidXQgdGhlIGN1cnJlbnQgaGVscCBrZXkgaXMgJHtmb3JtYXRIZWxwS2V5Rm9yRXJyb3IoY3VycmVudEhlbHBLZXkpfS5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIGN1cnJlbnQgaGVscC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZUhlbHAoKTogdm9pZCB7XG4gICAgdGhpcy4jaGVscFN2Yy5jbG9zZUhlbHAoKTtcbiAgfVxufVxuIl19
@@ -1,10 +1,15 @@
1
1
  import { Injectable } from '@angular/core';
2
+ // eslint-disable-next-line @nx/enforce-module-boundaries
2
3
  import { SkyHelpService } from '@skyux/core';
4
+ import { of } from 'rxjs';
3
5
  import * as i0 from "@angular/core";
4
6
  /**
5
7
  * @internal
6
8
  */
7
9
  export class SkyHelpTestingService extends SkyHelpService {
10
+ get widgetReadyStateChange() {
11
+ return of(true);
12
+ }
8
13
  #currentHelpKey;
9
14
  openHelp(args) {
10
15
  this.#currentHelpKey = args.helpKey;
@@ -21,4 +26,4 @@ export class SkyHelpTestingService extends SkyHelpService {
21
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyHelpTestingService, decorators: [{
22
27
  type: Injectable
23
28
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC10ZXN0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS90ZXN0aW5nL3NyYy9oZWxwL2hlbHAtdGVzdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFtQixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRTlEOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGNBQWM7SUFDdkQsZUFBZSxDQUFxQjtJQUVwQixRQUFRLENBQUMsSUFBcUI7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQzs4R0FiVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBPcGVuQXJncywgU2t5SGVscFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lIZWxwVGVzdGluZ1NlcnZpY2UgZXh0ZW5kcyBTa3lIZWxwU2VydmljZSB7XG4gICNjdXJyZW50SGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBvcGVuSGVscChhcmdzOiBTa3lIZWxwT3BlbkFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50SGVscEtleSA9IGFyZ3MuaGVscEtleTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50SGVscEtleSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50SGVscEtleTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUhlbHAoKTogdm9pZCB7XG4gICAgdGhpcy4jY3VycmVudEhlbHBLZXkgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC10ZXN0aW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS90ZXN0aW5nL3NyYy9oZWxwL2hlbHAtdGVzdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MseURBQXlEO0FBQ3pELE9BQU8sRUFBbUIsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRXRDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGNBQWM7SUFDdkQsSUFBb0Isc0JBQXNCO1FBQ3hDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxlQUFlLENBQXFCO0lBRXBCLFFBQVEsQ0FBQyxJQUFxQjtRQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDOzhHQWpCVSxxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgU2t5SGVscE9wZW5BcmdzLCBTa3lIZWxwU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreUhlbHBUZXN0aW5nU2VydmljZSBleHRlbmRzIFNreUhlbHBTZXJ2aWNlIHtcbiAgcHVibGljIG92ZXJyaWRlIGdldCB3aWRnZXRSZWFkeVN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gICNjdXJyZW50SGVscEtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBvcGVuSGVscChhcmdzOiBTa3lIZWxwT3BlbkFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50SGVscEtleSA9IGFyZ3MuaGVscEtleTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDdXJyZW50SGVscEtleSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50SGVscEtleTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUhlbHAoKTogdm9pZCB7XG4gICAgdGhpcy4jY3VycmVudEhlbHBLZXkgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -15,5 +15,5 @@ export class Version {
15
15
  /**
16
16
  * Represents the version of @skyux/core.
17
17
  */
18
- export const VERSION = new Version('10.37.4');
18
+ export const VERSION = new Version('10.39.0');
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxtRkFBbUY7QUFFbkY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFLbEIsWUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGFrZW4gZnJvbSBBbmd1bGFyJ3MgdmVyc2lvbi50cyBmaWxlLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTYuMi54L3BhY2thZ2VzL2NvcmUvc3JjL3ZlcnNpb24udHNcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSB2ZXJzaW9uIG9mIGEgcGFja2FnZS5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbiB7XG4gIHB1YmxpYyByZWFkb25seSBtYWpvcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWlub3I6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBhdGNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGZ1bGw6IHN0cmluZykge1xuICAgIHRoaXMubWFqb3IgPSBmdWxsLnNwbGl0KCcuJylbMF07XG4gICAgdGhpcy5taW5vciA9IGZ1bGwuc3BsaXQoJy4nKVsxXTtcbiAgICB0aGlzLnBhdGNoID0gZnVsbC5zcGxpdCgnLicpLnNsaWNlKDIpLmpvaW4oJy4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHZlcnNpb24gb2YgQHNreXV4L2NvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG4iXX0=
@@ -273,6 +273,9 @@ class SkyHelpTestingController {
273
273
  * @internal
274
274
  */
275
275
  class SkyHelpTestingService extends SkyHelpService {
276
+ get widgetReadyStateChange() {
277
+ return of(true);
278
+ }
276
279
  #currentHelpKey;
277
280
  openHelp(args) {
278
281
  this.#currentHelpKey = args.helpKey;
@@ -1 +1 @@
1
- {"version":3,"file":"skyux-core-testing.mjs","sources":["../../../../../libs/components/core/testing/src/mock-media-query.service.ts","../../../../../libs/components/core/testing/src/mock-ui-config.service.ts","../../../../../libs/components/core/testing/src/core-testing.module.ts","../../../../../libs/components/core/testing/src/shared/component-harness.ts","../../../../../libs/components/core/testing/src/shared/queryable-component-harness.ts","../../../../../libs/components/core/testing/src/overlay/overlay-harness.ts","../../../../../libs/components/core/testing/src/resize-observer-mock.ts","../../../../../libs/components/core/testing/src/help/help-testing-controller.ts","../../../../../libs/components/core/testing/src/help/help-testing.service.ts","../../../../../libs/components/core/testing/src/help/help-testing.module.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static override xs = '(max-width: 767px)';\n public static override sm = '(min-width: 768px) and (max-width: 991px)';\n public static override md = '(min-width: 992px) and (max-width: 1199px)';\n public static override lg = '(min-width: 1200px)';\n\n public override get current(): SkyMediaBreakpoints {\n return this.currentBreakpoints;\n }\n\n public override set current(breakpoints: SkyMediaBreakpoints) {\n this.currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current,\n );\n\n protected currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n }),\n );\n }\n\n public override subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this.currentBreakpoints = args;\n this.currentMockSubject.next(this.currentBreakpoints);\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public override destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { Observable, of as observableOf } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public override getConfig(key: string, defaultConfig?: any): Observable<any> {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyMediaQueryService, SkyUIConfigService } from '@skyux/core';\n\nimport { MockSkyMediaQueryService } from './mock-media-query.service';\nimport { MockSkyUIConfigService } from './mock-ui-config.service';\n\n/**\n * @internal\n */\n@NgModule({\n providers: [\n { provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },\n {\n provide: SkyUIConfigService,\n useClass: MockSkyUIConfigService,\n },\n ],\n})\nexport class SkyCoreTestingModule {}\n","import {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\nimport { SkyHarnessFilters } from './harness-filters';\n\n/**\n * @internal\n */\nexport abstract class SkyComponentHarness extends ComponentHarness {\n protected static getDataSkyIdPredicate<T extends SkyComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n filters: SkyHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, filters).addOption(\n 'dataSkyId',\n filters.dataSkyId,\n (harness, text) =>\n HarnessPredicate.stringMatches(harness.#getSkyId(), text),\n );\n }\n\n async #getSkyId(): Promise<string | null> {\n return (await this.host()).getAttribute('data-sky-id');\n }\n}\n","import {\n ComponentHarness,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\nimport { SkyComponentHarness } from './component-harness';\n\n/**\n * @internal\n */\nexport abstract class SkyQueryableComponentHarness extends SkyComponentHarness {\n /**\n * Returns a child harness or throws an error if not found.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T> {\n return this.locatorFor(query)();\n }\n\n /**\n * Returns a child harness or null if not found.\n */\n public async queryHarnessOrNull<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>,\n ): Promise<T[]> {\n return this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element or throws an error if not found.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return this.locatorFor(selector)();\n }\n\n /**\n * Returns a child test element or null if not found.\n */\n public async querySelectorOrNull(\n selector: string,\n ): Promise<TestElement | null> {\n return this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return this.locatorForAll(selector)();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyQueryableComponentHarness } from '../shared/queryable-component-harness';\n\nimport { SkyOverlayHarnessFilters } from './overlay-harness-filters';\n\n/**\n * Harness for interacting with an overlay component in tests.\n * @internal\n */\nexport class SkyOverlayHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-overlay';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyOverlayHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyOverlayHarnessFilters,\n ): HarnessPredicate<SkyOverlayHarness> {\n return new HarnessPredicate(SkyOverlayHarness, filters);\n }\n}\n","export const mockResizeObserverEntry: ResizeObserverEntry = {\n target: {} as Element,\n borderBoxSize: [],\n contentBoxSize: [],\n contentRect: {\n width: 20,\n height: 20,\n x: 20,\n y: 20,\n top: 20,\n bottom: 20,\n left: 20,\n right: 20,\n toJSON: () => 'true',\n } as DOMRectReadOnly,\n devicePixelContentBoxSize: [],\n};\n\nconst defaultCallback: ResizeObserverCallback = (\n entries: ResizeObserverEntry[],\n observer: ResizeObserver,\n) => {};\n\nexport const mockResizeObserverHandle = {\n callback: defaultCallback,\n emit: (entries: ResizeObserverEntry[], observer?: ResizeObserver) => {\n mockResizeObserverHandle.callback(entries, observer!);\n },\n};\n\nexport function mockResizeObserver() {\n (window as any).requestAnimationFrame = (callback: () => void): number => {\n callback();\n return 0;\n };\n (window as any).cancelAnimationFrame = (_: number): void => undefined;\n window.ResizeObserver = class {\n constructor(callback: ResizeObserverCallback) {\n mockResizeObserverHandle.callback = callback;\n }\n\n public disconnect() {}\n\n public observe(target: Element, options?: ResizeObserverOptions) {}\n\n public unobserve(element: HTMLElement) {}\n };\n}\n","import { inject } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingService } from './help-testing.service';\n\nfunction formatHelpKeyForError(helpKey: string | undefined): string {\n return helpKey === undefined ? 'undefined' : `'${helpKey}'`;\n}\n\n/**\n * Provides methods for validating global help in unit tests.\n */\nexport class SkyHelpTestingController {\n #helpSvc = inject(SkyHelpService) as SkyHelpTestingService;\n\n /**\n * Validates the current help key and throws an error if the current help key does not match the expected help key.\n * @param expectedHelpKey The expected help key.\n */\n public expectCurrentHelpKey(expectedHelpKey: string | undefined): void {\n const currentHelpKey = this.#helpSvc.getCurrentHelpKey();\n\n if (currentHelpKey !== expectedHelpKey) {\n throw new Error(\n `Expected current help key to be ${formatHelpKeyForError(expectedHelpKey)}, but the current help key is ${formatHelpKeyForError(currentHelpKey)}.`,\n );\n }\n }\n\n /**\n * Close the current help.\n */\n public closeHelp(): void {\n this.#helpSvc.closeHelp();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SkyHelpOpenArgs, SkyHelpService } from '@skyux/core';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHelpTestingService extends SkyHelpService {\n #currentHelpKey: string | undefined;\n\n public override openHelp(args: SkyHelpOpenArgs): void {\n this.#currentHelpKey = args.helpKey;\n }\n\n public getCurrentHelpKey(): string | undefined {\n return this.#currentHelpKey;\n }\n\n public closeHelp(): void {\n this.#currentHelpKey = undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingController } from './help-testing-controller';\nimport { SkyHelpTestingService } from './help-testing.service';\n\n/**\n * Mocks SkyHelpService to enable testing of global help.\n */\n@NgModule({\n providers: [\n {\n provide: SkyHelpService,\n useClass: SkyHelpTestingService,\n },\n SkyHelpTestingController,\n ],\n})\nexport class SkyHelpTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
1
+ {"version":3,"file":"skyux-core-testing.mjs","sources":["../../../../../libs/components/core/testing/src/mock-media-query.service.ts","../../../../../libs/components/core/testing/src/mock-ui-config.service.ts","../../../../../libs/components/core/testing/src/core-testing.module.ts","../../../../../libs/components/core/testing/src/shared/component-harness.ts","../../../../../libs/components/core/testing/src/shared/queryable-component-harness.ts","../../../../../libs/components/core/testing/src/overlay/overlay-harness.ts","../../../../../libs/components/core/testing/src/resize-observer-mock.ts","../../../../../libs/components/core/testing/src/help/help-testing-controller.ts","../../../../../libs/components/core/testing/src/help/help-testing.service.ts","../../../../../libs/components/core/testing/src/help/help-testing.module.ts","../../../../../libs/components/core/testing/src/skyux-core-testing.ts"],"sourcesContent":["import { Injectable, NgZone } from '@angular/core';\nimport {\n SkyMediaBreakpoints,\n SkyMediaQueryListener,\n SkyMediaQueryService,\n} from '@skyux/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyMediaQueryService extends SkyMediaQueryService {\n public static override xs = '(max-width: 767px)';\n public static override sm = '(min-width: 768px) and (max-width: 991px)';\n public static override md = '(min-width: 992px) and (max-width: 1199px)';\n public static override lg = '(min-width: 1200px)';\n\n public override get current(): SkyMediaBreakpoints {\n return this.currentBreakpoints;\n }\n\n public override set current(breakpoints: SkyMediaBreakpoints) {\n this.currentBreakpoints = breakpoints;\n }\n\n public currentMockSubject = new BehaviorSubject<SkyMediaBreakpoints>(\n this.current,\n );\n\n protected currentBreakpoints = SkyMediaBreakpoints.md;\n\n constructor() {\n super(\n new NgZone({\n enableLongStackTrace: true,\n }),\n );\n }\n\n public override subscribe(listener: SkyMediaQueryListener): Subscription {\n return this.currentMockSubject.subscribe({\n next: (breakpoints: SkyMediaBreakpoints) => {\n listener(breakpoints);\n },\n });\n }\n\n public fire(args: SkyMediaBreakpoints): void {\n this.currentBreakpoints = args;\n this.currentMockSubject.next(this.currentBreakpoints);\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public override destroy(): void {}\n}\n","import { Injectable } from '@angular/core';\nimport { SkyUIConfigService } from '@skyux/core';\n\nimport { Observable, of as observableOf } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class MockSkyUIConfigService extends SkyUIConfigService {\n public override getConfig(key: string, defaultConfig?: any): Observable<any> {\n switch (key) {\n case 'defaultSettings':\n return observableOf(defaultConfig);\n case 'badData':\n return observableOf({ invalidProperty: 'invalidData' });\n default: {\n return observableOf({\n settings: {\n userSettings: {\n singleColumn: {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n multiColumn: [\n {\n tiles: [\n {\n id: 'tile-2',\n isCollapsed: true,\n },\n ],\n },\n {\n tiles: [\n {\n id: 'tile-1',\n isCollapsed: true,\n },\n ],\n },\n ],\n },\n defaultSettings: ['tile-1', 'tile-2'],\n },\n });\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyMediaQueryService, SkyUIConfigService } from '@skyux/core';\n\nimport { MockSkyMediaQueryService } from './mock-media-query.service';\nimport { MockSkyUIConfigService } from './mock-ui-config.service';\n\n/**\n * @internal\n */\n@NgModule({\n providers: [\n { provide: SkyMediaQueryService, useClass: MockSkyMediaQueryService },\n {\n provide: SkyUIConfigService,\n useClass: MockSkyUIConfigService,\n },\n ],\n})\nexport class SkyCoreTestingModule {}\n","import {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\n\nimport { SkyHarnessFilters } from './harness-filters';\n\n/**\n * @internal\n */\nexport abstract class SkyComponentHarness extends ComponentHarness {\n protected static getDataSkyIdPredicate<T extends SkyComponentHarness>(\n this: ComponentHarnessConstructor<T>,\n filters: SkyHarnessFilters,\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, filters).addOption(\n 'dataSkyId',\n filters.dataSkyId,\n (harness, text) =>\n HarnessPredicate.stringMatches(harness.#getSkyId(), text),\n );\n }\n\n async #getSkyId(): Promise<string | null> {\n return (await this.host()).getAttribute('data-sky-id');\n }\n}\n","import {\n ComponentHarness,\n HarnessQuery,\n TestElement,\n} from '@angular/cdk/testing';\n\nimport { SkyComponentHarness } from './component-harness';\n\n/**\n * @internal\n */\nexport abstract class SkyQueryableComponentHarness extends SkyComponentHarness {\n /**\n * Returns a child harness or throws an error if not found.\n */\n public async queryHarness<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T> {\n return this.locatorFor(query)();\n }\n\n /**\n * Returns a child harness or null if not found.\n */\n public async queryHarnessOrNull<T extends ComponentHarness>(\n query: HarnessQuery<T>,\n ): Promise<T | null> {\n return this.locatorForOptional(query)();\n }\n\n /**\n * Returns child harnesses.\n */\n public async queryHarnesses<T extends ComponentHarness>(\n harness: HarnessQuery<T>,\n ): Promise<T[]> {\n return this.locatorForAll(harness)();\n }\n\n /**\n * Returns a child test element or throws an error if not found.\n */\n public async querySelector(selector: string): Promise<TestElement | null> {\n return this.locatorFor(selector)();\n }\n\n /**\n * Returns a child test element or null if not found.\n */\n public async querySelectorOrNull(\n selector: string,\n ): Promise<TestElement | null> {\n return this.locatorForOptional(selector)();\n }\n\n /**\n * Returns child test elements.\n */\n public async querySelectorAll(selector: string): Promise<TestElement[]> {\n return this.locatorForAll(selector)();\n }\n}\n","import { HarnessPredicate } from '@angular/cdk/testing';\n\nimport { SkyQueryableComponentHarness } from '../shared/queryable-component-harness';\n\nimport { SkyOverlayHarnessFilters } from './overlay-harness-filters';\n\n/**\n * Harness for interacting with an overlay component in tests.\n * @internal\n */\nexport class SkyOverlayHarness extends SkyQueryableComponentHarness {\n /**\n * @internal\n */\n public static hostSelector = 'sky-overlay';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a\n * `SkyOverlayHarness` that meets certain criteria.\n */\n public static with(\n filters: SkyOverlayHarnessFilters,\n ): HarnessPredicate<SkyOverlayHarness> {\n return new HarnessPredicate(SkyOverlayHarness, filters);\n }\n}\n","export const mockResizeObserverEntry: ResizeObserverEntry = {\n target: {} as Element,\n borderBoxSize: [],\n contentBoxSize: [],\n contentRect: {\n width: 20,\n height: 20,\n x: 20,\n y: 20,\n top: 20,\n bottom: 20,\n left: 20,\n right: 20,\n toJSON: () => 'true',\n } as DOMRectReadOnly,\n devicePixelContentBoxSize: [],\n};\n\nconst defaultCallback: ResizeObserverCallback = (\n entries: ResizeObserverEntry[],\n observer: ResizeObserver,\n) => {};\n\nexport const mockResizeObserverHandle = {\n callback: defaultCallback,\n emit: (entries: ResizeObserverEntry[], observer?: ResizeObserver) => {\n mockResizeObserverHandle.callback(entries, observer!);\n },\n};\n\nexport function mockResizeObserver() {\n (window as any).requestAnimationFrame = (callback: () => void): number => {\n callback();\n return 0;\n };\n (window as any).cancelAnimationFrame = (_: number): void => undefined;\n window.ResizeObserver = class {\n constructor(callback: ResizeObserverCallback) {\n mockResizeObserverHandle.callback = callback;\n }\n\n public disconnect() {}\n\n public observe(target: Element, options?: ResizeObserverOptions) {}\n\n public unobserve(element: HTMLElement) {}\n };\n}\n","import { inject } from '@angular/core';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingService } from './help-testing.service';\n\nfunction formatHelpKeyForError(helpKey: string | undefined): string {\n return helpKey === undefined ? 'undefined' : `'${helpKey}'`;\n}\n\n/**\n * Provides methods for validating global help in unit tests.\n */\nexport class SkyHelpTestingController {\n #helpSvc = inject(SkyHelpService) as SkyHelpTestingService;\n\n /**\n * Validates the current help key and throws an error if the current help key does not match the expected help key.\n * @param expectedHelpKey The expected help key.\n */\n public expectCurrentHelpKey(expectedHelpKey: string | undefined): void {\n const currentHelpKey = this.#helpSvc.getCurrentHelpKey();\n\n if (currentHelpKey !== expectedHelpKey) {\n throw new Error(\n `Expected current help key to be ${formatHelpKeyForError(expectedHelpKey)}, but the current help key is ${formatHelpKeyForError(currentHelpKey)}.`,\n );\n }\n }\n\n /**\n * Close the current help.\n */\n public closeHelp(): void {\n this.#helpSvc.closeHelp();\n }\n}\n","import { Injectable } from '@angular/core';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { SkyHelpOpenArgs, SkyHelpService } from '@skyux/core';\n\nimport { Observable, of } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyHelpTestingService extends SkyHelpService {\n public override get widgetReadyStateChange(): Observable<boolean> {\n return of(true);\n }\n\n #currentHelpKey: string | undefined;\n\n public override openHelp(args: SkyHelpOpenArgs): void {\n this.#currentHelpKey = args.helpKey;\n }\n\n public getCurrentHelpKey(): string | undefined {\n return this.#currentHelpKey;\n }\n\n public closeHelp(): void {\n this.#currentHelpKey = undefined;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { SkyHelpService } from '@skyux/core';\n\nimport { SkyHelpTestingController } from './help-testing-controller';\nimport { SkyHelpTestingService } from './help-testing.service';\n\n/**\n * Mocks SkyHelpService to enable testing of global help.\n */\n@NgModule({\n providers: [\n {\n provide: SkyHelpService,\n useClass: SkyHelpTestingService,\n },\n SkyHelpTestingController,\n ],\n})\nexport class SkyHelpTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, Injectable, inject, RendererFactory2, NgZone, EventEmitter, Directive, Input, Output, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, Pipe, HostBinding, ApplicationRef, Renderer2 } from '@angular/core';
2
+ import { NgModule, Injectable, inject, RendererFactory2, NgZone, EventEmitter, Directive, Input, Output, EnvironmentInjector, createEnvironmentInjector, createComponent, ChangeDetectorRef, ElementRef, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, Pipe, HostBinding, ApplicationRef, Renderer2, HostListener } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { DOCUMENT, CommonModule } from '@angular/common';
5
- import { Subject, Subscription, ReplaySubject, fromEvent, BehaviorSubject, Observable, filter, map, distinctUntilChanged, shareReplay, throttle, animationFrames, take, takeUntil as takeUntil$1, of, concat, animationFrameScheduler } from 'rxjs';
5
+ import { Subject, Subscription, ReplaySubject, fromEvent, of, BehaviorSubject, Observable, filter, map, distinctUntilChanged, shareReplay, throttle, animationFrames, take, takeUntil as takeUntil$1, concat, animationFrameScheduler } from 'rxjs';
6
6
  import { takeUntil, debounceTime, switchMap, map as map$1 } from 'rxjs/operators';
7
7
  import { ViewportRuler } from '@angular/cdk/overlay';
8
8
  import * as i1 from '@skyux/i18n';
@@ -1641,6 +1641,12 @@ const SKY_HELP_GLOBAL_OPTIONS = new InjectionToken('SkyHelpGlobalOptions');
1641
1641
  * Provides methods for opening a globally accessible help dialog.
1642
1642
  */
1643
1643
  class SkyHelpService {
1644
+ /**
1645
+ * Emits when the help widget ready state changes.
1646
+ */
1647
+ get widgetReadyStateChange() {
1648
+ return of(false);
1649
+ }
1644
1650
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyHelpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1645
1651
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyHelpService }); }
1646
1652
  }
@@ -3390,6 +3396,125 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
3390
3396
  type: Input
3391
3397
  }] } });
3392
3398
 
3399
+ /**
3400
+ * Raises an event when the box shadow for a component's header or footer should be adjusted
3401
+ * based on the scroll position of the host element.
3402
+ * @internal
3403
+ */
3404
+ class SkyScrollShadowDirective {
3405
+ constructor() {
3406
+ this.skyScrollShadow = new EventEmitter();
3407
+ this.#ngUnsubscribe = new Subject();
3408
+ this.#elRef = inject(ElementRef);
3409
+ this.#mutationObserverSvc = inject(SkyMutationObserverService);
3410
+ this.#ngZone = inject(NgZone);
3411
+ this.#_enabled = false;
3412
+ }
3413
+ set skyScrollShadowEnabled(value) {
3414
+ this.#_enabled = value;
3415
+ if (value) {
3416
+ this.#initMutationObserver();
3417
+ }
3418
+ else {
3419
+ this.#emitShadow({
3420
+ bottomShadow: 'none',
3421
+ topShadow: 'none',
3422
+ });
3423
+ this.#destroyMutationObserver();
3424
+ }
3425
+ }
3426
+ get skyScrollShadowEnabled() {
3427
+ return this.#_enabled;
3428
+ }
3429
+ #currentShadow;
3430
+ #mutationObserver;
3431
+ #ngUnsubscribe;
3432
+ #elRef;
3433
+ #mutationObserverSvc;
3434
+ #ngZone;
3435
+ #_enabled;
3436
+ windowResize() {
3437
+ this.#checkForShadow();
3438
+ }
3439
+ scroll() {
3440
+ this.#checkForShadow();
3441
+ }
3442
+ ngOnDestroy() {
3443
+ this.#ngUnsubscribe.next();
3444
+ this.#ngUnsubscribe.complete();
3445
+ this.#destroyMutationObserver();
3446
+ }
3447
+ #initMutationObserver() {
3448
+ if (!this.#mutationObserver) {
3449
+ const el = this.#elRef.nativeElement;
3450
+ // MutationObserver is patched by Zone.js and therefore becomes part of the
3451
+ // Angular change detection cycle, but this can lead to infinite loops in some
3452
+ // scenarios. This will keep MutationObserver from triggering change detection.
3453
+ this.#ngZone.runOutsideAngular(() => {
3454
+ this.#mutationObserver = this.#mutationObserverSvc.create(() => {
3455
+ this.#checkForShadow();
3456
+ });
3457
+ this.#mutationObserver.observe(el, {
3458
+ attributes: true,
3459
+ characterData: true,
3460
+ childList: true,
3461
+ subtree: true,
3462
+ });
3463
+ });
3464
+ }
3465
+ }
3466
+ #destroyMutationObserver() {
3467
+ if (this.#mutationObserver) {
3468
+ this.#mutationObserver.disconnect();
3469
+ this.#mutationObserver = undefined;
3470
+ }
3471
+ }
3472
+ #checkForShadow() {
3473
+ if (this.skyScrollShadowEnabled) {
3474
+ const el = this.#elRef.nativeElement;
3475
+ const topShadow = this.#buildShadowStyle(el.scrollTop);
3476
+ const bottomShadow = this.#buildShadowStyle(el.scrollHeight - el.scrollTop - el.clientHeight);
3477
+ this.#emitShadow({
3478
+ bottomShadow,
3479
+ topShadow,
3480
+ });
3481
+ }
3482
+ }
3483
+ #buildShadowStyle(pixelsFromEnd) {
3484
+ // Progressively darken the shadow until the user scrolls 30 pixels from the top or bottom
3485
+ // of the scrollable element, with a max opacity of 0.3.
3486
+ const opacity = Math.min(pixelsFromEnd / 30, 1) * 0.3;
3487
+ return opacity > 0 ? `0px 1px 8px 0px rgba(0, 0, 0, ${opacity})` : 'none';
3488
+ }
3489
+ #emitShadow(shadow) {
3490
+ if (!this.#currentShadow ||
3491
+ this.#currentShadow.bottomShadow !== shadow.bottomShadow ||
3492
+ this.#currentShadow.topShadow !== shadow.topShadow) {
3493
+ this.skyScrollShadow.emit(shadow);
3494
+ this.#currentShadow = shadow;
3495
+ }
3496
+ }
3497
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyScrollShadowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3498
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: SkyScrollShadowDirective, isStandalone: true, selector: "[skyScrollShadow]", inputs: { skyScrollShadowEnabled: "skyScrollShadowEnabled" }, outputs: { skyScrollShadow: "skyScrollShadow" }, host: { listeners: { "window:resize": "windowResize()", "scroll": "scroll()" } }, ngImport: i0 }); }
3499
+ }
3500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyScrollShadowDirective, decorators: [{
3501
+ type: Directive,
3502
+ args: [{
3503
+ standalone: true,
3504
+ selector: '[skyScrollShadow]',
3505
+ }]
3506
+ }], propDecorators: { skyScrollShadowEnabled: [{
3507
+ type: Input
3508
+ }], skyScrollShadow: [{
3509
+ type: Output
3510
+ }], windowResize: [{
3511
+ type: HostListener,
3512
+ args: ['window:resize']
3513
+ }], scroll: [{
3514
+ type: HostListener,
3515
+ args: ['scroll']
3516
+ }] } });
3517
+
3393
3518
  function notifySubscribers(subscribers, item) {
3394
3519
  for (const subscriber of subscribers) {
3395
3520
  subscriber.next(item);
@@ -4219,11 +4344,11 @@ class Version {
4219
4344
  /**
4220
4345
  * Represents the version of @skyux/core.
4221
4346
  */
4222
- const VERSION = new Version('10.37.4');
4347
+ const VERSION = new Version('10.39.0');
4223
4348
 
4224
4349
  /**
4225
4350
  * Generated bundle index. Do not edit.
4226
4351
  */
4227
4352
 
4228
- export { NumericOptions, SKY_HELP_GLOBAL_OPTIONS, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyContentInfoProvider, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDefaultInputProvider, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLegacyService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyFormsUtility, SkyHelpService, SkyIdModule, SkyIdService, SkyLayoutHostService, SkyLiveAnnouncerService, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayLegacyService, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScreenReaderLabelDirective, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, VERSION, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
4353
+ export { NumericOptions, SKY_HELP_GLOBAL_OPTIONS, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyContentInfoProvider, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDefaultInputProvider, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLegacyService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyFormsUtility, SkyHelpService, SkyIdModule, SkyIdService, SkyLayoutHostService, SkyLiveAnnouncerService, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayLegacyService, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScreenReaderLabelDirective, SkyScrollShadowDirective, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, VERSION, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
4229
4354
  //# sourceMappingURL=skyux-core.mjs.map