@clr/angular 16.3.7 → 16.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -108,5 +108,8 @@ export const commonStringsDefault = {
108
108
  * Datagrid footer; sr-only text after the number of selected rows.
109
109
  */
110
110
  selectedRows: 'Selected rows',
111
+ // Accordion/Stepper
112
+ stepComplete: 'Step {STEP} complete',
113
+ stepError: 'Error in step {STEP}',
111
114
  };
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3MuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3MuZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBSUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXFCO0lBQ3BELElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixZQUFZLEVBQUUsZUFBZTtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QywwQkFBMEIsRUFBRSwyQkFBMkI7SUFDdkQsa0JBQWtCLEVBQUUsc0JBQXNCO0lBQzFDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsU0FBUztJQUNsQixXQUFXO0lBQ1gsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLHdCQUF3QixFQUFFLHlCQUF5QjtJQUNuRCx5QkFBeUIsRUFBRSwwQkFBMEI7SUFDckQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCw2QkFBNkIsRUFBRSxlQUFlO0lBQzlDLHdCQUF3QixFQUFFLHNCQUFzQjtJQUNoRCwwQkFBMEIsRUFBRSw0Q0FBNEM7SUFDeEUsUUFBUTtJQUNSLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsdUJBQXVCLEVBQUUsMENBQTBDO0lBQ25FLDJCQUEyQixFQUFFLDhDQUE4QztJQUMzRSxjQUFjO0lBQ2QscUJBQXFCLEVBQUUsYUFBYTtJQUNwQywrQkFBK0IsRUFBRSxhQUFhO0lBQzlDLCtCQUErQixFQUFFLDhCQUE4QjtJQUMvRCx1QkFBdUIsRUFBRSxnQkFBZ0I7SUFDekMsc0JBQXNCLEVBQUUsZUFBZTtJQUN2QyxtQkFBbUIsRUFBRSxZQUFZO0lBQ2pDLHdCQUF3QixFQUFFLGlCQUFpQjtJQUMzQyxvQkFBb0IsRUFBRSxhQUFhO0lBQ25DLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6Qyx5QkFBeUIsRUFBRSxxREFBcUQ7SUFDaEYsd0JBQXdCLEVBQUUsa0RBQWtEO0lBQzVFLHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCxhQUFhO0lBQ2IsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLGlCQUFpQjtJQUNqQix1QkFBdUIsRUFBRSxzQkFBc0I7SUFDL0Msd0JBQXdCLEVBQUUsdUJBQXVCO0lBQ2pELHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCwwQkFBMEIsRUFBRSxnQ0FBZ0M7SUFDNUQsY0FBYztJQUNkLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxpQkFBaUI7SUFDakIsc0JBQXNCLEVBQUUsYUFBYTtJQUNyQyxtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsaUJBQWlCLEVBQUUsT0FBTztJQUMxQixzQkFBc0IsRUFBRSxhQUFhO0lBQ3JDLFdBQVc7SUFDWCxjQUFjLEVBQUUsd0JBQXdCO0lBQ3hDLGlCQUFpQixFQUFFLHFDQUFxQztJQUN4RCxpQkFBaUIsRUFBRSxXQUFXO0lBQzlCLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsaUJBQWlCLEVBQUUsWUFBWTtJQUMvQixZQUFZLEVBQUUsY0FBYztJQUM1QiwyQkFBMkI7SUFDM0IsNkJBQTZCLEVBQUUsY0FBYztJQUM3Qyx1QkFBdUIsRUFBRSxRQUFRO0lBQ2pDLDRCQUE0QixFQUFFLHdCQUF3QjtJQUN0RCxnQ0FBZ0MsRUFBRSxnS0FBZ0s7SUFDbE0sU0FBUztJQUNULGlCQUFpQixFQUFFLFdBQVc7SUFDOUIsZUFBZSxFQUFFLE9BQU87SUFDeEIsc0JBQXNCLEVBQUUsaUJBQWlCO0lBRXpDOzs7T0FHRztJQUNILFlBQVksRUFBRSwyQkFBMkI7SUFDekMsWUFBWSxFQUFFLDJCQUEyQjtJQUV6Qzs7T0FFRztJQUNILFlBQVksRUFBRSxlQUFlO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3MgfSBmcm9tICcuL2NvbW1vbi1zdHJpbmdzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBjb21tb25TdHJpbmdzRGVmYXVsdDogQ2xyQ29tbW9uU3RyaW5ncyA9IHtcbiAgb3BlbjogJ09wZW4nLFxuICBjbG9zZTogJ0Nsb3NlJyxcbiAgc2hvdzogJ1Nob3cnLFxuICBoaWRlOiAnSGlkZScsXG4gIGV4cGFuZDogJ0V4cGFuZCcsXG4gIGNvbGxhcHNlOiAnQ29sbGFwc2UnLFxuICBtb3JlOiAnTW9yZScsXG4gIHNlbGVjdDogJ1NlbGVjdCcsXG4gIHNlbGVjdEFsbDogJ1NlbGVjdCBBbGwnLFxuICBwcmV2aW91czogJ1ByZXZpb3VzJyxcbiAgbmV4dDogJ05leHQnLFxuICBjdXJyZW50OiAnSnVtcCB0byBjdXJyZW50JyxcbiAgaW5mbzogJ0luZm8nLFxuICBzdWNjZXNzOiAnU3VjY2VzcycsXG4gIHdhcm5pbmc6ICdXYXJuaW5nJyxcbiAgZGFuZ2VyOiAnRXJyb3InLFxuICByb3dBY3Rpb25zOiAnQXZhaWxhYmxlIGFjdGlvbnMnLFxuICBwaWNrQ29sdW1uczogJ01hbmFnZSBDb2x1bW5zJyxcbiAgc2hvd0NvbHVtbnM6ICdTaG93IENvbHVtbnMnLFxuICBzb3J0Q29sdW1uOiAnU29ydCBDb2x1bW4nLFxuICBmaXJzdFBhZ2U6ICdGaXJzdCBQYWdlJyxcbiAgbGFzdFBhZ2U6ICdMYXN0IFBhZ2UnLFxuICBuZXh0UGFnZTogJ05leHQgUGFnZScsXG4gIHByZXZpb3VzUGFnZTogJ1ByZXZpb3VzIFBhZ2UnLFxuICBjdXJyZW50UGFnZTogJ0N1cnJlbnQgUGFnZScsXG4gIHRvdGFsUGFnZXM6ICdUb3RhbCBQYWdlcycsXG4gIGZpbHRlckl0ZW1zOiAnRmlsdGVyIGl0ZW1zJyxcbiAgbWluVmFsdWU6ICdNaW4gdmFsdWUnLFxuICBtYXhWYWx1ZTogJ01heCB2YWx1ZScsXG4gIG1vZGFsQ29udGVudFN0YXJ0OiAnQmVnaW5uaW5nIG9mIE1vZGFsIENvbnRlbnQnLFxuICBtb2RhbENvbnRlbnRFbmQ6ICdFbmQgb2YgTW9kYWwgQ29udGVudCcsXG4gIHNob3dDb2x1bW5zTWVudURlc2NyaXB0aW9uOiAnU2hvdyBvciBoaWRlIGNvbHVtbnMgbWVudScsXG4gIGFsbENvbHVtbnNTZWxlY3RlZDogJ0FsbCBjb2x1bW5zIHNlbGVjdGVkJyxcbiAgc2lnbnBvc3RUb2dnbGU6ICdTaWducG9zdCBUb2dnbGUnLFxuICBzaWducG9zdENsb3NlOiAnU2lnbnBvc3QgQ2xvc2UnLFxuICBsb2FkaW5nOiAnTG9hZGluZycsXG4gIC8vIERhdGFncmlkXG4gIGRldGFpbFBhbmVTdGFydDogJ1N0YXJ0IG9mIHJvdyBkZXRhaWxzJyxcbiAgZGV0YWlsUGFuZUVuZDogJ0VuZCBvZiByb3cgZGV0YWlscycsXG4gIHNpbmdsZVNlbGVjdGlvbkFyaWFMYWJlbDogJ1NpbmdsZSBzZWxlY3Rpb24gaGVhZGVyJyxcbiAgc2luZ2xlQWN0aW9uYWJsZUFyaWFMYWJlbDogJ1NpbmdsZSBhY3Rpb25hYmxlIGhlYWRlcicsXG4gIGRldGFpbEV4cGFuZGFibGVBcmlhTGFiZWw6ICdUb2dnbGUgbW9yZSByb3cgY29udGVudCcsXG4gIGRhdGFncmlkRmlsdGVyQXJpYUxhYmVsOiAnVG9nZ2xlIHtDT0xVTU59IGZpbHRlcicsXG4gIGRhdGFncmlkRmlsdGVyRGlhbG9nQXJpYUxhYmVsOiAnRmlsdGVyIGRpYWxvZycsXG4gIGNvbHVtblNlcGFyYXRvckFyaWFMYWJlbDogJ0NvbHVtbiByZXNpemUgaGFuZGxlJyxcbiAgY29sdW1uU2VwYXJhdG9yRGVzY3JpcHRpb246ICdVc2UgbGVmdCBvciByaWdodCBrZXkgdG8gcmVzaXplIHRoZSBjb2x1bW4nLFxuICAvLyBBbGVydFxuICBhbGVydENsb3NlQnV0dG9uQXJpYUxhYmVsOiAnQ2xvc2UgYWxlcnQnLFxuICBhbGVydE5leHRBbGVydEFyaWFMYWJlbDogJ05leHQgYWxlcnQgbWVzc2FnZSwge0NVUlJFTlR9IG9mIHtDT1VOVH0nLFxuICBhbGVydFByZXZpb3VzQWxlcnRBcmlhTGFiZWw6ICdQcmV2aW91cyBhbGVydCBtZXNzYWdlLCB7Q1VSUkVOVH0gb2Yge0NPVU5UfScsXG4gIC8vIERhdGUgUGlja2VyXG4gIGRhdGVwaWNrZXJEaWFsb2dMYWJlbDogJ0Nob29zZSBkYXRlJyxcbiAgZGF0ZXBpY2tlclRvZ2dsZUNob29zZURhdGVMYWJlbDogJ0Nob29zZSBkYXRlJyxcbiAgZGF0ZXBpY2tlclRvZ2dsZUNoYW5nZURhdGVMYWJlbDogJ0NoYW5nZSBkYXRlLCB7U0VMRUNURURfREFURX0nLFxuICBkYXRlcGlja2VyUHJldmlvdXNNb250aDogJ1ByZXZpb3VzIG1vbnRoJyxcbiAgZGF0ZXBpY2tlckN1cnJlbnRNb250aDogJ0N1cnJlbnQgbW9udGgnLFxuICBkYXRlcGlja2VyTmV4dE1vbnRoOiAnTmV4dCBtb250aCcsXG4gIGRhdGVwaWNrZXJQcmV2aW91c0RlY2FkZTogJ1ByZXZpb3VzIGRlY2FkZScsXG4gIGRhdGVwaWNrZXJOZXh0RGVjYWRlOiAnTmV4dCBkZWNhZGUnLFxuICBkYXRlcGlja2VyQ3VycmVudERlY2FkZTogJ0N1cnJlbnQgZGVjYWRlJyxcbiAgZGF0ZXBpY2tlclNlbGVjdE1vbnRoVGV4dDogJ1NlbGVjdCBtb250aCwgdGhlIGN1cnJlbnQgbW9udGggaXMge0NBTEVOREFSX01PTlRIfScsXG4gIGRhdGVwaWNrZXJTZWxlY3RZZWFyVGV4dDogJ1NlbGVjdCB5ZWFyLCB0aGUgY3VycmVudCB5ZWFyIGlzIHtDQUxFTkRBUl9ZRUFSfScsXG4gIGRhdGVwaWNrZXJTZWxlY3RlZExhYmVsOiAne0ZVTExfREFURX0gLSBTZWxlY3RlZCcsXG4gIC8vIFN0YWNrIFZpZXdcbiAgc3RhY2tWaWV3Q2hhbmdlZDogJ1ZhbHVlIGNoYW5nZWQuJyxcbiAgLy8gUmVzcG9uc2l2ZSBOYXZcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZU9wZW46ICdPcGVuIG5hdmlnYXRpb24gbWVudScsXG4gIHJlc3BvbnNpdmVOYXZUb2dnbGVDbG9zZTogJ0Nsb3NlIG5hdmlnYXRpb24gbWVudScsXG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd09wZW46ICdPcGVuIG5hdmlnYXRpb24gb3ZlcmZsb3cgbWVudScsXG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd0Nsb3NlOiAnQ2xvc2UgbmF2aWdhdGlvbiBvdmVyZmxvdyBtZW51JyxcbiAgLy9WZXJ0aWNhbCBOYXZcbiAgdmVydGljYWxOYXZUb2dnbGU6ICdUb2dnbGUgdmVydGljYWwgbmF2aWdhdGlvbicsXG4gIC8vIFRpbWVsaW5lIHN0ZXBzXG4gIHRpbWVsaW5lU3RlcE5vdFN0YXJ0ZWQ6ICdOb3Qgc3RhcnRlZCcsXG4gIHRpbWVsaW5lU3RlcEN1cnJlbnQ6ICdDdXJyZW50JyxcbiAgdGltZWxpbmVTdGVwU3VjY2VzczogJ0NvbXBsZXRlZCcsXG4gIHRpbWVsaW5lU3RlcEVycm9yOiAnRXJyb3InLFxuICB0aW1lbGluZVN0ZXBQcm9jZXNzaW5nOiAnSW4gcHJvZ3Jlc3MnLFxuICAvLyBDb21ib2JveFxuICBjb21ib2JveERlbGV0ZTogJ0RlbGV0ZSBzZWxlY3RlZCBvcHRpb24nLFxuICBjb21ib2JveFNlYXJjaGluZzogJ1NlYXJjaGluZyBmb3IgbWF0Y2hlcyBmb3IgXCJ7SU5QVVR9XCInLFxuICBjb21ib2JveFNlbGVjdGlvbjogJ1NlbGVjdGlvbicsXG4gIGNvbWJvYm94U2VsZWN0ZWQ6ICdTZWxlY3RlZCcsXG4gIGNvbWJvYm94Tm9SZXN1bHRzOiAnTm8gcmVzdWx0cycsXG4gIGNvbWJvYm94T3BlbjogJ1Nob3cgb3B0aW9ucycsXG4gIC8vIERhdGFncmlkIGV4cGFuZGFibGUgcm93c1xuICBkYXRhZ3JpZEV4cGFuZGFibGVCZWdpbm5pbmdPZjogJ0JlZ2lubmluZyBvZicsXG4gIGRhdGFncmlkRXhwYW5kYWJsZUVuZE9mOiAnRW5kIG9mJyxcbiAgZGF0YWdyaWRFeHBhbmRhYmxlUm93Q29udGVudDogJ0V4cGFuZGFibGUgcm93IGNvbnRlbnQnLFxuICBkYXRhZ3JpZEV4cGFuZGFibGVSb3dzSGVscGVyVGV4dDogYFNjcmVlbiByZWFkZXIgdGFibGUgY29tbWFuZHMgbWF5IG5vdCB3b3JrIGZvciB2aWV3aW5nIGV4cGFuZGVkIGNvbnRlbnQsIHBsZWFzZSB1c2UgeW91ciBzY3JlZW4gcmVhZGVyJ3MgYnJvd3NlIG1vZGUgdG8gcmVhZCB0aGUgY29udGVudCBleHBvc2VkIGJ5IHRoaXMgYnV0dG9uYCxcbiAgLy8gV2l6YXJkXG4gIHdpemFyZFN0ZXBTdWNjZXNzOiAnQ29tcGxldGVkJyxcbiAgd2l6YXJkU3RlcEVycm9yOiAnRXJyb3InLFxuICB3aXphcmRTdGVwbmF2QXJpYUxhYmVsOiAnU3RlcCBuYXZpZ2F0aW9uJyxcblxuICAvKipcbiAgICogUGFzc3dvcmQgSW5wdXRcbiAgICogU2NyZWVuLXJlYWRlciB0ZXh0IGZvciB0aGUgaGlkZS9zaG93IHBhc3N3b3JkIGZpZWxkIGJ1dHRvblxuICAgKi9cbiAgcGFzc3dvcmRIaWRlOiAnSGlkZSBwYXNzd29yZCBmb3Ige0xBQkVMfScsXG4gIHBhc3N3b3JkU2hvdzogJ1Nob3cgcGFzc3dvcmQgZm9yIHtMQUJFTH0nLFxuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBmb290ZXI7IHNyLW9ubHkgdGV4dCBhZnRlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIHJvd3MuXG4gICAqL1xuICBzZWxlY3RlZFJvd3M6ICdTZWxlY3RlZCByb3dzJyxcbn07XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3MuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3MuZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBSUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXFCO0lBQ3BELElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixZQUFZLEVBQUUsZUFBZTtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QywwQkFBMEIsRUFBRSwyQkFBMkI7SUFDdkQsa0JBQWtCLEVBQUUsc0JBQXNCO0lBQzFDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsU0FBUztJQUNsQixXQUFXO0lBQ1gsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLHdCQUF3QixFQUFFLHlCQUF5QjtJQUNuRCx5QkFBeUIsRUFBRSwwQkFBMEI7SUFDckQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCw2QkFBNkIsRUFBRSxlQUFlO0lBQzlDLHdCQUF3QixFQUFFLHNCQUFzQjtJQUNoRCwwQkFBMEIsRUFBRSw0Q0FBNEM7SUFDeEUsUUFBUTtJQUNSLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsdUJBQXVCLEVBQUUsMENBQTBDO0lBQ25FLDJCQUEyQixFQUFFLDhDQUE4QztJQUMzRSxjQUFjO0lBQ2QscUJBQXFCLEVBQUUsYUFBYTtJQUNwQywrQkFBK0IsRUFBRSxhQUFhO0lBQzlDLCtCQUErQixFQUFFLDhCQUE4QjtJQUMvRCx1QkFBdUIsRUFBRSxnQkFBZ0I7SUFDekMsc0JBQXNCLEVBQUUsZUFBZTtJQUN2QyxtQkFBbUIsRUFBRSxZQUFZO0lBQ2pDLHdCQUF3QixFQUFFLGlCQUFpQjtJQUMzQyxvQkFBb0IsRUFBRSxhQUFhO0lBQ25DLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6Qyx5QkFBeUIsRUFBRSxxREFBcUQ7SUFDaEYsd0JBQXdCLEVBQUUsa0RBQWtEO0lBQzVFLHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCxhQUFhO0lBQ2IsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLGlCQUFpQjtJQUNqQix1QkFBdUIsRUFBRSxzQkFBc0I7SUFDL0Msd0JBQXdCLEVBQUUsdUJBQXVCO0lBQ2pELHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCwwQkFBMEIsRUFBRSxnQ0FBZ0M7SUFDNUQsY0FBYztJQUNkLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxpQkFBaUI7SUFDakIsc0JBQXNCLEVBQUUsYUFBYTtJQUNyQyxtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsaUJBQWlCLEVBQUUsT0FBTztJQUMxQixzQkFBc0IsRUFBRSxhQUFhO0lBQ3JDLFdBQVc7SUFDWCxjQUFjLEVBQUUsd0JBQXdCO0lBQ3hDLGlCQUFpQixFQUFFLHFDQUFxQztJQUN4RCxpQkFBaUIsRUFBRSxXQUFXO0lBQzlCLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsaUJBQWlCLEVBQUUsWUFBWTtJQUMvQixZQUFZLEVBQUUsY0FBYztJQUM1QiwyQkFBMkI7SUFDM0IsNkJBQTZCLEVBQUUsY0FBYztJQUM3Qyx1QkFBdUIsRUFBRSxRQUFRO0lBQ2pDLDRCQUE0QixFQUFFLHdCQUF3QjtJQUN0RCxnQ0FBZ0MsRUFBRSxnS0FBZ0s7SUFDbE0sU0FBUztJQUNULGlCQUFpQixFQUFFLFdBQVc7SUFDOUIsZUFBZSxFQUFFLE9BQU87SUFDeEIsc0JBQXNCLEVBQUUsaUJBQWlCO0lBRXpDOzs7T0FHRztJQUNILFlBQVksRUFBRSwyQkFBMkI7SUFDekMsWUFBWSxFQUFFLDJCQUEyQjtJQUV6Qzs7T0FFRztJQUNILFlBQVksRUFBRSxlQUFlO0lBRTdCLG9CQUFvQjtJQUNwQixZQUFZLEVBQUUsc0JBQXNCO0lBQ3BDLFNBQVMsRUFBRSxzQkFBc0I7Q0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5ncyB9IGZyb20gJy4vY29tbW9uLXN0cmluZ3MuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGNvbW1vblN0cmluZ3NEZWZhdWx0OiBDbHJDb21tb25TdHJpbmdzID0ge1xuICBvcGVuOiAnT3BlbicsXG4gIGNsb3NlOiAnQ2xvc2UnLFxuICBzaG93OiAnU2hvdycsXG4gIGhpZGU6ICdIaWRlJyxcbiAgZXhwYW5kOiAnRXhwYW5kJyxcbiAgY29sbGFwc2U6ICdDb2xsYXBzZScsXG4gIG1vcmU6ICdNb3JlJyxcbiAgc2VsZWN0OiAnU2VsZWN0JyxcbiAgc2VsZWN0QWxsOiAnU2VsZWN0IEFsbCcsXG4gIHByZXZpb3VzOiAnUHJldmlvdXMnLFxuICBuZXh0OiAnTmV4dCcsXG4gIGN1cnJlbnQ6ICdKdW1wIHRvIGN1cnJlbnQnLFxuICBpbmZvOiAnSW5mbycsXG4gIHN1Y2Nlc3M6ICdTdWNjZXNzJyxcbiAgd2FybmluZzogJ1dhcm5pbmcnLFxuICBkYW5nZXI6ICdFcnJvcicsXG4gIHJvd0FjdGlvbnM6ICdBdmFpbGFibGUgYWN0aW9ucycsXG4gIHBpY2tDb2x1bW5zOiAnTWFuYWdlIENvbHVtbnMnLFxuICBzaG93Q29sdW1uczogJ1Nob3cgQ29sdW1ucycsXG4gIHNvcnRDb2x1bW46ICdTb3J0IENvbHVtbicsXG4gIGZpcnN0UGFnZTogJ0ZpcnN0IFBhZ2UnLFxuICBsYXN0UGFnZTogJ0xhc3QgUGFnZScsXG4gIG5leHRQYWdlOiAnTmV4dCBQYWdlJyxcbiAgcHJldmlvdXNQYWdlOiAnUHJldmlvdXMgUGFnZScsXG4gIGN1cnJlbnRQYWdlOiAnQ3VycmVudCBQYWdlJyxcbiAgdG90YWxQYWdlczogJ1RvdGFsIFBhZ2VzJyxcbiAgZmlsdGVySXRlbXM6ICdGaWx0ZXIgaXRlbXMnLFxuICBtaW5WYWx1ZTogJ01pbiB2YWx1ZScsXG4gIG1heFZhbHVlOiAnTWF4IHZhbHVlJyxcbiAgbW9kYWxDb250ZW50U3RhcnQ6ICdCZWdpbm5pbmcgb2YgTW9kYWwgQ29udGVudCcsXG4gIG1vZGFsQ29udGVudEVuZDogJ0VuZCBvZiBNb2RhbCBDb250ZW50JyxcbiAgc2hvd0NvbHVtbnNNZW51RGVzY3JpcHRpb246ICdTaG93IG9yIGhpZGUgY29sdW1ucyBtZW51JyxcbiAgYWxsQ29sdW1uc1NlbGVjdGVkOiAnQWxsIGNvbHVtbnMgc2VsZWN0ZWQnLFxuICBzaWducG9zdFRvZ2dsZTogJ1NpZ25wb3N0IFRvZ2dsZScsXG4gIHNpZ25wb3N0Q2xvc2U6ICdTaWducG9zdCBDbG9zZScsXG4gIGxvYWRpbmc6ICdMb2FkaW5nJyxcbiAgLy8gRGF0YWdyaWRcbiAgZGV0YWlsUGFuZVN0YXJ0OiAnU3RhcnQgb2Ygcm93IGRldGFpbHMnLFxuICBkZXRhaWxQYW5lRW5kOiAnRW5kIG9mIHJvdyBkZXRhaWxzJyxcbiAgc2luZ2xlU2VsZWN0aW9uQXJpYUxhYmVsOiAnU2luZ2xlIHNlbGVjdGlvbiBoZWFkZXInLFxuICBzaW5nbGVBY3Rpb25hYmxlQXJpYUxhYmVsOiAnU2luZ2xlIGFjdGlvbmFibGUgaGVhZGVyJyxcbiAgZGV0YWlsRXhwYW5kYWJsZUFyaWFMYWJlbDogJ1RvZ2dsZSBtb3JlIHJvdyBjb250ZW50JyxcbiAgZGF0YWdyaWRGaWx0ZXJBcmlhTGFiZWw6ICdUb2dnbGUge0NPTFVNTn0gZmlsdGVyJyxcbiAgZGF0YWdyaWRGaWx0ZXJEaWFsb2dBcmlhTGFiZWw6ICdGaWx0ZXIgZGlhbG9nJyxcbiAgY29sdW1uU2VwYXJhdG9yQXJpYUxhYmVsOiAnQ29sdW1uIHJlc2l6ZSBoYW5kbGUnLFxuICBjb2x1bW5TZXBhcmF0b3JEZXNjcmlwdGlvbjogJ1VzZSBsZWZ0IG9yIHJpZ2h0IGtleSB0byByZXNpemUgdGhlIGNvbHVtbicsXG4gIC8vIEFsZXJ0XG4gIGFsZXJ0Q2xvc2VCdXR0b25BcmlhTGFiZWw6ICdDbG9zZSBhbGVydCcsXG4gIGFsZXJ0TmV4dEFsZXJ0QXJpYUxhYmVsOiAnTmV4dCBhbGVydCBtZXNzYWdlLCB7Q1VSUkVOVH0gb2Yge0NPVU5UfScsXG4gIGFsZXJ0UHJldmlvdXNBbGVydEFyaWFMYWJlbDogJ1ByZXZpb3VzIGFsZXJ0IG1lc3NhZ2UsIHtDVVJSRU5UfSBvZiB7Q09VTlR9JyxcbiAgLy8gRGF0ZSBQaWNrZXJcbiAgZGF0ZXBpY2tlckRpYWxvZ0xhYmVsOiAnQ2hvb3NlIGRhdGUnLFxuICBkYXRlcGlja2VyVG9nZ2xlQ2hvb3NlRGF0ZUxhYmVsOiAnQ2hvb3NlIGRhdGUnLFxuICBkYXRlcGlja2VyVG9nZ2xlQ2hhbmdlRGF0ZUxhYmVsOiAnQ2hhbmdlIGRhdGUsIHtTRUxFQ1RFRF9EQVRFfScsXG4gIGRhdGVwaWNrZXJQcmV2aW91c01vbnRoOiAnUHJldmlvdXMgbW9udGgnLFxuICBkYXRlcGlja2VyQ3VycmVudE1vbnRoOiAnQ3VycmVudCBtb250aCcsXG4gIGRhdGVwaWNrZXJOZXh0TW9udGg6ICdOZXh0IG1vbnRoJyxcbiAgZGF0ZXBpY2tlclByZXZpb3VzRGVjYWRlOiAnUHJldmlvdXMgZGVjYWRlJyxcbiAgZGF0ZXBpY2tlck5leHREZWNhZGU6ICdOZXh0IGRlY2FkZScsXG4gIGRhdGVwaWNrZXJDdXJyZW50RGVjYWRlOiAnQ3VycmVudCBkZWNhZGUnLFxuICBkYXRlcGlja2VyU2VsZWN0TW9udGhUZXh0OiAnU2VsZWN0IG1vbnRoLCB0aGUgY3VycmVudCBtb250aCBpcyB7Q0FMRU5EQVJfTU9OVEh9JyxcbiAgZGF0ZXBpY2tlclNlbGVjdFllYXJUZXh0OiAnU2VsZWN0IHllYXIsIHRoZSBjdXJyZW50IHllYXIgaXMge0NBTEVOREFSX1lFQVJ9JyxcbiAgZGF0ZXBpY2tlclNlbGVjdGVkTGFiZWw6ICd7RlVMTF9EQVRFfSAtIFNlbGVjdGVkJyxcbiAgLy8gU3RhY2sgVmlld1xuICBzdGFja1ZpZXdDaGFuZ2VkOiAnVmFsdWUgY2hhbmdlZC4nLFxuICAvLyBSZXNwb25zaXZlIE5hdlxuICByZXNwb25zaXZlTmF2VG9nZ2xlT3BlbjogJ09wZW4gbmF2aWdhdGlvbiBtZW51JyxcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZUNsb3NlOiAnQ2xvc2UgbmF2aWdhdGlvbiBtZW51JyxcbiAgcmVzcG9uc2l2ZU5hdk92ZXJmbG93T3BlbjogJ09wZW4gbmF2aWdhdGlvbiBvdmVyZmxvdyBtZW51JyxcbiAgcmVzcG9uc2l2ZU5hdk92ZXJmbG93Q2xvc2U6ICdDbG9zZSBuYXZpZ2F0aW9uIG92ZXJmbG93IG1lbnUnLFxuICAvL1ZlcnRpY2FsIE5hdlxuICB2ZXJ0aWNhbE5hdlRvZ2dsZTogJ1RvZ2dsZSB2ZXJ0aWNhbCBuYXZpZ2F0aW9uJyxcbiAgLy8gVGltZWxpbmUgc3RlcHNcbiAgdGltZWxpbmVTdGVwTm90U3RhcnRlZDogJ05vdCBzdGFydGVkJyxcbiAgdGltZWxpbmVTdGVwQ3VycmVudDogJ0N1cnJlbnQnLFxuICB0aW1lbGluZVN0ZXBTdWNjZXNzOiAnQ29tcGxldGVkJyxcbiAgdGltZWxpbmVTdGVwRXJyb3I6ICdFcnJvcicsXG4gIHRpbWVsaW5lU3RlcFByb2Nlc3Npbmc6ICdJbiBwcm9ncmVzcycsXG4gIC8vIENvbWJvYm94XG4gIGNvbWJvYm94RGVsZXRlOiAnRGVsZXRlIHNlbGVjdGVkIG9wdGlvbicsXG4gIGNvbWJvYm94U2VhcmNoaW5nOiAnU2VhcmNoaW5nIGZvciBtYXRjaGVzIGZvciBcIntJTlBVVH1cIicsXG4gIGNvbWJvYm94U2VsZWN0aW9uOiAnU2VsZWN0aW9uJyxcbiAgY29tYm9ib3hTZWxlY3RlZDogJ1NlbGVjdGVkJyxcbiAgY29tYm9ib3hOb1Jlc3VsdHM6ICdObyByZXN1bHRzJyxcbiAgY29tYm9ib3hPcGVuOiAnU2hvdyBvcHRpb25zJyxcbiAgLy8gRGF0YWdyaWQgZXhwYW5kYWJsZSByb3dzXG4gIGRhdGFncmlkRXhwYW5kYWJsZUJlZ2lubmluZ09mOiAnQmVnaW5uaW5nIG9mJyxcbiAgZGF0YWdyaWRFeHBhbmRhYmxlRW5kT2Y6ICdFbmQgb2YnLFxuICBkYXRhZ3JpZEV4cGFuZGFibGVSb3dDb250ZW50OiAnRXhwYW5kYWJsZSByb3cgY29udGVudCcsXG4gIGRhdGFncmlkRXhwYW5kYWJsZVJvd3NIZWxwZXJUZXh0OiBgU2NyZWVuIHJlYWRlciB0YWJsZSBjb21tYW5kcyBtYXkgbm90IHdvcmsgZm9yIHZpZXdpbmcgZXhwYW5kZWQgY29udGVudCwgcGxlYXNlIHVzZSB5b3VyIHNjcmVlbiByZWFkZXIncyBicm93c2UgbW9kZSB0byByZWFkIHRoZSBjb250ZW50IGV4cG9zZWQgYnkgdGhpcyBidXR0b25gLFxuICAvLyBXaXphcmRcbiAgd2l6YXJkU3RlcFN1Y2Nlc3M6ICdDb21wbGV0ZWQnLFxuICB3aXphcmRTdGVwRXJyb3I6ICdFcnJvcicsXG4gIHdpemFyZFN0ZXBuYXZBcmlhTGFiZWw6ICdTdGVwIG5hdmlnYXRpb24nLFxuXG4gIC8qKlxuICAgKiBQYXNzd29yZCBJbnB1dFxuICAgKiBTY3JlZW4tcmVhZGVyIHRleHQgZm9yIHRoZSBoaWRlL3Nob3cgcGFzc3dvcmQgZmllbGQgYnV0dG9uXG4gICAqL1xuICBwYXNzd29yZEhpZGU6ICdIaWRlIHBhc3N3b3JkIGZvciB7TEFCRUx9JyxcbiAgcGFzc3dvcmRTaG93OiAnU2hvdyBwYXNzd29yZCBmb3Ige0xBQkVMfScsXG5cbiAgLyoqXG4gICAqIERhdGFncmlkIGZvb3Rlcjsgc3Itb25seSB0ZXh0IGFmdGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgcm93cy5cbiAgICovXG4gIHNlbGVjdGVkUm93czogJ1NlbGVjdGVkIHJvd3MnLFxuXG4gIC8vIEFjY29yZGlvbi9TdGVwcGVyXG4gIHN0ZXBDb21wbGV0ZTogJ1N0ZXAge1NURVB9IGNvbXBsZXRlJyxcbiAgc3RlcEVycm9yOiAnRXJyb3IgaW4gc3RlcCB7U1RFUH0nLFxufTtcbiJdfQ==
@@ -4,4 +4,4 @@
4
4
  * The full license information can be found in LICENSE in the root directory of this project.
