@ui5/webcomponents 2.25.0-rc.0 → 2.25.0-rc.3

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 (148) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/CarouselTemplate.js +1 -1
  4. package/dist/CarouselTemplate.js.map +1 -1
  5. package/dist/DynamicDateRange.d.ts +11 -0
  6. package/dist/DynamicDateRange.js +12 -0
  7. package/dist/DynamicDateRange.js.map +1 -1
  8. package/dist/DynamicDateRangeInputTemplate.js +1 -1
  9. package/dist/DynamicDateRangeInputTemplate.js.map +1 -1
  10. package/dist/IToolbarArrowNavProvider.d.ts +32 -0
  11. package/dist/IToolbarArrowNavProvider.js +4 -0
  12. package/dist/IToolbarArrowNavProvider.js.map +1 -0
  13. package/dist/Input.d.ts +3 -1
  14. package/dist/Input.js +26 -0
  15. package/dist/Input.js.map +1 -1
  16. package/dist/InputIcon.d.ts +105 -0
  17. package/dist/InputIcon.js +189 -0
  18. package/dist/InputIcon.js.map +1 -0
  19. package/dist/InputIconTemplate.d.ts +2 -0
  20. package/dist/InputIconTemplate.js +13 -0
  21. package/dist/InputIconTemplate.js.map +1 -0
  22. package/dist/ListItemCustom.js.map +1 -1
  23. package/dist/MenuItem.js +1 -1
  24. package/dist/MenuItem.js.map +1 -1
  25. package/dist/MenuSeparator.d.ts +7 -14
  26. package/dist/MenuSeparator.js +5 -24
  27. package/dist/MenuSeparator.js.map +1 -1
  28. package/dist/MenuSeparatorTemplate.js +1 -2
  29. package/dist/MenuSeparatorTemplate.js.map +1 -1
  30. package/dist/MultiComboBoxItem.d.ts +1 -0
  31. package/dist/MultiComboBoxItem.js +7 -1
  32. package/dist/MultiComboBoxItem.js.map +1 -1
  33. package/dist/MultiComboBoxItemTemplate.js +4 -2
  34. package/dist/MultiComboBoxItemTemplate.js.map +1 -1
  35. package/dist/RatingIndicator.d.ts +2 -0
  36. package/dist/RatingIndicator.js +2 -0
  37. package/dist/RatingIndicator.js.map +1 -1
  38. package/dist/SliderTemplate.js +1 -1
  39. package/dist/SliderTemplate.js.map +1 -1
  40. package/dist/Table.js +4 -2
  41. package/dist/Table.js.map +1 -1
  42. package/dist/Toolbar.d.ts +40 -3
  43. package/dist/Toolbar.js +225 -6
  44. package/dist/Toolbar.js.map +1 -1
  45. package/dist/ToolbarItem.d.ts +30 -0
  46. package/dist/ToolbarItem.js +202 -0
  47. package/dist/ToolbarItem.js.map +1 -1
  48. package/dist/ToolbarItemBase.d.ts +10 -0
  49. package/dist/ToolbarItemBase.js +19 -0
  50. package/dist/ToolbarItemBase.js.map +1 -1
  51. package/dist/ToolbarSelect.d.ts +4 -2
  52. package/dist/ToolbarSelect.js +7 -4
  53. package/dist/ToolbarSelect.js.map +1 -1
  54. package/dist/ToolbarSelectOption.d.ts +7 -0
  55. package/dist/ToolbarSelectOption.js +4 -1
  56. package/dist/ToolbarSelectOption.js.map +1 -1
  57. package/dist/ToolbarSelectTemplate.js +1 -1
  58. package/dist/ToolbarSelectTemplate.js.map +1 -1
  59. package/dist/TreeItemBase.js.map +1 -1
  60. package/dist/bundle.esm.js +1 -0
  61. package/dist/bundle.esm.js.map +1 -1
  62. package/dist/css/themes/ColorPalette.css +1 -1
  63. package/dist/css/themes/ComboBox.css +1 -1
  64. package/dist/css/themes/DatePicker.css +1 -1
  65. package/dist/css/themes/DynamicDateRange.css +1 -1
  66. package/dist/css/themes/FileUploader.css +1 -1
  67. package/dist/css/themes/Input.css +1 -1
  68. package/dist/css/themes/InputIcon.css +1 -1
  69. package/dist/css/themes/MultiComboBox.css +1 -1
  70. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  71. package/dist/css/themes/MultiInput.css +1 -1
  72. package/dist/css/themes/Select.css +1 -1
  73. package/dist/css/themes/StepInput.css +1 -1
  74. package/dist/css/themes/TimePicker.css +1 -1
  75. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  76. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +1 -1
  77. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  78. package/dist/custom-elements-internal.json +240 -40
  79. package/dist/custom-elements.json +223 -25
  80. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  81. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  82. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  83. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  84. package/dist/generated/themes/ColorPalette.css.js +1 -1
  85. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  86. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  87. package/dist/generated/themes/ComboBox.css.js +1 -1
  88. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  89. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  90. package/dist/generated/themes/DatePicker.css.js +1 -1
  91. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  92. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  93. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  94. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  95. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  96. package/dist/generated/themes/FileUploader.css.js +1 -1
  97. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  98. package/dist/generated/themes/Input.css.d.ts +1 -1
  99. package/dist/generated/themes/Input.css.js +1 -1
  100. package/dist/generated/themes/Input.css.js.map +1 -1
  101. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  102. package/dist/generated/themes/InputIcon.css.js +1 -1
  103. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  104. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  105. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  106. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  107. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  108. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  109. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  110. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  111. package/dist/generated/themes/MultiInput.css.js +1 -1
  112. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  113. package/dist/generated/themes/Select.css.d.ts +1 -1
  114. package/dist/generated/themes/Select.css.js +1 -1
  115. package/dist/generated/themes/Select.css.js.map +1 -1
  116. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  117. package/dist/generated/themes/StepInput.css.js +1 -1
  118. package/dist/generated/themes/StepInput.css.js.map +1 -1
  119. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  120. package/dist/generated/themes/TimePicker.css.js +1 -1
  121. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  122. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  123. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  124. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  125. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  126. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +1 -1
  127. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  128. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  129. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  130. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  131. package/dist/vscode.html-custom-data.json +57 -4
  132. package/dist/web-types.json +117 -22
  133. package/package.json +11 -11
  134. package/src/CarouselTemplate.tsx +0 -1
  135. package/src/DynamicDateRangeInputTemplate.tsx +1 -0
  136. package/src/InputIconTemplate.tsx +42 -0
  137. package/src/MenuSeparatorTemplate.tsx +2 -4
  138. package/src/MultiComboBoxItemTemplate.tsx +4 -1
  139. package/src/SliderTemplate.tsx +1 -0
  140. package/src/ToolbarSelectTemplate.tsx +1 -0
  141. package/src/i18n/messagebundle.properties +1 -1
  142. package/src/themes/ColorPalette.css +1 -0
  143. package/src/themes/DatePicker.css +1 -2
  144. package/src/themes/Input.css +4 -0
  145. package/src/themes/InputIcon.css +104 -3
  146. package/src/themes/MultiComboBoxItem.css +2 -0
  147. package/src/themes/sap_horizon/Card-parameters.css +1 -1
  148. package/src/themes/sap_horizon_dark/Card-parameters.css +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@ui5/webcomponents",
