@skyux/indicators 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 +741 -637
- package/esm2020/lib/modules/shared/sky-indicators-resources.module.mjs +5 -1
- package/esm2020/lib/modules/wait/wait-page.component.mjs +1 -1
- package/esm2020/lib/modules/wait/wait.component.mjs +52 -14
- package/fesm2015/skyux-indicators.mjs +56 -15
- package/fesm2015/skyux-indicators.mjs.map +1 -1
- package/fesm2020/skyux-indicators.mjs +56 -15
- package/fesm2020/skyux-indicators.mjs.map +1 -1
- package/lib/modules/wait/wait.component.d.ts +17 -8
- package/package.json +5 -5
|
@@ -49,6 +49,10 @@ const RESOURCES = {
|
|
|
49
49
|
skyux_wait_page_blocking_aria_alt_text: {
|
|
50
50
|
message: 'Page loading. Please wait.',
|
|
51
51
|
},
|
|
52
|
+
skyux_wait_screen_reader_completed_text: { message: 'Loading complete.' },
|
|
53
|
+
skyux_wait_page_screen_reader_completed_text: {
|
|
54
|
+
message: 'Page loading complete.',
|
|
55
|
+
},
|
|
52
56
|
},
|
|
53
57
|
};
|
|
54
58
|
export class SkyIndicatorsResourcesProvider {
|
|
@@ -83,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
83
87
|
],
|
|
84
88
|
}]
|
|
85
89
|
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWluZGljYXRvcnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWluZGljYXRvcnMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCLEVBQUUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUU7UUFDakQsd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQ25ELHNCQUFzQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUMvQyx3QkFBd0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDbkQscUJBQXFCLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQzdDLG9CQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUMzQyw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRTtRQUNwRSxnQ0FBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRTtRQUNuRSxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDL0Msc0JBQXNCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQy9DLDhCQUE4QixFQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFO1FBQ2hFLHdCQUF3QixFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUNuRCxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDL0Msd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQ25ELHFCQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUM3QyxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDM0MsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUU7UUFDcEUsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7UUFDbkUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQy9DLHNCQUFzQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUMvQyxtQ0FBbUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDOUQsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzFELG1DQUFtQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUM5RCxnQ0FBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDeEQsK0JBQStCLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3RELHdDQUF3QyxFQUFFO1lBQ3hDLE9BQU8sRUFBRSx3QkFBd0I7U0FDbEM7UUFDRCwyQ0FBMkMsRUFBRTtZQUMzQyxPQUFPLEVBQUUsb0JBQW9CO1NBQzlCO1FBQ0QsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzFELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUMxRCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7UUFDN0Qsd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ2pELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ3ZFLDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRTtRQUMzRCxzQ0FBc0MsRUFBRTtZQUN0QyxPQUFPLEVBQUUsNEJBQTRCO1NBQ3RDO1FBQ0QsdUNBQXVDLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7UUFDekUsNENBQTRDLEVBQUU7WUFDNUMsT0FBTyxFQUFFLHdCQUF3QjtTQUNsQztLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyw4QkFBOEI7SUFDbEMsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0QjswSEFBNUIsNEJBQTRCLFlBVDdCLGFBQWE7MEhBU1osNEJBQTRCLGFBUjVCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSw4QkFBOEI7WUFDeEMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLFlBUFMsYUFBYTsyRkFTWiw0QkFBNEI7a0JBVnhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLDhCQUE4Qjs0QkFDeEMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1pbmRpY2F0b3JzJyBzY2hlbWF0aWMuXG4gKiBUbyB1cGRhdGUgdGhpcyBmaWxlLCBzaW1wbHkgcmVydW4gdGhlIGNvbW1hbmQuXG4gKi9cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gIFNreUFwcExvY2FsZUluZm8sXG4gIFNreUkxOG5Nb2R1bGUsXG4gIFNreUxpYlJlc291cmNlcyxcbiAgU2t5TGliUmVzb3VyY2VzUHJvdmlkZXIsXG4gIGdldExpYlN0cmluZ0ZvckxvY2FsZSxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcbiAgICBza3l1eF9hbGVydF9jbG9zZTogeyBtZXNzYWdlOiAnQ2xvc2UgdGhlIGFsZXJ0JyB9LFxuICAgIHNreXV4X2FsZXJ0X3NyX2F0dGVudGlvbjogeyBtZXNzYWdlOiAnQXR0ZW50aW9uOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl9jYXV0aW9uOiB7IG1lc3NhZ2U6ICdDYXV0aW9uOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl9jb21wbGV0ZWQ6IHsgbWVzc2FnZTogJ0NvbXBsZXRlZDonIH0sXG4gICAgc2t5dXhfYWxlcnRfc3JfZGFuZ2VyOiB7IG1lc3NhZ2U6ICdEYW5nZXI6JyB9LFxuICAgIHNreXV4X2FsZXJ0X3NyX2Vycm9yOiB7IG1lc3NhZ2U6ICdFcnJvcjonIH0sXG4gICAgc2t5dXhfYWxlcnRfc3JfaW1wb3J0YW50X2luZm86IHsgbWVzc2FnZTogJ0ltcG9ydGFudCBpbmZvcm1hdGlvbjonIH0sXG4gICAgc2t5dXhfYWxlcnRfc3JfaW1wb3J0YW50X3dhcm5pbmc6IHsgbWVzc2FnZTogJ0ltcG9ydGFudCB3YXJuaW5nOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl9zdWNjZXNzOiB7IG1lc3NhZ2U6ICdTdWNjZXNzOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl93YXJuaW5nOiB7IG1lc3NhZ2U6ICdXYXJuaW5nOicgfSxcbiAgICBza3l1eF9oZWxwX2lubGluZV9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ1Nob3cgaGVscCBjb250ZW50JyB9LFxuICAgIHNreXV4X2xhYmVsX3NyX2F0dGVudGlvbjogeyBtZXNzYWdlOiAnQXR0ZW50aW9uOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl9jYXV0aW9uOiB7IG1lc3NhZ2U6ICdDYXV0aW9uOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl9jb21wbGV0ZWQ6IHsgbWVzc2FnZTogJ0NvbXBsZXRlZDonIH0sXG4gICAgc2t5dXhfbGFiZWxfc3JfZGFuZ2VyOiB7IG1lc3NhZ2U6ICdEYW5nZXI6JyB9LFxuICAgIHNreXV4X2xhYmVsX3NyX2Vycm9yOiB7IG1lc3NhZ2U6ICdFcnJvcjonIH0sXG4gICAgc2t5dXhfbGFiZWxfc3JfaW1wb3J0YW50X2luZm86IHsgbWVzc2FnZTogJ0ltcG9ydGFudCBpbmZvcm1hdGlvbjonIH0sXG4gICAgc2t5dXhfbGFiZWxfc3JfaW1wb3J0YW50X3dhcm5pbmc6IHsgbWVzc2FnZTogJ0ltcG9ydGFudCB3YXJuaW5nOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl9zdWNjZXNzOiB7IG1lc3NhZ2U6ICdTdWNjZXNzOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl93YXJuaW5nOiB7IG1lc3NhZ2U6ICdXYXJuaW5nOicgfSxcbiAgICBza3l1eF9zdGF0dXNfaW5kaWNhdG9yX3NyX2F0dGVudGlvbjogeyBtZXNzYWdlOiAnQXR0ZW50aW9uOicgfSxcbiAgICBza3l1eF9zdGF0dXNfaW5kaWNhdG9yX3NyX2NhdXRpb246IHsgbWVzc2FnZTogJ0NhdXRpb246JyB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfY29tcGxldGVkOiB7IG1lc3NhZ2U6ICdDb21wbGV0ZWQ6JyB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfZGFuZ2VyOiB7IG1lc3NhZ2U6ICdEYW5nZXI6JyB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfZXJyb3I6IHsgbWVzc2FnZTogJ0Vycm9yOicgfSxcbiAgICBza3l1eF9zdGF0dXNfaW5kaWNhdG9yX3NyX2ltcG9ydGFudF9pbmZvOiB7XG4gICAgICBtZXNzYWdlOiAnSW1wb3J0YW50IGluZm9ybWF0aW9uOicsXG4gICAgfSxcbiAgICBza3l1eF9zdGF0dXNfaW5kaWNhdG9yX3NyX2ltcG9ydGFudF93YXJuaW5nOiB7XG4gICAgICBtZXNzYWdlOiAnSW1wb3J0YW50IHdhcm5pbmc6JyxcbiAgICB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3Jfc3VjY2VzczogeyBtZXNzYWdlOiAnU3VjY2VzczonIH0sXG4gICAgc2t5dXhfc3RhdHVzX2luZGljYXRvcl9zcl93YXJuaW5nOiB7IG1lc3NhZ2U6ICdXYXJuaW5nOicgfSxcbiAgICBza3l1eF90b2tlbnNfZGlzbWlzc19idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ1JlbW92ZSBpdGVtJyB9LFxuICAgIHNreXV4X3dhaXRfYXJpYV9hbHRfdGV4dDogeyBtZXNzYWdlOiAnTG9hZGluZy4nIH0sXG4gICAgc2t5dXhfd2FpdF9ibG9ja2luZ19hcmlhX2FsdF90ZXh0OiB7IG1lc3NhZ2U6ICdMb2FkaW5nLiBQbGVhc2Ugd2FpdC4nIH0sXG4gICAgc2t5dXhfd2FpdF9wYWdlX2FyaWFfYWx0X3RleHQ6IHsgbWVzc2FnZTogJ1BhZ2UgbG9hZGluZy4nIH0sXG4gICAgc2t5dXhfd2FpdF9wYWdlX2Jsb2NraW5nX2FyaWFfYWx0X3RleHQ6IHtcbiAgICAgIG1lc3NhZ2U6ICdQYWdlIGxvYWRpbmcuIFBsZWFzZSB3YWl0LicsXG4gICAgfSxcbiAgICBza3l1eF93YWl0X3NjcmVlbl9yZWFkZXJfY29tcGxldGVkX3RleHQ6IHsgbWVzc2FnZTogJ0xvYWRpbmcgY29tcGxldGUuJyB9LFxuICAgIHNreXV4X3dhaXRfcGFnZV9zY3JlZW5fcmVhZGVyX2NvbXBsZXRlZF90ZXh0OiB7XG4gICAgICBtZXNzYWdlOiAnUGFnZSBsb2FkaW5nIGNvbXBsZXRlLicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTa3lJbmRpY2F0b3JzUmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcoXG4gICAgbG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbyxcbiAgICBuYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgICAgIHVzZUNsYXNzOiBTa3lJbmRpY2F0b3JzUmVzb3VyY2VzUHJvdmlkZXIsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lJbmRpY2F0b3JzUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -7,7 +7,7 @@ import * as i1 from "./wait.component";
|
|
|
7
7
|
export class SkyWaitPageComponent {
|
|
8
8
|
}
|
|
9
9
|
SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }] });
|
|
10
|
+
SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: i1.SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }] });
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-wait-page', template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"] }]
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
var _SkyWaitComponent_instances, _SkyWaitComponent_customAriaLabel, _SkyWaitComponent_id, _SkyWaitComponent_elRef, _SkyWaitComponent_adapterService, _SkyWaitComponent_resourceSvc, _SkyWaitComponent_ngUnsubscribe, _SkyWaitComponent__isFullPage, _SkyWaitComponent__isNonBlocking, _SkyWaitComponent__isWaiting, _SkyWaitComponent_publishAriaLabel;
|
|
1
|
+
var _SkyWaitComponent_instances, _SkyWaitComponent_customAriaLabel, _SkyWaitComponent_customScreenReaderCompletedText, _SkyWaitComponent_id, _SkyWaitComponent_elRef, _SkyWaitComponent_adapterService, _SkyWaitComponent_liveAnnouncer, _SkyWaitComponent_resourceSvc, _SkyWaitComponent_ngUnsubscribe, _SkyWaitComponent__isFullPage, _SkyWaitComponent__isNonBlocking, _SkyWaitComponent__isWaiting, _SkyWaitComponent_publishAriaLabel, _SkyWaitComponent_publishScreenReaderCompletedText;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { Component, ElementRef, Input, inject, } from '@angular/core';
|
|
4
|
+
import { SkyLiveAnnouncerService } from '@skyux/core';
|
|
4
5
|
import { SkyLibResourcesService } from '@skyux/i18n';
|
|
5
6
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
6
7
|
import { take, takeUntil } from 'rxjs/operators';
|
|
@@ -12,10 +13,14 @@ export class SkyWaitComponent {
|
|
|
12
13
|
constructor() {
|
|
13
14
|
_SkyWaitComponent_instances.add(this);
|
|
14
15
|
this.ariaLabelStream = new BehaviorSubject('');
|
|
16
|
+
this.ariaLiveText = '';
|
|
17
|
+
this.screenReaderCompletedTextStream = new BehaviorSubject('');
|
|
15
18
|
_SkyWaitComponent_customAriaLabel.set(this, void 0);
|
|
19
|
+
_SkyWaitComponent_customScreenReaderCompletedText.set(this, void 0);
|
|
16
20
|
_SkyWaitComponent_id.set(this, `sky-wait-${++nextId}`);
|
|
17
21
|
_SkyWaitComponent_elRef.set(this, inject(ElementRef));
|
|
18
22
|
_SkyWaitComponent_adapterService.set(this, inject(SkyWaitAdapterService));
|
|
23
|
+
_SkyWaitComponent_liveAnnouncer.set(this, inject(SkyLiveAnnouncerService));
|
|
19
24
|
_SkyWaitComponent_resourceSvc.set(this, inject(SkyLibResourcesService));
|
|
20
25
|
_SkyWaitComponent_ngUnsubscribe.set(this, new Subject());
|
|
21
26
|
_SkyWaitComponent__isFullPage.set(this, void 0);
|
|
@@ -23,13 +28,12 @@ export class SkyWaitComponent {
|
|
|
23
28
|
_SkyWaitComponent__isWaiting.set(this, void 0);
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
|
-
* The ARIA label for the wait icon
|
|
27
|
-
* This sets the icon's `aria-label` attribute
|
|
28
|
-
* [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).
|
|
29
|
-
* The default value varies based on whether the wait is for an element or a page
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).
|
|
31
|
+
* The ARIA label for the wait icon.
|
|
32
|
+
* This sets the icon's `aria-label` attribute to provide a text equivalent for screen readers
|
|
33
|
+
* [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when an element or page loads and when users tab to a wait icon.
|
|
34
|
+
* The default value varies based on whether the wait is for an element or a page and whether it is a blocking wait. For example, the default for a page-level blocking wait is "Page loading. Please wait."
|
|
35
|
+
* For element-level waits, we recommend that consumers overwrite the default to describe the specific element.
|
|
36
|
+
* "For more information, see the Design tab and the [WAI-ARIA `aria-label` definition](https://www.w3.org/TR/wai-aria/#aria-label).
|
|
33
37
|
*/
|
|
34
38
|
set ariaLabel(value) {
|
|
35
39
|
__classPrivateFieldSet(this, _SkyWaitComponent_customAriaLabel, value, "f");
|
|
@@ -48,6 +52,13 @@ export class SkyWaitComponent {
|
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
__classPrivateFieldGet(this, _SkyWaitComponent_adapterService, "f").setBusyState(__classPrivateFieldGet(this, _SkyWaitComponent_elRef, "f"), !!this.isFullPage, !!value, !!this.isNonBlocking, __classPrivateFieldGet(this, _SkyWaitComponent_id, "f"));
|
|
55
|
+
if (value) {
|
|
56
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_liveAnnouncer, "f").announce(this.ariaLabelStream.getValue());
|
|
57
|
+
}
|
|
58
|
+
else if (__classPrivateFieldGet(this, _SkyWaitComponent__isWaiting, "f")) {
|
|
59
|
+
// NOTE: This should only happen if the wait was previously waiting and no longer is waiting.
|
|
60
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_liveAnnouncer, "f").announce(this.screenReaderCompletedTextStream.getValue());
|
|
61
|
+
}
|
|
51
62
|
__classPrivateFieldSet(this, _SkyWaitComponent__isWaiting, value, "f");
|
|
52
63
|
}
|
|
53
64
|
get isWaiting() {
|
|
@@ -70,6 +81,7 @@ export class SkyWaitComponent {
|
|
|
70
81
|
}
|
|
71
82
|
__classPrivateFieldSet(this, _SkyWaitComponent__isFullPage, value, "f");
|
|
72
83
|
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishAriaLabel).call(this);
|
|
84
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishScreenReaderCompletedText).call(this);
|
|
73
85
|
}
|
|
74
86
|
get isFullPage() {
|
|
75
87
|
return __classPrivateFieldGet(this, _SkyWaitComponent__isFullPage, "f");
|
|
@@ -86,21 +98,31 @@ export class SkyWaitComponent {
|
|
|
86
98
|
get isNonBlocking() {
|
|
87
99
|
return __classPrivateFieldGet(this, _SkyWaitComponent__isNonBlocking, "f");
|
|
88
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Screen reader text [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when the wait toggles off.
|
|
103
|
+
* The default varies based on whether the wait is for an element or a page.
|
|
104
|
+
* For example, the default for a page-level wait is "Page loading complete."
|
|
105
|
+
* For element-level waits, we recommend that consumers overwrite the default to describe the specific element.
|
|
106
|
+
* For more information, see the Design tab and the [WCAG documentation on status messages](https://www.w3.org/WAI/WCAG21/Understanding/status-messages.html).
|
|
107
|
+
*/
|
|
108
|
+
set screenReaderCompletedText(value) {
|
|
109
|
+
__classPrivateFieldSet(this, _SkyWaitComponent_customScreenReaderCompletedText, value, "f");
|
|
110
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishScreenReaderCompletedText).call(this);
|
|
111
|
+
}
|
|
89
112
|
ngOnInit() {
|
|
90
113
|
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishAriaLabel).call(this);
|
|
114
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishScreenReaderCompletedText).call(this);
|
|
91
115
|
}
|
|
92
116
|
ngOnDestroy() {
|
|
93
117
|
__classPrivateFieldGet(this, _SkyWaitComponent_ngUnsubscribe, "f").next();
|
|
94
118
|
__classPrivateFieldGet(this, _SkyWaitComponent_ngUnsubscribe, "f").complete();
|
|
95
119
|
}
|
|
96
120
|
}
|
|
97
|
-
_SkyWaitComponent_customAriaLabel = new WeakMap(), _SkyWaitComponent_id = new WeakMap(), _SkyWaitComponent_elRef = new WeakMap(), _SkyWaitComponent_adapterService = new WeakMap(), _SkyWaitComponent_resourceSvc = new WeakMap(), _SkyWaitComponent_ngUnsubscribe = new WeakMap(), _SkyWaitComponent__isFullPage = new WeakMap(), _SkyWaitComponent__isNonBlocking = new WeakMap(), _SkyWaitComponent__isWaiting = new WeakMap(), _SkyWaitComponent_instances = new WeakSet(), _SkyWaitComponent_publishAriaLabel = function _SkyWaitComponent_publishAriaLabel() {
|
|
121
|
+
_SkyWaitComponent_customAriaLabel = new WeakMap(), _SkyWaitComponent_customScreenReaderCompletedText = new WeakMap(), _SkyWaitComponent_id = new WeakMap(), _SkyWaitComponent_elRef = new WeakMap(), _SkyWaitComponent_adapterService = new WeakMap(), _SkyWaitComponent_liveAnnouncer = new WeakMap(), _SkyWaitComponent_resourceSvc = new WeakMap(), _SkyWaitComponent_ngUnsubscribe = new WeakMap(), _SkyWaitComponent__isFullPage = new WeakMap(), _SkyWaitComponent__isNonBlocking = new WeakMap(), _SkyWaitComponent__isWaiting = new WeakMap(), _SkyWaitComponent_instances = new WeakSet(), _SkyWaitComponent_publishAriaLabel = function _SkyWaitComponent_publishAriaLabel() {
|
|
98
122
|
if (__classPrivateFieldGet(this, _SkyWaitComponent_customAriaLabel, "f")) {
|
|
99
123
|
this.ariaLabelStream.next(__classPrivateFieldGet(this, _SkyWaitComponent_customAriaLabel, "f"));
|
|
100
|
-
return;
|
|
101
124
|
}
|
|
102
|
-
|
|
103
|
-
if (__classPrivateFieldGet(this, _SkyWaitComponent_resourceSvc, "f")) {
|
|
125
|
+
else {
|
|
104
126
|
const type = this.isFullPage ? '_page' : '';
|
|
105
127
|
const blocking = this.isNonBlocking ? '' : '_blocking';
|
|
106
128
|
const key = `skyux_wait${type}${blocking}_aria_alt_text`;
|
|
@@ -111,9 +133,23 @@ _SkyWaitComponent_customAriaLabel = new WeakMap(), _SkyWaitComponent_id = new We
|
|
|
111
133
|
this.ariaLabelStream.next(value);
|
|
112
134
|
});
|
|
113
135
|
}
|
|
136
|
+
}, _SkyWaitComponent_publishScreenReaderCompletedText = function _SkyWaitComponent_publishScreenReaderCompletedText() {
|
|
137
|
+
if (__classPrivateFieldGet(this, _SkyWaitComponent_customScreenReaderCompletedText, "f")) {
|
|
138
|
+
this.screenReaderCompletedTextStream.next(__classPrivateFieldGet(this, _SkyWaitComponent_customScreenReaderCompletedText, "f"));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
const type = this.isFullPage ? '_page' : '';
|
|
142
|
+
const key = `skyux_wait${type}_screen_reader_completed_text`;
|
|
143
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_resourceSvc, "f")
|
|
144
|
+
.getString(key)
|
|
145
|
+
.pipe(take(1), takeUntil(__classPrivateFieldGet(this, _SkyWaitComponent_ngUnsubscribe, "f")))
|
|
146
|
+
.subscribe((value) => {
|
|
147
|
+
this.screenReaderCompletedTextStream.next(value);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
114
150
|
};
|
|
115
151
|
SkyWaitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
-
SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
152
|
+
SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking", screenReaderCompletedText: "screenReaderCompletedText" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
117
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitComponent, decorators: [{
|
|
118
154
|
type: Component,
|
|
119
155
|
args: [{ selector: 'sky-wait', providers: [SkyWaitAdapterService], template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"] }]
|
|
@@ -125,5 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
125
161
|
type: Input
|
|
126
162
|
}], isNonBlocking: [{
|
|
127
163
|
type: Input
|
|
164
|
+
}], screenReaderCompletedText: [{
|
|
165
|
+
type: Input
|
|
128
166
|
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvd2FpdC93YWl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy93YWl0L3dhaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFL0QsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBUWYsTUFBTSxPQUFPLGdCQUFnQjtJQU43Qjs7UUF5RlMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV6RCxvREFBcUM7UUFDckMsK0JBQU0sWUFBWSxFQUFFLE1BQU0sRUFBRSxFQUFDO1FBRTdCLGtDQUFTLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBQztRQUM1QiwyQ0FBa0IsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQUM7UUFDaEQsd0NBQWUsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEVBQUM7UUFDOUMsMENBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFFckMsZ0RBQWtDO1FBQ2xDLG1EQUFxQztRQUNyQywrQ0FBaUM7S0E4QmxDO0lBNUhD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QkFBZ0IsQ0FBQztRQUN6RCx1QkFBQSxJQUFJLHFDQUFhO2FBQ2QsU0FBUyxDQUFDLEdBQUcsQ0FBQzthQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLHVCQUFBLElBQUksdUNBQWUsQ0FBQyxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0tBQ047QUFDSCxDQUFDOzZHQTVIVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix5SkFGaEIsQ0FBQyxxQkFBcUIsQ0FBQywwQkNyQnBDLDhvQkF3QkE7MkZERGEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLFVBQVUsYUFHVCxDQUFDLHFCQUFxQixDQUFDOzhCQWF2QixTQUFTO3NCQURuQixLQUFLO2dCQVVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBaUNLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBdUJLLGFBQWE7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lXYWl0QWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3dhaXQtYWRhcHRlci5zZXJ2aWNlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS13YWl0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93YWl0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreVdhaXRBZGFwdGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVdhaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIHdhaXQgaWNvbiB3aGlsZSBhbiBlbGVtZW50IG9yIHBhZ2UgbG9hZHMuXG4gICAqIFRoaXMgc2V0cyB0aGUgaWNvbidzIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGVcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgdmFyaWVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIHdhaXQgaXMgZm9yIGFuIGVsZW1lbnQgb3IgYSBwYWdlXG4gICAqIGFuZCB3aGV0aGVyIGl0IGlzIGEgYmxvY2tpbmcgd2FpdC4gRm9yIGV4YW1wbGUsIHRoZSBkZWZhdWx0IGZvciBhIHBhZ2UtYmxvY2tpbmdcbiAgICogd2FpdCBpcyBcIlBhZ2UgbG9hZGluZy4gUGxlYXNlIHdhaXQuXCJcbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFyaWFMYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jY3VzdG9tQXJpYUxhYmVsID0gdmFsdWU7XG4gICAgdGhpcy4jcHVibGlzaEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgd2FpdCBpbmRpY2F0aW9uIGFwcGVhcnMgb24gdGhlIHBhcmVudCBlbGVtZW50IG9mIHRoZSBgc2t5LXdhaXRgIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNXYWl0aW5nKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF0aGlzLmlzRnVsbFBhZ2UpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRXYWl0Qm91bmRzKHRoaXMuI2VsUmVmKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnJlbW92ZVdhaXRCb3VuZHModGhpcy4jZWxSZWYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLnNldEJ1c3lTdGF0ZShcbiAgICAgIHRoaXMuI2VsUmVmLFxuICAgICAgISF0aGlzLmlzRnVsbFBhZ2UsXG4gICAgICAhIXZhbHVlLFxuICAgICAgISF0aGlzLmlzTm9uQmxvY2tpbmcsXG4gICAgICB0aGlzLiNpZFxuICAgICk7XG5cbiAgICB0aGlzLiNfaXNXYWl0aW5nID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzV2FpdGluZygpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzV2FpdGluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIHdhaXQgaW5kaWNhdGlvbiBhcHBlYXJzIG9uIHRoZSBwYWdlIGxldmVsIGluc3RlYWQgb2YgdGhlXG4gICAqIHBhcmVudCBlbGVtZW50IGxldmVsLiBXZSByZWNvbW1lbmQgdGhhdCB5b3UgdXNlIHRoZSBgYmVnaW5CbG9ja2luZ1BhZ2VXYWl0YCBvclxuICAgKiBgYmVnaW5Ob25CbG9ja2luZ1BhZ2VXYWl0YCBmdW5jdGlvbnMgb2YgdGhlIGBTa3lXYWl0U2VydmljZWAgaW5zdGVhZCBvZiBzZXR0aW5nIHRoaXNcbiAgICogb24gdGhlIGNvbXBvbmVudCBsZXZlbC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNGdWxsUGFnZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiB1bnRlc3RhYmxlICovXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5yZW1vdmVXYWl0Qm91bmRzKHRoaXMuI2VsUmVmKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXYWl0aW5nKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRXYWl0Qm91bmRzKHRoaXMuI2VsUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfaXNGdWxsUGFnZSA9IHZhbHVlO1xuICAgIHRoaXMuI3B1Ymxpc2hBcmlhTGFiZWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNGdWxsUGFnZSgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzRnVsbFBhZ2U7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCB3YWl0IGluZGljYXRpb24gYXBwZWFycyBpbiB0aGUgYm90dG9tIGxlZnQgY29ybmVyIG9mIHRoZSBlbGVtZW50XG4gICAqIGluc3RlYWQgb2YgaGlkaW5nIHRoZSBlbnRpcmUgcGFyZW50IGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzTm9uQmxvY2tpbmcodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaXNOb25CbG9ja2luZyA9IHZhbHVlO1xuICAgIHRoaXMuI3B1Ymxpc2hBcmlhTGFiZWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNOb25CbG9ja2luZygpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzTm9uQmxvY2tpbmc7XG4gIH1cblxuICBwdWJsaWMgYXJpYUxhYmVsU3RyZWFtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAjY3VzdG9tQXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNpZCA9IGBza3ktd2FpdC0keysrbmV4dElkfWA7XG5cbiAgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAjYWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlKTtcbiAgI3Jlc291cmNlU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI19pc0Z1bGxQYWdlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAjX2lzTm9uQmxvY2tpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNfaXNXYWl0aW5nOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNwdWJsaXNoQXJpYUxhYmVsKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI3B1Ymxpc2hBcmlhTGFiZWwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2N1c3RvbUFyaWFMYWJlbCkge1xuICAgICAgdGhpcy5hcmlhTGFiZWxTdHJlYW0ubmV4dCh0aGlzLiNjdXN0b21BcmlhTGFiZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI3Jlc291cmNlU3ZjKSB7XG4gICAgICBjb25zdCB0eXBlID0gdGhpcy5pc0Z1bGxQYWdlID8gJ19wYWdlJyA6ICcnO1xuICAgICAgY29uc3QgYmxvY2tpbmcgPSB0aGlzLmlzTm9uQmxvY2tpbmcgPyAnJyA6ICdfYmxvY2tpbmcnO1xuICAgICAgY29uc3Qga2V5ID0gYHNreXV4X3dhaXQke3R5cGV9JHtibG9ja2luZ31fYXJpYV9hbHRfdGV4dGA7XG4gICAgICB0aGlzLiNyZXNvdXJjZVN2Y1xuICAgICAgICAuZ2V0U3RyaW5nKGtleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuYXJpYUxhYmVsU3RyZWFtLm5leHQodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktd2FpdC1jb250YWluZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS13YWl0LWZ1bGwtcGFnZSc6IGlzRnVsbFBhZ2UsXG4gICAgJ3NreS13YWl0LW5vbi1ibG9ja2luZyc6IGlzTm9uQmxvY2tpbmdcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICAqbmdJZj1cImlzV2FpdGluZ1wiXG4gICAgY2xhc3M9XCJza3ktd2FpdC1tYXNrXCJcbiAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsU3RyZWFtIHwgYXN5bmNcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktd2FpdC1tYXNrLWxvYWRpbmctZml4ZWQnOiBpc0Z1bGxQYWdlLFxuICAgICAgJ3NreS13YWl0LW1hc2stbG9hZGluZy1ub24tYmxvY2tpbmcnOiBpc05vbkJsb2NraW5nLFxuICAgICAgJ3NreS13YWl0LW1hc2stbG9hZGluZy1ibG9ja2luZyc6ICFpc05vbkJsb2NraW5nXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXdhaXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktd2FpdC1kb3VibGUtYm91bmNlMVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNreS13YWl0LWRvdWJsZS1ib3VuY2UyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvd2FpdC93YWl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy93YWl0L3dhaXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRS9ELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQVFmLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7O1FBK0dTLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDbEQsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsb0NBQStCLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsb0RBQXFDO1FBQ3JDLG9FQUFxRDtRQUNyRCwrQkFBTSxZQUFZLEVBQUUsTUFBTSxFQUFFLEVBQUM7UUFFN0Isa0NBQVMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFDO1FBQzVCLDJDQUFrQixNQUFNLENBQUMscUJBQXFCLENB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Q0FBQyxJQUFJLENBQ3ZDLHVCQUFBLElBQUkseURBQWlDLENBQ3RDLENBQUM7S0FDSDtTQUFNO1FBQ0wsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsTUFBTSxHQUFHLEdBQUcsYUFBYSxJQUFJLCtCQUErQixDQUFDO1FBQzdELHVCQUFBLElBQUkscUNBQWE7YUFDZCxTQUFTLENBQUMsR0FBRyxDQUFDO2FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsdUJBQUEsSUFBSSx1Q0FBZSxDQUFDLENBQUM7YUFDN0MsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztLQUNOO0FBQ0gsQ0FBQzs2R0FwS1UsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsaU5BRmhCLENBQUMscUJBQXFCLENBQUMsMEJDdEJwQyw4b0JBd0JBOzJGREFhLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxVQUFVLGFBR1QsQ0FBQyxxQkFBcUIsQ0FBQzs4QkFZdkIsU0FBUztzQkFEbkIsS0FBSztnQkFVSyxTQUFTO3NCQURuQixLQUFLO2dCQTBDSyxVQUFVO3NCQURwQixLQUFLO2dCQXdCSyxhQUFhO3NCQUR2QixLQUFLO2dCQWtCSyx5QkFBeUI7c0JBRG5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpdmVBbm5vdW5jZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVdhaXRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vd2FpdC1hZGFwdGVyLnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXdhaXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2FpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dhaXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5V2FpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBBUklBIGxhYmVsIGZvciB0aGUgd2FpdCBpY29uLlxuICAgKiBUaGlzIHNldHMgdGhlIGljb24ncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkgd2hlbiBhbiBlbGVtZW50IG9yIHBhZ2UgbG9hZHMgYW5kIHdoZW4gdXNlcnMgdGFiIHRvIGEgd2FpdCBpY29uLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSB2YXJpZXMgYmFzZWQgb24gd2hldGhlciB0aGUgd2FpdCBpcyBmb3IgYW4gZWxlbWVudCBvciBhIHBhZ2UgYW5kIHdoZXRoZXIgaXQgaXMgYSBibG9ja2luZyB3YWl0LiBGb3IgZXhhbXBsZSwgdGhlIGRlZmF1bHQgZm9yIGEgcGFnZS1sZXZlbCBibG9ja2luZyB3YWl0IGlzIFwiUGFnZSBsb2FkaW5nLiBQbGVhc2Ugd2FpdC5cIlxuICAgKiBGb3IgZWxlbWVudC1sZXZlbCB3YWl0cywgd2UgcmVjb21tZW5kIHRoYXQgY29uc3VtZXJzIG92ZXJ3cml0ZSB0aGUgZGVmYXVsdCB0byBkZXNjcmliZSB0aGUgc3BlY2lmaWMgZWxlbWVudC5cbiAgICogXCJGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBEZXNpZ24gdGFiIGFuZCB0aGUgW1dBSS1BUklBIGBhcmlhLWxhYmVsYCBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhTGFiZWwodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI2N1c3RvbUFyaWFMYWJlbCA9IHZhbHVlO1xuICAgIHRoaXMuI3B1Ymxpc2hBcmlhTGFiZWwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIHdhaXQgaW5kaWNhdGlvbiBhcHBlYXJzIG9uIHRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgYHNreS13YWl0YCBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzV2FpdGluZyh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdGhpcy5pc0Z1bGxQYWdlKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0V2FpdEJvdW5kcyh0aGlzLiNlbFJlZik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5yZW1vdmVXYWl0Qm91bmRzKHRoaXMuI2VsUmVmKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRCdXN5U3RhdGUoXG4gICAgICB0aGlzLiNlbFJlZixcbiAgICAgICEhdGhpcy5pc0Z1bGxQYWdlLFxuICAgICAgISF2YWx1ZSxcbiAgICAgICEhdGhpcy5pc05vbkJsb2NraW5nLFxuICAgICAgdGhpcy4jaWRcbiAgICApO1xuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsaXZlQW5ub3VuY2VyLmFubm91bmNlKHRoaXMuYXJpYUxhYmVsU3RyZWFtLmdldFZhbHVlKCkpO1xuICAgIH0gZWxzZSBpZiAodGhpcy4jX2lzV2FpdGluZykge1xuICAgICAgLy8gTk9URTogVGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgdGhlIHdhaXQgd2FzIHByZXZpb3VzbHkgd2FpdGluZyBhbmQgbm8gbG9uZ2VyIGlzIHdhaXRpbmcuXG4gICAgICB0aGlzLiNsaXZlQW5ub3VuY2VyLmFubm91bmNlKFxuICAgICAgICB0aGlzLnNjcmVlblJlYWRlckNvbXBsZXRlZFRleHRTdHJlYW0uZ2V0VmFsdWUoKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfaXNXYWl0aW5nID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzV2FpdGluZygpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzV2FpdGluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIHdhaXQgaW5kaWNhdGlvbiBhcHBlYXJzIG9uIHRoZSBwYWdlIGxldmVsIGluc3RlYWQgb2YgdGhlXG4gICAqIHBhcmVudCBlbGVtZW50IGxldmVsLiBXZSByZWNvbW1lbmQgdGhhdCB5b3UgdXNlIHRoZSBgYmVnaW5CbG9ja2luZ1BhZ2VXYWl0YCBvclxuICAgKiBgYmVnaW5Ob25CbG9ja2luZ1BhZ2VXYWl0YCBmdW5jdGlvbnMgb2YgdGhlIGBTa3lXYWl0U2VydmljZWAgaW5zdGVhZCBvZiBzZXR0aW5nIHRoaXNcbiAgICogb24gdGhlIGNvbXBvbmVudCBsZXZlbC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNGdWxsUGFnZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiB1bnRlc3RhYmxlICovXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5yZW1vdmVXYWl0Qm91bmRzKHRoaXMuI2VsUmVmKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNXYWl0aW5nKSB7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRXYWl0Qm91bmRzKHRoaXMuI2VsUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLiNfaXNGdWxsUGFnZSA9IHZhbHVlO1xuICAgIHRoaXMuI3B1Ymxpc2hBcmlhTGFiZWwoKTtcbiAgICB0aGlzLiNwdWJsaXNoU2NyZWVuUmVhZGVyQ29tcGxldGVkVGV4dCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0Z1bGxQYWdlKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfaXNGdWxsUGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHNldCB0byBgdHJ1ZWAsIHdhaXQgaW5kaWNhdGlvbiBhcHBlYXJzIGluIHRoZSBib3R0b20gbGVmdCBjb3JuZXIgb2YgdGhlIGVsZW1lbnRcbiAgICogaW5zdGVhZCBvZiBoaWRpbmcgdGhlIGVudGlyZSBwYXJlbnQgZWxlbWVudC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNOb25CbG9ja2luZyh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pc05vbkJsb2NraW5nID0gdmFsdWU7XG4gICAgdGhpcy4jcHVibGlzaEFyaWFMYWJlbCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc05vbkJsb2NraW5nKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfaXNOb25CbG9ja2luZztcbiAgfVxuXG4gIC8qKlxuICAgKiBTY3JlZW4gcmVhZGVyIHRleHQgW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KSB3aGVuIHRoZSB3YWl0IHRvZ2dsZXMgb2ZmLlxuICAgKiAgVGhlIGRlZmF1bHQgdmFyaWVzIGJhc2VkIG9uIHdoZXRoZXIgdGhlIHdhaXQgaXMgZm9yIGFuIGVsZW1lbnQgb3IgYSBwYWdlLlxuICAgKiBGb3IgZXhhbXBsZSwgdGhlIGRlZmF1bHQgZm9yIGEgcGFnZS1sZXZlbCB3YWl0IGlzIFwiUGFnZSBsb2FkaW5nIGNvbXBsZXRlLlwiXG4gICAqIEZvciBlbGVtZW50LWxldmVsIHdhaXRzLCB3ZSByZWNvbW1lbmQgdGhhdCBjb25zdW1lcnMgb3ZlcndyaXRlIHRoZSBkZWZhdWx0IHRvIGRlc2NyaWJlIHRoZSBzcGVjaWZpYyBlbGVtZW50LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBEZXNpZ24gdGFiIGFuZCB0aGUgW1dDQUcgZG9jdW1lbnRhdGlvbiBvbiBzdGF0dXMgbWVzc2FnZXNdKGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIxL1VuZGVyc3RhbmRpbmcvc3RhdHVzLW1lc3NhZ2VzLmh0bWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNjdXN0b21TY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0ID0gdmFsdWU7XG4gICAgdGhpcy4jcHVibGlzaFNjcmVlblJlYWRlckNvbXBsZXRlZFRleHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBhcmlhTGFiZWxTdHJlYW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwdWJsaWMgYXJpYUxpdmVUZXh0ID0gJyc7XG4gIHB1YmxpYyBzY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0U3RyZWFtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAjY3VzdG9tQXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNjdXN0b21TY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICNpZCA9IGBza3ktd2FpdC0keysrbmV4dElkfWA7XG5cbiAgI2VsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAjYWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5V2FpdEFkYXB0ZXJTZXJ2aWNlKTtcbiAgI2xpdmVBbm5vdW5jZXIgPSBpbmplY3QoU2t5TGl2ZUFubm91bmNlclNlcnZpY2UpO1xuICAjcmVzb3VyY2VTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX2lzRnVsbFBhZ2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNfaXNOb25CbG9ja2luZzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgI19pc1dhaXRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3B1Ymxpc2hBcmlhTGFiZWwoKTtcbiAgICB0aGlzLiNwdWJsaXNoU2NyZWVuUmVhZGVyQ29tcGxldGVkVGV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gICNwdWJsaXNoQXJpYUxhYmVsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXN0b21BcmlhTGFiZWwpIHtcbiAgICAgIHRoaXMuYXJpYUxhYmVsU3RyZWFtLm5leHQodGhpcy4jY3VzdG9tQXJpYUxhYmVsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuaXNGdWxsUGFnZSA/ICdfcGFnZScgOiAnJztcbiAgICAgIGNvbnN0IGJsb2NraW5nID0gdGhpcy5pc05vbkJsb2NraW5nID8gJycgOiAnX2Jsb2NraW5nJztcbiAgICAgIGNvbnN0IGtleSA9IGBza3l1eF93YWl0JHt0eXBlfSR7YmxvY2tpbmd9X2FyaWFfYWx0X3RleHRgO1xuICAgICAgdGhpcy4jcmVzb3VyY2VTdmNcbiAgICAgICAgLmdldFN0cmluZyhrZXkpXG4gICAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLmFyaWFMYWJlbFN0cmVhbS5uZXh0KHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3B1Ymxpc2hTY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXN0b21TY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0KSB7XG4gICAgICB0aGlzLnNjcmVlblJlYWRlckNvbXBsZXRlZFRleHRTdHJlYW0ubmV4dChcbiAgICAgICAgdGhpcy4jY3VzdG9tU2NyZWVuUmVhZGVyQ29tcGxldGVkVGV4dFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuaXNGdWxsUGFnZSA/ICdfcGFnZScgOiAnJztcbiAgICAgIGNvbnN0IGtleSA9IGBza3l1eF93YWl0JHt0eXBlfV9zY3JlZW5fcmVhZGVyX2NvbXBsZXRlZF90ZXh0YDtcbiAgICAgIHRoaXMuI3Jlc291cmNlU3ZjXG4gICAgICAgIC5nZXRTdHJpbmcoa2V5KVxuICAgICAgICAucGlwZSh0YWtlKDEpLCB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy5zY3JlZW5SZWFkZXJDb21wbGV0ZWRUZXh0U3RyZWFtLm5leHQodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktd2FpdC1jb250YWluZXJcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS13YWl0LWZ1bGwtcGFnZSc6IGlzRnVsbFBhZ2UsXG4gICAgJ3NreS13YWl0LW5vbi1ibG9ja2luZyc6IGlzTm9uQmxvY2tpbmdcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICAqbmdJZj1cImlzV2FpdGluZ1wiXG4gICAgY2xhc3M9XCJza3ktd2FpdC1tYXNrXCJcbiAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsU3RyZWFtIHwgYXN5bmNcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktd2FpdC1tYXNrLWxvYWRpbmctZml4ZWQnOiBpc0Z1bGxQYWdlLFxuICAgICAgJ3NreS13YWl0LW1hc2stbG9hZGluZy1ub24tYmxvY2tpbmcnOiBpc05vbkJsb2NraW5nLFxuICAgICAgJ3NreS13YWl0LW1hc2stbG9hZGluZy1ibG9ja2luZyc6ICFpc05vbkJsb2NraW5nXG4gICAgfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LXdhaXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza3ktd2FpdC1kb3VibGUtYm91bmNlMVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNreS13YWl0LWRvdWJsZS1ib3VuY2UyXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,7 +8,7 @@ import * as i2 from '@skyux/theme';
|
|
|
8
8
|
import { SkyThemeIconManifestService, SkyThemeService, SkyThemeModule } from '@skyux/theme';
|
|
9
9
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from 'tslib';
|
|
10
10
|
import * as i2$1 from '@skyux/core';
|
|
11
|
-
import { SkyLogService, SkyTrimModule, SkyMutationObserverService, SkyAppWindowRef, SkyDynamicComponentService, SkyDynamicComponentLocation } from '@skyux/core';
|
|
11
|
+
import { SkyLogService, SkyTrimModule, SkyMutationObserverService, SkyLiveAnnouncerService, SkyAppWindowRef, SkyDynamicComponentService, SkyDynamicComponentLocation } from '@skyux/core';
|
|
12
12
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
13
13
|
import { Subject, BehaviorSubject, defer } from 'rxjs';
|
|
14
14
|
import { takeUntil, take, finalize } from 'rxjs/operators';
|
|
@@ -211,6 +211,10 @@ const RESOURCES = {
|
|
|
211
211
|
skyux_wait_page_blocking_aria_alt_text: {
|
|
212
212
|
message: 'Page loading. Please wait.',
|
|
213
213
|
},
|
|
214
|
+
skyux_wait_screen_reader_completed_text: { message: 'Loading complete.' },
|
|
215
|
+
skyux_wait_page_screen_reader_completed_text: {
|
|
216
|
+
message: 'Page loading complete.',
|
|
217
|
+
},
|
|
214
218
|
},
|
|
215
219
|
};
|
|
216
220
|
class SkyIndicatorsResourcesProvider {
|
|
@@ -1802,16 +1806,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
1802
1806
|
type: Injectable
|
|
1803
1807
|
}], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
|
|
1804
1808
|
|
|
1805
|
-
var _SkyWaitComponent_instances, _SkyWaitComponent_customAriaLabel, _SkyWaitComponent_id, _SkyWaitComponent_elRef, _SkyWaitComponent_adapterService, _SkyWaitComponent_resourceSvc, _SkyWaitComponent_ngUnsubscribe, _SkyWaitComponent__isFullPage, _SkyWaitComponent__isNonBlocking, _SkyWaitComponent__isWaiting, _SkyWaitComponent_publishAriaLabel;
|
|
1809
|
+
var _SkyWaitComponent_instances, _SkyWaitComponent_customAriaLabel, _SkyWaitComponent_customScreenReaderCompletedText, _SkyWaitComponent_id, _SkyWaitComponent_elRef, _SkyWaitComponent_adapterService, _SkyWaitComponent_liveAnnouncer, _SkyWaitComponent_resourceSvc, _SkyWaitComponent_ngUnsubscribe, _SkyWaitComponent__isFullPage, _SkyWaitComponent__isNonBlocking, _SkyWaitComponent__isWaiting, _SkyWaitComponent_publishAriaLabel, _SkyWaitComponent_publishScreenReaderCompletedText;
|
|
1806
1810
|
let nextId = 0;
|
|
1807
1811
|
class SkyWaitComponent {
|
|
1808
1812
|
constructor() {
|
|
1809
1813
|
_SkyWaitComponent_instances.add(this);
|
|
1810
1814
|
this.ariaLabelStream = new BehaviorSubject('');
|
|
1815
|
+
this.ariaLiveText = '';
|
|
1816
|
+
this.screenReaderCompletedTextStream = new BehaviorSubject('');
|
|
1811
1817
|
_SkyWaitComponent_customAriaLabel.set(this, void 0);
|
|
1818
|
+
_SkyWaitComponent_customScreenReaderCompletedText.set(this, void 0);
|
|
1812
1819
|
_SkyWaitComponent_id.set(this, `sky-wait-${++nextId}`);
|
|
1813
1820
|
_SkyWaitComponent_elRef.set(this, inject(ElementRef));
|
|
1814
1821
|
_SkyWaitComponent_adapterService.set(this, inject(SkyWaitAdapterService));
|
|
1822
|
+
_SkyWaitComponent_liveAnnouncer.set(this, inject(SkyLiveAnnouncerService));
|
|
1815
1823
|
_SkyWaitComponent_resourceSvc.set(this, inject(SkyLibResourcesService));
|
|
1816
1824
|
_SkyWaitComponent_ngUnsubscribe.set(this, new Subject());
|
|
1817
1825
|
_SkyWaitComponent__isFullPage.set(this, void 0);
|
|
@@ -1819,13 +1827,12 @@ class SkyWaitComponent {
|
|
|
1819
1827
|
_SkyWaitComponent__isWaiting.set(this, void 0);
|
|
1820
1828
|
}
|
|
1821
1829
|
/**
|
|
1822
|
-
* The ARIA label for the wait icon
|
|
1823
|
-
* This sets the icon's `aria-label` attribute
|
|
1824
|
-
* [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).
|
|
1825
|
-
* The default value varies based on whether the wait is for an element or a page
|
|
1826
|
-
*
|
|
1827
|
-
*
|
|
1828
|
-
* For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).
|
|
1830
|
+
* The ARIA label for the wait icon.
|
|
1831
|
+
* This sets the icon's `aria-label` attribute to provide a text equivalent for screen readers
|
|
1832
|
+
* [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when an element or page loads and when users tab to a wait icon.
|
|
1833
|
+
* The default value varies based on whether the wait is for an element or a page and whether it is a blocking wait. For example, the default for a page-level blocking wait is "Page loading. Please wait."
|
|
1834
|
+
* For element-level waits, we recommend that consumers overwrite the default to describe the specific element.
|
|
1835
|
+
* "For more information, see the Design tab and the [WAI-ARIA `aria-label` definition](https://www.w3.org/TR/wai-aria/#aria-label).
|
|
1829
1836
|
*/
|
|
1830
1837
|
set ariaLabel(value) {
|
|
1831
1838
|
__classPrivateFieldSet(this, _SkyWaitComponent_customAriaLabel, value, "f");
|
|
@@ -1844,6 +1851,13 @@ class SkyWaitComponent {
|
|
|
1844
1851
|
}
|
|
1845
1852
|
}
|
|
1846
1853
|
__classPrivateFieldGet(this, _SkyWaitComponent_adapterService, "f").setBusyState(__classPrivateFieldGet(this, _SkyWaitComponent_elRef, "f"), !!this.isFullPage, !!value, !!this.isNonBlocking, __classPrivateFieldGet(this, _SkyWaitComponent_id, "f"));
|
|
1854
|
+
if (value) {
|
|
1855
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_liveAnnouncer, "f").announce(this.ariaLabelStream.getValue());
|
|
1856
|
+
}
|
|
1857
|
+
else if (__classPrivateFieldGet(this, _SkyWaitComponent__isWaiting, "f")) {
|
|
1858
|
+
// NOTE: This should only happen if the wait was previously waiting and no longer is waiting.
|
|
1859
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_liveAnnouncer, "f").announce(this.screenReaderCompletedTextStream.getValue());
|
|
1860
|
+
}
|
|
1847
1861
|
__classPrivateFieldSet(this, _SkyWaitComponent__isWaiting, value, "f");
|
|
1848
1862
|
}
|
|
1849
1863
|
get isWaiting() {
|
|
@@ -1866,6 +1880,7 @@ class SkyWaitComponent {
|
|
|
1866
1880
|
}
|
|
1867
1881
|
__classPrivateFieldSet(this, _SkyWaitComponent__isFullPage, value, "f");
|
|
1868
1882
|
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishAriaLabel).call(this);
|
|
1883
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishScreenReaderCompletedText).call(this);
|
|
1869
1884
|
}
|
|
1870
1885
|
get isFullPage() {
|
|
1871
1886
|
return __classPrivateFieldGet(this, _SkyWaitComponent__isFullPage, "f");
|
|
@@ -1882,21 +1897,31 @@ class SkyWaitComponent {
|
|
|
1882
1897
|
get isNonBlocking() {
|
|
1883
1898
|
return __classPrivateFieldGet(this, _SkyWaitComponent__isNonBlocking, "f");
|
|
1884
1899
|
}
|
|
1900
|
+
/**
|
|
1901
|
+
* Screen reader text [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) when the wait toggles off.
|
|
1902
|
+
* The default varies based on whether the wait is for an element or a page.
|
|
1903
|
+
* For example, the default for a page-level wait is "Page loading complete."
|
|
1904
|
+
* For element-level waits, we recommend that consumers overwrite the default to describe the specific element.
|
|
1905
|
+
* For more information, see the Design tab and the [WCAG documentation on status messages](https://www.w3.org/WAI/WCAG21/Understanding/status-messages.html).
|
|
1906
|
+
*/
|
|
1907
|
+
set screenReaderCompletedText(value) {
|
|
1908
|
+
__classPrivateFieldSet(this, _SkyWaitComponent_customScreenReaderCompletedText, value, "f");
|
|
1909
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishScreenReaderCompletedText).call(this);
|
|
1910
|
+
}
|
|
1885
1911
|
ngOnInit() {
|
|
1886
1912
|
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishAriaLabel).call(this);
|
|
1913
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_instances, "m", _SkyWaitComponent_publishScreenReaderCompletedText).call(this);
|
|
1887
1914
|
}
|
|
1888
1915
|
ngOnDestroy() {
|
|
1889
1916
|
__classPrivateFieldGet(this, _SkyWaitComponent_ngUnsubscribe, "f").next();
|
|
1890
1917
|
__classPrivateFieldGet(this, _SkyWaitComponent_ngUnsubscribe, "f").complete();
|
|
1891
1918
|
}
|
|
1892
1919
|
}
|
|
1893
|
-
_SkyWaitComponent_customAriaLabel = new WeakMap(), _SkyWaitComponent_id = new WeakMap(), _SkyWaitComponent_elRef = new WeakMap(), _SkyWaitComponent_adapterService = new WeakMap(), _SkyWaitComponent_resourceSvc = new WeakMap(), _SkyWaitComponent_ngUnsubscribe = new WeakMap(), _SkyWaitComponent__isFullPage = new WeakMap(), _SkyWaitComponent__isNonBlocking = new WeakMap(), _SkyWaitComponent__isWaiting = new WeakMap(), _SkyWaitComponent_instances = new WeakSet(), _SkyWaitComponent_publishAriaLabel = function _SkyWaitComponent_publishAriaLabel() {
|
|
1920
|
+
_SkyWaitComponent_customAriaLabel = new WeakMap(), _SkyWaitComponent_customScreenReaderCompletedText = new WeakMap(), _SkyWaitComponent_id = new WeakMap(), _SkyWaitComponent_elRef = new WeakMap(), _SkyWaitComponent_adapterService = new WeakMap(), _SkyWaitComponent_liveAnnouncer = new WeakMap(), _SkyWaitComponent_resourceSvc = new WeakMap(), _SkyWaitComponent_ngUnsubscribe = new WeakMap(), _SkyWaitComponent__isFullPage = new WeakMap(), _SkyWaitComponent__isNonBlocking = new WeakMap(), _SkyWaitComponent__isWaiting = new WeakMap(), _SkyWaitComponent_instances = new WeakSet(), _SkyWaitComponent_publishAriaLabel = function _SkyWaitComponent_publishAriaLabel() {
|
|
1894
1921
|
if (__classPrivateFieldGet(this, _SkyWaitComponent_customAriaLabel, "f")) {
|
|
1895
1922
|
this.ariaLabelStream.next(__classPrivateFieldGet(this, _SkyWaitComponent_customAriaLabel, "f"));
|
|
1896
|
-
return;
|
|
1897
1923
|
}
|
|
1898
|
-
|
|
1899
|
-
if (__classPrivateFieldGet(this, _SkyWaitComponent_resourceSvc, "f")) {
|
|
1924
|
+
else {
|
|
1900
1925
|
const type = this.isFullPage ? '_page' : '';
|
|
1901
1926
|
const blocking = this.isNonBlocking ? '' : '_blocking';
|
|
1902
1927
|
const key = `skyux_wait${type}${blocking}_aria_alt_text`;
|
|
@@ -1907,9 +1932,23 @@ _SkyWaitComponent_customAriaLabel = new WeakMap(), _SkyWaitComponent_id = new We
|
|
|
1907
1932
|
this.ariaLabelStream.next(value);
|
|
1908
1933
|
});
|
|
1909
1934
|
}
|
|
1935
|
+
}, _SkyWaitComponent_publishScreenReaderCompletedText = function _SkyWaitComponent_publishScreenReaderCompletedText() {
|
|
1936
|
+
if (__classPrivateFieldGet(this, _SkyWaitComponent_customScreenReaderCompletedText, "f")) {
|
|
1937
|
+
this.screenReaderCompletedTextStream.next(__classPrivateFieldGet(this, _SkyWaitComponent_customScreenReaderCompletedText, "f"));
|
|
1938
|
+
}
|
|
1939
|
+
else {
|
|
1940
|
+
const type = this.isFullPage ? '_page' : '';
|
|
1941
|
+
const key = `skyux_wait${type}_screen_reader_completed_text`;
|
|
1942
|
+
__classPrivateFieldGet(this, _SkyWaitComponent_resourceSvc, "f")
|
|
1943
|
+
.getString(key)
|
|
1944
|
+
.pipe(take(1), takeUntil(__classPrivateFieldGet(this, _SkyWaitComponent_ngUnsubscribe, "f")))
|
|
1945
|
+
.subscribe((value) => {
|
|
1946
|
+
this.screenReaderCompletedTextStream.next(value);
|
|
1947
|
+
});
|
|
1948
|
+
}
|
|
1910
1949
|
};
|
|
1911
1950
|
SkyWaitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1912
|
-
SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
1951
|
+
SkyWaitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitComponent, selector: "sky-wait", inputs: { ariaLabel: "ariaLabel", isWaiting: "isWaiting", isFullPage: "isFullPage", isNonBlocking: "isNonBlocking", screenReaderCompletedText: "screenReaderCompletedText" }, providers: [SkyWaitAdapterService], ngImport: i0, template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
1913
1952
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitComponent, decorators: [{
|
|
1914
1953
|
type: Component,
|
|
1915
1954
|
args: [{ selector: 'sky-wait', providers: [SkyWaitAdapterService], template: "<div\n class=\"sky-wait-container\"\n [ngClass]=\"{\n 'sky-wait-full-page': isFullPage,\n 'sky-wait-non-blocking': isNonBlocking\n }\"\n>\n <div\n *ngIf=\"isWaiting\"\n class=\"sky-wait-mask\"\n role=\"progressbar\"\n [attr.aria-label]=\"ariaLabelStream | async\"\n [ngClass]=\"{\n 'sky-wait-mask-loading-fixed': isFullPage,\n 'sky-wait-mask-loading-non-blocking': isNonBlocking,\n 'sky-wait-mask-loading-blocking': !isNonBlocking\n }\"\n >\n <div class=\"sky-wait\">\n <div class=\"sky-wait-double-bounce1\"></div>\n <div class=\"sky-wait-double-bounce2\"></div>\n </div>\n </div>\n</div>\n", styles: [".sky-wait-mask-loading-blocking{margin:auto;position:absolute;inset:0;background-color:#ffffffb3;z-index:1000}.sky-wait-mask-loading-fixed{position:fixed}.sky-wait{width:50px;height:50px;margin-top:-25px;margin-left:-25px;position:absolute;top:50%;left:50%}.sky-wait-mask-loading-non-blocking{bottom:0}.sky-wait-mask-loading-non-blocking .sky-wait{inset:auto auto 0 0;margin-left:auto;margin-right:auto}.sky-wait-double-bounce1,.sky-wait-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#72bf44;opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.sky-wait-double-bounce2{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.sky-wait-container.sky-wait-active{position:relative}\n"] }]
|
|
@@ -1921,6 +1960,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
1921
1960
|
type: Input
|
|
1922
1961
|
}], isNonBlocking: [{
|
|
1923
1962
|
type: Input
|
|
1963
|
+
}], screenReaderCompletedText: [{
|
|
1964
|
+
type: Input
|
|
1924
1965
|
}] } });
|
|
1925
1966
|
|
|
1926
1967
|
/**
|
|
@@ -1929,7 +1970,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
1929
1970
|
class SkyWaitPageComponent {
|
|
1930
1971
|
}
|
|
1931
1972
|
SkyWaitPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1932
|
-
SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking"] }] });
|
|
1973
|
+
SkyWaitPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyWaitPageComponent, selector: "sky-wait-page", inputs: { hasBlockingWait: "hasBlockingWait", hasNonBlockingWait: "hasNonBlockingWait" }, ngImport: i0, template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"], dependencies: [{ kind: "component", type: SkyWaitComponent, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }] });
|
|
1933
1974
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyWaitPageComponent, decorators: [{
|
|
1934
1975
|
type: Component,
|
|
1935
1976
|
args: [{ selector: 'sky-wait-page', template: "<div class=\"sky-wait-page\">\n <sky-wait\n data-sky-id=\"page-wait-non-blocking\"\n [isFullPage]=\"true\"\n [isNonBlocking]=\"true\"\n [isWaiting]=\"hasNonBlockingWait\"\n >\n </sky-wait>\n <sky-wait\n data-sky-id=\"page-wait-blocking\"\n [isFullPage]=\"true\"\n [isWaiting]=\"hasBlockingWait\"\n >\n </sky-wait>\n</div>\n", styles: [".sky-wait-page ::ng-deep .sky-wait-mask-loading-fixed{z-index:2000}\n"] }]
|