@ui5/webcomponents 2.25.0-rc.3 → 2.25.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 (192) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/ComboBox.d.ts +1 -0
  4. package/dist/ComboBox.js +8 -1
  5. package/dist/ComboBox.js.map +1 -1
  6. package/dist/DayPicker.d.ts +4 -2
  7. package/dist/DayPicker.js +15 -11
  8. package/dist/DayPicker.js.map +1 -1
  9. package/dist/FileUploader.js +1 -2
  10. package/dist/FileUploader.js.map +1 -1
  11. package/dist/FileUploaderTemplate.js +1 -1
  12. package/dist/FileUploaderTemplate.js.map +1 -1
  13. package/dist/Input.js +0 -8
  14. package/dist/Input.js.map +1 -1
  15. package/dist/InputIcon.d.ts +1 -42
  16. package/dist/InputIcon.js +2 -73
  17. package/dist/InputIcon.js.map +1 -1
  18. package/dist/InputIconTemplate.js +7 -9
  19. package/dist/InputIconTemplate.js.map +1 -1
  20. package/dist/MultiComboBox.js +8 -3
  21. package/dist/MultiComboBox.js.map +1 -1
  22. package/dist/MultiInput.js +1 -0
  23. package/dist/MultiInput.js.map +1 -1
  24. package/dist/RangeSlider.js +1 -1
  25. package/dist/RangeSlider.js.map +1 -1
  26. package/dist/Slider.js +3 -0
  27. package/dist/Slider.js.map +1 -1
  28. package/dist/SliderBase.d.ts +6 -0
  29. package/dist/SliderBase.js +8 -0
  30. package/dist/SliderBase.js.map +1 -1
  31. package/dist/css/themes/ComboBox.css +1 -1
  32. package/dist/css/themes/DatePicker.css +1 -1
  33. package/dist/css/themes/DynamicDateRange.css +1 -1
  34. package/dist/css/themes/FileUploader.css +1 -1
  35. package/dist/css/themes/Input.css +1 -1
  36. package/dist/css/themes/InputIcon.css +1 -1
  37. package/dist/css/themes/MultiComboBox.css +1 -1
  38. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  39. package/dist/css/themes/MultiInput.css +1 -1
  40. package/dist/css/themes/Select.css +1 -1
  41. package/dist/css/themes/StepInput.css +1 -1
  42. package/dist/css/themes/TimePicker.css +1 -1
  43. package/dist/custom-elements-internal.json +2 -85
  44. package/dist/custom-elements.json +2 -85
  45. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  46. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  47. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  48. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  49. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  50. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  51. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  52. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  53. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  54. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  55. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  56. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  57. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  58. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  59. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  60. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  61. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  62. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  63. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  64. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  65. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  66. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  67. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  68. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  69. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  70. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  71. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  72. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  73. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  74. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  75. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  76. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  77. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  78. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  79. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  80. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  81. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  82. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  83. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  84. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  85. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  86. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  87. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  88. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  89. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  90. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  91. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  92. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  93. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  94. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  95. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  96. package/dist/generated/i18n/i18n-defaults.js +1 -1
  97. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  98. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  99. package/dist/generated/themes/ComboBox.css.js +1 -1
  100. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  101. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  102. package/dist/generated/themes/DatePicker.css.js +1 -1
  103. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  104. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  105. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  106. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  107. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  108. package/dist/generated/themes/FileUploader.css.js +1 -1
  109. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  110. package/dist/generated/themes/Input.css.d.ts +1 -1
  111. package/dist/generated/themes/Input.css.js +1 -1
  112. package/dist/generated/themes/Input.css.js.map +1 -1
  113. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  114. package/dist/generated/themes/InputIcon.css.js +1 -1
  115. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  116. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  117. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  118. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  119. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  120. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  121. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  122. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  123. package/dist/generated/themes/MultiInput.css.js +1 -1
  124. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  125. package/dist/generated/themes/Select.css.d.ts +1 -1
  126. package/dist/generated/themes/Select.css.js +1 -1
  127. package/dist/generated/themes/Select.css.js.map +1 -1
  128. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  129. package/dist/generated/themes/StepInput.css.js +1 -1
  130. package/dist/generated/themes/StepInput.css.js.map +1 -1
  131. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  132. package/dist/generated/themes/TimePicker.css.js +1 -1
  133. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  134. package/dist/vscode.html-custom-data.json +1 -27
  135. package/dist/web-types.json +3 -48
  136. package/package.json +9 -9
  137. package/src/FileUploaderTemplate.tsx +1 -1
  138. package/src/InputIconTemplate.tsx +29 -35
  139. package/src/i18n/messagebundle_ar.properties +6 -1
  140. package/src/i18n/messagebundle_bg.properties +6 -1
  141. package/src/i18n/messagebundle_ca.properties +6 -1
  142. package/src/i18n/messagebundle_cnr.properties +6 -1
  143. package/src/i18n/messagebundle_cs.properties +6 -1
  144. package/src/i18n/messagebundle_cy.properties +6 -1
  145. package/src/i18n/messagebundle_da.properties +6 -1
  146. package/src/i18n/messagebundle_de.properties +6 -1
  147. package/src/i18n/messagebundle_el.properties +6 -1
  148. package/src/i18n/messagebundle_en.properties +6 -1
  149. package/src/i18n/messagebundle_en_GB.properties +6 -1
  150. package/src/i18n/messagebundle_en_US_sappsd.properties +6 -1
  151. package/src/i18n/messagebundle_en_US_saprigi.properties +6 -1
  152. package/src/i18n/messagebundle_en_US_saptrc.properties +6 -1
  153. package/src/i18n/messagebundle_es.properties +6 -1
  154. package/src/i18n/messagebundle_es_MX.properties +6 -1
  155. package/src/i18n/messagebundle_et.properties +6 -1
  156. package/src/i18n/messagebundle_fi.properties +6 -1
  157. package/src/i18n/messagebundle_fr.properties +15 -10
  158. package/src/i18n/messagebundle_fr_CA.properties +6 -1
  159. package/src/i18n/messagebundle_hi.properties +6 -1
  160. package/src/i18n/messagebundle_hr.properties +6 -1
  161. package/src/i18n/messagebundle_hu.properties +6 -1
  162. package/src/i18n/messagebundle_id.properties +6 -1
  163. package/src/i18n/messagebundle_it.properties +6 -1
  164. package/src/i18n/messagebundle_iw.properties +6 -1
  165. package/src/i18n/messagebundle_ja.properties +6 -1
  166. package/src/i18n/messagebundle_kk.properties +6 -1
  167. package/src/i18n/messagebundle_ko.properties +6 -1
  168. package/src/i18n/messagebundle_lt.properties +6 -1
  169. package/src/i18n/messagebundle_lv.properties +6 -1
  170. package/src/i18n/messagebundle_mk.properties +6 -1
  171. package/src/i18n/messagebundle_ms.properties +6 -1
  172. package/src/i18n/messagebundle_nl.properties +6 -1
  173. package/src/i18n/messagebundle_no.properties +6 -1
  174. package/src/i18n/messagebundle_pl.properties +6 -1
  175. package/src/i18n/messagebundle_pt.properties +6 -1
  176. package/src/i18n/messagebundle_pt_PT.properties +6 -1
  177. package/src/i18n/messagebundle_ro.properties +6 -1
  178. package/src/i18n/messagebundle_ru.properties +6 -1
  179. package/src/i18n/messagebundle_sh.properties +6 -1
  180. package/src/i18n/messagebundle_sk.properties +6 -1
  181. package/src/i18n/messagebundle_sl.properties +6 -1
  182. package/src/i18n/messagebundle_sr.properties +6 -1
  183. package/src/i18n/messagebundle_sv.properties +6 -1
  184. package/src/i18n/messagebundle_th.properties +6 -1
  185. package/src/i18n/messagebundle_tr.properties +6 -1
  186. package/src/i18n/messagebundle_uk.properties +6 -1
  187. package/src/i18n/messagebundle_vi.properties +6 -1
  188. package/src/i18n/messagebundle_zh_CN.properties +6 -1
  189. package/src/i18n/messagebundle_zh_TW.properties +6 -1
  190. package/src/themes/Input.css +60 -0
  191. package/src/themes/InputIcon.css +22 -87
  192. package/src/themes/MultiComboBoxPopover.css +16 -6