4
- "version": "2.25.0-rc.0",
4
+ "version": "2.25.0-rc.3",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -3999,6 +3999,11 @@
3999
3999
  "description": "### Overview\n\nThe `ui5-dynamic-date-range` component provides a flexible interface to define date ranges using a combination of absolute dates, relative intervals, and preset ranges (e.g., \"Today\", \"Yesterday\", etc.).\nIt allows users to select a date range from a predefined set of options or enter custom dates.\n\n### Usage\n\nThe component is typically used in scenarios where users need to filter data based on date ranges, such as in reports, dashboards, or data analysis tools.\nIt can be used with the predefined options or extended with custom options to suit specific requirements. You can create your own options by extending the `IDynamicDateRangeOption` interface.\nEvery option should be registered using the `DynamicDateRange.register` method.\n\nIf needed, you can also create a range of dates based on specific option using the `toDates` method.\n\n### Standard Options\n\nThe component comes with a set of standard options, including:\n- \"TODAY\" - Represents the current date. An example value is `{ operator: \"TODAY\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Today.js\";`\n- \"YESTERDAY\" - Represents the previous date. An example value is `{ operator: \"YESTERDAY\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Yesterday.js\";`\n- \"TOMORROW\" - Represents the next date. An example value is `{ operator: \"TOMORROW\"}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/Tomorrow.js\";`\n- \"DATE\" - Represents a single date. An example value is `{ operator: \"DATE\", values: [new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/SingleDate.js\";`\n- \"DATERANGE\" - Represents a range of dates. An example value is `{ operator: \"DATERANGE\", values: [new Date(), new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/DateRange.js\";`\n- \"DATETIMERANGE\" - Represents a range of dates with times. An example value is `{ operator: \"DATETIMERANGE\", values: [new Date(), new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/DateTimeRange.js\";`\n- \"FROMDATETIME\" - Represents a range from date and time. An example value is `{ operator: \"FROMDATETIME\", values: [new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/FromDateTime.js\";`\n- \"TODATETIME\" - Represents a range to date and time. An example value is `{ operator: \"TODATETIME\", values: [new Date()]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/ToDateTime.js\";`\n- \"LASTDAYS\" - Represents Last X Days from today. An example value is `{ operator: \"LASTDAYS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n- \"LASTWEEKS\" - Represents Last X Weeks from today. An example value is `{ operator: \"LASTWEEKS\", values: [3]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n- \"LASTMONTHS\" - Represents Last X Months from today. An example value is `{ operator: \"LASTMONTHS\", values: [6]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n- \"LASTQUARTERS\" - Represents Last X Quarters from today. An example value is `{ operator: \"LASTQUARTERS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n- \"LASTYEARS\" - Represents Last X Years from today. An example value is `{ operator: \"LASTYEARS\", values: [1]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/LastOptions.js\";`\n- \"NEXTDAYS\" - Represents Next X Days from today. An example value is `{ operator: \"NEXTDAYS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n- \"NEXTWEEKS\" - Represents Next X Weeks from today. An example value is `{ operator: \"NEXTWEEKS\", values: [3]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n- \"NEXTMONTHS\" - Represents Next X Months from today. An example value is `{ operator: \"NEXTMONTHS\", values: [6]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n- \"NEXTQUARTERS\" - Represents Next X Quarters from today. An example value is `{ operator: \"NEXTQUARTERS\", values: [2]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n- \"NEXTYEARS\" - Represents Next X Years from today. An example value is `{ operator: \"NEXTYEARS\", values: [1]}`. Import: `import \"@ui5/webcomponents/dist/dynamic-date-range-options/NextOptions.js\";`\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents/dist/DynamicDateRange.js\";`\n---\n\n\n### **Events:**\n - **change** - Fired when the input operation has finished by pressing Enter or on focusout or a value is selected in the popover.\n\n### **Methods:**\n - **toDates(value: _DynamicDateRangeValue_): _Array<Date>_** - Converts a `value` into concrete `startDate` and `endDate` JavaScript `Date` objects.",
