@ui5/webcomponents 2.22.0-rc.1 → 2.22.0-rc.2

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 (56) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/AvatarBadge.d.ts +15 -1
  4. package/dist/AvatarBadge.js +40 -3
  5. package/dist/AvatarBadge.js.map +1 -1
  6. package/dist/AvatarBadgeTemplate.js +1 -1
  7. package/dist/AvatarBadgeTemplate.js.map +1 -1
  8. package/dist/ComboBox.js +6 -1
  9. package/dist/ComboBox.js.map +1 -1
  10. package/dist/Input.d.ts +5 -2
  11. package/dist/Input.js +3 -2
  12. package/dist/Input.js.map +1 -1
  13. package/dist/MultiComboBox.js +3 -0
  14. package/dist/MultiComboBox.js.map +1 -1
  15. package/dist/StepInput.d.ts +2 -2
  16. package/dist/StepInput.js +17 -7
  17. package/dist/StepInput.js.map +1 -1
  18. package/dist/Switch.d.ts +2 -0
  19. package/dist/Switch.js +7 -1
  20. package/dist/Switch.js.map +1 -1
  21. package/dist/SwitchTemplate.js +2 -2
  22. package/dist/SwitchTemplate.js.map +1 -1
  23. package/dist/css/themes/StepInput.css +1 -1
  24. package/dist/css/themes/Switch.css +1 -1
  25. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  26. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +2 -2
  27. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  28. package/dist/custom-elements-internal.json +30 -10
  29. package/dist/custom-elements.json +29 -10
  30. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  31. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  32. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  33. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  34. package/dist/generated/themes/StepInput.css.js +1 -1
  35. package/dist/generated/themes/StepInput.css.js.map +1 -1
  36. package/dist/generated/themes/Switch.css.d.ts +1 -1
  37. package/dist/generated/themes/Switch.css.js +1 -1
  38. package/dist/generated/themes/Switch.css.js.map +1 -1
  39. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  40. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  41. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  42. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  43. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +2 -2
  44. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  45. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  46. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  47. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  48. package/dist/vscode.html-custom-data.json +11 -6
  49. package/dist/web-types.json +23 -13
  50. package/package.json +9 -9
  51. package/src/AvatarBadgeTemplate.tsx +3 -1
  52. package/src/SwitchTemplate.tsx +3 -0
  53. package/src/themes/StepInput.css +2 -1
  54. package/src/themes/Switch.css +4 -2
  55. package/src/themes/sap_horizon/Select-parameters.css +2 -0
  56. package/src/themes/sap_horizon_dark/Select-parameters.css +2 -0
@@ -41,6 +41,16 @@ declare class AvatarBadge extends UI5Element {
41
41
  * @public
42
42
  */
43
43
  icon?: string;
44
+ /**
45
+ * Defines the custom text alternative of the badge icon.
46
+ *
47
+ * **Note:** If not provided, the badge uses the icon accessible name.
48
+ * If no icon accessible name is available, a generic fallback text is used.
49
+ * @default undefined
50
+ * @public
51
+ * @since 2.22.0
52
+ */
53
+ accessibleName?: string;
44
54
  /**
45
55
  * Defines the state of the badge, which determines its styling.
46
56
  *
@@ -59,6 +69,10 @@ declare class AvatarBadge extends UI5Element {
59
69
  * @private
60
70
  */
61
71
  invalid: boolean;
62
- onBeforeRendering(): void;
72
+ /**
73
+ * @private
74
+ */
75
+ effectiveAccessibleName?: string;
76
+ onBeforeRendering(): Promise<void>;
63
77
  }
64
78
  export default AvatarBadge;
@@ -8,12 +8,14 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
8
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
9
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
10
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
11
- import { getIconDataSync } from "@ui5/webcomponents-base/dist/asset-registries/Icons.js";
11
+ import { getIconData, getIconDataSync } from "@ui5/webcomponents-base/dist/asset-registries/Icons.js";
12
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
12
13
  // Template
13
14
  import AvatarBadgeTemplate from "./AvatarBadgeTemplate.js";
14
15
  // Styles
15
16
  import AvatarBadgeCss from "./generated/themes/AvatarBadge.css.js";
