@siemens/element-ng 48.0.2 → 48.1.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.
Files changed (69) hide show
  1. package/README.md +9 -0
  2. package/accordion/index.d.ts +2 -1
  3. package/avatar/index.d.ts +3 -4
  4. package/card/index.d.ts +1 -1
  5. package/circle-status/index.d.ts +2 -1
  6. package/dashboard/index.d.ts +5 -1
  7. package/datepicker/index.d.ts +6 -2
  8. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-avatar.mjs +32 -36
  10. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  11. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  13. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +2 -2
  14. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  15. package/fesm2022/siemens-element-ng-dashboard.mjs +32 -35
  16. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-datepicker.mjs +15 -3
  18. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-file-uploader.mjs +7 -0
  20. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-filtered-search.mjs +21 -12
  22. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-formly.mjs +18 -18
  25. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-list-details.mjs +8 -2
  28. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +15 -2
  31. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-notification-item.mjs +71 -0
  33. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -0
  34. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-resize-observer.mjs +0 -1
  36. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-result-details-list.mjs +5 -0
  38. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  40. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  42. package/fesm2022/siemens-element-ng-tabs.mjs +41 -8
  43. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  44. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  46. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  47. package/file-uploader/index.d.ts +3 -1
  48. package/filter-bar/index.d.ts +4 -2
  49. package/form/index.d.ts +28 -29
  50. package/inline-notification/index.d.ts +3 -2
  51. package/landing-page/index.d.ts +3 -2
  52. package/language-switcher/index.d.ts +3 -1
  53. package/list-details/index.d.ts +2 -0
  54. package/main-detail-container/index.d.ts +4 -4
  55. package/navbar/index.d.ts +1 -1
  56. package/notification-item/index.d.ts +141 -0
  57. package/notification-item/package.json +3 -0
  58. package/package.json +19 -15
  59. package/progressbar/index.d.ts +3 -3
  60. package/result-details-list/index.d.ts +4 -2
  61. package/select/index.d.ts +7 -5
  62. package/sort-bar/index.d.ts +3 -3
  63. package/split/index.d.ts +3 -2
  64. package/status-bar/index.d.ts +3 -2
  65. package/tabs/index.d.ts +15 -1
  66. package/template-i18n.json +1 -0
  67. package/translate/index.d.ts +1 -0
  68. package/tree-view/index.d.ts +4 -4
  69. package/wizard/index.d.ts +2 -1