4000
4000
  "doc-url": "",
4001
4001
  "attributes": [
4002
+ {
4003
+ "name": "accessible-name-ref",
4004
+ "description": "Receives id(or many ids) of the elements that label the component.",
4005
+ "value": { "type": "string | undefined", "default": "undefined" }
4006
+ },
4002
4007
  {
4003
4008
  "name": "options",
4004
4009
  "description": "Defines the options listed as a string, separated by commas and using capital case.\nExample: \"TODAY, YESTERDAY, DATERANGE\"",
@@ -4021,6 +4026,11 @@
4021
4026
  ],
4022
4027
  "js": {
4023
4028
  "properties": [
4029
+ {
4030
+ "name": "accessible-name-ref",
4031
+ "description": "Receives id(or many ids) of the elements that label the component.",
4032
+ "value": { "type": "string | undefined" }
4033
+ },
4024
4034
  {
4025
4035
  "name": "options",
4026
4036
  "description": "Defines the options listed as a string, separated by commas and using capital case.\nExample: \"TODAY, YESTERDAY, DATERANGE\"",
@@ -4894,6 +4904,94 @@
4894
4904
  ]
4895
4905
  }
4896
4906
  },
4907
+ {
4908
+ "name": "ui5-input-icon",
4909
+ "description": "### Overview\nThe `ui5-input-icon` component represents an interactive icon that can be placed inside an `ui5-input` component.\nUnlike the standard `ui5-icon`, this component provides button-like behavior with hover, focus, and active states,\nmatching the visual style of the input's built-in clear icon.\n\n### Usage\nUse `ui5-input-icon` for interactive icons that users can click (e.g., search, voice input, camera).\nFor decorative icons, use the standard `ui5-icon` component instead.\n\n### ES6 Module Import\n`import \"@ui5/webcomponents/dist/InputIcon.js\";`\n---\n\n\n### **Events:**\n - **click** - Fired when the `ui5-input-icon` is activated either with a click/tap or by using the Enter or Space key.",
4910
+ "doc-url": "",
4911
+ "attributes": [
4912
+ {
4913
+ "name": "accessible-name",
4914
+ "description": "Defines the accessible name of the icon.\n\n**Note:** This property is used for accessibility purposes and will be announced by screen readers.",
4915
+ "value": { "type": "string | undefined", "default": "undefined" }
4916
+ },
4917
+ {
4918
+ "name": "disabled",
4919
+ "description": "Defines whether the icon is disabled.\n\n**Note:** Disabled icons are not interactive and do not fire click events.",
4920
+ "value": { "type": "boolean", "default": "false" }
4921
+ },
4922
+ {
4923
+ "name": "name",
4924
+ "description": "Defines the icon name to be displayed.\n\n**Note:** Make sure you import the desired icon before using it.",
4925
+ "value": { "type": "string | undefined", "default": "undefined" }
4926
+ },
4927
+ {
4928
+ "name": "readonly",
4929
+ "description": "Defines whether the icon is readonly.\n\n**Note:** Readonly icons are not interactive and do not fire click events.",
4930
+ "value": { "type": "boolean", "default": "false" }
4931
+ },
4932
+ {
4933
+ "name": "show-tooltip",
4934
+ "description": "Defines whether the tooltip is shown.\n\n**Note:** The tooltip text should be provided via the `accessible-name` property.",
4935
+ "value": { "type": "boolean", "default": "false" }
4936
+ },
4937
+ {
4938
+ "name": "value-state",
4939
+ "description": "Defines the value state of the icon.\n\n**Note:** This property should match the parent input's value state for consistent styling.",
4940
+ "value": {
4941
+ "type": "\"None\" | \"Positive\" | \"Critical\" | \"Negative\" | \"Information\"",
4942
+ "default": "\"None\""
4943
+ }
4944
+ }
4945
+ ],
4946
+ "events": [
4947
+ {
4948
+ "name": "click",
4949
+ "description": "Fired when the `ui5-input-icon` is activated either with a click/tap or by using the Enter or Space key."
4950
+ }
4951
+ ],
4952
+ "js": {
4953
+ "properties": [
4954
+ {
4955
+ "name": "accessible-name",
4956
+ "description": "Defines the accessible name of the icon.\n\n**Note:** This property is used for accessibility purposes and will be announced by screen readers.",
4957
+ "value": { "type": "string | undefined" }
4958
+ },
4959
+ {
4960
+ "name": "disabled",
4961
+ "description": "Defines whether the icon is disabled.\n\n**Note:** Disabled icons are not interactive and do not fire click events.",
4962
+ "value": { "type": "boolean" }
4963
+ },
4964
+ {
4965
+ "name": "name",
4966
+ "description": "Defines the icon name to be displayed.\n\n**Note:** Make sure you import the desired icon before using it.",
4967
+ "value": { "type": "string | undefined" }
4968
+ },
4969
+ {
4970
+ "name": "readonly",
4971
+ "description": "Defines whether the icon is readonly.\n\n**Note:** Readonly icons are not interactive and do not fire click events.",
4972
+ "value": { "type": "boolean" }
4973
+ },
4974
+ {
4975
+ "name": "show-tooltip",
4976
+ "description": "Defines whether the tooltip is shown.\n\n**Note:** The tooltip text should be provided via the `accessible-name` property.",
4977
+ "value": { "type": "boolean" }
4978
+ },
4979
+ {
4980
+ "name": "value-state",
4981
+ "description": "Defines the value state of the icon.\n\n**Note:** This property should match the parent input's value state for consistent styling.",
4982
+ "value": {
4983
+ "type": "\"None\" | \"Positive\" | \"Critical\" | \"Negative\" | \"Information\""
4984
+ }
4985
+ }
4986
+ ],
4987
+ "events": [
4988
+ {
4989
+ "name": "click",
4990
+ "description": "Fired when the `ui5-input-icon` is activated either with a click/tap or by using the Enter or Space key."
4991
+ }
4992
+ ]
4993
+ }
4994
+ },
4897
4995
  {
4898
4996
  "name": "ui5-label",
4899
4997
  "description": "### Overview\n\nThe `ui5-label` is a component used to represent a label for elements like input, textarea, select.\nThe `for` property of the `ui5-label` must be the same as the id attribute of the related input element.\nScreen readers read out the label, when the user focuses the labelled control.\n\nThe `ui5-label` appearance can be influenced by properties,\nsuch as `required` and `wrappingType`.\nThe appearance of the Label can be configured in a limited way by using the design property.\nFor a broader choice of designs, you can use custom styles.\n\n### ES6 Module Import\n\n`import \"@ui5/webcomponents/dist/Label\";`\n---\n\n\n### **Slots:**\n - **default** - Defines the text of the component.\n\n**Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.",
@@ -6359,24 +6457,11 @@
6359
6457
  },
6360
6458
  {
6361
6459
  "name": "ui5-menu-separator",
6362
- "description": "The `ui5-menu-separator` represents a horizontal line to separate menu items inside a `ui5-menu`.\n---\n\n\n### **Events:**\n - **click** - Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n\n**Note:** The event will not be fired if the `disabled` property is set to `true`.",
6460
+ "description": "The `ui5-menu-separator` represents a horizontal line to separate menu items inside a `ui5-menu`.\n---\n",
6363
6461
  "doc-url": "",
6364
6462
  "attributes": [],
6365
- "events": [
6366
- {
6367
- "name": "click",
6368
- "description": "Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n\n**Note:** The event will not be fired if the `disabled` property is set to `true`."
6369
- }
6370
- ],
6371
- "js": {
6372
- "properties": [],
6373
- "events": [
6374
- {
6375
- "name": "click",
6376
- "description": "Fired when the component is activated either with a mouse/tap or by using the Enter or Space key.\n\n**Note:** The event will not be fired if the `disabled` property is set to `true`."
6377
- }
6378
- ]
6379
- }
6463
+ "events": [],
6464
+ "js": { "properties": [], "events": [] }
6380
6465
  },
6381
6466
  {
6382
6467
  "name": "ui5-message-strip",
@@ -12477,17 +12562,17 @@
12477
12562
  },
12478
12563
  {
12479
12564
  "name": "ui5-toolbar",
12480
- "description": "### Overview\n\nThe `ui5-toolbar` component is used to create a horizontal layout with items.\nThe items can be overflowing in a popover, when the space is not enough to show all of them.\n\n### Keyboard Handling\nThe `ui5-toolbar` provides advanced keyboard handling.\n\n- The control is not interactive, but can contain of interactive elements\n- [Tab] - iterates through elements\n\n### ES6 Module Import\n`import \"@ui5/webcomponents/dist/Toolbar.js\";`\n---\n\n\n### **Methods:**\n - **isOverflowOpen(): _boolean_** - Returns if the overflow popup is open.\n\n### **Slots:**\n - **default** - Defines the items of the component.\n\n**Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.",
12565
+ "description": "### Overview\n\nThe `ui5-toolbar` component is used to create a horizontal layout with items.\nThe items can be overflowing in a popover, when the space is not enough to show all of them.\n\n### Keyboard Handling\nThe `ui5-toolbar` provides advanced keyboard handling.\n\n- [Left]/[Right] - navigate among toolbar items\n- [Home]/[End] - move to first/last toolbar item\n- [Tab] / [Shift]+[Tab] - exit the toolbar\n\n### ES6 Module Import\n`import \"@ui5/webcomponents/dist/Toolbar.js\";`\n---\n\n\n### **Methods:**\n - **isOverflowOpen(): _boolean_** - Returns if the overflow popup is open.\n\n### **Slots:**\n - **default** - Defines the items of the component.\n\n**Note:** Currently only `ui5-toolbar-button`, `ui5-toolbar-select`, `ui5-toolbar-separator` and `ui5-toolbar-spacer` are allowed here.",
12481
12566
  "doc-url": "",
12482
12567
  "attributes": [
12483
12568
  {
12484
12569
  "name": "accessible-name",
12485
- "description": "Defines the accessible ARIA name of the component.",
12570
+ "description": "Defines the accessible ARIA name of the component.\n\n**Note:** It is strongly recommended to always set this property or `accessibleNameRef`\nwhen the toolbar has `role=\"toolbar\"` (i.e. when it contains more than one interactive item).\nWithout an accessible name, screen readers will announce the toolbar without any context,\nmaking it harder for keyboard-only and AT users to understand its purpose.",
12486
12571
  "value": { "type": "string | undefined", "default": "undefined" }
12487
12572
  },
12488
12573
  {
12489
12574
  "name": "accessible-name-ref",
12490
- "description": "Receives id(or many ids) of the elements that label the input.",
12575
+ "description": "Receives id(or many ids) of the elements that label the input.\n\n**Note:** When the toolbar has `role=\"toolbar\"`, at least one of `accessibleName` or\n`accessibleNameRef` should be provided to satisfy WCAG 2.1 success criterion 4.1.2.",
12491
12576
  "value": { "type": "string | undefined", "default": "undefined" }
12492
12577
  },
12493
12578
  {
@@ -12520,12 +12605,12 @@
12520
12605
  "properties": [
12521
12606
  {
12522
12607
  "name": "accessible-name",
12523
- "description": "Defines the accessible ARIA name of the component.",
12608
+ "description": "Defines the accessible ARIA name of the component.\n\n**Note:** It is strongly recommended to always set this property or `accessibleNameRef`\nwhen the toolbar has `role=\"toolbar\"` (i.e. when it contains more than one interactive item).\nWithout an accessible name, screen readers will announce the toolbar without any context,\nmaking it harder for keyboard-only and AT users to understand its purpose.",
12524
12609
  "value": { "type": "string | undefined" }
12525
12610
  },
12526
12611
  {
12527
12612
  "name": "accessible-name-ref",
12528
- "description": "Receives id(or many ids) of the elements that label the input.",
12613
+ "description": "Receives id(or many ids) of the elements that label the input.\n\n**Note:** When the toolbar has `role=\"toolbar\"`, at least one of `accessibleName` or\n`accessibleNameRef` should be provided to satisfy WCAG 2.1 success criterion 4.1.2.",
12529
12614
  "value": { "type": "string | undefined" }
12530
12615
  },
12531
12616
  {
@@ -12902,6 +12987,11 @@
12902
12987
  "name": "selected",
12903
12988
  "description": "Defines the selected state of the component.",
12904
12989
  "value": { "type": "any", "default": "false" }
12990
+ },
12991
+ {
12992
+ "name": "value",
12993
+ "description": "Defines the value of the component.",
12994
+ "value": { "type": "string | undefined", "default": "undefined" }
12905
12995
  }
12906
12996
  ],
12907
12997
  "slots": [
@@ -12917,6 +13007,11 @@
12917
13007
  "name": "selected",
12918
13008
  "description": "Defines the selected state of the component.",
12919
13009
  "value": { "type": "any" }
13010
+ },
13011
+ {
13012
+ "name": "value",
13013
+ "description": "Defines the value of the component.",
13014
+ "value": { "type": "string | undefined" }
12920
13015
  }
12921
13016
  ],
12922
13017
  "events": []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui5/webcomponents",
3
- "version": "2.25.0-rc.0",
3
+ "version": "2.25.0-rc.3",
4
4
  "description": "UI5 Web Components: webcomponents.main",
5
5
  "ui5": {
6
6
  "webComponentsPackage": true
@@ -56,22 +56,22 @@
56
56
  "directory": "packages/main"
57
57
  },
58
58
  "dependencies": {
59
- "@ui5/webcomponents-base": "2.25.0-rc.0",
60
- "@ui5/webcomponents-icons": "2.25.0-rc.0",
61
- "@ui5/webcomponents-icons-business-suite": "2.25.0-rc.0",
62
- "@ui5/webcomponents-icons-tnt": "2.25.0-rc.0",
63
- "@ui5/webcomponents-localization": "2.25.0-rc.0",
64
- "@ui5/webcomponents-theming": "2.25.0-rc.0"
59
+ "@ui5/webcomponents-base": "2.25.0-rc.3",
60
+ "@ui5/webcomponents-icons": "2.25.0-rc.3",
61
+ "@ui5/webcomponents-icons-business-suite": "2.25.0-rc.3",
62
+ "@ui5/webcomponents-icons-tnt": "2.25.0-rc.3",
63
+ "@ui5/webcomponents-localization": "2.25.0-rc.3",
64
+ "@ui5/webcomponents-theming": "2.25.0-rc.3"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@custom-elements-manifest/analyzer": "^0.10.10",
68
68
  "@ui5/cypress-internal": "0.1.0",
69
- "@ui5/webcomponents-tools": "2.25.0-rc.0",
70
- "cypress": "15.9.0",
69
+ "@ui5/webcomponents-tools": "2.25.0-rc.3",
70
+ "cypress": "15.18.1",
71
71
  "jsdom": "^26.0.0",
72
72
  "lit": "^2.0.0",
73
73
  "vite": "5.4.21",
74
- "vitest": "^3.0.2"
74
+ "vitest": "^3.2.7"
75
75
  },
76
- "gitHead": "3800f6ec28e661c8632343a4dfd00c0f78ae5e7d"
76
+ "gitHead": "f3a7ff8716c57d513a3464958de2a01c1eb793fc"
77
77
  }
@@ -10,7 +10,6 @@ export default function CarouselTemplate(this: Carousel) {
10
10
  "ui5-carousel-root": true,
11
11
  [`ui5-carousel-background-${this._backgroundDesign}`]: true,
12
12
  }}
13
- role="region"
14
13
  aria-label={this.ariaLabelTxt}
15
14
  aria-roledescription={this._roleDescription}
16
15
  onFocusIn={this._onfocusin}
@@ -11,6 +11,7 @@ export default function DynamicDateRangeInputTemplate(this: DynamicDateRange) {
11
11
  id={`${this._id}-inner`}
12
12
  class="ui5-dynamic-date-range-input"
13
13
  value={this.value && this.getOption(this.value?.operator)?.format(this.value)}
14
+ _inputAccInfo={this._accInfo}
14
15
  onChange={this.onInputChange}
15
16
  onKeyDown={this.onInputKeyDown}
16
17
  >
@@ -0,0 +1,42 @@
1
+ import type InputIcon from "./InputIcon.js";
2
+ import Icon from "./Icon.js";
3
+
4
+ export default function InputIconTemplate(this: InputIcon) {
5
+ return (
6
+ <>
7
+ {!this.readonly &&
8
+ <div
9
+ class={{
10
+ "ui5-input-icon-root": true,
11
+ "inputIcon": true,
12
+ "inputIcon--pressed": this._pressed,
13
+ "inputIcon--focused": this._focused,
14
+ "inputIcon--disabled": this.disabled,
15
+ }}
16
+ role="button"
17
+ tabindex={this.effectiveTabIndex}
18
+ aria-label={this.effectiveAriaLabel}
19
+ aria-disabled={this.disabled}
20
+ title={this.effectiveTitle}
21
+ onClick={this._onclick}
22
+ onMouseDown={this._onmousedown}
23
+ onMouseUp={this._onmouseup}
24
+ onMouseLeave={this._onmouseleave}
25
+ onFocus={this._onfocus}
26
+ onBlur={this._onblur}
27
+ onKeyDown={this._onkeydown}
28
+ onKeyUp={this._onkeyup}
29
+ part="root"
30
+ >
31
+ {this.name && (
32
+ <Icon
33
+ name={this.name}
34
+ class="ui5-input-icon-inner"
35
+ aria-hidden="true"
36
+ />
37
+ )}
38
+ </div>
39
+ }
40
+ </>
41
+ );
42
+ }
@@ -1,12 +1,10 @@
1
1
  import type MenuSeparator from "./MenuSeparator.js";
2
- import ListItemCustom from "./ListItemCustom.js";
3
2
 
4
3
  export default function MenuSeparatorTemplate(this: MenuSeparator) {
5
4
  return (
6
- <ListItemCustom
5
+ <li
6
+ role="separator"
7
7
  class="ui5-menu-separator"
8
- _forcedAccessibleRole="separator"
9
- disabled={true}
10
8
  />
11
9
  );
12
10
  }
@@ -3,12 +3,15 @@ import ListItemBaseTemplate from "./ListItemBaseTemplate.js";
3
3
  import type MultiComboBoxItem from "./MultiComboBoxItem.js";
4
4
 
5
5
  export default function MultiComboBoxItemTemplate(this: MultiComboBoxItem) {
6
- return ListItemBaseTemplate.call(this, { listItemContent }, { role: "option" });
6
+ return ListItemBaseTemplate.call(this, { listItemContent }, {
7
+ role: "option",
8
+ });
7
9
  }
8
10
 
9
11
  function listItemContent(this: MultiComboBoxItem) {
10
12
  return (
11
13
  <>
14
+ <span class="ui5-hidden-text">{this._selectionStateText}</span>
12
15
  <CheckBox
13
16
  disabled={this._readonly}
14
17
  checked={this.selected}
@@ -78,6 +78,7 @@ export default function SliderTemplate(this: Slider) {
78
78
  max={this.max}
79
79
  step={this.step}
80
80
  startValue={this.min}
81
+ progressAriaValueNow={this.value}
81
82
  showTickmarks={this.showTickmarks || this._hasCustomTickmarks}
82
83
  labelInterval={this._hasCustomTickmarks ? 1 : this.labelInterval}
83
84
  tickmarks={this.tickmarks}
@@ -25,6 +25,7 @@ export default function ToolbarSelectTemplate(this: ToolbarSelect) {
25
25
  {this.options.map((option, index) => (
26
26
  <Option
27
27
  selected={option.selected}
28
+ value={option.value}
28
29
  data-ui5-external-action-item-index={index}
29
30
  >
30
31
  {option.textContent}
@@ -430,7 +430,7 @@ MESSAGE_STRIP_WARNING=Warning Message Strip
430
430
  MESSAGE_STRIP_SUCCESS=Success Message Strip
431
431
 
432
432
  #XACT: ARIA announcement for the MessageStrip's "Information" state
433
- MESSAGE_STRIP_INFORMATION=Message Strip
433
+ MESSAGE_STRIP_INFORMATION=Information Message Strip
434
434
 
435
435
  #XACT: ARIA announcement for the MessageStrip's "Custom" state
436
436
  MESSAGE_STRIP_CUSTOM=Custom Message Strip
@@ -116,4 +116,5 @@
116
116
  .ui5-cp-default-color-button,
117
117
  .ui5-cp-more-colors {
118
118
  padding: 0.0625rem;
119
+ border-radius: 0;
119
120
  }
@@ -62,5 +62,4 @@
62
62
 
63
63
  .ui5-date-picker-popover::part(header) {
64
64
  padding: 0;
65
- }
66
-
65
+ }
@@ -381,6 +381,10 @@
381
381
 
382
382
  /* Input Icon */
383
383
 
384
+ ::slotted([ui5-input-icon]) {
385
+ height: 100%;
386
+ }
387
+
384
388
  .ui5-input-icon-root {
385
389
  min-width: var(--_ui5_input_icon_min_width);
386
390
  height: 100%;
@@ -1,3 +1,8 @@
1
+ .ui5-input-icon-root {
2
+ height: 100%;
3
+ box-sizing: border-box;
4
+ }
5
+
1
6
  .inputIcon {
2
7
  color: var(--_ui5_input_icon_color);
3
8
  cursor: pointer;
@@ -7,6 +12,14 @@
7
12
  min-width: 1rem;
8
13
  min-height: 1rem;
9
14
  border-radius: var(--_ui5_input_icon_border_radius);
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ }
19
+
20
+ .inputIcon:focus-visible {
21
+ outline: var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);
22
+ outline-offset: -0.125rem;
10
23
  }
11
24
 
12
25
  .inputIcon.inputIcon--pressed {
@@ -16,19 +29,107 @@
16
29
  color: var(--_ui5_input_icon_pressed_color);
17
30
  }
18
31
 
19
- .inputIcon:active {
32
+ .inputIcon:not(.inputIcon--disabled):active {
20
33
  background-color: var(--sapButton_Active_Background);
21
34
  box-shadow: var(--_ui5_input_icon_box_shadow);
22
35
  border-inline-start: var(--_ui5_select_hover_icon_left_border);
23
36
  color: var(--_ui5_input_icon_pressed_color);
24
37
  }
25
38
 
26
- .inputIcon:not(.inputIcon--pressed):not(:active):hover {
39
+ .inputIcon:not(.inputIcon--pressed):not(:active):not(.inputIcon--disabled):hover {
27
40
  background: var(--_ui5_input_icon_hover_bg);
28
41
  box-shadow: var(--_ui5_input_icon_box_shadow);
29
42
  }
30
43
 
31
- .inputIcon:hover {
44
+ .inputIcon:not(.inputIcon--disabled):hover {
32
45
  border-inline-start: var(--_ui5_select_hover_icon_left_border);
33
46
  box-shadow: var(--_ui5_input_icon_box_shadow);
34
47
  }
48
+
49
+ /* Disabled state styling */
50
+ .inputIcon.inputIcon--disabled {
51
+ opacity: var(--sapContent_DisabledOpacity);
52
+ cursor: default;
53
+ }
54
+
55
+
56
+ /* Style the inner Icon component */
57
+ .ui5-input-icon-inner {
58
+ display: flex;
59
+ width: 1rem;
60
+ height: 1rem;
61
+ color: inherit;
62
+ pointer-events: none;
63
+ flex-shrink: 0;
64
+ }
65
+
66
+ /* Value state styling */
67
+ :host([value-state="Negative"]) .inputIcon,
68
+ :host([value-state="Critical"]) .inputIcon {
69
+ padding: var(--_ui5_input_error_warning_icon_padding);
70
+ }
71
+
72
+ :host([value-state="Information"]) .inputIcon {
73
+ padding: var(--_ui5_input_information_icon_padding);
74
+ }
75
+
76
+ :host([value-state="Negative"]) .inputIcon:not(.inputIcon--disabled):active,
77
+ :host([value-state="Negative"]) .inputIcon.inputIcon--pressed {
78
+ box-shadow: var(--_ui5_input_error_icon_box_shadow);
79
+ color: var(--_ui5_input_icon_error_pressed_color);
80
+ }
81
+
82
+ :host([value-state="Negative"]) .inputIcon:not(.inputIcon--pressed):not(:active):not(.inputIcon--disabled):hover {
83
+ box-shadow: var(--_ui5_input_error_icon_box_shadow);
84
+ }
85
+
86
+ :host([value-state="Critical"]) .inputIcon:not(.inputIcon--disabled):active,
87
+ :host([value-state="Critical"]) .inputIcon.inputIcon--pressed {
88
+ box-shadow: var(--_ui5_input_warning_icon_box_shadow);
89
+ color: var(--_ui5_input_icon_warning_pressed_color);
90
+ }
91
+
92
+ :host([value-state="Critical"]) .inputIcon:not(.inputIcon--pressed):not(:active):not(.inputIcon--disabled):hover {
93
+ box-shadow: var(--_ui5_input_warning_icon_box_shadow);
94
+ }
95
+
96
+ :host([value-state="Information"]) .inputIcon:not(.inputIcon--disabled):active,
97
+ :host([value-state="Information"]) .inputIcon.inputIcon--pressed {
98
+ box-shadow: var(--_ui5_input_information_icon_box_shadow);
99
+ color: var(--_ui5_input_icon_information_pressed_color);
100
+ }
101
+
102
+ :host([value-state="Information"]) .inputIcon:not(.inputIcon--pressed):not(:active):not(.inputIcon--disabled):hover {
103
+ box-shadow: var(--_ui5_input_information_icon_box_shadow);
104
+ }
105
+
106
+ :host([value-state="Positive"]) .inputIcon:not(.inputIcon--disabled):active,
107
+ :host([value-state="Positive"]) .inputIcon.inputIcon--pressed {
108
+ box-shadow: var(--_ui5_input_success_icon_box_shadow);
109
+ color: var(--_ui5_input_icon_success_pressed_color);
110
+ }
111
+
112
+ :host([value-state="Positive"]) .inputIcon:not(.inputIcon--pressed):not(:active):not(.inputIcon--disabled):hover {
113
+ box-shadow: var(--_ui5_input_success_icon_box_shadow);
114
+ }
115
+
116
+ /* Override focus outline colors for value states */
117
+ :host([value-state="Negative"]) .inputIcon.inputIcon--focused {
118
+ outline-color: var(--_ui5_input_focused_value_state_error_focus_outline_color);
119
+ border-inline-start-color: var(--_ui5_input_focused_value_state_error_focus_outline_color);
120
+ }
121
+
122
+ :host([value-state="Critical"]) .inputIcon.inputIcon--focused {
123
+ outline-color: var(--_ui5_input_focused_value_state_warning_focus_outline_color);
124
+ border-inline-start-color: var(--_ui5_input_focused_value_state_warning_focus_outline_color);
125
+ }
126
+
127
+ :host([value-state="Information"]) .inputIcon.inputIcon--focused {
128
+ outline-color: var(--sapContent_FocusColor);
129
+ border-inline-start-color: var(--sapContent_FocusColor);
130
+ }
131
+
132
+ :host([value-state="Positive"]) .inputIcon.inputIcon--focused {
133
+ outline-color: var(--_ui5_input_focused_value_state_success_focus_outline_color);
134
+ border-inline-start-color: var(--_ui5_input_focused_value_state_success_focus_outline_color);
135
+ }
@@ -1,3 +1,5 @@
1
+ @import "./InvisibleTextStyles.css";
2
+
1
3
  :host([ui5-mcb-item]) {
2
4
  height: auto;
3
5
  min-height: var(--_ui5_list_item_base_height);
@@ -2,7 +2,7 @@
2
2
 
3
3
  :host {
4
4
  --_ui5_card_hover_box_shadow: var(--sapContent_Shadow2);
5
- --_ui5_card_header_focus_offset: 0px;
5
+ --_ui5_card_header_focus_offset: 1px;
6
6
  --_ui5_card_header_focus_radius: var(--_ui5_card_border-radius);
7
7
  --_ui5_card_header_title_font_family: var(--sapFontHeaderFamily);
8
8
  --_ui5_card_header_title_font_size: var(--sapFontHeader6Size);
@@ -2,7 +2,7 @@
2
2
 
3
3
  :host {
4
4
  --_ui5_card_hover_box_shadow: var(--sapContent_Shadow2);
5
- --_ui5_card_header_focus_offset: 0px;
5
+ --_ui5_card_header_focus_offset: 1px;
6
6
  --_ui5_card_header_focus_radius: var(--_ui5_card_border-radius);
7
7
  --_ui5_card_header_title_font_family: var(--sapFontHeaderFamily);
8
8
  --_ui5_card_header_title_font_size: var(--sapFontHeader6Size);