5
5
  */
6
6
  export {};
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3MuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvaTE4bi9jb21tb24tc3RyaW5ncy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBDbHJDb21tb25TdHJpbmdzIHtcbiAgLyoqXG4gICAqIE9wZW4gYnV0dG9uXG4gICAqL1xuICBvcGVuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b25cbiAgICovXG4gIGNsb3NlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaG93IGJ1dHRvblxuICAgKi9cbiAgc2hvdzogc3RyaW5nO1xuICAvKipcbiAgICogSGlkZSBidXR0b25cbiAgICovXG4gIGhpZGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgY29tcG9uZW50czogZXhwYW5kIGNhcmV0XG4gICAqL1xuICBleHBhbmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgY29tcG9uZW50czogY29sbGFwc2UgY2FyZXRcbiAgICovXG4gIGNvbGxhcHNlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPdmVyZmxvdyBtZW51czogZWxsaXBzaXMgYnV0dG9uXG4gICAqL1xuICBtb3JlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZWxlY3RhYmxlIGNvbXBvbmVudHM6IGNoZWNrYm94IG9yIHJhZGlvXG4gICAqL1xuICBzZWxlY3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIFNlbGVjdGFibGUgY29tcG9uZW50czogY2hlY2tib3ggdG8gc2VsZWN0IGFsbFxuICAgKi9cbiAgc2VsZWN0QWxsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uOiBwcmV2aW91cyBidXR0b25cbiAgICovXG4gIHByZXZpb3VzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uOiBuZXh0IGJ1dHRvblxuICAgKi9cbiAgbmV4dDogc3RyaW5nO1xuICAvKipcbiAgICogUGFnaW5hdGlvbjogZ28gdG8gY3VycmVudFxuICAgKi9cbiAgY3VycmVudDogc3RyaW5nO1xuICAvKipcbiAgICogQWxlcnQgbGV2ZWxzOiBpbmZvXG4gICAqL1xuICBpbmZvOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGVydCBsZXZlbHM6IHN1Y2Nlc3NcbiAgICovXG4gIHN1Y2Nlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIEFsZXJ0IGxldmVsczogd2FybmluZ1xuICAgKi9cbiAgd2FybmluZzogc3RyaW5nO1xuICAvKipcbiAgICogQWxlcnQgbGV2ZWxzOiBkYW5nZXJcbiAgICovXG4gIGRhbmdlcjogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHJvdyBhY3Rpb25zXG4gICAqL1xuICByb3dBY3Rpb25zOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZDogcGljayBjb2x1bW5zXG4gICAqL1xuICBwaWNrQ29sdW1uczogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHNob3cgY29sdW1uc1xuICAgKi9cbiAgc2hvd0NvbHVtbnM6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBzb3J0IG9mIGNvbHVtbnNcbiAgICovXG4gIHNvcnRDb2x1bW46IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBmaXJzdCBwYWdlXG4gICAqL1xuICBmaXJzdFBhZ2U6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBsYXN0IHBhZ2VcbiAgICovXG4gIGxhc3RQYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZDogbmV4dCBwYWdlXG4gICAqL1xuICBuZXh0UGFnZTogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHByZXZpb3VzIHBhZ2VcbiAgICovXG4gIHByZXZpb3VzUGFnZTogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHByZXZpb3VzIHBhZ2VcbiAgICovXG4gIGN1cnJlbnRQYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ2lyZDogdG90YWwgcGFnZXNcbiAgICovXG4gIHRvdGFsUGFnZXM6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIHN0cmluZyBmaWx0ZXI6IGZpbHRlciBpdGVtc1xuICAgKi9cbiAgZmlsdGVySXRlbXM6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIG51bWVyaWMgZmlsdGVyOiBtaW5cbiAgICovXG4gIG1pblZhbHVlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBudW1lcmljIGZpbHRlcjogbWF4XG4gICAqL1xuICBtYXhWYWx1ZTogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQgZmlsdGVyIHRvZ2dsZSBidXR0b25cbiAgICovXG4gIGRhdGFncmlkRmlsdGVyQXJpYUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBmaWx0ZXIgZGlhbG9nXG4gICAqL1xuICBkYXRhZ3JpZEZpbHRlckRpYWxvZ0FyaWFMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQgY29sdW1uIGhhbmRsZXIgc3RyaW5nXG4gICAqL1xuICBjb2x1bW5TZXBhcmF0b3JBcmlhTGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIGNvbHVtbiByZXNpemUgaGFuZGxlciBzdHJpbmdcbiAgICovXG4gIGNvbHVtblNlcGFyYXRvckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNb2RhbCBzdGFydCBvZiBjb250ZW50XG4gICAqL1xuICBtb2RhbENvbnRlbnRTdGFydDogc3RyaW5nO1xuICAvKipcbiAgICogTW9kYWwgZW5kIG9mIGNvbnRlbnRcbiAgICovXG4gIG1vZGFsQ29udGVudEVuZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBTaG93IGNvbHVtbnMgbWVudSBkZXNjcmlwdGlvblxuICAgKi9cbiAgc2hvd0NvbHVtbnNNZW51RGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIFNob3cgY29sdW1ucyAvIEFsbCBjb2x1bW5zIHNlbGVjdGVkIGNvbmZpcm1hdGlvblxuICAgKi9cbiAgYWxsQ29sdW1uc1NlbGVjdGVkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaWducG9zdCBUb2dnbGUgQnV0dG9uXG4gICAqL1xuICBzaWducG9zdFRvZ2dsZTogc3RyaW5nO1xuICAvKipcbiAgICogU2lnbnBvc3QgQ2xvc2UgQnV0dG9uXG4gICAqICh1c2VkIGluc2lkZSBzaWducG9zdCBjb250ZW50IGNvbXBvbmVudHMpXG4gICAqL1xuICBzaWducG9zdENsb3NlOiBzdHJpbmc7XG4gIC8qXG4gICAqIExvYWRlcnMvU3Bpbm5lcnNcbiAgICovXG4gIGxvYWRpbmc6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBkZXRhaWwgcGFuZSBzdGFydCBjb250ZW50IGZvciBzY3JlZW4gcmVhZGVyXG4gICAqL1xuICBkZXRhaWxQYW5lU3RhcnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBkZXRhaWwgcGFuZSBlbmQgY29udGVudCBmb3Igc2NyZWVuIHJlYWRlclxuICAgKi9cbiAgZGV0YWlsUGFuZUVuZDogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IFNpbmdsZSBzZWxlY3Rpb24gaGVhZGVyXG4gICAqL1xuICBzaW5nbGVTZWxlY3Rpb25BcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogRGF0YWdyaWQ6IFNpbmdsZSBhY3Rpb25hYmxlIGhlYWRlclxuICAgKi9cbiAgc2luZ2xlQWN0aW9uYWJsZUFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZDogRXhwYW5kYWJsZSByb3dcbiAgICovXG4gIGRldGFpbEV4cGFuZGFibGVBcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQWxlcnQ6IENsb3NlIGFsZXJ0IGJ1dHRvblxuICAgKi9cbiAgYWxlcnRDbG9zZUJ1dHRvbkFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbGVydDogTmV4dCBBbGVydCBidXR0b25cbiAgICovXG4gIGFsZXJ0TmV4dEFsZXJ0QXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsZXJ0OiBQcmV2aW91cyBBbGVydCBidXR0b25cbiAgICovXG4gIGFsZXJ0UHJldmlvdXNBbGVydEFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIFVJIGxhYmVsc1xuICAgKi9cbiAgZGF0ZXBpY2tlckRpYWxvZ0xhYmVsOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJUb2dnbGVDaG9vc2VEYXRlTGFiZWw6IHN0cmluZztcbiAgZGF0ZXBpY2tlclRvZ2dsZUNoYW5nZURhdGVMYWJlbDogc3RyaW5nO1xuICBkYXRlcGlja2VyUHJldmlvdXNNb250aDogc3RyaW5nO1xuICBkYXRlcGlja2VyQ3VycmVudE1vbnRoOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJOZXh0TW9udGg6IHN0cmluZztcbiAgZGF0ZXBpY2tlclByZXZpb3VzRGVjYWRlOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJOZXh0RGVjYWRlOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJDdXJyZW50RGVjYWRlOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJTZWxlY3RNb250aFRleHQ6IHN0cmluZztcbiAgZGF0ZXBpY2tlclNlbGVjdFllYXJUZXh0OiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJTZWxlY3RlZExhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdGFjayBWaWV3OiBSZWNvcmQgaGFzIGNoYW5nZWRcbiAgICovXG4gIHN0YWNrVmlld0NoYW5nZWQ6IHN0cmluZztcbiAgLy8gUmVzcG9uc2l2ZSBOYXZcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZU9wZW46IHN0cmluZztcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZUNsb3NlOiBzdHJpbmc7XG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd09wZW46IHN0cmluZztcbiAgcmVzcG9uc2l2ZU5hdk92ZXJmbG93Q2xvc2U6IHN0cmluZztcbiAgLy8gVmVydGljYWwgTmF2XG4gIHZlcnRpY2FsTmF2VG9nZ2xlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaW1lbGluZSBTdGVwc1xuICAgKi9cbiAgdGltZWxpbmVTdGVwTm90U3RhcnRlZDogc3RyaW5nO1xuICB0aW1lbGluZVN0ZXBDdXJyZW50OiBzdHJpbmc7XG4gIHRpbWVsaW5lU3RlcFN1Y2Nlc3M6IHN0cmluZztcbiAgdGltZWxpbmVTdGVwRXJyb3I6IHN0cmluZztcbiAgdGltZWxpbmVTdGVwUHJvY2Vzc2luZzogc3RyaW5nO1xuXG4gIC8vIERhdGFncmlkIEhlbHBlciB0ZXh0IGZvciBleHBhbmRhYmxlIHJvd3NcbiAgZGF0YWdyaWRFeHBhbmRhYmxlQmVnaW5uaW5nT2Y6IHN0cmluZztcbiAgZGF0YWdyaWRFeHBhbmRhYmxlRW5kT2Y6IHN0cmluZztcbiAgZGF0YWdyaWRFeHBhbmRhYmxlUm93Q29udGVudDogc3RyaW5nO1xuICBkYXRhZ3JpZEV4cGFuZGFibGVSb3dzSGVscGVyVGV4dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb21ib2JveCBTZWFyY2hpbmcgVGV4dFxuICAgKi9cbiAgY29tYm9ib3hTZWFyY2hpbmc6IHN0cmluZztcbiAgY29tYm9ib3hEZWxldGU6IHN0cmluZztcbiAgY29tYm9ib3hTZWxlY3Rpb246IHN0cmluZztcbiAgY29tYm9ib3hTZWxlY3RlZDogc3RyaW5nO1xuICBjb21ib2JveE5vUmVzdWx0czogc3RyaW5nO1xuICBjb21ib2JveE9wZW46IHN0cmluZztcblxuICAvKipcbiAgICogV2l6YXJkOiBTY3JlZW4tcmVhZGVyIHRleHQgZm9yIGNvbXBsZXRlZCBzdGVwLlxuICAgKi9cbiAgd2l6YXJkU3RlcFN1Y2Nlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogV2l6YXJkOiBTY3JlZW4tcmVhZGVyIHRleHQgZm9yIHN0ZXAgd2l0aCBlcnJvci5cbiAgICovXG4gIHdpemFyZFN0ZXBFcnJvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaXphcmQ6IEFyaWEtbGFiZWwgZm9yIHRoZSBzdGVwbmF2IHNlY3Rpb24uXG4gICAqL1xuICB3aXphcmRTdGVwbmF2QXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhc3N3b3JkIElucHV0XG4gICAqIFNjcmVlbi1yZWFkZXIgdGV4dCBmb3IgdGhlIGhpZGUvc2hvdyBwYXNzd29yZCBmaWVsZCBidXR0b24uXG4gICAqL1xuICBwYXNzd29yZEhpZGU6IHN0cmluZztcbiAgcGFzc3dvcmRTaG93OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERhdGFncmlkIGZvb3Rlcjsgc3Itb25seSB0ZXh0IGFmdGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgcm93cy5cbiAgICovXG4gIHNlbGVjdGVkUm93czogc3RyaW5nO1xufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3MuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvaTE4bi9jb21tb24tc3RyaW5ncy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBDbHJDb21tb25TdHJpbmdzIHtcbiAgLyoqXG4gICAqIE9wZW4gYnV0dG9uXG4gICAqL1xuICBvcGVuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b25cbiAgICovXG4gIGNsb3NlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaG93IGJ1dHRvblxuICAgKi9cbiAgc2hvdzogc3RyaW5nO1xuICAvKipcbiAgICogSGlkZSBidXR0b25cbiAgICovXG4gIGhpZGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgY29tcG9uZW50czogZXhwYW5kIGNhcmV0XG4gICAqL1xuICBleHBhbmQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEV4cGFuZGFibGUgY29tcG9uZW50czogY29sbGFwc2UgY2FyZXRcbiAgICovXG4gIGNvbGxhcHNlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPdmVyZmxvdyBtZW51czogZWxsaXBzaXMgYnV0dG9uXG4gICAqL1xuICBtb3JlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZWxlY3RhYmxlIGNvbXBvbmVudHM6IGNoZWNrYm94IG9yIHJhZGlvXG4gICAqL1xuICBzZWxlY3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIFNlbGVjdGFibGUgY29tcG9uZW50czogY2hlY2tib3ggdG8gc2VsZWN0IGFsbFxuICAgKi9cbiAgc2VsZWN0QWxsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uOiBwcmV2aW91cyBidXR0b25cbiAgICovXG4gIHByZXZpb3VzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uOiBuZXh0IGJ1dHRvblxuICAgKi9cbiAgbmV4dDogc3RyaW5nO1xuICAvKipcbiAgICogUGFnaW5hdGlvbjogZ28gdG8gY3VycmVudFxuICAgKi9cbiAgY3VycmVudDogc3RyaW5nO1xuICAvKipcbiAgICogQWxlcnQgbGV2ZWxzOiBpbmZvXG4gICAqL1xuICBpbmZvOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGVydCBsZXZlbHM6IHN1Y2Nlc3NcbiAgICovXG4gIHN1Y2Nlc3M6IHN0cmluZztcbiAgLyoqXG4gICAqIEFsZXJ0IGxldmVsczogd2FybmluZ1xuICAgKi9cbiAgd2FybmluZzogc3RyaW5nO1xuICAvKipcbiAgICogQWxlcnQgbGV2ZWxzOiBkYW5nZXJcbiAgICovXG4gIGRhbmdlcjogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHJvdyBhY3Rpb25zXG4gICAqL1xuICByb3dBY3Rpb25zOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZDogcGljayBjb2x1bW5zXG4gICAqL1xuICBwaWNrQ29sdW1uczogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHNob3cgY29sdW1uc1xuICAgKi9cbiAgc2hvd0NvbHVtbnM6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBzb3J0IG9mIGNvbHVtbnNcbiAgICovXG4gIHNvcnRDb2x1bW46IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBmaXJzdCBwYWdlXG4gICAqL1xuICBmaXJzdFBhZ2U6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBsYXN0IHBhZ2VcbiAgICovXG4gIGxhc3RQYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZDogbmV4dCBwYWdlXG4gICAqL1xuICBuZXh0UGFnZTogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHByZXZpb3VzIHBhZ2VcbiAgICovXG4gIHByZXZpb3VzUGFnZTogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IHByZXZpb3VzIHBhZ2VcbiAgICovXG4gIGN1cnJlbnRQYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ2lyZDogdG90YWwgcGFnZXNcbiAgICovXG4gIHRvdGFsUGFnZXM6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIHN0cmluZyBmaWx0ZXI6IGZpbHRlciBpdGVtc1xuICAgKi9cbiAgZmlsdGVySXRlbXM6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIG51bWVyaWMgZmlsdGVyOiBtaW5cbiAgICovXG4gIG1pblZhbHVlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBudW1lcmljIGZpbHRlcjogbWF4XG4gICAqL1xuICBtYXhWYWx1ZTogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQgZmlsdGVyIHRvZ2dsZSBidXR0b25cbiAgICovXG4gIGRhdGFncmlkRmlsdGVyQXJpYUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBmaWx0ZXIgZGlhbG9nXG4gICAqL1xuICBkYXRhZ3JpZEZpbHRlckRpYWxvZ0FyaWFMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQgY29sdW1uIGhhbmRsZXIgc3RyaW5nXG4gICAqL1xuICBjb2x1bW5TZXBhcmF0b3JBcmlhTGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIGNvbHVtbiByZXNpemUgaGFuZGxlciBzdHJpbmdcbiAgICovXG4gIGNvbHVtblNlcGFyYXRvckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNb2RhbCBzdGFydCBvZiBjb250ZW50XG4gICAqL1xuICBtb2RhbENvbnRlbnRTdGFydDogc3RyaW5nO1xuICAvKipcbiAgICogTW9kYWwgZW5kIG9mIGNvbnRlbnRcbiAgICovXG4gIG1vZGFsQ29udGVudEVuZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBTaG93IGNvbHVtbnMgbWVudSBkZXNjcmlwdGlvblxuICAgKi9cbiAgc2hvd0NvbHVtbnNNZW51RGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkIFNob3cgY29sdW1ucyAvIEFsbCBjb2x1bW5zIHNlbGVjdGVkIGNvbmZpcm1hdGlvblxuICAgKi9cbiAgYWxsQ29sdW1uc1NlbGVjdGVkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTaWducG9zdCBUb2dnbGUgQnV0dG9uXG4gICAqL1xuICBzaWducG9zdFRvZ2dsZTogc3RyaW5nO1xuICAvKipcbiAgICogU2lnbnBvc3QgQ2xvc2UgQnV0dG9uXG4gICAqICh1c2VkIGluc2lkZSBzaWducG9zdCBjb250ZW50IGNvbXBvbmVudHMpXG4gICAqL1xuICBzaWducG9zdENsb3NlOiBzdHJpbmc7XG4gIC8qXG4gICAqIExvYWRlcnMvU3Bpbm5lcnNcbiAgICovXG4gIGxvYWRpbmc6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBkZXRhaWwgcGFuZSBzdGFydCBjb250ZW50IGZvciBzY3JlZW4gcmVhZGVyXG4gICAqL1xuICBkZXRhaWxQYW5lU3RhcnQ6IHN0cmluZztcbiAgLyoqXG4gICAqIERhdGFncmlkOiBkZXRhaWwgcGFuZSBlbmQgY29udGVudCBmb3Igc2NyZWVuIHJlYWRlclxuICAgKi9cbiAgZGV0YWlsUGFuZUVuZDogc3RyaW5nO1xuICAvKipcbiAgICogRGF0YWdyaWQ6IFNpbmdsZSBzZWxlY3Rpb24gaGVhZGVyXG4gICAqL1xuICBzaW5nbGVTZWxlY3Rpb25BcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogRGF0YWdyaWQ6IFNpbmdsZSBhY3Rpb25hYmxlIGhlYWRlclxuICAgKi9cbiAgc2luZ2xlQWN0aW9uYWJsZUFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZDogRXhwYW5kYWJsZSByb3dcbiAgICovXG4gIGRldGFpbEV4cGFuZGFibGVBcmlhTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQWxlcnQ6IENsb3NlIGFsZXJ0IGJ1dHRvblxuICAgKi9cbiAgYWxlcnRDbG9zZUJ1dHRvbkFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbGVydDogTmV4dCBBbGVydCBidXR0b25cbiAgICovXG4gIGFsZXJ0TmV4dEFsZXJ0QXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsZXJ0OiBQcmV2aW91cyBBbGVydCBidXR0b25cbiAgICovXG4gIGFsZXJ0UHJldmlvdXNBbGVydEFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIFVJIGxhYmVsc1xuICAgKi9cbiAgZGF0ZXBpY2tlckRpYWxvZ0xhYmVsOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJUb2dnbGVDaG9vc2VEYXRlTGFiZWw6IHN0cmluZztcbiAgZGF0ZXBpY2tlclRvZ2dsZUNoYW5nZURhdGVMYWJlbDogc3RyaW5nO1xuICBkYXRlcGlja2VyUHJldmlvdXNNb250aDogc3RyaW5nO1xuICBkYXRlcGlja2VyQ3VycmVudE1vbnRoOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJOZXh0TW9udGg6IHN0cmluZztcbiAgZGF0ZXBpY2tlclByZXZpb3VzRGVjYWRlOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJOZXh0RGVjYWRlOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJDdXJyZW50RGVjYWRlOiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJTZWxlY3RNb250aFRleHQ6IHN0cmluZztcbiAgZGF0ZXBpY2tlclNlbGVjdFllYXJUZXh0OiBzdHJpbmc7XG4gIGRhdGVwaWNrZXJTZWxlY3RlZExhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdGFjayBWaWV3OiBSZWNvcmQgaGFzIGNoYW5nZWRcbiAgICovXG4gIHN0YWNrVmlld0NoYW5nZWQ6IHN0cmluZztcbiAgLy8gUmVzcG9uc2l2ZSBOYXZcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZU9wZW46IHN0cmluZztcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZUNsb3NlOiBzdHJpbmc7XG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd09wZW46IHN0cmluZztcbiAgcmVzcG9uc2l2ZU5hdk92ZXJmbG93Q2xvc2U6IHN0cmluZztcbiAgLy8gVmVydGljYWwgTmF2XG4gIHZlcnRpY2FsTmF2VG9nZ2xlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaW1lbGluZSBTdGVwc1xuICAgKi9cbiAgdGltZWxpbmVTdGVwTm90U3RhcnRlZDogc3RyaW5nO1xuICB0aW1lbGluZVN0ZXBDdXJyZW50OiBzdHJpbmc7XG4gIHRpbWVsaW5lU3RlcFN1Y2Nlc3M6IHN0cmluZztcbiAgdGltZWxpbmVTdGVwRXJyb3I6IHN0cmluZztcbiAgdGltZWxpbmVTdGVwUHJvY2Vzc2luZzogc3RyaW5nO1xuXG4gIC8vIERhdGFncmlkIEhlbHBlciB0ZXh0IGZvciBleHBhbmRhYmxlIHJvd3NcbiAgZGF0YWdyaWRFeHBhbmRhYmxlQmVnaW5uaW5nT2Y6IHN0cmluZztcbiAgZGF0YWdyaWRFeHBhbmRhYmxlRW5kT2Y6IHN0cmluZztcbiAgZGF0YWdyaWRFeHBhbmRhYmxlUm93Q29udGVudDogc3RyaW5nO1xuICBkYXRhZ3JpZEV4cGFuZGFibGVSb3dzSGVscGVyVGV4dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb21ib2JveCBTZWFyY2hpbmcgVGV4dFxuICAgKi9cbiAgY29tYm9ib3hTZWFyY2hpbmc6IHN0cmluZztcbiAgY29tYm9ib3hEZWxldGU6IHN0cmluZztcbiAgY29tYm9ib3hTZWxlY3Rpb246IHN0cmluZztcbiAgY29tYm9ib3hTZWxlY3RlZDogc3RyaW5nO1xuICBjb21ib2JveE5vUmVzdWx0czogc3RyaW5nO1xuICBjb21ib2JveE9wZW46IHN0cmluZztcblxuICAvKipcbiAgICogV2l6YXJkOiBTY3JlZW4tcmVhZGVyIHRleHQgZm9yIGNvbXBsZXRlZCBzdGVwLlxuICAgKi9cbiAgd2l6YXJkU3RlcFN1Y2Nlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogV2l6YXJkOiBTY3JlZW4tcmVhZGVyIHRleHQgZm9yIHN0ZXAgd2l0aCBlcnJvci5cbiAgICovXG4gIHdpemFyZFN0ZXBFcnJvcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaXphcmQ6IEFyaWEtbGFiZWwgZm9yIHRoZSBzdGVwbmF2IHNlY3Rpb24uXG4gICAqL1xuICB3aXphcmRTdGVwbmF2QXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhc3N3b3JkIElucHV0XG4gICAqIFNjcmVlbi1yZWFkZXIgdGV4dCBmb3IgdGhlIGhpZGUvc2hvdyBwYXNzd29yZCBmaWVsZCBidXR0b24uXG4gICAqL1xuICBwYXNzd29yZEhpZGU6IHN0cmluZztcbiAgcGFzc3dvcmRTaG93OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERhdGFncmlkIGZvb3Rlcjsgc3Itb25seSB0ZXh0IGFmdGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgcm93cy5cbiAgICovXG4gIHNlbGVjdGVkUm93czogc3RyaW5nO1xuXG4gIC8vU3RlcHBlcjogU2NyZWVuLXJlYWRlciB0ZXh0IGZvciBjb21wbGV0ZWQvZmFpbGVkIHN0ZXBcbiAgc3RlcENvbXBsZXRlOiBzdHJpbmc7XG4gIHN0ZXBFcnJvcjogc3RyaW5nO1xufVxuIl19
@@ -369,6 +369,9 @@ const commonStringsDefault = {
369
369
  * Datagrid footer; sr-only text after the number of selected rows.
370
370
  */
371
371
  selectedRows: 'Selected rows',
372
+ // Accordion/Stepper
373
+ stepComplete: 'Step {STEP} complete',
374
+ stepError: 'Error in step {STEP}',
372
375
  };