@@ -2203,6 +2203,17 @@ class SiTimepickerComponent {
2203
2203
  setDisabledState(isDisabled) {
2204
2204
  this.disabledNgControl.set(isDisabled);
2205
2205
  }
2206
+ /**
2207
+ * Handle input event to remove non-numeric characters.
2208
+ */
2209
+ handleInput(event) {
2210
+ const inputEl = event.target;
2211
+ const current = inputEl.value;
2212
+ const cleaned = current.replace(/\D/g, '');
2213
+ if (current !== cleaned) {
2214
+ inputEl.value = cleaned;
2215
+ }
2216
+ }
2206
2217
  /**
2207
2218
  * Handle Enter, Arrow up/down and Space key press events.
2208
2219
  */
@@ -2292,7 +2303,8 @@ class SiTimepickerComponent {
2292
2303
  }
2293
2304
  let hours = time.getHours();
2294
2305
  if (this.use12HourClock()) {
2295
- this.meridian.set(hours >= 12 ? 'pm' : 'am');
2306
+ // 12:00 am is midnight while 12:00 pm is noon when users enter a value greater than 12 we can assume it's pm
2307
+ this.meridian.set(hours > 12 ? 'pm' : 'am');
2296
2308
  this.meridianChange.emit(this.meridian());
2297
2309
  hours = hours % 12;
2298
2310
  if (hours === 0) {
@@ -2490,7 +2502,7 @@ class SiTimepickerComponent {
2490
2502
  provide: SI_FORM_ITEM_CONTROL,
2491
2503
  useExisting: SiTimepickerComponent
2492
2504
  }
2493
- ], viewQueries: [{ propertyName: "inputParts", predicate: ["inputPart"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label class=\"min-width\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [class.is-invalid]=\"!unitValidation()[config.name] || this.forceInvalid()\"\n [disabled]=\"disabled()\"\n [name]=\"config.name\"\n [pattern]=\"config.pattern\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n [value]=\"unitValues()[config.name]\"\n (change)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}.min-width{inline-size:100%;max-inline-size:45px;min-inline-size:35px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2505
+ ], viewQueries: [{ propertyName: "inputParts", predicate: ["inputPart"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label class=\"min-width\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [class.is-invalid]=\"!unitValidation()[config.name] || this.forceInvalid()\"\n [disabled]=\"disabled()\"\n [name]=\"config.name\"\n [pattern]=\"config.pattern\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n [value]=\"unitValues()[config.name]\"\n (change)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (input)=\"handleInput($event)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}.min-width{inline-size:100%;max-inline-size:45px;min-inline-size:35px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2494
2506
  }
2495
2507
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiTimepickerComponent, decorators: [{
2496
2508
  type: Component,
@@ -2509,7 +2521,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
2509
2521
  class: 'form-custom-control',
2510
2522
  '[class.readonly]': 'readonly()',
2511
2523
  '[attr.aria-labelledby]': 'labelledby'
2512
- }, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label class=\"min-width\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [class.is-invalid]=\"!unitValidation()[config.name] || this.forceInvalid()\"\n [disabled]=\"disabled()\"\n [name]=\"config.name\"\n [pattern]=\"config.pattern\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n [value]=\"unitValues()[config.name]\"\n (change)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}.min-width{inline-size:100%;max-inline-size:45px;min-inline-size:35px}\n"] }]
2524
+ }, template: "<div\n class=\"d-flex flex-row flex-wrap\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"focusChange($event)\"\n>\n @for (config of units(); track $index) {\n @if (!$first) {\n <ng-container *ngTemplateOutlet=\"separator; context: { separator: config.separator }\" />\n }\n <label class=\"min-width\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (config.label | translate) || '&nbsp;' }}</span>\n }\n <input\n #inputPart\n autocomplete=\"off\"\n class=\"form-control hide-feedback-icon\"\n type=\"text\"\n inputmode=\"numeric\"\n [attr.aria-label]=\"config.ariaLabel | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [attr.maxlength]=\"config.maxLength\"\n [class.is-invalid]=\"!unitValidation()[config.name] || this.forceInvalid()\"\n [disabled]=\"disabled()\"\n [name]=\"config.name\"\n [pattern]=\"config.pattern\"\n [placeholder]=\"config.placeholder\"\n [readonly]=\"readonly()\"\n [value]=\"unitValues()[config.name]\"\n (change)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (blur)=\"updateField(config.name, toHtmlInputElement($event.target).value)\"\n (input)=\"handleInput($event)\"\n (keydown)=\"handleKeyPressEvent($event)\"\n />\n </label>\n }\n @if (use12HourClock()) {\n <label class=\"ms-2\">\n @if (!hideLabels()) {\n <span class=\"form-label\">{{ (meridiansLabel() | translate) || '&nbsp;' }}</span>\n }\n <select\n #inputPart\n class=\"form-control\"\n [attr.aria-label]=\"meridiansAriaLabel() | translate\"\n [attr.aria-describedby]=\"errormessageId()\"\n [class.readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (change)=\"toggleMeridian()\"\n (keydown)=\"handleKeyPressEvent($event)\"\n >\n <option value=\"am\" [selected]=\"meridian() === 'am'\">{{ periods()[0] }}</option>\n <option value=\"pm\" [selected]=\"meridian() === 'pm'\">{{ periods()[1] }}</option>\n </select>\n </label>\n }\n</div>\n\n<ng-template #separator let-separator=\"separator\">\n <div class=\"align-self-end pb-3 px-1\" aria-hidden=\"true\">{{ separator ? separator : ':' }}</div>\n</ng-template>\n", styles: [":host{display:block}.min-width{inline-size:100%;max-inline-size:45px;min-inline-size:35px}\n"] }]
2513
2525
  }], ctorParameters: () => [] });
2514
2526
 
2515
2527
  /**