16
17
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
18
+ const ICON_NOT_FOUND = "ICON_NOT_FOUND";
17
19
  /**
18
20
  * @class
19
21
  * ### Overview
@@ -65,22 +67,57 @@ let AvatarBadge = class AvatarBadge extends UI5Element {
65
67
  */
66
68
  this.invalid = false;
67
69
  }
68
- onBeforeRendering() {
69
- this.invalid = !this.icon || !getIconDataSync(this.icon);
70
+ async onBeforeRendering() {
71
+ const icon = this.icon;
72
+ if (!icon) {
73
+ this.invalid = true;
74
+ this.effectiveAccessibleName = undefined;
75
+ return;
76
+ }
77
+ const iconData = getIconDataSync(icon) || await getIconData(icon);
78
+ this.invalid = !iconData || iconData === ICON_NOT_FOUND;
79
+ if (this.invalid) {
80
+ this.effectiveAccessibleName = undefined;
81
+ }
82
+ else if (this.accessibleName) {
83
+ // User-provided accessible name takes precedence
84
+ this.effectiveAccessibleName = this.accessibleName;
85
+ }
86
+ else if (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {
87
+ // Use the icon's registered i18n label (e.g., message-error -> "Error")
88
+ if (iconData.packageName) {
89
+ const i18nBundle = await getI18nBundle(iconData.packageName);
90
+ this.effectiveAccessibleName = i18nBundle.getText(iconData.accData) || undefined;
91
+ }
92
+ else {
93
+ this.effectiveAccessibleName = iconData.accData.defaultText || undefined;
94
+ }
95
+ }
96
+ else {
97
+ // Derive from icon name (e.g., "edit" -> "Edit")
98
+ this.effectiveAccessibleName = icon.charAt(0).toUpperCase() + icon.slice(1);
99
+ }
70
100
  }
71
101
  };
72
102
  __decorate([
73
103
  property()
74
104
  ], AvatarBadge.prototype, "icon", void 0);
105
+ __decorate([
106
+ property()
107
+ ], AvatarBadge.prototype, "accessibleName", void 0);
75
108
  __decorate([
76
109
  property()
77
110
  ], AvatarBadge.prototype, "state", void 0);
78
111
  __decorate([
79
112
  property({ type: Boolean })
80
113
  ], AvatarBadge.prototype, "invalid", void 0);
114
+ __decorate([
115
+ property({ noAttribute: true })
116
+ ], AvatarBadge.prototype, "effectiveAccessibleName", void 0);
81
117
  AvatarBadge = __decorate([
82
118
  customElement({
83
119
  tag: "ui5-avatar-badge",
120
+ languageAware: true,
84
121
  renderer: jsxRenderer,
85
122
  styles: AvatarBadgeCss,
86
123
  template: AvatarBadgeTemplate,
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarBadge.js","sourceRoot":"","sources":["../src/AvatarBadge.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAEzF,WAAW;AACX,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,SAAS;AACT,OAAO,cAAc,MAAM,uCAAuC,CAAC;AAEnE,OAAO,UAAU,MAAM,kDAAkD,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QAcC;;;;;;;;;;;;WAYG;QAEH,UAAK,GAAoB,UAAU,CAAC,IAAI,CAAC;QAEzC;;WAEG;QAEH,YAAO,GAAG,KAAK,CAAC;IAKjB,CAAC;IAHA,iBAAiB;QAChB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;CACD,CAAA;AA3BA;IADC,QAAQ,EAAE;yCACG;AAgBd;IADC,QAAQ,EAAE;0CAC8B;AAMzC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACZ;AAlCX,WAAW;IANhB,aAAa,CAAC;QACd,GAAG,EAAE,kBAAkB;QACvB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,mBAAmB;KAC7B,CAAC;GACI,WAAW,CAuChB;AAED,WAAW,CAAC,MAAM,EAAE,CAAC;AAErB,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { getIconDataSync } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\n\n// Template\nimport AvatarBadgeTemplate from \"./AvatarBadgeTemplate.js\";\n\n// Styles\nimport AvatarBadgeCss from \"./generated/themes/AvatarBadge.css.js\";\n\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-avatar-badge` component is used to display a badge on top of `ui5-avatar` component.\n * The badge can display an icon and supports different states for visual affordance.\n *\n * ### Usage\n *\n * The badge should be used as a child element of `ui5-avatar` in the `badge` slot.\n *\n * ```html\n * <ui5-avatar>\n * <ui5-avatar-badge icon=\"edit\" slot=\"badge\"></ui5-avatar-badge>\n * </ui5-avatar>\n * ```\n *\n * ### Keyboard Handling\n *\n * The badge does not receive keyboard focus.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/AvatarBadge.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.19.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-avatar-badge\",\n\trenderer: jsxRenderer,\n\tstyles: AvatarBadgeCss,\n\ttemplate: AvatarBadgeTemplate,\n})\nclass AvatarBadge extends UI5Element {\n\t/**\n\t * Defines the icon name to be displayed inside the badge.\n\t *\n\t * **Note:** You should import the desired icon first, then use its name as \"icon\".\n\t *\n\t * `import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"`\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the state of the badge, which determines its styling.\n\t *\n\t * Available options:\n\t * - `None` (default) - Standard appearance\n\t * - `Positive` - Green, used for success/approved states\n\t * - `Critical` - Orange, used for warning states\n\t * - `Negative` - Red, used for error/rejected states\n\t * - `Information` - Blue, used for informational states\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tstate: `${ValueState}` = ValueState.None;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tinvalid = false;\n\n\tonBeforeRendering() {\n\t\tthis.invalid = !this.icon || !getIconDataSync(this.icon);\n\t}\n}\n\nAvatarBadge.define();\n\nexport default AvatarBadge;\n"]}
1
+ {"version":3,"file":"AvatarBadge.js","sourceRoot":"","sources":["../src/AvatarBadge.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { getIconData, getIconDataSync } from \"@ui5/webcomponents-base/dist/asset-registries/Icons.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\n\n// Template\nimport AvatarBadgeTemplate from \"./AvatarBadgeTemplate.js\";\n\n// Styles\nimport AvatarBadgeCss from \"./generated/themes/AvatarBadge.css.js\";\n\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\n\nconst ICON_NOT_FOUND = \"ICON_NOT_FOUND\";\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-avatar-badge` component is used to display a badge on top of `ui5-avatar` component.\n * The badge can display an icon and supports different states for visual affordance.\n *\n * ### Usage\n *\n * The badge should be used as a child element of `ui5-avatar` in the `badge` slot.\n *\n * ```html\n * <ui5-avatar>\n * <ui5-avatar-badge icon=\"edit\" slot=\"badge\"></ui5-avatar-badge>\n * </ui5-avatar>\n * ```\n *\n * ### Keyboard Handling\n *\n * The badge does not receive keyboard focus.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/AvatarBadge.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.19.0\n * @public\n */\n@customElement({\n\ttag: \"ui5-avatar-badge\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\tstyles: AvatarBadgeCss,\n\ttemplate: AvatarBadgeTemplate,\n})\nclass AvatarBadge extends UI5Element {\n\t/**\n\t * Defines the icon name to be displayed inside the badge.\n\t *\n\t * **Note:** You should import the desired icon first, then use its name as \"icon\".\n\t *\n\t * `import \"@ui5/webcomponents-icons/dist/{icon_name}.js\"`\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the custom text alternative of the badge icon.\n\t *\n\t * **Note:** If not provided, the badge uses the icon accessible name.\n\t * If no icon accessible name is available, a generic fallback text is used.\n\t * @default undefined\n\t * @public\n \t * @since 2.22.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the state of the badge, which determines its styling.\n\t *\n\t * Available options:\n\t * - `None` (default) - Standard appearance\n\t * - `Positive` - Green, used for success/approved states\n\t * - `Critical` - Orange, used for warning states\n\t * - `Negative` - Red, used for error/rejected states\n\t * - `Information` - Blue, used for informational states\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tstate: `${ValueState}` = ValueState.None;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tinvalid = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\teffectiveAccessibleName?: string;\n\n\tasync onBeforeRendering() {\n\t\tconst icon = this.icon;\n\t\tif (!icon) {\n\t\t\tthis.invalid = true;\n\t\t\tthis.effectiveAccessibleName = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst iconData = getIconDataSync(icon) || await getIconData(icon);\n\t\tthis.invalid = !iconData || iconData === ICON_NOT_FOUND;\n\n\t\tif (this.invalid) {\n\t\t\tthis.effectiveAccessibleName = undefined;\n\t\t} else if (this.accessibleName) {\n\t\t\t// User-provided accessible name takes precedence\n\t\t\tthis.effectiveAccessibleName = this.accessibleName;\n\t\t} else if (iconData && iconData !== ICON_NOT_FOUND && iconData.accData) {\n\t\t\t// Use the icon's registered i18n label (e.g., message-error -> \"Error\")\n\t\t\tif (iconData.packageName) {\n\t\t\t\tconst i18nBundle = await getI18nBundle(iconData.packageName);\n\t\t\t\tthis.effectiveAccessibleName = i18nBundle.getText(iconData.accData) || undefined;\n\t\t\t} else {\n\t\t\t\tthis.effectiveAccessibleName = iconData.accData.defaultText || undefined;\n\t\t\t}\n\t\t} else {\n\t\t\t// Derive from icon name (e.g., \"edit\" -> \"Edit\")\n\t\t\tthis.effectiveAccessibleName = icon.charAt(0).toUpperCase() + icon.slice(1);\n\t\t}\n\t}\n}\n\nAvatarBadge.define();\n\nexport default AvatarBadge;\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
2
  import Icon from "./Icon.js";
3
3
  export default function AvatarBadgeTemplate() {
4
- return (_jsx(_Fragment, { children: !this.invalid && (_jsx(Icon, { name: this.icon, class: "ui5-avatar-badge-icon", mode: "Decorative" })) }));
4
+ return (_jsx(_Fragment, { children: !this.invalid && (_jsx(Icon, { name: this.icon, class: "ui5-avatar-badge-icon", accessibleName: this.effectiveAccessibleName, showTooltip: true, mode: "Image" })) }));
5
5
  }
6
6
  //# sourceMappingURL=AvatarBadgeTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarBadgeTemplate.js","sourceRoot":"","sources":["../src/AvatarBadgeTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,4BACE,CAAC,IAAI,CAAC,OAAO,IAAI,CACjB,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,YAAY,GACV,CACR,GACC,CACH,CAAC;AACH,CAAC","sourcesContent":["import type AvatarBadge from \"./AvatarBadge.js\";\nimport Icon from \"./Icon.js\";\n\nexport default function AvatarBadgeTemplate(this: AvatarBadge) {\n\treturn (\n\t\t<>\n\t\t\t{!this.invalid && (\n\t\t\t\t<Icon\n\t\t\t\t\tname={this.icon}\n\t\t\t\t\tclass=\"ui5-avatar-badge-icon\"\n\t\t\t\t\tmode=\"Decorative\"\n\t\t\t\t></Icon>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"file":"AvatarBadgeTemplate.js","sourceRoot":"","sources":["../src/AvatarBadgeTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,4BACE,CAAC,IAAI,CAAC,OAAO,IAAI,CACjB,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,uBAAuB,EAC7B,cAAc,EAAE,IAAI,CAAC,uBAAuB,EAC5C,WAAW,EAAE,IAAI,EACjB,IAAI,EAAC,OAAO,GACL,CACR,GACC,CACH,CAAC;AACH,CAAC","sourcesContent":["import type AvatarBadge from \"./AvatarBadge.js\";\nimport Icon from \"./Icon.js\";\n\nexport default function AvatarBadgeTemplate(this: AvatarBadge) {\n\treturn (\n\t\t<>\n\t\t\t{!this.invalid && (\n\t\t\t\t<Icon\n\t\t\t\t\tname={this.icon}\n\t\t\t\t\tclass=\"ui5-avatar-badge-icon\"\n\t\t\t\t\taccessibleName={this.effectiveAccessibleName}\n\t\t\t\t\tshowTooltip={true}\n\t\t\t\t\tmode=\"Image\"\n\t\t\t\t></Icon>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
package/dist/ComboBox.js CHANGED
@@ -961,9 +961,14 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
961
961
  if (!this._useSelectedValue && item.value !== undefined) {
962
962
  this._useSelectedValue = true;
963
963
  }
964
- if (this._useSelectedValue) {
964
+ // Always set selectedValue when the item has a value property, regardless of _useSelectedValue state
965
+ if (item.value !== undefined) {
965
966
  this.selectedValue = item.value;
966
967
  }
968
+ else if (this._useSelectedValue) {
969
+ // Only clear selectedValue if we were using it before
970
+ this.selectedValue = undefined;
971
+ }
967
972
  if (!item.selected) {
968
973
  this.fireDecoratorEvent("selection-change", {
969
974
  item,