@@ -1,5 +1,4 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
- import type ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
3
2
  import "./Icon.js";
4
3
  /**
5
4
  * @class
@@ -37,47 +36,12 @@ declare class InputIcon extends UI5Element {
37
36
  * Defines the accessible name of the icon.
38
37
  *
39
38
  * **Note:** This property is used for accessibility purposes and will be announced by screen readers.
39
+ * When set, it is also rendered as a native `title` tooltip.
40
40
  *
41
41
  * @default undefined
42
42
  * @public
43
43
  */
44
44
  accessibleName?: string;
45
- /**
46
- * Defines whether the tooltip is shown.
47
- *
48
- * **Note:** The tooltip text should be provided via the `accessible-name` property.
49
- *
50
- * @default false
51
- * @public
52
- */
53
- showTooltip: boolean;
54
- /**
55
- * Defines the value state of the icon.
56
- *
57
- * **Note:** This property should match the parent input's value state for consistent styling.
58
- *
59
- * @default "None"
60
- * @public
61
- */
62
- valueState: `${ValueState}`;
63
- /**
64
- * Defines whether the icon is disabled.
65
- *
66
- * **Note:** Disabled icons are not interactive and do not fire click events.
67
- *
68
- * @default false
69
- * @public
70
- */
71
- disabled: boolean;
72
- /**
73
- * Defines whether the icon is readonly.
74
- *
75
- * **Note:** Readonly icons are not interactive and do not fire click events.
76
- *
77
- * @default false
78
- * @public
79
- */
80
- readonly: boolean;
81
45
  /**
82
46
  * @private
83
47
  */
