@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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWluZGljYXRvcnMtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWluZGljYXRvcnMtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCLEVBQUUsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUU7UUFDakQsd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQ25ELHNCQUFzQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUMvQyx3QkFBd0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDbkQscUJBQXFCLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQzdDLG9CQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTtRQUMzQyw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRTtRQUNwRSxnQ0FBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRTtRQUNuRSxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDL0Msc0JBQXNCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQy9DLDhCQUE4QixFQUFFLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFO1FBQ2hFLHdCQUF3QixFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUNuRCxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDL0Msd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQ25ELHFCQUFxQixFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUM3QyxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDM0MsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUU7UUFDcEUsZ0NBQWdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7UUFDbkUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQy9DLHNCQUFzQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUMvQyxtQ0FBbUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDOUQsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzFELG1DQUFtQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUM5RCxnQ0FBZ0MsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDeEQsK0JBQStCLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3RELHdDQUF3QyxFQUFFO1lBQ3hDLE9BQU8sRUFBRSx3QkFBd0I7U0FDbEM7UUFDRCwyQ0FBMkMsRUFBRTtZQUMzQyxPQUFPLEVBQUUsb0JBQW9CO1NBQzlCO1FBQ0QsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQzFELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUMxRCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7UUFDN0Qsd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFO1FBQ2pELGlDQUFpQyxFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ3ZFLDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRTtRQUMzRCxzQ0FBc0MsRUFBRTtZQUN0QyxPQUFPLEVBQUUsNEJBQTRCO1NBQ3RDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLDhCQUE4QjtJQUNsQyxTQUFTLENBQ2QsVUFBNEIsRUFDNUIsSUFBWTtRQUVaLE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzBIQUE1Qiw0QkFBNEIsWUFUN0IsYUFBYTswSEFTWiw0QkFBNEIsYUFSNUI7UUFDVDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsUUFBUSxFQUFFLDhCQUE4QjtZQUN4QyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsWUFQUyxhQUFhOzJGQVNaLDRCQUE0QjtrQkFWeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsOEJBQThCOzRCQUN4QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LWluZGljYXRvcnMnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2FsZXJ0X2Nsb3NlOiB7IG1lc3NhZ2U6ICdDbG9zZSB0aGUgYWxlcnQnIH0sXG4gICAgc2t5dXhfYWxlcnRfc3JfYXR0ZW50aW9uOiB7IG1lc3NhZ2U6ICdBdHRlbnRpb246JyB9LFxuICAgIHNreXV4X2FsZXJ0X3NyX2NhdXRpb246IHsgbWVzc2FnZTogJ0NhdXRpb246JyB9LFxuICAgIHNreXV4X2FsZXJ0X3NyX2NvbXBsZXRlZDogeyBtZXNzYWdlOiAnQ29tcGxldGVkOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl9kYW5nZXI6IHsgbWVzc2FnZTogJ0RhbmdlcjonIH0sXG4gICAgc2t5dXhfYWxlcnRfc3JfZXJyb3I6IHsgbWVzc2FnZTogJ0Vycm9yOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl9pbXBvcnRhbnRfaW5mbzogeyBtZXNzYWdlOiAnSW1wb3J0YW50IGluZm9ybWF0aW9uOicgfSxcbiAgICBza3l1eF9hbGVydF9zcl9pbXBvcnRhbnRfd2FybmluZzogeyBtZXNzYWdlOiAnSW1wb3J0YW50IHdhcm5pbmc6JyB9LFxuICAgIHNreXV4X2FsZXJ0X3NyX3N1Y2Nlc3M6IHsgbWVzc2FnZTogJ1N1Y2Nlc3M6JyB9LFxuICAgIHNreXV4X2FsZXJ0X3NyX3dhcm5pbmc6IHsgbWVzc2FnZTogJ1dhcm5pbmc6JyB9LFxuICAgIHNreXV4X2hlbHBfaW5saW5lX2J1dHRvbl90aXRsZTogeyBtZXNzYWdlOiAnU2hvdyBoZWxwIGNvbnRlbnQnIH0sXG4gICAgc2t5dXhfbGFiZWxfc3JfYXR0ZW50aW9uOiB7IG1lc3NhZ2U6ICdBdHRlbnRpb246JyB9LFxuICAgIHNreXV4X2xhYmVsX3NyX2NhdXRpb246IHsgbWVzc2FnZTogJ0NhdXRpb246JyB9LFxuICAgIHNreXV4X2xhYmVsX3NyX2NvbXBsZXRlZDogeyBtZXNzYWdlOiAnQ29tcGxldGVkOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl9kYW5nZXI6IHsgbWVzc2FnZTogJ0RhbmdlcjonIH0sXG4gICAgc2t5dXhfbGFiZWxfc3JfZXJyb3I6IHsgbWVzc2FnZTogJ0Vycm9yOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl9pbXBvcnRhbnRfaW5mbzogeyBtZXNzYWdlOiAnSW1wb3J0YW50IGluZm9ybWF0aW9uOicgfSxcbiAgICBza3l1eF9sYWJlbF9zcl9pbXBvcnRhbnRfd2FybmluZzogeyBtZXNzYWdlOiAnSW1wb3J0YW50IHdhcm5pbmc6JyB9LFxuICAgIHNreXV4X2xhYmVsX3NyX3N1Y2Nlc3M6IHsgbWVzc2FnZTogJ1N1Y2Nlc3M6JyB9LFxuICAgIHNreXV4X2xhYmVsX3NyX3dhcm5pbmc6IHsgbWVzc2FnZTogJ1dhcm5pbmc6JyB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfYXR0ZW50aW9uOiB7IG1lc3NhZ2U6ICdBdHRlbnRpb246JyB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfY2F1dGlvbjogeyBtZXNzYWdlOiAnQ2F1dGlvbjonIH0sXG4gICAgc2t5dXhfc3RhdHVzX2luZGljYXRvcl9zcl9jb21wbGV0ZWQ6IHsgbWVzc2FnZTogJ0NvbXBsZXRlZDonIH0sXG4gICAgc2t5dXhfc3RhdHVzX2luZGljYXRvcl9zcl9kYW5nZXI6IHsgbWVzc2FnZTogJ0RhbmdlcjonIH0sXG4gICAgc2t5dXhfc3RhdHVzX2luZGljYXRvcl9zcl9lcnJvcjogeyBtZXNzYWdlOiAnRXJyb3I6JyB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfaW1wb3J0YW50X2luZm86IHtcbiAgICAgIG1lc3NhZ2U6ICdJbXBvcnRhbnQgaW5mb3JtYXRpb246JyxcbiAgICB9LFxuICAgIHNreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfaW1wb3J0YW50X3dhcm5pbmc6IHtcbiAgICAgIG1lc3NhZ2U6ICdJbXBvcnRhbnQgd2FybmluZzonLFxuICAgIH0sXG4gICAgc2t5dXhfc3RhdHVzX2luZGljYXRvcl9zcl9zdWNjZXNzOiB7IG1lc3NhZ2U6ICdTdWNjZXNzOicgfSxcbiAgICBza3l1eF9zdGF0dXNfaW5kaWNhdG9yX3NyX3dhcm5pbmc6IHsgbWVzc2FnZTogJ1dhcm5pbmc6JyB9LFxuICAgIHNreXV4X3Rva2Vuc19kaXNtaXNzX2J1dHRvbl90aXRsZTogeyBtZXNzYWdlOiAnUmVtb3ZlIGl0ZW0nIH0sXG4gICAgc2t5dXhfd2FpdF9hcmlhX2FsdF90ZXh0OiB7IG1lc3NhZ2U6ICdMb2FkaW5nLicgfSxcbiAgICBza3l1eF93YWl0X2Jsb2NraW5nX2FyaWFfYWx0X3RleHQ6IHsgbWVzc2FnZTogJ0xvYWRpbmcuIFBsZWFzZSB3YWl0LicgfSxcbiAgICBza3l1eF93YWl0X3BhZ2VfYXJpYV9hbHRfdGV4dDogeyBtZXNzYWdlOiAnUGFnZSBsb2FkaW5nLicgfSxcbiAgICBza3l1eF93YWl0X3BhZ2VfYmxvY2tpbmdfYXJpYV9hbHRfdGV4dDoge1xuICAgICAgbWVzc2FnZTogJ1BhZ2UgbG9hZGluZy4gUGxlYXNlIHdhaXQuJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreUluZGljYXRvcnNSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreUluZGljYXRvcnNSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUluZGljYXRvcnNSZXNvdXJjZXNNb2R1bGUge31cbiJdfQ==
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 while an element or page loads.
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
- * and whether it is a blocking wait. For example, the default for a page-blocking
31
- * wait is "Page loading. Please wait."
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
- /* istanbul ignore else */
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 while an element or page loads.
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
- * and whether it is a blocking wait. For example, the default for a page-blocking
1827
- * wait is "Page loading. Please wait."
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
- /* istanbul ignore else */
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"] }]