@clr/angular 16.3.2 → 16.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/stepper/models/stepper.model.d.ts +2 -0
- package/accordion/stepper/providers/stepper.service.d.ts +2 -0
- package/clarity.api.md +4 -0
- package/esm2020/accordion/stepper/models/stepper.model.mjs +7 -1
- package/esm2020/accordion/stepper/providers/stepper.service.mjs +9 -1
- package/esm2020/accordion/stepper/stepper-panel.mjs +11 -6
- package/esm2020/button/button-loading/loading-button.mjs +11 -11
- package/esm2020/forms/combobox/option-items.directive.mjs +12 -6
- package/esm2020/forms/password/password-container.mjs +9 -3
- package/esm2020/popover/signpost/signpost-trigger.mjs +2 -1
- package/esm2020/utils/i18n/common-strings.default.mjs +3 -3
- package/fesm2015/clr-angular.mjs +56 -24
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +56 -24
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/forms/password/password-container.d.ts +2 -0
- package/package.json +2 -2
|
@@ -102,11 +102,11 @@ export const commonStringsDefault = {
|
|
|
102
102
|
* Password Input
|
|
103
103
|
* Screen-reader text for the hide/show password field button
|
|
104
104
|
*/
|
|
105
|
-
passwordHide: 'Hide password',
|
|
106
|
-
passwordShow: 'Show password',
|
|
105
|
+
passwordHide: 'Hide password for {LABEL}',
|
|
106
|
+
passwordShow: 'Show password for {LABEL}',
|
|
107
107
|
/**
|
|
108
108
|
* Datagrid footer; sr-only text after the number of selected rows.
|
|
109
109
|
*/
|
|
110
110
|
selectedRows: 'Selected rows',
|
|
111
111
|
};
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3MuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3MuZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBSUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXFCO0lBQ3BELElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsVUFBVTtJQUNwQixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0IsV0FBVyxFQUFFLGdCQUFnQjtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixTQUFTLEVBQUUsWUFBWTtJQUN2QixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixZQUFZLEVBQUUsZUFBZTtJQUM3QixXQUFXLEVBQUUsY0FBYztJQUMzQixVQUFVLEVBQUUsYUFBYTtJQUN6QixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixRQUFRLEVBQUUsV0FBVztJQUNyQixpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QywwQkFBMEIsRUFBRSwyQkFBMkI7SUFDdkQsa0JBQWtCLEVBQUUsc0JBQXNCO0lBQzFDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsU0FBUztJQUNsQixXQUFXO0lBQ1gsZUFBZSxFQUFFLHNCQUFzQjtJQUN2QyxhQUFhLEVBQUUsb0JBQW9CO0lBQ25DLHdCQUF3QixFQUFFLHlCQUF5QjtJQUNuRCx5QkFBeUIsRUFBRSwwQkFBMEI7SUFDckQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCw2QkFBNkIsRUFBRSxlQUFlO0lBQzlDLHdCQUF3QixFQUFFLHNCQUFzQjtJQUNoRCwwQkFBMEIsRUFBRSw0Q0FBNEM7SUFDeEUsUUFBUTtJQUNSLHlCQUF5QixFQUFFLGFBQWE7SUFDeEMsdUJBQXVCLEVBQUUsMENBQTBDO0lBQ25FLDJCQUEyQixFQUFFLDhDQUE4QztJQUMzRSxjQUFjO0lBQ2QscUJBQXFCLEVBQUUsYUFBYTtJQUNwQywrQkFBK0IsRUFBRSxhQUFhO0lBQzlDLCtCQUErQixFQUFFLDhCQUE4QjtJQUMvRCx1QkFBdUIsRUFBRSxnQkFBZ0I7SUFDekMsc0JBQXNCLEVBQUUsZUFBZTtJQUN2QyxtQkFBbUIsRUFBRSxZQUFZO0lBQ2pDLHdCQUF3QixFQUFFLGlCQUFpQjtJQUMzQyxvQkFBb0IsRUFBRSxhQUFhO0lBQ25DLHVCQUF1QixFQUFFLGdCQUFnQjtJQUN6Qyx5QkFBeUIsRUFBRSxxREFBcUQ7SUFDaEYsd0JBQXdCLEVBQUUsa0RBQWtEO0lBQzVFLHVCQUF1QixFQUFFLHdCQUF3QjtJQUNqRCxhQUFhO0lBQ2IsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLGlCQUFpQjtJQUNqQix1QkFBdUIsRUFBRSxzQkFBc0I7SUFDL0Msd0JBQXdCLEVBQUUsdUJBQXVCO0lBQ2pELHlCQUF5QixFQUFFLCtCQUErQjtJQUMxRCwwQkFBMEIsRUFBRSxnQ0FBZ0M7SUFDNUQsY0FBYztJQUNkLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxpQkFBaUI7SUFDakIsc0JBQXNCLEVBQUUsYUFBYTtJQUNyQyxtQkFBbUIsRUFBRSxTQUFTO0lBQzlCLG1CQUFtQixFQUFFLFdBQVc7SUFDaEMsaUJBQWlCLEVBQUUsT0FBTztJQUMxQixzQkFBc0IsRUFBRSxhQUFhO0lBQ3JDLFdBQVc7SUFDWCxjQUFjLEVBQUUsd0JBQXdCO0lBQ3hDLGlCQUFpQixFQUFFLHFDQUFxQztJQUN4RCxpQkFBaUIsRUFBRSxXQUFXO0lBQzlCLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsaUJBQWlCLEVBQUUsWUFBWTtJQUMvQixZQUFZLEVBQUUsY0FBYztJQUM1QiwyQkFBMkI7SUFDM0IsNkJBQTZCLEVBQUUsY0FBYztJQUM3Qyx1QkFBdUIsRUFBRSxRQUFRO0lBQ2pDLDRCQUE0QixFQUFFLHdCQUF3QjtJQUN0RCxnQ0FBZ0MsRUFBRSxnS0FBZ0s7SUFDbE0sU0FBUztJQUNULGlCQUFpQixFQUFFLFdBQVc7SUFDOUIsZUFBZSxFQUFFLE9BQU87SUFDeEIsc0JBQXNCLEVBQUUsaUJBQWlCO0lBRXpDOzs7T0FHRztJQUNILFlBQVksRUFBRSwyQkFBMkI7SUFDekMsWUFBWSxFQUFFLDJCQUEyQjtJQUV6Qzs7T0FFRztJQUNILFlBQVksRUFBRSxlQUFlO0NBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENsckNvbW1vblN0cmluZ3MgfSBmcm9tICcuL2NvbW1vbi1zdHJpbmdzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBjb21tb25TdHJpbmdzRGVmYXVsdDogQ2xyQ29tbW9uU3RyaW5ncyA9IHtcbiAgb3BlbjogJ09wZW4nLFxuICBjbG9zZTogJ0Nsb3NlJyxcbiAgc2hvdzogJ1Nob3cnLFxuICBoaWRlOiAnSGlkZScsXG4gIGV4cGFuZDogJ0V4cGFuZCcsXG4gIGNvbGxhcHNlOiAnQ29sbGFwc2UnLFxuICBtb3JlOiAnTW9yZScsXG4gIHNlbGVjdDogJ1NlbGVjdCcsXG4gIHNlbGVjdEFsbDogJ1NlbGVjdCBBbGwnLFxuICBwcmV2aW91czogJ1ByZXZpb3VzJyxcbiAgbmV4dDogJ05leHQnLFxuICBjdXJyZW50OiAnSnVtcCB0byBjdXJyZW50JyxcbiAgaW5mbzogJ0luZm8nLFxuICBzdWNjZXNzOiAnU3VjY2VzcycsXG4gIHdhcm5pbmc6ICdXYXJuaW5nJyxcbiAgZGFuZ2VyOiAnRXJyb3InLFxuICByb3dBY3Rpb25zOiAnQXZhaWxhYmxlIGFjdGlvbnMnLFxuICBwaWNrQ29sdW1uczogJ01hbmFnZSBDb2x1bW5zJyxcbiAgc2hvd0NvbHVtbnM6ICdTaG93IENvbHVtbnMnLFxuICBzb3J0Q29sdW1uOiAnU29ydCBDb2x1bW4nLFxuICBmaXJzdFBhZ2U6ICdGaXJzdCBQYWdlJyxcbiAgbGFzdFBhZ2U6ICdMYXN0IFBhZ2UnLFxuICBuZXh0UGFnZTogJ05leHQgUGFnZScsXG4gIHByZXZpb3VzUGFnZTogJ1ByZXZpb3VzIFBhZ2UnLFxuICBjdXJyZW50UGFnZTogJ0N1cnJlbnQgUGFnZScsXG4gIHRvdGFsUGFnZXM6ICdUb3RhbCBQYWdlcycsXG4gIGZpbHRlckl0ZW1zOiAnRmlsdGVyIGl0ZW1zJyxcbiAgbWluVmFsdWU6ICdNaW4gdmFsdWUnLFxuICBtYXhWYWx1ZTogJ01heCB2YWx1ZScsXG4gIG1vZGFsQ29udGVudFN0YXJ0OiAnQmVnaW5uaW5nIG9mIE1vZGFsIENvbnRlbnQnLFxuICBtb2RhbENvbnRlbnRFbmQ6ICdFbmQgb2YgTW9kYWwgQ29udGVudCcsXG4gIHNob3dDb2x1bW5zTWVudURlc2NyaXB0aW9uOiAnU2hvdyBvciBoaWRlIGNvbHVtbnMgbWVudScsXG4gIGFsbENvbHVtbnNTZWxlY3RlZDogJ0FsbCBjb2x1bW5zIHNlbGVjdGVkJyxcbiAgc2lnbnBvc3RUb2dnbGU6ICdTaWducG9zdCBUb2dnbGUnLFxuICBzaWducG9zdENsb3NlOiAnU2lnbnBvc3QgQ2xvc2UnLFxuICBsb2FkaW5nOiAnTG9hZGluZycsXG4gIC8vIERhdGFncmlkXG4gIGRldGFpbFBhbmVTdGFydDogJ1N0YXJ0IG9mIHJvdyBkZXRhaWxzJyxcbiAgZGV0YWlsUGFuZUVuZDogJ0VuZCBvZiByb3cgZGV0YWlscycsXG4gIHNpbmdsZVNlbGVjdGlvbkFyaWFMYWJlbDogJ1NpbmdsZSBzZWxlY3Rpb24gaGVhZGVyJyxcbiAgc2luZ2xlQWN0aW9uYWJsZUFyaWFMYWJlbDogJ1NpbmdsZSBhY3Rpb25hYmxlIGhlYWRlcicsXG4gIGRldGFpbEV4cGFuZGFibGVBcmlhTGFiZWw6ICdUb2dnbGUgbW9yZSByb3cgY29udGVudCcsXG4gIGRhdGFncmlkRmlsdGVyQXJpYUxhYmVsOiAnVG9nZ2xlIHtDT0xVTU59IGZpbHRlcicsXG4gIGRhdGFncmlkRmlsdGVyRGlhbG9nQXJpYUxhYmVsOiAnRmlsdGVyIGRpYWxvZycsXG4gIGNvbHVtblNlcGFyYXRvckFyaWFMYWJlbDogJ0NvbHVtbiByZXNpemUgaGFuZGxlJyxcbiAgY29sdW1uU2VwYXJhdG9yRGVzY3JpcHRpb246ICdVc2UgbGVmdCBvciByaWdodCBrZXkgdG8gcmVzaXplIHRoZSBjb2x1bW4nLFxuICAvLyBBbGVydFxuICBhbGVydENsb3NlQnV0dG9uQXJpYUxhYmVsOiAnQ2xvc2UgYWxlcnQnLFxuICBhbGVydE5leHRBbGVydEFyaWFMYWJlbDogJ05leHQgYWxlcnQgbWVzc2FnZSwge0NVUlJFTlR9IG9mIHtDT1VOVH0nLFxuICBhbGVydFByZXZpb3VzQWxlcnRBcmlhTGFiZWw6ICdQcmV2aW91cyBhbGVydCBtZXNzYWdlLCB7Q1VSUkVOVH0gb2Yge0NPVU5UfScsXG4gIC8vIERhdGUgUGlja2VyXG4gIGRhdGVwaWNrZXJEaWFsb2dMYWJlbDogJ0Nob29zZSBkYXRlJyxcbiAgZGF0ZXBpY2tlclRvZ2dsZUNob29zZURhdGVMYWJlbDogJ0Nob29zZSBkYXRlJyxcbiAgZGF0ZXBpY2tlclRvZ2dsZUNoYW5nZURhdGVMYWJlbDogJ0NoYW5nZSBkYXRlLCB7U0VMRUNURURfREFURX0nLFxuICBkYXRlcGlja2VyUHJldmlvdXNNb250aDogJ1ByZXZpb3VzIG1vbnRoJyxcbiAgZGF0ZXBpY2tlckN1cnJlbnRNb250aDogJ0N1cnJlbnQgbW9udGgnLFxuICBkYXRlcGlja2VyTmV4dE1vbnRoOiAnTmV4dCBtb250aCcsXG4gIGRhdGVwaWNrZXJQcmV2aW91c0RlY2FkZTogJ1ByZXZpb3VzIGRlY2FkZScsXG4gIGRhdGVwaWNrZXJOZXh0RGVjYWRlOiAnTmV4dCBkZWNhZGUnLFxuICBkYXRlcGlja2VyQ3VycmVudERlY2FkZTogJ0N1cnJlbnQgZGVjYWRlJyxcbiAgZGF0ZXBpY2tlclNlbGVjdE1vbnRoVGV4dDogJ1NlbGVjdCBtb250aCwgdGhlIGN1cnJlbnQgbW9udGggaXMge0NBTEVOREFSX01PTlRIfScsXG4gIGRhdGVwaWNrZXJTZWxlY3RZZWFyVGV4dDogJ1NlbGVjdCB5ZWFyLCB0aGUgY3VycmVudCB5ZWFyIGlzIHtDQUxFTkRBUl9ZRUFSfScsXG4gIGRhdGVwaWNrZXJTZWxlY3RlZExhYmVsOiAne0ZVTExfREFURX0gLSBTZWxlY3RlZCcsXG4gIC8vIFN0YWNrIFZpZXdcbiAgc3RhY2tWaWV3Q2hhbmdlZDogJ1ZhbHVlIGNoYW5nZWQuJyxcbiAgLy8gUmVzcG9uc2l2ZSBOYXZcbiAgcmVzcG9uc2l2ZU5hdlRvZ2dsZU9wZW46ICdPcGVuIG5hdmlnYXRpb24gbWVudScsXG4gIHJlc3BvbnNpdmVOYXZUb2dnbGVDbG9zZTogJ0Nsb3NlIG5hdmlnYXRpb24gbWVudScsXG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd09wZW46ICdPcGVuIG5hdmlnYXRpb24gb3ZlcmZsb3cgbWVudScsXG4gIHJlc3BvbnNpdmVOYXZPdmVyZmxvd0Nsb3NlOiAnQ2xvc2UgbmF2aWdhdGlvbiBvdmVyZmxvdyBtZW51JyxcbiAgLy9WZXJ0aWNhbCBOYXZcbiAgdmVydGljYWxOYXZUb2dnbGU6ICdUb2dnbGUgdmVydGljYWwgbmF2aWdhdGlvbicsXG4gIC8vIFRpbWVsaW5lIHN0ZXBzXG4gIHRpbWVsaW5lU3RlcE5vdFN0YXJ0ZWQ6ICdOb3Qgc3RhcnRlZCcsXG4gIHRpbWVsaW5lU3RlcEN1cnJlbnQ6ICdDdXJyZW50JyxcbiAgdGltZWxpbmVTdGVwU3VjY2VzczogJ0NvbXBsZXRlZCcsXG4gIHRpbWVsaW5lU3RlcEVycm9yOiAnRXJyb3InLFxuICB0aW1lbGluZVN0ZXBQcm9jZXNzaW5nOiAnSW4gcHJvZ3Jlc3MnLFxuICAvLyBDb21ib2JveFxuICBjb21ib2JveERlbGV0ZTogJ0RlbGV0ZSBzZWxlY3RlZCBvcHRpb24nLFxuICBjb21ib2JveFNlYXJjaGluZzogJ1NlYXJjaGluZyBmb3IgbWF0Y2hlcyBmb3IgXCJ7SU5QVVR9XCInLFxuICBjb21ib2JveFNlbGVjdGlvbjogJ1NlbGVjdGlvbicsXG4gIGNvbWJvYm94U2VsZWN0ZWQ6ICdTZWxlY3RlZCcsXG4gIGNvbWJvYm94Tm9SZXN1bHRzOiAnTm8gcmVzdWx0cycsXG4gIGNvbWJvYm94T3BlbjogJ1Nob3cgb3B0aW9ucycsXG4gIC8vIERhdGFncmlkIGV4cGFuZGFibGUgcm93c1xuICBkYXRhZ3JpZEV4cGFuZGFibGVCZWdpbm5pbmdPZjogJ0JlZ2lubmluZyBvZicsXG4gIGRhdGFncmlkRXhwYW5kYWJsZUVuZE9mOiAnRW5kIG9mJyxcbiAgZGF0YWdyaWRFeHBhbmRhYmxlUm93Q29udGVudDogJ0V4cGFuZGFibGUgcm93IGNvbnRlbnQnLFxuICBkYXRhZ3JpZEV4cGFuZGFibGVSb3dzSGVscGVyVGV4dDogYFNjcmVlbiByZWFkZXIgdGFibGUgY29tbWFuZHMgbWF5IG5vdCB3b3JrIGZvciB2aWV3aW5nIGV4cGFuZGVkIGNvbnRlbnQsIHBsZWFzZSB1c2UgeW91ciBzY3JlZW4gcmVhZGVyJ3MgYnJvd3NlIG1vZGUgdG8gcmVhZCB0aGUgY29udGVudCBleHBvc2VkIGJ5IHRoaXMgYnV0dG9uYCxcbiAgLy8gV2l6YXJkXG4gIHdpemFyZFN0ZXBTdWNjZXNzOiAnQ29tcGxldGVkJyxcbiAgd2l6YXJkU3RlcEVycm9yOiAnRXJyb3InLFxuICB3aXphcmRTdGVwbmF2QXJpYUxhYmVsOiAnU3RlcCBuYXZpZ2F0aW9uJyxcblxuICAvKipcbiAgICogUGFzc3dvcmQgSW5wdXRcbiAgICogU2NyZWVuLXJlYWRlciB0ZXh0IGZvciB0aGUgaGlkZS9zaG93IHBhc3N3b3JkIGZpZWxkIGJ1dHRvblxuICAgKi9cbiAgcGFzc3dvcmRIaWRlOiAnSGlkZSBwYXNzd29yZCBmb3Ige0xBQkVMfScsXG4gIHBhc3N3b3JkU2hvdzogJ1Nob3cgcGFzc3dvcmQgZm9yIHtMQUJFTH0nLFxuXG4gIC8qKlxuICAgKiBEYXRhZ3JpZCBmb290ZXI7IHNyLW9ubHkgdGV4dCBhZnRlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIHJvd3MuXG4gICAqL1xuICBzZWxlY3RlZFJvd3M6ICdTZWxlY3RlZCByb3dzJyxcbn07XG4iXX0=
|
package/fesm2015/clr-angular.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { Directive, NgModule, Optional, Input, Injectable, Component, ChangeDete
|
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, isPlatformBrowser, DOCUMENT, NgForOf, getLocaleDayNames, FormStyle, TranslationWidth, getLocaleMonthNames, getLocaleFirstDayOfWeek, getLocaleDateFormat, FormatWidth } from '@angular/common';
|
|
5
5
|
import { ClarityIcons, angleIcon, exclamationCircleIcon, checkCircleIcon, ellipsisHorizontalIcon, windowCloseIcon, eventIcon, calendarIcon, eyeHideIcon, eyeIcon, ellipsisVerticalIcon, viewColumnsIcon, arrowIcon, timesIcon, stepForward2Icon, angleDoubleIcon, filterGridCircleIcon, filterGridIcon, infoCircleIcon, exclamationTriangleIcon, circleIcon, dotCircleIcon, errorStandardIcon, successStandardIcon } from '@cds/core/icon';
|
|
6
|
-
import { map, tap, startWith, distinctUntilChanged,
|
|
6
|
+
import { map, tap, startWith, distinctUntilChanged, filter, skipUntil, debounceTime, takeUntil, take, first, switchMap } from 'rxjs/operators';
|
|
7
7
|
import * as i3 from 'rxjs';
|
|
8
8
|
import { Subject, BehaviorSubject, Observable, fromEvent, isObservable, of, ReplaySubject, combineLatest, merge } from 'rxjs';
|
|
9
9
|
import { trigger, transition, style, animate, state, keyframes } from '@angular/animations';
|
|
@@ -363,8 +363,8 @@ const commonStringsDefault = {
|
|
|
363
363
|
* Password Input
|
|
364
364
|
* Screen-reader text for the hide/show password field button
|
|
365
365
|
*/
|
|
366
|
-
passwordHide: 'Hide password',
|
|
367
|
-
passwordShow: 'Show password',
|
|
366
|
+
passwordHide: 'Hide password for {LABEL}',
|
|
367
|
+
passwordShow: 'Show password for {LABEL}',
|
|
368
368
|
/**
|
|
369
369
|
* Datagrid footer; sr-only text after the number of selected rows.
|
|
370
370
|
*/
|
|
@@ -964,6 +964,12 @@ class StepperModel extends AccordionModel {
|
|
|
964
964
|
}
|
|
965
965
|
});
|
|
966
966
|
}
|
|
967
|
+
setPanelValid(panelId) {
|
|
968
|
+
this._panels[panelId].status = AccordionStatus.Complete;
|
|
969
|
+
}
|
|
970
|
+
setPanelInvalid(panelId) {
|
|
971
|
+
this._panels[panelId].status = AccordionStatus.Error;
|
|
972
|
+
}
|
|
967
973
|
setPanelsWithErrors(ids) {
|
|
968
974
|
ids.forEach(id => this.setPanelError(id));
|
|
969
975
|
}
|
|
@@ -1047,6 +1053,14 @@ class StepperService extends AccordionService {
|
|
|
1047
1053
|
this.accordion.resetPanels();
|
|
1048
1054
|
this.emitUpdatedPanels();
|
|
1049
1055
|
}
|
|
1056
|
+
setPanelValid(panelId) {
|
|
1057
|
+
this.accordion.setPanelValid(panelId);
|
|
1058
|
+
this.emitUpdatedPanels();
|
|
1059
|
+
}
|
|
1060
|
+
setPanelInvalid(panelId) {
|
|
1061
|
+
this.accordion.setPanelInvalid(panelId);
|
|
1062
|
+
this.emitUpdatedPanels();
|
|
1063
|
+
}
|
|
1050
1064
|
setPanelsWithErrors(ids) {
|
|
1051
1065
|
this.accordion.setPanelsWithErrors(ids);
|
|
1052
1066
|
this.emitUpdatedPanels();
|
|
@@ -1109,11 +1123,16 @@ class ClrStepperPanel extends ClrAccordionPanel {
|
|
|
1109
1123
|
this.panel = this.panel.pipe(tap(panel => this.triggerAllFormControlValidationIfError(panel)));
|
|
1110
1124
|
this.stepperService.disablePanel(this.id, true);
|
|
1111
1125
|
this.listenToFocusChanges();
|
|
1126
|
+
// not all stepper panels are guaranteed to have a form (i.e. empty template-driven)
|
|
1112
1127
|
if (this.formGroup) {
|
|
1113
|
-
//
|
|
1114
|
-
this.
|
|
1115
|
-
|
|
1116
|
-
|
|
1128
|
+
// set panel status on form status change only after the form becomes invalid
|
|
1129
|
+
const invalidStatusTrigger = this.formGroup.statusChanges.pipe(filter(status => status === 'INVALID'));
|
|
1130
|
+
this.subscriptions.push(this.formGroup.statusChanges.pipe(skipUntil(invalidStatusTrigger), distinctUntilChanged()).subscribe(status => {
|
|
1131
|
+
if (status === 'VALID') {
|
|
1132
|
+
this.stepperService.setPanelValid(this.id);
|
|
1133
|
+
}
|
|
1134
|
+
else if (status === 'INVALID') {
|
|
1135
|
+
this.stepperService.setPanelInvalid(this.id);
|
|
1117
1136
|
}
|
|
1118
1137
|
}));
|
|
1119
1138
|
}
|
|
@@ -3936,17 +3955,17 @@ class ClrLoadingButton {
|
|
|
3936
3955
|
ClrLoadingButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrLoadingButton, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3937
3956
|
ClrLoadingButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrLoadingButton, selector: "button[clrLoading]", inputs: { disabled: "disabled" }, outputs: { clrLoadingChange: "clrLoadingChange" }, host: { properties: { "attr.disabled": "disabled? '' : null" } }, providers: [{ provide: LoadingListener, useExisting: ClrLoadingButton }], ngImport: i0, template: `
|
|
3938
3957
|
<span @parent [ngSwitch]="state">
|
|
3939
|
-
<
|
|
3958
|
+
<ng-container *ngSwitchCase="buttonState.LOADING">
|
|
3940
3959
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3941
|
-
</
|
|
3942
|
-
<
|
|
3960
|
+
</ng-container>
|
|
3961
|
+
<ng-container *ngSwitchCase="buttonState.SUCCESS">
|
|
3943
3962
|
<span
|
|
3944
3963
|
@validated
|
|
3945
3964
|
(@validated.done)="this.loadingStateChange(this.buttonState.DEFAULT)"
|
|
3946
3965
|
class="spinner spinner-inline spinner-check"
|
|
3947
3966
|
></span>
|
|
3948
|
-
</
|
|
3949
|
-
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
3967
|
+
</ng-container>
|
|
3968
|
+
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton class="clr-loading-btn-content">
|
|
3950
3969
|
<ng-content></ng-content>
|
|
3951
3970
|
</span>
|
|
3952
3971
|
</span>
|
|
@@ -3984,17 +4003,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
3984
4003
|
selector: 'button[clrLoading]',
|
|
3985
4004
|
template: `
|
|
3986
4005
|
<span @parent [ngSwitch]="state">
|
|
3987
|
-
<
|
|
4006
|
+
<ng-container *ngSwitchCase="buttonState.LOADING">
|
|
3988
4007
|
<span @spinner class="spinner spinner-inline"></span>
|
|
3989
|
-
</
|
|
3990
|
-
<
|
|
4008
|
+
</ng-container>
|
|
4009
|
+
<ng-container *ngSwitchCase="buttonState.SUCCESS">
|
|
3991
4010
|
<span
|
|
3992
4011
|
@validated
|
|
3993
4012
|
(@validated.done)="this.loadingStateChange(this.buttonState.DEFAULT)"
|
|
3994
4013
|
class="spinner spinner-inline spinner-check"
|
|
3995
4014
|
></span>
|
|
3996
|
-
</
|
|
3997
|
-
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton>
|
|
4015
|
+
</ng-container>
|
|
4016
|
+
<span *ngSwitchCase="buttonState.DEFAULT" @defaultButton class="clr-loading-btn-content">
|
|
3998
4017
|
<ng-content></ng-content>
|
|
3999
4018
|
</span>
|
|
4000
4019
|
</span>
|
|
@@ -7211,25 +7230,24 @@ class ClrOptionItems {
|
|
|
7211
7230
|
if (!this._rawItems || this.filter === undefined || this.filter === null) {
|
|
7212
7231
|
return;
|
|
7213
7232
|
}
|
|
7233
|
+
const normalizedFilterValue = normalizeValue(this.filter);
|
|
7214
7234
|
if (this.optionService.showAllOptions) {
|
|
7215
7235
|
this.filteredItems = this._rawItems;
|
|
7216
7236
|
}
|
|
7217
7237
|
else if (this._filterField) {
|
|
7218
7238
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7219
7239
|
const objValue = item[this._filterField];
|
|
7220
|
-
return objValue ? objValue
|
|
7240
|
+
return objValue ? normalizeValue(objValue).includes(normalizedFilterValue) : false;
|
|
7221
7241
|
});
|
|
7222
7242
|
}
|
|
7223
7243
|
else {
|
|
7224
7244
|
// Filter by all item object values
|
|
7225
7245
|
this.filteredItems = this._rawItems.filter(item => {
|
|
7226
7246
|
if (typeof item !== 'object') {
|
|
7227
|
-
return item
|
|
7247
|
+
return normalizeValue(item).includes(normalizedFilterValue);
|
|
7228
7248
|
}
|
|
7229
7249
|
const objValues = Object.values(item).filter(value => {
|
|
7230
|
-
return value !== null && value !== undefined
|
|
7231
|
-
? value.toString().toLowerCase().indexOf(this.filter.toString().toLowerCase()) > -1
|
|
7232
|
-
: false;
|
|
7250
|
+
return value !== null && value !== undefined ? normalizeValue(value).includes(normalizedFilterValue) : false;
|
|
7233
7251
|
});
|
|
7234
7252
|
return objValues.length > 0;
|
|
7235
7253
|
});
|
|
@@ -7254,6 +7272,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
7254
7272
|
type: Input,
|
|
7255
7273
|
args: ['clrOptionItemsField']
|
|
7256
7274
|
}] } });
|
|
7275
|
+
function normalizeValue(value) {
|
|
7276
|
+
return value
|
|
7277
|
+
.toString()
|
|
7278
|
+
.normalize('NFD')
|
|
7279
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
7280
|
+
.toLowerCase();
|
|
7281
|
+
}
|
|
7257
7282
|
|
|
7258
7283
|
/*
|
|
7259
7284
|
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
|
|
@@ -10071,6 +10096,12 @@ class ClrPasswordContainer extends ClrAbstractContainer {
|
|
|
10071
10096
|
this.show = !this.show;
|
|
10072
10097
|
this.toggleService.next(this.show);
|
|
10073
10098
|
}
|
|
10099
|
+
showPasswordText(label) {
|
|
10100
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordShow, { LABEL: label });
|
|
10101
|
+
}
|
|
10102
|
+
hidePasswordText(label) {
|
|
10103
|
+
return this.commonStrings.parse(this.commonStrings.keys.passwordHide, { LABEL: label });
|
|
10104
|
+
}
|
|
10074
10105
|
}
|
|
10075
10106
|
ClrPasswordContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrPasswordContainer, deps: [{ token: IfControlStateService }, { token: LayoutService, optional: true }, { token: ControlClassService }, { token: NgControlService }, { token: FocusService }, { token: TOGGLE_SERVICE }, { token: ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10076
10107
|
ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrPasswordContainer, selector: "clr-password-container", inputs: { clrToggle: "clrToggle" }, host: { properties: { "class.clr-form-control": "true", "class.clr-form-control-disabled": "control?.disabled", "class.clr-row": "addGrid()" } }, providers: [
|
|
@@ -10096,7 +10127,7 @@ ClrPasswordContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
10096
10127
|
>
|
|
10097
10128
|
<cds-icon status="info" class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10098
10129
|
<span class="clr-sr-only">
|
|
10099
|
-
{{ show ?
|
|
10130
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10100
10131
|
</span>
|
|
10101
10132
|
</button>
|
|
10102
10133
|
</div>
|
|
@@ -10140,7 +10171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
10140
10171
|
>
|
|
10141
10172
|
<cds-icon status="info" class="clr-password-eye-icon" [attr.shape]="show ? 'eye-hide' : 'eye'"></cds-icon>
|
|
10142
10173
|
<span class="clr-sr-only">
|
|
10143
|
-
{{ show ?
|
|
10174
|
+
{{ show ? hidePasswordText(label?.labelText) : showPasswordText(label?.labelText) }}
|
|
10144
10175
|
</span>
|
|
10145
10176
|
</button>
|
|
10146
10177
|
</div>
|
|
@@ -13674,6 +13705,7 @@ class ClrSignpostTrigger {
|
|
|
13674
13705
|
this.signpostIdService = signpostIdService;
|
|
13675
13706
|
this.signpostFocusManager = signpostFocusManager;
|
|
13676
13707
|
this.platformId = platformId;
|
|
13708
|
+
this.ariaExpanded = false;
|
|
13677
13709
|
this.subscriptions = [];
|
|
13678
13710
|
this.document = document;
|
|
13679
13711
|
}
|