@@ -86,10 +50,6 @@ declare class InputIcon extends UI5Element {
86
50
  * @private
87
51
  */
88
52
  _focused: boolean;
89
- /**
90
- * @private
91
- */
92
- _parentDisabled: boolean;
93
53
  _onclick(e: MouseEvent): void;
94
54
  _onmousedown(): void;
95
55
  _onmouseup(): void;
@@ -98,7 +58,6 @@ declare class InputIcon extends UI5Element {
98
58
  _onblur(): void;
99
59
  _onkeydown(e: KeyboardEvent): void;
100
60
  _onkeyup(e: KeyboardEvent): void;
101
- get effectiveTabIndex(): 0 | -1;
102
61
  get effectiveAriaLabel(): string | undefined;
103
62
  get effectiveTitle(): string | undefined;
104
63
  }
package/dist/InputIcon.js CHANGED
@@ -35,42 +35,6 @@ import "./Icon.js";
35
35
  let InputIcon = class InputIcon extends UI5Element {
36
36
  constructor() {
37
37
  super(...arguments);
38
- /**
39
- * Defines whether the tooltip is shown.
40
- *
41
- * **Note:** The tooltip text should be provided via the `accessible-name` property.
42
- *
43
- * @default false
44
- * @public
45
- */
46
- this.showTooltip = false;
47
- /**
48
- * Defines the value state of the icon.
49
- *
50
- * **Note:** This property should match the parent input's value state for consistent styling.
51
- *
52
- * @default "None"
53
- * @public
54
- */
55
- this.valueState = "None";
56
- /**
57
- * Defines whether the icon is disabled.
58
- *
59
- * **Note:** Disabled icons are not interactive and do not fire click events.
60
- *
61
- * @default false
62
- * @public
63
- */
64
- this.disabled = false;
65
- /**
66
- * Defines whether the icon is readonly.
67
- *
68
- * **Note:** Readonly icons are not interactive and do not fire click events.
69
- *
70
- * @default false
71
- * @public
72
- */
73
- this.readonly = false;
74
38
  /**
75
39
  * @private
76
40
  */
@@ -79,24 +43,13 @@ let InputIcon = class InputIcon extends UI5Element {
79
43
  * @private
80
44
  */
81
45
  this._focused = false;
82
- /**
83
- * @private
84
- */
85
- this._parentDisabled = false;
86
46
  }
87
47
  _onclick(e) {
88
- if (this.disabled || this.readonly || this._parentDisabled) {
89
- e.stopImmediatePropagation();
90
- e.preventDefault();
91
- return;
92
- }
93
48
  e.stopImmediatePropagation();
94
49
  this.fireDecoratorEvent("click");
95
50
  }
96
51
  _onmousedown() {
97
- if (!this.disabled && !this.readonly && !this._parentDisabled) {
98
- this._pressed = true;
99
- }
52
+ this._pressed = true;
100
53
  }
101
54
  _onmouseup() {
102
55
  this._pressed = false;
@@ -112,31 +65,22 @@ let InputIcon = class InputIcon extends UI5Element {
112
65
  this._pressed = false;
113
66
  }
114
67
  _onkeydown(e) {
115
- if (this.disabled || this.readonly || this._parentDisabled) {
116
- return;
117
- }
118
68
  if (isEnter(e) || isSpace(e)) {
119
69
  this._pressed = true;
120
70
  e.preventDefault(); // Prevent scrolling on Space
121
71
  }
122
72
  }
123
73
  _onkeyup(e) {
124
- if (this.disabled || this.readonly || this._parentDisabled) {
125
- return;
126
- }
127
74
  if (isEnter(e) || isSpace(e)) {
128
75
  this._pressed = false;
129
76
  this.fireDecoratorEvent("click");
130
77
  }
131
78
  }
132
- get effectiveTabIndex() {
133
- return (this.disabled || this.readonly || this._parentDisabled) ? -1 : 0;
134
- }
135
79
  get effectiveAriaLabel() {
136
80
  return this.accessibleName || undefined;
137
81
  }
138
82
  get effectiveTitle() {
139
- return this.showTooltip && this.accessibleName ? this.accessibleName : undefined;
83
+ return this.accessibleName || undefined;
140
84
  }
141
85
  };
142
86
  __decorate([
@@ -145,27 +89,12 @@ __decorate([
145
89
  __decorate([
146
90
  property()
147
91
  ], InputIcon.prototype, "accessibleName", void 0);
148
- __decorate([
149
- property({ type: Boolean })
150
- ], InputIcon.prototype, "showTooltip", void 0);
151
- __decorate([
152
- property()
153
- ], InputIcon.prototype, "valueState", void 0);
154
- __decorate([
155
- property({ type: Boolean })
156
- ], InputIcon.prototype, "disabled", void 0);
157
- __decorate([
158
- property({ type: Boolean })
159
- ], InputIcon.prototype, "readonly", void 0);
160
92
  __decorate([
161
93
  property({ type: Boolean, noAttribute: true })
162
94
  ], InputIcon.prototype, "_pressed", void 0);
163
95
  __decorate([
164
96
  property({ type: Boolean, noAttribute: true })
165
97
  ], InputIcon.prototype, "_focused", void 0);
166
- __decorate([
167
- property({ type: Boolean, noAttribute: true })
168
- ], InputIcon.prototype, "_parentDisabled", void 0);
169
98
  InputIcon = __decorate([
170
99
  customElement({
171
100
  tag: "ui5-input-icon",
@@ -1 +1 @@
1
- {"version":3,"file":"InputIcon.js","sourceRoot":"","sources":["../src/InputIcon.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport InputIconTemplate from \"./InputIconTemplate.js\";\nimport inputIconCss from \"./generated/themes/InputIcon.css.js\";\nimport \"./Icon.js\";\n\n/**\n * @class\n * ### Overview\n * The `ui5-input-icon` component represents an interactive icon that can be placed inside an `ui5-input` component.\n * Unlike the standard `ui5-icon`, this component provides button-like behavior with hover, focus, and active states,\n * matching the visual style of the input's built-in clear icon.\n *\n * ### Usage\n * Use `ui5-input-icon` for interactive icons that users can click (e.g., search, voice input, camera).\n * For decorative icons, use the standard `ui5-icon` component instead.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/InputIcon.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.25.0\n */\n@customElement({\n\ttag: \"ui5-input-icon\",\n\trenderer: jsxRenderer,\n\ttemplate: InputIconTemplate,\n\tstyles: inputIconCss,\n\tlanguageAware: false,\n\tthemeAware: true,\n})\n/**\n * Fired when the `ui5-input-icon` is activated either with a click/tap or by using the Enter or Space key.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\nclass InputIcon extends UI5Element {\n\teventDetails!: {\n\t\tclick: void;\n\t}\n\n\t/**\n\t * Defines the icon name to be displayed.\n\t *\n\t * **Note:** Make sure you import the desired icon before using it.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the accessible name of the icon.\n\t *\n\t * **Note:** This property is used for accessibility purposes and will be announced by screen readers.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines whether the tooltip is shown.\n\t *\n\t * **Note:** The tooltip text should be provided via the `accessible-name` property.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTooltip = false;\n\n\t/**\n\t * Defines the value state of the icon.\n\t *\n\t * **Note:** This property should match the parent input's value state for consistent styling.\n\t *\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the icon is disabled.\n\t *\n\t * **Note:** Disabled icons are not interactive and do not fire click events.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines whether the icon is readonly.\n\t *\n\t * **Note:** Readonly icons are not interactive and do not fire click events.\n\t *\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_pressed = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_parentDisabled = false;\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.disabled || this.readonly || this._parentDisabled) {\n\t\t\te.stopImmediatePropagation();\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\te.stopImmediatePropagation();\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n\n\t_onmousedown() {\n\t\tif (!this.disabled && !this.readonly && !this._parentDisabled) {\n\t\t\tthis._pressed = true;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tthis._pressed = false;\n\t}\n\n\t_onmouseleave() {\n\t\tthis._pressed = false;\n\t}\n\n\t_onfocus() {\n\t\tthis._focused = true;\n\t}\n\n\t_onblur() {\n\t\tthis._focused = false;\n\t\tthis._pressed = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this.disabled || this.readonly || this._parentDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e) || isSpace(e)) {\n\t\t\tthis._pressed = true;\n\t\t\te.preventDefault(); // Prevent scrolling on Space\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (this.disabled || this.readonly || this._parentDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e) || isSpace(e)) {\n\t\t\tthis._pressed = false;\n\t\t\tthis.fireDecoratorEvent(\"click\");\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\treturn (this.disabled || this.readonly || this._parentDisabled) ? -1 : 0;\n\t}\n\n\tget effectiveAriaLabel() {\n\t\treturn this.accessibleName || undefined;\n\t}\n\n\tget effectiveTitle() {\n\t\treturn this.showTooltip && this.accessibleName ? this.accessibleName : undefined;\n\t}\n}\n\nInputIcon.define();\n\nexport default InputIcon;\n"]}
1
+ {"version":3,"file":"InputIcon.js","sourceRoot":"","sources":["../src/InputIcon.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,WAAW,CAAC;AAEnB;;;;;;;;;;;;;;;;;;GAkBG;AAgBH,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QA4BC;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;IAiDlB,CAAC;IA/CA,QAAQ,CAAC,CAAa;QACrB,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,YAAY;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,UAAU;QACT,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO;QACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,6BAA6B;QAClD,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,CAAgB;QACxB,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC;IACzC,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC;IACzC,CAAC;CACD,CAAA;AAzEA;IADC,QAAQ,EAAE;uCACG;AAYd;IADC,QAAQ,EAAE;iDACa;AAMxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;2CAC9B;AAMjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;2CAC9B;AAtCZ,SAAS;IAfd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,YAAY;QACpB,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,IAAI;KAChB,CAAC;IACF;;;OAGG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;KACb,CAAC;GACI,SAAS,CAuFd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport InputIconTemplate from \"./InputIconTemplate.js\";\nimport inputIconCss from \"./generated/themes/InputIcon.css.js\";\nimport \"./Icon.js\";\n\n/**\n * @class\n * ### Overview\n * The `ui5-input-icon` component represents an interactive icon that can be placed inside an `ui5-input` component.\n * Unlike the standard `ui5-icon`, this component provides button-like behavior with hover, focus, and active states,\n * matching the visual style of the input's built-in clear icon.\n *\n * ### Usage\n * Use `ui5-input-icon` for interactive icons that users can click (e.g., search, voice input, camera).\n * For decorative icons, use the standard `ui5-icon` component instead.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/InputIcon.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @public\n * @since 2.25.0\n */\n@customElement({\n\ttag: \"ui5-input-icon\",\n\trenderer: jsxRenderer,\n\ttemplate: InputIconTemplate,\n\tstyles: inputIconCss,\n\tlanguageAware: false,\n\tthemeAware: true,\n})\n/**\n * Fired when the `ui5-input-icon` is activated either with a click/tap or by using the Enter or Space key.\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n})\nclass InputIcon extends UI5Element {\n\teventDetails!: {\n\t\tclick: void;\n\t}\n\n\t/**\n\t * Defines the icon name to be displayed.\n\t *\n\t * **Note:** Make sure you import the desired icon before using it.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the accessible name of the icon.\n\t *\n\t * **Note:** This property is used for accessibility purposes and will be announced by screen readers.\n\t * When set, it is also rendered as a native `title` tooltip.\n\t *\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_pressed = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_focused = false;\n\n\t_onclick(e: MouseEvent) {\n\t\te.stopImmediatePropagation();\n\t\tthis.fireDecoratorEvent(\"click\");\n\t}\n\n\t_onmousedown() {\n\t\tthis._pressed = true;\n\t}\n\n\t_onmouseup() {\n\t\tthis._pressed = false;\n\t}\n\n\t_onmouseleave() {\n\t\tthis._pressed = false;\n\t}\n\n\t_onfocus() {\n\t\tthis._focused = true;\n\t}\n\n\t_onblur() {\n\t\tthis._focused = false;\n\t\tthis._pressed = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) || isSpace(e)) {\n\t\t\tthis._pressed = true;\n\t\t\te.preventDefault(); // Prevent scrolling on Space\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isEnter(e) || isSpace(e)) {\n\t\t\tthis._pressed = false;\n\t\t\tthis.fireDecoratorEvent(\"click\");\n\t\t}\n\t}\n\n\tget effectiveAriaLabel() {\n\t\treturn this.accessibleName || undefined;\n\t}\n\n\tget effectiveTitle() {\n\t\treturn this.accessibleName || undefined;\n\t}\n}\n\nInputIcon.define();\n\nexport default InputIcon;\n"]}
@@ -1,13 +1,11 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
1
+ import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
2
  import Icon from "./Icon.js";
3
3
  export default function InputIconTemplate() {
4
- return (_jsx(_Fragment, { children: !this.readonly &&
5
- _jsx("div", { class: {
6
- "ui5-input-icon-root": true,
7
- "inputIcon": true,
8
- "inputIcon--pressed": this._pressed,
9
- "inputIcon--focused": this._focused,
10
- "inputIcon--disabled": this.disabled,
11
- }, role: "button", tabindex: this.effectiveTabIndex, "aria-label": this.effectiveAriaLabel, "aria-disabled": this.disabled, title: this.effectiveTitle, onClick: this._onclick, onMouseDown: this._onmousedown, onMouseUp: this._onmouseup, onMouseLeave: this._onmouseleave, onFocus: this._onfocus, onBlur: this._onblur, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, part: "root", children: this.name && (_jsx(Icon, { name: this.name, class: "ui5-input-icon-inner", "aria-hidden": "true" })) }) }));
4
+ return (_jsx("div", { class: {
5
+ "ui5-input-icon-root": true,
6
+ "inputIcon": true,
7
+ "inputIcon--pressed": this._pressed,
8
+ "inputIcon--focused": this._focused,
9
+ }, role: "button", tabindex: -1, "aria-label": this.effectiveAriaLabel, title: this.effectiveTitle, onClick: this._onclick, onMouseDown: this._onmousedown, onMouseUp: this._onmouseup, onMouseLeave: this._onmouseleave, onFocus: this._onfocus, onBlur: this._onblur, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, part: "root", children: this.name && (_jsx(Icon, { name: this.name, class: "ui5-input-icon-inner", "aria-hidden": "true" })) }));
12
10
  }
13
11
  //# sourceMappingURL=InputIconTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputIconTemplate.js","sourceRoot":"","sources":["../src/InputIconTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,OAAO,CACN,4BACE,CAAC,IAAI,CAAC,QAAQ;YACd,cACC,KAAK,EAAE;oBACN,qBAAqB,EAAE,IAAI;oBAC3B,WAAW,EAAE,IAAI;oBACjB,oBAAoB,EAAE,IAAI,CAAC,QAAQ;oBACnC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;oBACnC,qBAAqB,EAAE,IAAI,CAAC,QAAQ;iBACpC,EACD,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,iBAAiB,gBACpB,IAAI,CAAC,kBAAkB,mBACpB,IAAI,CAAC,QAAQ,EAC5B,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,IAAI,EAAC,MAAM,YAEV,IAAI,CAAC,IAAI,IAAI,CACb,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,sBAAsB,iBAChB,MAAM,GACjB,CACF,GACI,GAEL,CACH,CAAC;AACH,CAAC","sourcesContent":["import type InputIcon from \"./InputIcon.js\";\nimport Icon from \"./Icon.js\";\n\nexport default function InputIconTemplate(this: InputIcon) {\n\treturn (\n\t\t<>\n\t\t\t{!this.readonly &&\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"ui5-input-icon-root\": true,\n\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\"inputIcon--pressed\": this._pressed,\n\t\t\t\t\t\t\"inputIcon--focused\": this._focused,\n\t\t\t\t\t\t\"inputIcon--disabled\": this.disabled,\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabindex={this.effectiveTabIndex}\n\t\t\t\t\taria-label={this.effectiveAriaLabel}\n\t\t\t\t\taria-disabled={this.disabled}\n\t\t\t\t\ttitle={this.effectiveTitle}\n\t\t\t\t\tonClick={this._onclick}\n\t\t\t\t\tonMouseDown={this._onmousedown}\n\t\t\t\t\tonMouseUp={this._onmouseup}\n\t\t\t\t\tonMouseLeave={this._onmouseleave}\n\t\t\t\t\tonFocus={this._onfocus}\n\t\t\t\t\tonBlur={this._onblur}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\tonKeyUp={this._onkeyup}\n\t\t\t\t\tpart=\"root\"\n\t\t\t\t>\n\t\t\t\t\t{this.name && (\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tclass=\"ui5-input-icon-inner\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"file":"InputIconTemplate.js","sourceRoot":"","sources":["../src/InputIconTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,UAAU,iBAAiB;IACxC,OAAO,CACN,cACC,KAAK,EAAE;YACN,qBAAqB,EAAE,IAAI;YAC3B,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,IAAI,CAAC,QAAQ;YACnC,oBAAoB,EAAE,IAAI,CAAC,QAAQ;SACnC,EACD,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,gBACA,IAAI,CAAC,kBAAkB,EACnC,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,MAAM,EAAE,IAAI,CAAC,OAAO,EACpB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,IAAI,EAAC,MAAM,YAEV,IAAI,CAAC,IAAI,IAAI,CACb,KAAC,IAAI,IACJ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,sBAAsB,iBAChB,MAAM,GACjB,CACF,GACI,CACN,CAAC;AACH,CAAC","sourcesContent":["import type InputIcon from \"./InputIcon.js\";\nimport Icon from \"./Icon.js\";\n\nexport default function InputIconTemplate(this: InputIcon) {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"ui5-input-icon-root\": true,\n\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\"inputIcon--pressed\": this._pressed,\n\t\t\t\t\"inputIcon--focused\": this._focused,\n\t\t\t}}\n\t\t\trole=\"button\"\n\t\t\ttabindex={-1}\n\t\t\taria-label={this.effectiveAriaLabel}\n\t\t\ttitle={this.effectiveTitle}\n\t\t\tonClick={this._onclick}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonMouseUp={this._onmouseup}\n\t\t\tonMouseLeave={this._onmouseleave}\n\t\t\tonFocus={this._onfocus}\n\t\t\tonBlur={this._onblur}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tpart=\"root\"\n\t\t>\n\t\t\t{this.name && (\n\t\t\t\t<Icon\n\t\t\t\t\tname={this.name}\n\t\t\t\t\tclass=\"ui5-input-icon-inner\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
@@ -724,7 +724,9 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
724
724
  }
725
725
  else {
726
726
  this._previouslySelectedItems = this._getSelectedItems();
727
- this.selectedItems?.filter(item => !item.isGroupItem).forEach(item => {
727
+ // Operate on all selectable items, not the stale selectedItems snapshot
728
+ const allSelectableItems = this._getItems().filter(item => !item.isGroupItem);
729
+ allSelectableItems.forEach(item => {
728
730
  item.selected = e.target.checked;
729
731
  });
730
732
  if (!e.target.checked) {
@@ -1261,8 +1263,11 @@ let MultiComboBox = MultiComboBox_1 = class MultiComboBox extends UI5Element {
1261
1263
  const value = input && input.value;
1262
1264
  if (this.open) {
1263
1265
  const list = this._getList();
1264
- const selectedListItemsCount = this.items.filter(item => item.selected).length;
1265
- this._allSelected = selectedListItemsCount > 0 && ((selectedListItemsCount === this.items.length) || (list?.getSlottedNodes("items").length === selectedListItemsCount));
1266
+ const selectableItems = this._getItems().filter(item => !item.isGroupItem);
1267
+ const selectedListItemsCount = selectableItems.filter(item => item.selected).length;
1268
+ const listItemsCount = list?.getSlottedNodes("items").length || 0;
1269
+ // When filterSelected is true, only check against total items count since the list shows only selected items
1270
+ this._allSelected = selectedListItemsCount > 0 && (selectedListItemsCount === selectableItems.length || (!this.filterSelected && listItemsCount === selectedListItemsCount));
1266
1271
  }
1267
1272
  this._effectiveShowClearIcon = (this.showClearIcon && !!this.value && !this.readonly && !this.disabled);
1268
1273
  if (input && !input.value) {