373
376
 
374
377
  /*
@@ -596,6 +599,12 @@ class ClrAccordionPanel {
596
599
  getAccordionHeaderId(id) {
597
600
  return `clr-accordion-header-${id}`;
598
601
  }
602
+ stepCompleteText(panelNumber) {
603
+ return this.commonStrings.parse(this.commonStrings.keys.stepComplete, { STEP: panelNumber.toString() });
604
+ }
605
+ stepErrorText(panelNumber) {
606
+ return this.commonStrings.parse(this.commonStrings.keys.stepError, { STEP: panelNumber.toString() });
607
+ }
599
608
  emitPanelChange(panel) {
600
609
  if (panel.index !== this._panelIndex) {
601
610
  this._panelIndex = panel.index;
@@ -623,10 +632,10 @@ class ClrAccordionPanel {
623
632
  }
624
633
  }
625
634
  ClrAccordionPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, deps: [{ token: ClrCommonStringsService }, { token: AccordionService }, { token: IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
626
- ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true", "class.clr-accordion-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
635
+ ClrAccordionPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrAccordionPanel, selector: "clr-accordion-panel", inputs: { disabled: ["clrAccordionPanelDisabled", "disabled"], panelOpen: ["clrAccordionPanelOpen", "panelOpen"] }, outputs: { panelOpenChange: "clrAccordionPanelOpenChange" }, host: { properties: { "class.clr-accordion-panel": "true", "class.clr-accordion-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "accordionDescription", predicate: ClrAccordionDescription }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: panelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
627
636
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrAccordionPanel, decorators: [{
628
637
  type: Component,
629
- args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
638
+ args: [{ selector: 'clr-accordion-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: panelAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
630
639
  }], ctorParameters: function () { return [{ type: ClrCommonStringsService }, { type: AccordionService }, { type: IfExpandService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { disabled: [{
631
640
  type: Input,
632
641
  args: ['clrAccordionPanelDisabled']
@@ -1152,10 +1161,10 @@ class ClrStepperPanel extends ClrAccordionPanel {
1152
1161
  }
1153
1162
  }
1154
1163
  ClrStepperPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, deps: [{ token: PLATFORM_ID }, { token: ClrCommonStringsService }, { token: i1.FormGroupName, optional: true }, { token: i1.NgModelGroup, optional: true }, { token: StepperService }, { token: IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1155
- ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1164
+ ClrStepperPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrStepperPanel, selector: "clr-stepper-panel", host: { properties: { "class.clr-accordion-panel": "true" } }, providers: [IfExpandService], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], animations: stepAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1156
1165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrStepperPanel, decorators: [{
1157
1166
  type: Component,
1158
- args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\">{{commonStrings.keys.danger}}</ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">{{commonStrings.keys.success}}</ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
1167
+ args: [{ selector: 'clr-stepper-panel', host: { '[class.clr-accordion-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: stepAnimation, providers: [IfExpandService], template: "<ng-container *ngIf=\"panel | async; let panel\">\n <div [ngClass]=\"getPanelStateClasses(panel)\">\n <div class=\"clr-accordion-header\">\n <button\n type=\"button\"\n class=\"clr-accordion-header-button\"\n (click)=\"togglePanel()\"\n [id]=\"getAccordionHeaderId(panel.templateId)\"\n [disabled]=\"isAccordion && panel.disabled\"\n [attr.aria-disabled]=\"!isAccordion && panel.disabled\"\n [attr.aria-controls]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-expanded]=\"panel.open\"\n [class.clr-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\n #headerButton\n >\n <span class=\"clr-sr-only\" role=\"status\">\n <ng-container *ngIf=\"panel.status === AccordionStatus.Error\"> {{ stepErrorText(panelNumber)}} </ng-container>\n <ng-container *ngIf=\"panel.status === AccordionStatus.Complete\">\n {{ stepCompleteText(panelNumber)}}\n </ng-container>\n </span>\n <span class=\"clr-accordion-status\">\n <cds-icon shape=\"angle\" direction=\"right\" class=\"clr-accordion-angle\"></cds-icon>\n <span class=\"clr-accordion-number\">{{panelNumber}}.</span>\n <cds-icon status=\"danger\" shape=\"exclamation-circle\" class=\"clr-accordion-error-icon\"></cds-icon>\n <cds-icon status=\"success\" shape=\"check-circle\" class=\"clr-accordion-complete-icon\"></cds-icon>\n </span>\n <ng-content select=\"clr-accordion-title, clr-step-title\"></ng-content>\n <ng-content select=\"clr-accordion-description, clr-step-description\"></ng-content>\n </button>\n </div>\n <div\n @skipInitialRender\n role=\"region\"\n class=\"clr-accordion-content-region\"\n [id]=\"getAccordionContentId(panel.templateId)\"\n [attr.aria-hidden]=\"!panel.open\"\n [attr.aria-labelledby]=\"getAccordionHeaderId(panel.templateId)\"\n >\n <div\n *ngIf=\"panel.open\"\n @toggle\n (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\"\n class=\"clr-accordion-content\"\n >\n <div class=\"clr-accordion-inner-content\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</ng-container>\n" }]
1159
1168
  }], ctorParameters: function () {
1160
1169
  return [{ type: undefined, decorators: [{
1161
1170
  type: Inject,
@@ -6759,6 +6768,9 @@ class ClrOptions {
6759
6768
  get emptyOptions() {
6760
6769
  return !this.optionSelectionService.loading && this.items.length === 0;
6761
6770
  }
6771
+ get noResultsElementId() {
6772
+ return `${this.optionsId}-no-results`;
6773
+ }
6762
6774
  ngAfterViewInit() {
6763
6775
  this.focusHandler.listbox = this.el.nativeElement;
6764
6776
  this.subscriptions.push(fromEvent(this.document, 'scroll', { capture: true }).subscribe(event => {
@@ -6800,7 +6812,7 @@ ClrOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "1
6800
6812
  </div>
6801
6813
 
6802
6814
  <!-- Rendered if data set is empty -->
6803
- <div *ngIf="emptyOptions">
6815
+ <div *ngIf="emptyOptions" [id]="noResultsElementId" role="option">
6804
6816
  <span class="clr-combobox-options-empty-text">
6805
6817
  {{ commonStrings.keys.comboboxNoResults }}
6806
6818
  </span>
@@ -6824,7 +6836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
6824
6836
  </div>
6825
6837
 
6826
6838
  <!-- Rendered if data set is empty -->
6827
- <div *ngIf="emptyOptions">
6839
+ <div *ngIf="emptyOptions" [id]="noResultsElementId" role="option">
6828
6840
  <span class="clr-combobox-options-empty-text">
6829
6841
  {{ commonStrings.keys.comboboxNoResults }}
6830
6842
  </span>
@@ -7013,7 +7025,11 @@ class ClrCombobox extends WrappedFormControl {
7013
7025
  }
7014
7026
  }
7015
7027
  onBlur() {
7028
+ var _a, _b;
7016
7029
  this.onTouchedCallback();
7030
+ if (this.control.control.updateOn === 'change' && ((_b = (_a = this.control.control) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b.required)) {
7031
+ this.updateControlValue();
7032
+ }
7017
7033
  if (this.control.control.updateOn === 'blur') {
7018
7034
  this.control.control.updateValueAndValidity();
7019
7035
  }
@@ -7047,8 +7063,9 @@ class ClrCombobox extends WrappedFormControl {
7047
7063
  this.onChangeCallback = onChange;
7048
7064
  }
7049
7065
  getActiveDescendant() {
7066
+ var _a;
7050
7067
  const model = this.focusHandler.pseudoFocus.model;
7051
- return model ? model.id : null;
7068
+ return model ? model.id : (_a = this.options) === null || _a === void 0 ? void 0 : _a.noResultsElementId;
7052
7069
  }
7053
7070
  setDisabledState() {
7054
7071
  // do nothing
@@ -9023,7 +9040,7 @@ class ClrMonthpicker {
9023
9040
  }
9024
9041
  }
9025
9042
  ClrMonthpicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrMonthpicker, deps: [{ token: ViewManagerService }, { token: LocaleHelperService }, { token: DateNavigationService }, { token: DatepickerFocusService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
9026
- ClrMonthpicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrMonthpicker, selector: "clr-monthpicker", host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.monthpicker": "true" } }, ngImport: i0, template: `
9043
+ ClrMonthpicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrMonthpicker, selector: "clr-monthpicker", host: { attributes: { "role": "application" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.monthpicker": "true" } }, ngImport: i0, template: `
9027
9044
  <button
9028
9045
  type="button"
9029
9046
  class="calendar-btn month"
@@ -9053,6 +9070,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
9053
9070
  `,
9054
9071
  host: {
9055
9072
  '[class.monthpicker]': 'true',
9073
+ role: 'application',
9056
9074
  },
9057
9075
  }]
9058
9076
  }], ctorParameters: function () { return [{ type: ViewManagerService }, { type: LocaleHelperService }, { type: DateNavigationService }, { type: DatepickerFocusService }, { type: i0.ElementRef }]; }, propDecorators: { onKeyDown: [{
@@ -9239,7 +9257,7 @@ class ClrYearpicker {
9239
9257
  }
9240
9258
  }
9241
9259
  ClrYearpicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrYearpicker, deps: [{ token: DateNavigationService }, { token: ViewManagerService }, { token: DatepickerFocusService }, { token: i0.ElementRef }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
9242
- ClrYearpicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrYearpicker, selector: "clr-yearpicker", host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.yearpicker": "true" } }, ngImport: i0, template: `
9260
+ ClrYearpicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrYearpicker, selector: "clr-yearpicker", host: { attributes: { "role": "application" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.yearpicker": "true" } }, ngImport: i0, template: `
9243
9261
  <div class="year-switchers">
9244
9262
  <button
9245
9263
  class="calendar-btn switcher"
@@ -9325,6 +9343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
9325
9343
  `,
9326
9344
  host: {
9327
9345
  '[class.yearpicker]': 'true',
9346
+ role: 'application',
9328
9347
  },
9329
9348
  }]
9330
9349
  }], ctorParameters: function () { return [{ type: DateNavigationService }, { type: ViewManagerService }, { type: DatepickerFocusService }, { type: i0.ElementRef }, { type: ClrCommonStringsService }]; }, propDecorators: { onKeyDown: [{
@@ -9398,10 +9417,10 @@ class ClrDaypicker {
9398
9417
  }
9399
9418
  }
9400
9419
  ClrDaypicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDaypicker, deps: [{ token: ViewManagerService }, { token: DateNavigationService }, { token: LocaleHelperService }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
9401
- ClrDaypicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDaypicker, selector: "clr-daypicker", host: { properties: { "class.daypicker": "true" } }, ngImport: i0, template: "<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n<div class=\"calendar-header\">\n <div class=\"calendar-pickers\">\n <button\n class=\"calendar-btn monthpicker-trigger\"\n type=\"button\"\n (click)=\"changeToMonthView()\"\n [attr.aria-label]=\"monthAttrString\"\n [attr.title]=\"monthAttrString\"\n >\n {{calendarMonth}}\n </button>\n <button\n class=\"calendar-btn yearpicker-trigger\"\n type=\"button\"\n (click)=\"changeToYearView()\"\n [attr.aria-label]=\"yearAttrString\"\n [attr.title]=\"yearAttrString\"\n >\n {{calendarYear}}\n </button>\n </div>\n <div class=\"calendar-switchers\">\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"previousMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerPreviousMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"left\" [attr.title]=\"commonStrings.keys.datepickerPreviousMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"currentMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerCurrentMonth\"\n >\n <cds-icon shape=\"event\" [attr.title]=\"commonStrings.keys.datepickerCurrentMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"nextMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerNextMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"right\" [attr.title]=\"commonStrings.keys.datepickerNextMonth\"></cds-icon>\n </button>\n </div>\n</div>\n<clr-calendar></clr-calendar>\n<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n", dependencies: [{ kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrCalendar, selector: "clr-calendar" }] });
9420
+ ClrDaypicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDaypicker, selector: "clr-daypicker", host: { attributes: { "role": "application" }, properties: { "class.daypicker": "true" } }, ngImport: i0, template: "<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n<div class=\"calendar-header\">\n <div class=\"calendar-pickers\">\n <button\n class=\"calendar-btn monthpicker-trigger\"\n type=\"button\"\n (click)=\"changeToMonthView()\"\n [attr.aria-label]=\"monthAttrString\"\n [attr.title]=\"monthAttrString\"\n >\n {{calendarMonth}}\n </button>\n <button\n class=\"calendar-btn yearpicker-trigger\"\n type=\"button\"\n (click)=\"changeToYearView()\"\n [attr.aria-label]=\"yearAttrString\"\n [attr.title]=\"yearAttrString\"\n >\n {{calendarYear}}\n </button>\n </div>\n <div class=\"calendar-switchers\">\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"previousMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerPreviousMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"left\" [attr.title]=\"commonStrings.keys.datepickerPreviousMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"currentMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerCurrentMonth\"\n >\n <cds-icon shape=\"event\" [attr.title]=\"commonStrings.keys.datepickerCurrentMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"nextMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerNextMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"right\" [attr.title]=\"commonStrings.keys.datepickerNextMonth\"></cds-icon>\n </button>\n </div>\n</div>\n<clr-calendar></clr-calendar>\n<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n", dependencies: [{ kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: ClrCalendar, selector: "clr-calendar" }] });
9402
9421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDaypicker, decorators: [{
9403
9422
  type: Component,
9404
- args: [{ selector: 'clr-daypicker', host: { '[class.daypicker]': 'true' }, template: "<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n<div class=\"calendar-header\">\n <div class=\"calendar-pickers\">\n <button\n class=\"calendar-btn monthpicker-trigger\"\n type=\"button\"\n (click)=\"changeToMonthView()\"\n [attr.aria-label]=\"monthAttrString\"\n [attr.title]=\"monthAttrString\"\n >\n {{calendarMonth}}\n </button>\n <button\n class=\"calendar-btn yearpicker-trigger\"\n type=\"button\"\n (click)=\"changeToYearView()\"\n [attr.aria-label]=\"yearAttrString\"\n [attr.title]=\"yearAttrString\"\n >\n {{calendarYear}}\n </button>\n </div>\n <div class=\"calendar-switchers\">\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"previousMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerPreviousMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"left\" [attr.title]=\"commonStrings.keys.datepickerPreviousMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"currentMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerCurrentMonth\"\n >\n <cds-icon shape=\"event\" [attr.title]=\"commonStrings.keys.datepickerCurrentMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"nextMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerNextMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"right\" [attr.title]=\"commonStrings.keys.datepickerNextMonth\"></cds-icon>\n </button>\n </div>\n</div>\n<clr-calendar></clr-calendar>\n<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n" }]
9423
+ args: [{ selector: 'clr-daypicker', host: { '[class.daypicker]': 'true', role: 'application' }, template: "<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n<div class=\"calendar-header\">\n <div class=\"calendar-pickers\">\n <button\n class=\"calendar-btn monthpicker-trigger\"\n type=\"button\"\n (click)=\"changeToMonthView()\"\n [attr.aria-label]=\"monthAttrString\"\n [attr.title]=\"monthAttrString\"\n >\n {{calendarMonth}}\n </button>\n <button\n class=\"calendar-btn yearpicker-trigger\"\n type=\"button\"\n (click)=\"changeToYearView()\"\n [attr.aria-label]=\"yearAttrString\"\n [attr.title]=\"yearAttrString\"\n >\n {{calendarYear}}\n </button>\n </div>\n <div class=\"calendar-switchers\">\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"previousMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerPreviousMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"left\" [attr.title]=\"commonStrings.keys.datepickerPreviousMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"currentMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerCurrentMonth\"\n >\n <cds-icon shape=\"event\" [attr.title]=\"commonStrings.keys.datepickerCurrentMonth\"></cds-icon>\n </button>\n <button\n class=\"calendar-btn switcher\"\n type=\"button\"\n (click)=\"nextMonth()\"\n [attr.aria-label]=\"commonStrings.keys.datepickerNextMonth\"\n >\n <cds-icon shape=\"angle\" direction=\"right\" [attr.title]=\"commonStrings.keys.datepickerNextMonth\"></cds-icon>\n </button>\n </div>\n</div>\n<clr-calendar></clr-calendar>\n<div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n" }]
9405
9424
  }], ctorParameters: function () { return [{ type: ViewManagerService }, { type: DateNavigationService }, { type: LocaleHelperService }, { type: ClrCommonStringsService }]; } });
9406
9425
 
9407
9426
  /*
@@ -10378,6 +10397,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
10378
10397
  }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
10379
10398
  } });
10380
10399
 
10400
+ /*
10401
+ * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
10402
+ * This software is released under MIT license.
10403
+ * The full license information can be found in LICENSE in the root directory of this project.
10404
+ */
10405
+
10381
10406
  /*
10382
10407
  * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
10383
10408
  * This software is released under MIT license.
@@ -10391,6 +10416,7 @@ class ClrRadioContainer extends ClrAbstractContainer {
10391
10416
  this.ngControlService = ngControlService;
10392
10417
  this.ifControlStateService = ifControlStateService;
10393
10418
  this.inline = false;
10419
+ this._generatedId = uniqueIdFactory();
10394
10420
  }
10395
10421
  /*
10396
10422
  * Here we want to support the following cases
@@ -10411,13 +10437,25 @@ class ClrRadioContainer extends ClrAbstractContainer {
10411
10437
  }
10412
10438
  ngAfterContentInit() {
10413
10439
  this.setAriaRoles();
10440
+ this.setAriaLabelledBy();
10414
10441
  }
10415
10442
  setAriaRoles() {
10416
- this.role = this.radios.length ? 'group' : null;
10443
+ this.role = this.radios.length ? 'radiogroup' : null;
10444
+ }
10445
+ setAriaLabelledBy() {
10446
+ var _a, _b;
10447
+ const _id = (_a = this.groupLabel) === null || _a === void 0 ? void 0 : _a.nativeElement.getAttribute('id');
10448
+ if (!_id) {
10449
+ (_b = this.groupLabel) === null || _b === void 0 ? void 0 : _b.nativeElement.setAttribute('id', this._generatedId);
10450
+ this.ariaLabelledBy = this.radios.length ? this._generatedId : null;
10451
+ }
10452
+ else {
10453
+ this.ariaLabelledBy = this.radios.length ? _id : null;
10454
+ }
10417
10455
  }
10418
10456
  }
10419
10457
  ClrRadioContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrRadioContainer, deps: [{ token: LayoutService, optional: true }, { token: ControlClassService }, { token: NgControlService }, { token: IfControlStateService }], target: i0.ɵɵFactoryTarget.Component });
10420
- ClrRadioContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrRadioContainer, selector: "clr-radio-container", inputs: { clrInline: "clrInline" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()", "attr.role": "role" } }, providers: [NgControlService, IfControlStateService, ControlClassService, ContainerIdService], queries: [{ propertyName: "radios", predicate: ClrRadio, descendants: true }], usesInheritance: true, ngImport: i0, template: `
10458
+ ClrRadioContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrRadioContainer, selector: "clr-radio-container", inputs: { clrInline: "clrInline" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()", "attr.role": "role", "attr.aria-labelledby": "ariaLabelledBy" } }, providers: [NgControlService, IfControlStateService, ControlClassService, ContainerIdService], queries: [{ propertyName: "groupLabel", first: true, predicate: ClrLabel, descendants: true, read: ElementRef, static: true }, { propertyName: "radios", predicate: ClrRadio, descendants: true }], usesInheritance: true, ngImport: i0, template: `
10421
10459
  <ng-content select="label"></ng-content>
10422
10460
  <label *ngIf="!label && addGrid()"></label>
10423
10461
  <div class="clr-control-container" [class.clr-control-inline]="clrInline" [ngClass]="controlClass()">
@@ -10478,6 +10516,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
10478
10516
  '[class.clr-form-control-disabled]': 'control?.disabled',
10479
10517
  '[class.clr-row]': 'addGrid()',
10480
10518
  '[attr.role]': 'role',
10519
+ '[attr.aria-labelledby]': 'ariaLabelledBy',
10481
10520
  },
10482
10521
  providers: [NgControlService, IfControlStateService, ControlClassService, ContainerIdService],
10483
10522
  }]
@@ -10488,6 +10527,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
10488
10527
  }, propDecorators: { radios: [{
10489
10528
  type: ContentChildren,
10490
10529
  args: [ClrRadio, { descendants: true }]
10530
+ }], groupLabel: [{
10531
+ type: ContentChild,
10532
+ args: [ClrLabel, { read: ElementRef, static: true }]
10491
10533
  }], clrInline: [{
10492
10534
  type: Input
10493
10535
  }] } });
@@ -17946,6 +17988,9 @@ class RecursiveChildren {
17946
17988
  });
17947
17989
  }
17948
17990
  }
17991
+ ngAfterContentInit() {
17992
+ this.setAriaRoles();
17993
+ }
17949
17994
  shouldRender() {
17950
17995
  return (this.featuresService.recursion &&
17951
17996
  // In the smart case, we eagerly render all the recursive children
@@ -17964,9 +18009,12 @@ class RecursiveChildren {
17964
18009
  this.subscription.unsubscribe();
17965
18010
  }
17966
18011
  }
18012
+ setAriaRoles() {
18013
+ this.role = this.parent ? 'group' : null;
18014
+ }
17967
18015
  }
17968
18016
  RecursiveChildren.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: RecursiveChildren, deps: [{ token: TreeFeaturesService }, { token: IfExpandService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
17969
- RecursiveChildren.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecursiveChildren, selector: "clr-recursive-children", inputs: { parent: "parent", children: "children" }, host: { properties: { "attr.role": "\"group\"" } }, ngImport: i0, template: `
18017
+ RecursiveChildren.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: RecursiveChildren, selector: "clr-recursive-children", inputs: { parent: "parent", children: "children" }, host: { properties: { "attr.role": "role" } }, ngImport: i0, template: `
17970
18018
  <ng-container *ngIf="shouldRender()">
17971
18019
  <ng-container *ngFor="let child of parent?.children || children">
17972
18020
  <ng-container *ngTemplateOutlet="featuresService.recursion.template; context: getContext(child)"></ng-container>
@@ -17985,7 +18033,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
17985
18033
  </ng-container>
17986
18034
  `,
17987
18035
  host: {
17988
- '[attr.role]': '"group"', // Safari + VO needs direct relationship between treeitem and group; no element should exist between them
18036
+ '[attr.role]': 'role', // Safari + VO needs direct relationship between treeitem and group; no element should exist between them
17989
18037
  },
17990
18038
  }]
17991
18039
  }], ctorParameters: function () {
@@ -21257,7 +21305,7 @@ class ClrTabContent {
21257
21305
  }
21258
21306
  get ariaLabelledBy() {
21259
21307
  var _a, _b;
21260
- return (_b = (_a = this.tabsService.children.find(tab => tab.tabContent === this)) === null || _a === void 0 ? void 0 : _a.tabLink) === null || _b === void 0 ? void 0 : _b.tabLinkId;
21308
+ return (_b = (_a = this.tabsService.children.find(tab => tab.tabLink.id === this.id)) === null || _a === void 0 ? void 0 : _a.tabLink) === null || _b === void 0 ? void 0 : _b.tabLinkId;
21261
21309
  }
21262
21310
  // The template must be applied on the top-down phase of view-child initialization to prevent
21263
21311
  // components in the content from initializing before a content container exists.
@@ -22410,7 +22458,7 @@ class ClrModal {
22410
22458
  }
22411
22459
  }
22412
22460
  ClrModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrModal, deps: [{ token: ScrollingService }, { token: ClrCommonStringsService }, { token: ModalStackService }], target: i0.ɵɵFactoryTarget.Component });
22413
- ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], closeButtonAriaLabel: ["clrModalCloseButtonAriaLabel", "closeButtonAriaLabel"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { properties: { "class.open": "this._open" } }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"modal\" *ngIf=\"_open\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" cdkFocusInitial tabindex=\"-1\">\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n", styles: [":host{display:none}:host.open{display:inline}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }], viewProviders: [ScrollingService], animations: [
22461
+ ClrModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrModal, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], closeButtonAriaLabel: ["clrModalCloseButtonAriaLabel", "closeButtonAriaLabel"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { properties: { "class.open": "this._open" } }, usesOnChanges: true, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div *ngIf=\"_open\" class=\"modal\" [class.modal-full-screen]=\"size == 'full-screen'\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" cdkFocusInitial tabindex=\"-1\">\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n", styles: [":host{display:none}:host.open{display:inline}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "directive", type: CdsIconCustomTag, selector: "cds-icon" }], viewProviders: [ScrollingService], animations: [
22414
22462
  trigger('fadeDown', [
22415
22463
  transition('* => false', [style({ opacity: 0, transform: 'translate(0, -25%)' }), animate('0.2s ease-in-out')]),
22416
22464
  transition('false => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' }))]),
@@ -22431,7 +22479,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
22431
22479
  transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),
22432
22480
  transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),
22433
22481
  ]),
22434
- ], template: "<!--\n ~ Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div class=\"modal\" *ngIf=\"_open\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" cdkFocusInitial tabindex=\"-1\">\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n", styles: [":host{display:none}:host.open{display:inline}\n"] }]
22482
+ ], template: "<!--\n ~ Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<div *ngIf=\"_open\" class=\"modal\" [class.modal-full-screen]=\"size == 'full-screen'\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [@fadeDown]=\"skipAnimation\"\n (@fadeDown.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <div class=\"modal-content-wrapper\">\n <!-- only used in wizards -->\n <ng-content select=\".modal-nav\"></ng-content>\n\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <div class=\"modal-title-wrapper\" id=\"{{modalId}}\" cdkFocusInitial tabindex=\"-1\">\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n *ngIf=\"closable\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n </div>\n <div class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n </div>\n\n <div [@fade] class=\"modal-backdrop\" aria-hidden=\"true\" (click)=\"staticBackdrop || close()\"></div>\n</div>\n", styles: [":host{display:none}:host.open{display:inline}\n"] }]
22435
22483
  }], ctorParameters: function () { return [{ type: ScrollingService }, { type: ClrCommonStringsService }, { type: ModalStackService }]; }, propDecorators: { _open: [{
22436
22484
  type: Input,
22437
22485
  args: ['clrModalOpen']
@@ -26531,12 +26579,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
26531
26579
  * The full license information can be found in LICENSE in the root directory of this project.
26532
26580
  */
26533
26581
 
26534
- /*
26535
- * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
26536
- * This software is released under MIT license.
26537
- * The full license information can be found in LICENSE in the root directory of this project.
26538
- */
26539
-
26540
26582
  /*
26541
26583
  * Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
26542
26584
  * This software is released under MIT license.