@skyux/core 8.0.0-alpha.20 → 8.0.0-alpha.21
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/documentation.json +587 -587
- package/esm2020/index.mjs +4 -1
- package/esm2020/lib/modules/live-announcer/live-announcer.service.mjs +80 -0
- package/esm2020/lib/modules/live-announcer/types/live-announcer-args.mjs +2 -0
- package/esm2020/lib/modules/live-announcer/types/live-announcer-politeness.mjs +2 -0
- package/fesm2015/skyux-core.mjs +80 -4
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +78 -4
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/lib/modules/live-announcer/live-announcer.service.d.ts +31 -0
- package/lib/modules/live-announcer/types/live-announcer-args.d.ts +8 -0
- package/lib/modules/live-announcer/types/live-announcer-politeness.d.ts +5 -0
- package/package.json +2 -2
package/esm2020/index.mjs
CHANGED
@@ -27,6 +27,9 @@ export * from './lib/modules/dynamic-component/dynamic-component.service';
|
|
27
27
|
export * from './lib/modules/format/app-format';
|
28
28
|
export * from './lib/modules/id/id.module';
|
29
29
|
export * from './lib/modules/id/id.service';
|
30
|
+
export * from './lib/modules/live-announcer/live-announcer.service';
|
31
|
+
export * from './lib/modules/live-announcer/types/live-announcer-args';
|
32
|
+
export * from './lib/modules/live-announcer/types/live-announcer-politeness';
|
30
33
|
export * from './lib/modules/log/log.module';
|
31
34
|
export * from './lib/modules/log/log.service';
|
32
35
|
export * from './lib/modules/log/types/log-level';
|
@@ -68,4 +71,4 @@ export { SkyAffixDirective as λ1 } from './lib/modules/affix/affix.directive';
|
|
68
71
|
export { SkyIdDirective as λ2 } from './lib/modules/id/id.directive';
|
69
72
|
export { SkyViewkeeperDirective as λ3 } from './lib/modules/viewkeeper/viewkeeper.directive';
|
70
73
|
export { SkyTrimDirective as λ4 } from './lib/modules/trim/trim.directive';
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMERBQTBELENBQUM7QUFFekUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDhEQUE4RCxDQUFDO0FBRTdFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRixjQUFjLHVEQUF1RCxDQUFDO0FBRXRFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1REFBdUQsQ0FBQztBQUV0RSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCwwRkFBMEY7QUFDMUYsMkVBQTJFO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxJQUFJLEVBQUUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxFQUFFLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9hZGFwdGVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FkYXB0ZXItc2VydmljZS9hZGFwdGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZGFwdGVyLXNlcnZpY2UvZm9jdXNhYmxlLWNoaWxkcmVuLW9wdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LWF1dG8tZml0LWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1ob3Jpem9udGFsLWFsaWdubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LW9mZnNldCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FmZml4L2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1wbGFjZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC1wbGFjZW1lbnQtY2hhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXgtcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC12ZXJ0aWNhbC1hbGlnbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWZmaXgvYWZmaXhlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWluc2VydC1jb21wb25lbnQtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZG9jay9kb2NrLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2staXRlbS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2stb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RvY2svZG9jay5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9kb2NrL2RvY2suc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQtbG9jYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZm9ybWF0L2FwcC1mb3JtYXQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2lkL2lkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2lkL2lkLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpdmUtYW5ub3VuY2VyL2xpdmUtYW5ub3VuY2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci90eXBlcy9saXZlLWFubm91bmNlci1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGl2ZS1hbm5vdW5jZXIvdHlwZXMvbGl2ZS1hbm5vdW5jZXItcG9saXRlbmVzcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nL2xvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9sb2cvdHlwZXMvbG9nLWxldmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nL3R5cGVzL2xvZy1sZXZlbC10b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbWVkaWEtcXVlcnkvbWVkaWEtYnJlYWtwb2ludHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9tZWRpYS1xdWVyeS9tZWRpYS1xdWVyeS1saXN0ZW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy1zeW1ib2wnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbnVtZXJpYy9udW1lcmljLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9udW1lcmljL251bWVyaWMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWluc3RhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LXBvc2l0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL292ZXJsYXkvb3ZlcmxheS5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wZXJjZW50LXBpcGUvcGVyY2VudC1waXBlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci9yZXNpemUtb2JzZXJ2ZXItbWVkaWEtcXVlcnkuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQtdG9rZW4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3RpdGxlL3NldC10aXRsZS1hcmdzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdGl0bGUvdGl0bGUuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdHJpbS90cmltLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdWktY29uZmlnL3VpLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXItaG9zdC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy92aWV3a2VlcGVyL3ZpZXdrZWVwZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvdmlld2tlZXBlci92aWV3a2VlcGVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3dpbmRvdy93aW5kb3ctcmVmJztcblxuLy8gQ29tcG9uZW50cyBhbmQgZGlyZWN0aXZlcyBtdXN0IGJlIGV4cG9ydGVkIHRvIHN1cHBvcnQgQW5ndWxhcidzIFwicGFydGlhbFwiIEl2eSBjb21waWxlci5cbi8vIE9ic2N1cmUgbmFtZXMgYXJlIHVzZWQgdG8gaW5kaWNhdGUgdHlwZXMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJLlxuZXhwb3J0IHsgU2t5QWZmaXhEaXJlY3RpdmUgYXMgzrsxIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5SWREaXJlY3RpdmUgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9pZC9pZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5Vmlld2tlZXBlckRpcmVjdGl2ZSBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3ZpZXdrZWVwZXIvdmlld2tlZXBlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2t5VHJpbURpcmVjdGl2ZSBhcyDOuzQgfSBmcm9tICcuL2xpYi9tb2R1bGVzL3RyaW0vdHJpbS5kaXJlY3RpdmUnO1xuIl19
|
@@ -0,0 +1,80 @@
|
|
1
|
+
var _SkyLiveAnnouncerService_instances, _SkyLiveAnnouncerService_announcerElement, _SkyLiveAnnouncerService_document, _SkyLiveAnnouncerService_idService, _SkyLiveAnnouncerService_createLiveElement;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
4
|
+
import { Injectable, inject } from '@angular/core';
|
5
|
+
import { ReplaySubject } from 'rxjs';
|
6
|
+
import { SkyIdService } from '../id/id.service';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* Allows for announcing messages to screen reader users through the use of a common `aria-live` element.
|
10
|
+
* @internal
|
11
|
+
*/
|
12
|
+
export class SkyLiveAnnouncerService {
|
13
|
+
constructor() {
|
14
|
+
_SkyLiveAnnouncerService_instances.add(this);
|
15
|
+
this.announcerElementChanged = new ReplaySubject(1);
|
16
|
+
_SkyLiveAnnouncerService_announcerElement.set(this, void 0);
|
17
|
+
_SkyLiveAnnouncerService_document.set(this, inject(DOCUMENT));
|
18
|
+
_SkyLiveAnnouncerService_idService.set(this, inject(SkyIdService));
|
19
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
|
20
|
+
this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* Announces a message to screen readers.
|
24
|
+
* @param message Message to be announced to the screen reader.
|
25
|
+
* @param args Options for the announcement of the message.
|
26
|
+
*/
|
27
|
+
announce(message, args) {
|
28
|
+
/* safety-check */
|
29
|
+
/* istanbul ignore if */
|
30
|
+
if (!__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
|
31
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
|
32
|
+
this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
|
33
|
+
}
|
34
|
+
const politeness = args?.politeness ?? 'polite';
|
35
|
+
this.clear();
|
36
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").setAttribute('aria-live', politeness);
|
37
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = message;
|
38
|
+
}
|
39
|
+
/**
|
40
|
+
* Clears the current text from the announcer element. Can be used to prevent
|
41
|
+
* screen readers from reading the text out again while the user is going
|
42
|
+
* through the page landmarks.
|
43
|
+
*/
|
44
|
+
clear() {
|
45
|
+
if (__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
|
46
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = '';
|
47
|
+
}
|
48
|
+
}
|
49
|
+
/**
|
50
|
+
* @internal
|
51
|
+
*/
|
52
|
+
ngOnDestroy() {
|
53
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")?.remove();
|
54
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, undefined, "f");
|
55
|
+
this.announcerElementChanged.next(undefined);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
_SkyLiveAnnouncerService_announcerElement = new WeakMap(), _SkyLiveAnnouncerService_document = new WeakMap(), _SkyLiveAnnouncerService_idService = new WeakMap(), _SkyLiveAnnouncerService_instances = new WeakSet(), _SkyLiveAnnouncerService_createLiveElement = function _SkyLiveAnnouncerService_createLiveElement() {
|
59
|
+
const elementClass = 'sky-live-announcer-element';
|
60
|
+
const previousElements = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").getElementsByClassName(elementClass);
|
61
|
+
const liveEl = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").createElement('div');
|
62
|
+
// Remove any old containers. This can happen when coming in from a server-side-rendered page.
|
63
|
+
for (let i = 0; i < previousElements.length; i++) {
|
64
|
+
previousElements[i].remove();
|
65
|
+
}
|
66
|
+
liveEl.classList.add(elementClass);
|
67
|
+
liveEl.classList.add('sky-screen-reader-only');
|
68
|
+
liveEl.setAttribute('aria-atomic', 'true');
|
69
|
+
liveEl.setAttribute('aria-live', 'polite');
|
70
|
+
liveEl.id = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_idService, "f").generateId();
|
71
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").body.appendChild(liveEl);
|
72
|
+
return liveEl;
|
73
|
+
};
|
74
|
+
SkyLiveAnnouncerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
75
|
+
SkyLiveAnnouncerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, providedIn: 'root' });
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, decorators: [{
|
77
|
+
type: Injectable,
|
78
|
+
args: [{ providedIn: 'root' }]
|
79
|
+
}], ctorParameters: function () { return []; } });
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci9saXZlLWFubm91bmNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUloRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDOztRQVJPLDRCQUF1QixHQUFHLElBQUksYUFBYSxDQUNoRCxDQUFDLENBQ0YsQ0FBQztRQUVGLDREQUEyQztRQUMzQyw0Q0FBWSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUM7UUFDN0IsNkNBQWEsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDO1FBR2hDLHVCQUFBLElBQUksNkNBQXFCLHVCQUFBLElBQUksc0ZBQW1CLE1BQXZCLElBQUksQ0FBcUIsTUFBQSxDQUFDO1FBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLE9BQWUsRUFBRSxJQUEyQjtRQUMxRCxrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyx1QkFBQSxJQUFJLGlEQUFrQixFQUFFO1lBQzNCLHVCQUFBLElBQUksNkNBQXFCLHVCQUFBLElBQUksc0ZBQW1CLE1BQXZCLElBQUksQ0FBcUIsTUFBQSxDQUFDO1lBQ25ELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxFQUFFLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdELHVCQUFBLElBQUksaURBQWtCLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUs7UUFDVixJQUFJLHVCQUFBLElBQUksaURBQWtCLEVBQUU7WUFDMUIsdUJBQUEsSUFBSSxpREFBa0IsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQix1QkFBQSxJQUFJLGlEQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLHVCQUFBLElBQUksNkNBQXFCLFNBQVMsTUFBQSxDQUFDO1FBQ25DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O0lBR0MsTUFBTSxZQUFZLEdBQUcsNEJBQTRCLENBQUM7SUFDbEQsTUFBTSxnQkFBZ0IsR0FDcEIsdUJBQUEsSUFBSSx5Q0FBVSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkQsOEZBQThGO0lBQzlGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEQsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDOUI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsdUJBQUEsSUFBSSwwQ0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXpDLHVCQUFBLElBQUkseUNBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7b0hBN0VVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTsyRkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5SWRTZXJ2aWNlIH0gZnJvbSAnLi4vaWQvaWQuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJBcmdzIH0gZnJvbSAnLi90eXBlcy9saXZlLWFubm91bmNlci1hcmdzJztcblxuLyoqXG4gKiBBbGxvd3MgZm9yIGFubm91bmNpbmcgbWVzc2FnZXMgdG8gc2NyZWVuIHJlYWRlciB1c2VycyB0aHJvdWdoIHRoZSB1c2Ugb2YgYSBjb21tb24gYGFyaWEtbGl2ZWAgZWxlbWVudC5cbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIGFubm91bmNlckVsZW1lbnRDaGFuZ2VkID0gbmV3IFJlcGxheVN1YmplY3Q8SFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ+KFxuICAgIDFcbiAgKTtcblxuICAjYW5ub3VuY2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICNpZFNlcnZpY2UgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50ID0gdGhpcy4jY3JlYXRlTGl2ZUVsZW1lbnQoKTtcbiAgICB0aGlzLmFubm91bmNlckVsZW1lbnRDaGFuZ2VkLm5leHQodGhpcy4jYW5ub3VuY2VyRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQW5ub3VuY2VzIGEgbWVzc2FnZSB0byBzY3JlZW4gcmVhZGVycy5cbiAgICogQHBhcmFtIG1lc3NhZ2UgTWVzc2FnZSB0byBiZSBhbm5vdW5jZWQgdG8gdGhlIHNjcmVlbiByZWFkZXIuXG4gICAqIEBwYXJhbSBhcmdzIE9wdGlvbnMgZm9yIHRoZSBhbm5vdW5jZW1lbnQgb2YgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICBwdWJsaWMgYW5ub3VuY2UobWVzc2FnZTogc3RyaW5nLCBhcmdzPzogU2t5TGl2ZUFubm91bmNlckFyZ3MpOiB2b2lkIHtcbiAgICAvKiBzYWZldHktY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXRoaXMuI2Fubm91bmNlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuI2Fubm91bmNlckVsZW1lbnQgPSB0aGlzLiNjcmVhdGVMaXZlRWxlbWVudCgpO1xuICAgICAgdGhpcy5hbm5vdW5jZXJFbGVtZW50Q2hhbmdlZC5uZXh0KHRoaXMuI2Fubm91bmNlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNvbnN0IHBvbGl0ZW5lc3MgPSBhcmdzPy5wb2xpdGVuZXNzID8/ICdwb2xpdGUnO1xuXG4gICAgdGhpcy5jbGVhcigpO1xuXG4gICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGl2ZScsIHBvbGl0ZW5lc3MpO1xuXG4gICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC50ZXh0Q29udGVudCA9IG1lc3NhZ2U7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBjdXJyZW50IHRleHQgZnJvbSB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuIENhbiBiZSB1c2VkIHRvIHByZXZlbnRcbiAgICogc2NyZWVuIHJlYWRlcnMgZnJvbSByZWFkaW5nIHRoZSB0ZXh0IG91dCBhZ2FpbiB3aGlsZSB0aGUgdXNlciBpcyBnb2luZ1xuICAgKiB0aHJvdWdoIHRoZSBwYWdlIGxhbmRtYXJrcy5cbiAgICovXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jYW5ub3VuY2VyRWxlbWVudCkge1xuICAgICAgdGhpcy4jYW5ub3VuY2VyRWxlbWVudC50ZXh0Q29udGVudCA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50Py5yZW1vdmUoKTtcbiAgICB0aGlzLiNhbm5vdW5jZXJFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuYW5ub3VuY2VyRWxlbWVudENoYW5nZWQubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgI2NyZWF0ZUxpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBlbGVtZW50Q2xhc3MgPSAnc2t5LWxpdmUtYW5ub3VuY2VyLWVsZW1lbnQnO1xuICAgIGNvbnN0IHByZXZpb3VzRWxlbWVudHMgPVxuICAgICAgdGhpcy4jZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlbGVtZW50Q2xhc3MpO1xuICAgIGNvbnN0IGxpdmVFbCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgLy8gUmVtb3ZlIGFueSBvbGQgY29udGFpbmVycy4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gY29taW5nIGluIGZyb20gYSBzZXJ2ZXItc2lkZS1yZW5kZXJlZCBwYWdlLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJldmlvdXNFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgcHJldmlvdXNFbGVtZW50c1tpXS5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBsaXZlRWwuY2xhc3NMaXN0LmFkZChlbGVtZW50Q2xhc3MpO1xuICAgIGxpdmVFbC5jbGFzc0xpc3QuYWRkKCdza3ktc2NyZWVuLXJlYWRlci1vbmx5Jyk7XG5cbiAgICBsaXZlRWwuc2V0QXR0cmlidXRlKCdhcmlhLWF0b21pYycsICd0cnVlJyk7XG4gICAgbGl2ZUVsLnNldEF0dHJpYnV0ZSgnYXJpYS1saXZlJywgJ3BvbGl0ZScpO1xuICAgIGxpdmVFbC5pZCA9IHRoaXMuI2lkU2VydmljZS5nZW5lcmF0ZUlkKCk7XG5cbiAgICB0aGlzLiNkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpdmVFbCk7XG5cbiAgICByZXR1cm4gbGl2ZUVsO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXItYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci90eXBlcy9saXZlLWFubm91bmNlci1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTa3lMaXZlQW5ub3VuY2VyUG9saXRlbmVzcyB9IGZyb20gJy4vbGl2ZS1hbm5vdW5jZXItcG9saXRlbmVzcyc7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHdoZW4gYW5ub3VuY2luZyBtZXNzYWdlcyB0byBzY3JlZW4gcmVhZGVycyB2aWEgdGhlIGBTa3lMaXZlQW5ub3VuY2VyU2VydmljZWBcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNreUxpdmVBbm5vdW5jZXJBcmdzIHtcbiAgcG9saXRlbmVzcz86IFNreUxpdmVBbm5vdW5jZXJQb2xpdGVuZXNzO1xufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXItcG9saXRlbmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9saXZlLWFubm91bmNlci90eXBlcy9saXZlLWFubm91bmNlci1wb2xpdGVuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFBvc3NpYmxlIHBvbGl0ZW5lc3MgbGV2ZWxzIGZvciBtZXNzYWdlcyBhbm5vdW5jZWQgdmlhIHRoZSBgU2t5TGl2ZUFubm91bmNlclNlcnZpY2VgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCB0eXBlIFNreUxpdmVBbm5vdW5jZXJQb2xpdGVuZXNzID0gJ29mZicgfCAncG9saXRlJyB8ICdhc3NlcnRpdmUnO1xuIl19
|
package/fesm2015/skyux-core.mjs
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { NgModule, Injectable, EventEmitter, Directive, Input, Output, Injector, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, createComponent, InjectionToken, Optional, Inject, Pipe, ElementRef, HostBinding } from '@angular/core';
|
2
|
+
import { NgModule, Injectable, EventEmitter, Directive, Input, Output, Injector, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, createComponent, inject, InjectionToken, Optional, Inject, Pipe, ElementRef, HostBinding } from '@angular/core';
|
3
3
|
import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } from 'tslib';
|
4
4
|
import * as i5 from '@angular/common';
|
5
|
-
import { CommonModule } from '@angular/common';
|
6
|
-
import { Subject, fromEvent,
|
5
|
+
import { CommonModule, DOCUMENT } from '@angular/common';
|
6
|
+
import { Subject, fromEvent, ReplaySubject, BehaviorSubject, Observable, of, concat, animationFrameScheduler } from 'rxjs';
|
7
7
|
import { takeUntil, debounceTime, finalize, switchMap, map } from 'rxjs/operators';
|
8
8
|
import * as i1 from '@skyux/i18n';
|
9
9
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, SkyIntlNumberFormatStyle, SkyIntlNumberFormatter } from '@skyux/i18n';
|
@@ -1514,6 +1514,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
1514
1514
|
}]
|
1515
1515
|
}] });
|
1516
1516
|
|
1517
|
+
var _SkyLiveAnnouncerService_instances, _SkyLiveAnnouncerService_announcerElement, _SkyLiveAnnouncerService_document, _SkyLiveAnnouncerService_idService, _SkyLiveAnnouncerService_createLiveElement;
|
1518
|
+
/**
|
1519
|
+
* Allows for announcing messages to screen reader users through the use of a common `aria-live` element.
|
1520
|
+
* @internal
|
1521
|
+
*/
|
1522
|
+
class SkyLiveAnnouncerService {
|
1523
|
+
constructor() {
|
1524
|
+
_SkyLiveAnnouncerService_instances.add(this);
|
1525
|
+
this.announcerElementChanged = new ReplaySubject(1);
|
1526
|
+
_SkyLiveAnnouncerService_announcerElement.set(this, void 0);
|
1527
|
+
_SkyLiveAnnouncerService_document.set(this, inject(DOCUMENT));
|
1528
|
+
_SkyLiveAnnouncerService_idService.set(this, inject(SkyIdService));
|
1529
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
|
1530
|
+
this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
|
1531
|
+
}
|
1532
|
+
/**
|
1533
|
+
* Announces a message to screen readers.
|
1534
|
+
* @param message Message to be announced to the screen reader.
|
1535
|
+
* @param args Options for the announcement of the message.
|
1536
|
+
*/
|
1537
|
+
announce(message, args) {
|
1538
|
+
var _a;
|
1539
|
+
/* safety-check */
|
1540
|
+
/* istanbul ignore if */
|
1541
|
+
if (!__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
|
1542
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, __classPrivateFieldGet(this, _SkyLiveAnnouncerService_instances, "m", _SkyLiveAnnouncerService_createLiveElement).call(this), "f");
|
1543
|
+
this.announcerElementChanged.next(__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f"));
|
1544
|
+
}
|
1545
|
+
const politeness = (_a = args === null || args === void 0 ? void 0 : args.politeness) !== null && _a !== void 0 ? _a : 'polite';
|
1546
|
+
this.clear();
|
1547
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").setAttribute('aria-live', politeness);
|
1548
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = message;
|
1549
|
+
}
|
1550
|
+
/**
|
1551
|
+
* Clears the current text from the announcer element. Can be used to prevent
|
1552
|
+
* screen readers from reading the text out again while the user is going
|
1553
|
+
* through the page landmarks.
|
1554
|
+
*/
|
1555
|
+
clear() {
|
1556
|
+
if (__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) {
|
1557
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f").textContent = '';
|
1558
|
+
}
|
1559
|
+
}
|
1560
|
+
/**
|
1561
|
+
* @internal
|
1562
|
+
*/
|
1563
|
+
ngOnDestroy() {
|
1564
|
+
var _a;
|
1565
|
+
(_a = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_announcerElement, "f")) === null || _a === void 0 ? void 0 : _a.remove();
|
1566
|
+
__classPrivateFieldSet(this, _SkyLiveAnnouncerService_announcerElement, undefined, "f");
|
1567
|
+
this.announcerElementChanged.next(undefined);
|
1568
|
+
}
|
1569
|
+
}
|
1570
|
+
_SkyLiveAnnouncerService_announcerElement = new WeakMap(), _SkyLiveAnnouncerService_document = new WeakMap(), _SkyLiveAnnouncerService_idService = new WeakMap(), _SkyLiveAnnouncerService_instances = new WeakSet(), _SkyLiveAnnouncerService_createLiveElement = function _SkyLiveAnnouncerService_createLiveElement() {
|
1571
|
+
const elementClass = 'sky-live-announcer-element';
|
1572
|
+
const previousElements = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").getElementsByClassName(elementClass);
|
1573
|
+
const liveEl = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").createElement('div');
|
1574
|
+
// Remove any old containers. This can happen when coming in from a server-side-rendered page.
|
1575
|
+
for (let i = 0; i < previousElements.length; i++) {
|
1576
|
+
previousElements[i].remove();
|
1577
|
+
}
|
1578
|
+
liveEl.classList.add(elementClass);
|
1579
|
+
liveEl.classList.add('sky-screen-reader-only');
|
1580
|
+
liveEl.setAttribute('aria-atomic', 'true');
|
1581
|
+
liveEl.setAttribute('aria-live', 'polite');
|
1582
|
+
liveEl.id = __classPrivateFieldGet(this, _SkyLiveAnnouncerService_idService, "f").generateId();
|
1583
|
+
__classPrivateFieldGet(this, _SkyLiveAnnouncerService_document, "f").body.appendChild(liveEl);
|
1584
|
+
return liveEl;
|
1585
|
+
};
|
1586
|
+
SkyLiveAnnouncerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
1587
|
+
SkyLiveAnnouncerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, providedIn: 'root' });
|
1588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyLiveAnnouncerService, decorators: [{
|
1589
|
+
type: Injectable,
|
1590
|
+
args: [{ providedIn: 'root' }]
|
1591
|
+
}], ctorParameters: function () { return []; } });
|
1592
|
+
|
1517
1593
|
/**
|
1518
1594
|
* @deprecated The `SkyLogService` no longer needs the `SkyLogModule`.
|
1519
1595
|
* The `SkyLogModule` can be removed from your project.
|
@@ -3699,5 +3775,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
3699
3775
|
* Generated bundle index. Do not edit.
|
3700
3776
|
*/
|
3701
3777
|
|
3702
|
-
export { NumericOptions, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyIdService, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
3778
|
+
export { NumericOptions, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyIdService, SkyLiveAnnouncerService, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
3703
3779
|
//# sourceMappingURL=skyux-core.mjs.map
|