@ui5/webcomponents 2.27.1 → 2.28.0-rc.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 (570) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +13 -7
  4. package/dist/Avatar.js +10 -6
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarGroup.d.ts +2 -2
  7. package/dist/AvatarGroup.js +3 -3
  8. package/dist/AvatarGroup.js.map +1 -1
  9. package/dist/Bar.d.ts +1 -1
  10. package/dist/Bar.js +1 -1
  11. package/dist/Bar.js.map +1 -1
  12. package/dist/Breadcrumbs.d.ts +2 -1
  13. package/dist/Breadcrumbs.js +2 -1
  14. package/dist/Breadcrumbs.js.map +1 -1
  15. package/dist/BreadcrumbsItem.d.ts +1 -1
  16. package/dist/BreadcrumbsItem.js +1 -1
  17. package/dist/BreadcrumbsItem.js.map +1 -1
  18. package/dist/BusyIndicator.d.ts +2 -2
  19. package/dist/BusyIndicator.js +1 -1
  20. package/dist/BusyIndicator.js.map +1 -1
  21. package/dist/Button.d.ts +4 -3
  22. package/dist/Button.js +3 -2
  23. package/dist/Button.js.map +1 -1
  24. package/dist/Calendar.d.ts +4 -1
  25. package/dist/Calendar.js +4 -1
  26. package/dist/Calendar.js.map +1 -1
  27. package/dist/CalendarLegend.d.ts +1 -0
  28. package/dist/CalendarLegend.js +1 -0
  29. package/dist/CalendarLegend.js.map +1 -1
  30. package/dist/Card.d.ts +4 -3
  31. package/dist/Card.js +1 -0
  32. package/dist/Card.js.map +1 -1
  33. package/dist/CardHeader.d.ts +1 -1
  34. package/dist/CardHeader.js +1 -1
  35. package/dist/CardHeader.js.map +1 -1
  36. package/dist/Carousel.d.ts +13 -13
  37. package/dist/Carousel.js +12 -12
  38. package/dist/Carousel.js.map +1 -1
  39. package/dist/CheckBox.d.ts +1 -1
  40. package/dist/CheckBox.js +1 -1
  41. package/dist/CheckBox.js.map +1 -1
  42. package/dist/ColorPalette.d.ts +9 -5
  43. package/dist/ColorPalette.js +12 -5
  44. package/dist/ColorPalette.js.map +1 -1
  45. package/dist/ColorPaletteItem.d.ts +2 -2
  46. package/dist/ColorPaletteItem.js +2 -2
  47. package/dist/ColorPaletteItem.js.map +1 -1
  48. package/dist/ColorPalettePopover.d.ts +2 -2
  49. package/dist/ColorPalettePopover.js +2 -2
  50. package/dist/ColorPalettePopover.js.map +1 -1
  51. package/dist/ColorPicker.d.ts +3 -1
  52. package/dist/ColorPicker.js +7 -1
  53. package/dist/ColorPicker.js.map +1 -1
  54. package/dist/ComboBox.d.ts +35 -7
  55. package/dist/ComboBox.js +134 -8
  56. package/dist/ComboBox.js.map +1 -1
  57. package/dist/ComboBoxItem.d.ts +1 -1
  58. package/dist/ComboBoxItem.js.map +1 -1
  59. package/dist/ComboBoxItemGroup.d.ts +1 -1
  60. package/dist/ComboBoxItemGroup.js +1 -1
  61. package/dist/ComboBoxItemGroup.js.map +1 -1
  62. package/dist/ComboBoxPopoverTemplate.js +43 -20
  63. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  64. package/dist/ComboBoxTemplate.js +4 -2
  65. package/dist/ComboBoxTemplate.js.map +1 -1
  66. package/dist/DateComponentBase.d.ts +3 -3
  67. package/dist/DateComponentBase.js +2 -2
  68. package/dist/DateComponentBase.js.map +1 -1
  69. package/dist/DatePicker.d.ts +5 -5
  70. package/dist/DatePicker.js +2 -2
  71. package/dist/DatePicker.js.map +1 -1
  72. package/dist/DateRangePicker.d.ts +1 -1
  73. package/dist/DateRangePicker.js +1 -1
  74. package/dist/DateRangePicker.js.map +1 -1
  75. package/dist/DateTimePicker.d.ts +1 -1
  76. package/dist/DateTimePicker.js +1 -1
  77. package/dist/DateTimePicker.js.map +1 -1
  78. package/dist/DayPicker.d.ts +1 -1
  79. package/dist/DayPicker.js +4 -3
  80. package/dist/DayPicker.js.map +1 -1
  81. package/dist/Dialog.d.ts +3 -3
  82. package/dist/Dialog.js +3 -3
  83. package/dist/Dialog.js.map +1 -1
  84. package/dist/FileUploader.d.ts +2 -2
  85. package/dist/FileUploader.js +1 -1
  86. package/dist/FileUploader.js.map +1 -1
  87. package/dist/Form.d.ts +2 -0
  88. package/dist/Form.js +2 -0
  89. package/dist/Form.js.map +1 -1
  90. package/dist/GridWalker.d.ts +1 -0
  91. package/dist/GridWalker.js +3 -0
  92. package/dist/GridWalker.js.map +1 -1
  93. package/dist/Input.d.ts +10 -6
  94. package/dist/Input.js +7 -3
  95. package/dist/Input.js.map +1 -1
  96. package/dist/InputIcon.d.ts +12 -1
  97. package/dist/InputIcon.js +15 -1
  98. package/dist/InputIcon.js.map +1 -1
  99. package/dist/Link.d.ts +17 -2
  100. package/dist/Link.js +16 -1
  101. package/dist/Link.js.map +1 -1
  102. package/dist/List.d.ts +9 -6
  103. package/dist/List.js +9 -6
  104. package/dist/List.js.map +1 -1
  105. package/dist/ListItem.d.ts +1 -1
  106. package/dist/ListItem.js +1 -1
  107. package/dist/ListItem.js.map +1 -1
  108. package/dist/ListItemBase.d.ts +1 -1
  109. package/dist/ListItemBase.js +1 -1
  110. package/dist/ListItemBase.js.map +1 -1
  111. package/dist/ListItemCustom.d.ts +1 -1
  112. package/dist/ListItemCustom.js.map +1 -1
  113. package/dist/ListItemStandard.d.ts +4 -4
  114. package/dist/ListItemStandard.js +1 -1
  115. package/dist/ListItemStandard.js.map +1 -1
  116. package/dist/Menu.d.ts +3 -0
  117. package/dist/Menu.js +3 -0
  118. package/dist/Menu.js.map +1 -1
  119. package/dist/MessageStrip.d.ts +3 -3
  120. package/dist/MessageStrip.js +3 -3
  121. package/dist/MessageStrip.js.map +1 -1
  122. package/dist/MonthPicker.js +1 -1
  123. package/dist/MonthPicker.js.map +1 -1
  124. package/dist/MultiComboBox.d.ts +7 -4
  125. package/dist/MultiComboBox.js +5 -2
  126. package/dist/MultiComboBox.js.map +1 -1
  127. package/dist/MultiInput.d.ts +1 -1
  128. package/dist/MultiInput.js +1 -1
  129. package/dist/MultiInput.js.map +1 -1
  130. package/dist/{NumberInput.d.ts → NumericInput.d.ts} +9 -9
  131. package/dist/{NumberInput.js → NumericInput.js} +50 -50
  132. package/dist/NumericInput.js.map +1 -0
  133. package/dist/NumericInputTemplate.d.ts +2 -0
  134. package/dist/{NumberInputTemplate.js → NumericInputTemplate.js} +6 -6
  135. package/dist/NumericInputTemplate.js.map +1 -0
  136. package/dist/Option.d.ts +1 -1
  137. package/dist/Option.js.map +1 -1
  138. package/dist/Panel.d.ts +3 -3
  139. package/dist/Panel.js +2 -2
  140. package/dist/Panel.js.map +1 -1
  141. package/dist/Popover.d.ts +13 -2
  142. package/dist/Popover.js +50 -3
  143. package/dist/Popover.js.map +1 -1
  144. package/dist/PopoverResize.d.ts +3 -0
  145. package/dist/PopoverResize.js +53 -23
  146. package/dist/PopoverResize.js.map +1 -1
  147. package/dist/PopoverTemplate.js +3 -1
  148. package/dist/PopoverTemplate.js.map +1 -1
  149. package/dist/Popup.d.ts +2 -2
  150. package/dist/Popup.js +2 -2
  151. package/dist/Popup.js.map +1 -1
  152. package/dist/ProgressIndicator.d.ts +1 -1
  153. package/dist/ProgressIndicator.js +1 -1
  154. package/dist/ProgressIndicator.js.map +1 -1
  155. package/dist/RadioButton.d.ts +1 -1
  156. package/dist/RadioButton.js +2 -2
  157. package/dist/RadioButton.js.map +1 -1
  158. package/dist/RangeSlider.d.ts +1 -1
  159. package/dist/RangeSlider.js +5 -4
  160. package/dist/RangeSlider.js.map +1 -1
  161. package/dist/RangeSliderTemplate.js +3 -3
  162. package/dist/RangeSliderTemplate.js.map +1 -1
  163. package/dist/RatingIndicator.d.ts +5 -5
  164. package/dist/RatingIndicator.js +4 -4
  165. package/dist/RatingIndicator.js.map +1 -1
  166. package/dist/ResponsivePopover.d.ts +2 -2
  167. package/dist/ResponsivePopover.js +2 -2
  168. package/dist/ResponsivePopover.js.map +1 -1
  169. package/dist/SegmentedButton.d.ts +2 -1
  170. package/dist/SegmentedButton.js +2 -1
  171. package/dist/SegmentedButton.js.map +1 -1
  172. package/dist/SegmentedButtonItem.d.ts +1 -1
  173. package/dist/SegmentedButtonItem.js.map +1 -1
  174. package/dist/Select.d.ts +7 -4
  175. package/dist/Select.js +5 -2
  176. package/dist/Select.js.map +1 -1
  177. package/dist/Slider.d.ts +2 -1
  178. package/dist/Slider.js +5 -1
  179. package/dist/Slider.js.map +1 -1
  180. package/dist/SliderBase.d.ts +1 -0
  181. package/dist/SliderBase.js +7 -1
  182. package/dist/SliderBase.js.map +1 -1
  183. package/dist/SliderHandle.d.ts +4 -0
  184. package/dist/SliderHandle.js +7 -0
  185. package/dist/SliderHandle.js.map +1 -1
  186. package/dist/SliderScale.d.ts +4 -0
  187. package/dist/SliderScale.js +13 -0
  188. package/dist/SliderScale.js.map +1 -1
  189. package/dist/SliderScaleTemplate.js +1 -1
  190. package/dist/SliderScaleTemplate.js.map +1 -1
  191. package/dist/SliderTemplate.js +1 -1
  192. package/dist/SliderTemplate.js.map +1 -1
  193. package/dist/StepInput.d.ts +8 -7
  194. package/dist/StepInput.js +6 -2
  195. package/dist/StepInput.js.map +1 -1
  196. package/dist/StepInputTemplate.js +2 -2
  197. package/dist/StepInputTemplate.js.map +1 -1
  198. package/dist/SuggestionItem.d.ts +1 -1
  199. package/dist/SuggestionItem.js.map +1 -1
  200. package/dist/SuggestionListItem.d.ts +1 -1
  201. package/dist/SuggestionListItem.js.map +1 -1
  202. package/dist/Switch.d.ts +1 -1
  203. package/dist/Switch.js +1 -1
  204. package/dist/Switch.js.map +1 -1
  205. package/dist/Tab.d.ts +1 -1
  206. package/dist/Tab.js +1 -1
  207. package/dist/Tab.js.map +1 -1
  208. package/dist/TabContainer.d.ts +4 -2
  209. package/dist/TabContainer.js +3 -1
  210. package/dist/TabContainer.js.map +1 -1
  211. package/dist/Table.d.ts +16 -3
  212. package/dist/Table.js +40 -4
  213. package/dist/Table.js.map +1 -1
  214. package/dist/TableGrowing.d.ts +1 -0
  215. package/dist/TableGrowing.js +12 -10
  216. package/dist/TableGrowing.js.map +1 -1
  217. package/dist/TableHeaderRow.d.ts +0 -6
  218. package/dist/TableHeaderRow.js +1 -19
  219. package/dist/TableHeaderRow.js.map +1 -1
  220. package/dist/TableHeaderRowTemplate.js +2 -12
  221. package/dist/TableHeaderRowTemplate.js.map +1 -1
  222. package/dist/TableNavigation.d.ts +1 -0
  223. package/dist/TableNavigation.js +7 -2
  224. package/dist/TableNavigation.js.map +1 -1
  225. package/dist/TableRow.js +2 -11
  226. package/dist/TableRow.js.map +1 -1
  227. package/dist/TableRowBase.d.ts +3 -7
  228. package/dist/TableRowBase.js +10 -26
  229. package/dist/TableRowBase.js.map +1 -1
  230. package/dist/TableRowTemplate.js +1 -3
  231. package/dist/TableRowTemplate.js.map +1 -1
  232. package/dist/TableSelection.d.ts +5 -6
  233. package/dist/TableSelection.js +28 -12
  234. package/dist/TableSelection.js.map +1 -1
  235. package/dist/TableSelectionBase.d.ts +15 -10
  236. package/dist/TableSelectionBase.js +33 -20
  237. package/dist/TableSelectionBase.js.map +1 -1
  238. package/dist/TableSelectionMulti.d.ts +5 -7
  239. package/dist/TableSelectionMulti.js +14 -10
  240. package/dist/TableSelectionMulti.js.map +1 -1
  241. package/dist/TableSelectionSingle.d.ts +3 -2
  242. package/dist/TableSelectionSingle.js +8 -2
  243. package/dist/TableSelectionSingle.js.map +1 -1
  244. package/dist/TableUtils.d.ts +3 -1
  245. package/dist/TableUtils.js +4 -1
  246. package/dist/TableUtils.js.map +1 -1
  247. package/dist/TextArea.d.ts +52 -5
  248. package/dist/TextArea.js +67 -6
  249. package/dist/TextArea.js.map +1 -1
  250. package/dist/TextAreaTemplate.js +2 -2
  251. package/dist/TextAreaTemplate.js.map +1 -1
  252. package/dist/TimePicker.d.ts +2 -2
  253. package/dist/TimePicker.js +1 -1
  254. package/dist/TimePicker.js.map +1 -1
  255. package/dist/Toast.d.ts +1 -1
  256. package/dist/Toast.js +1 -1
  257. package/dist/Toast.js.map +1 -1
  258. package/dist/Token.d.ts +2 -2
  259. package/dist/Token.js +1 -1
  260. package/dist/Token.js.map +1 -1
  261. package/dist/Tokenizer.d.ts +1 -0
  262. package/dist/Tokenizer.js +18 -1
  263. package/dist/Tokenizer.js.map +1 -1
  264. package/dist/Toolbar.d.ts +6 -0
  265. package/dist/Toolbar.js +6 -0
  266. package/dist/Toolbar.js.map +1 -1
  267. package/dist/Tree.d.ts +3 -1
  268. package/dist/Tree.js +5 -3
  269. package/dist/Tree.js.map +1 -1
  270. package/dist/TreeItem.d.ts +2 -2
  271. package/dist/TreeItem.js +1 -1
  272. package/dist/TreeItem.js.map +1 -1
  273. package/dist/TreeItemBase.d.ts +3 -3
  274. package/dist/TreeItemBase.js +3 -3
  275. package/dist/TreeItemBase.js.map +1 -1
  276. package/dist/YearPicker.js +1 -1
  277. package/dist/YearPicker.js.map +1 -1
  278. package/dist/bundle.esm.js +1 -1
  279. package/dist/bundle.esm.js.map +1 -1
  280. package/dist/css/themes/Avatar.css +1 -1
  281. package/dist/css/themes/AvatarGroup.css +1 -1
  282. package/dist/css/themes/ComboBox.css +1 -1
  283. package/dist/css/themes/ComboBoxPopover.css +1 -1
  284. package/dist/css/themes/FileUploader.css +1 -1
  285. package/dist/css/themes/Input.css +1 -1
  286. package/dist/css/themes/MultiComboBox.css +1 -1
  287. package/dist/css/themes/NumericInput.css +1 -0
  288. package/dist/css/themes/Popover.css +1 -1
  289. package/dist/css/themes/RatingIndicator.css +1 -1
  290. package/dist/css/themes/Select.css +1 -1
  291. package/dist/css/themes/SliderHandle.css +1 -1
  292. package/dist/css/themes/SliderScale.css +1 -1
  293. package/dist/css/themes/SplitButton.css +1 -1
  294. package/dist/css/themes/TextArea.css +1 -1
  295. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -2
  296. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -2
  297. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -2
  298. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -2
  299. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_horizon_auto/parameters-bundle.css +786 -513
  301. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  302. package/dist/css/themes/sap_horizon_hc_auto/parameters-bundle.css +742 -494
  303. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  305. package/dist/custom-elements-internal.json +2708 -259
  306. package/dist/custom-elements.json +2394 -98
  307. package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
  308. package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
  309. package/dist/features/ComboBoxLazyLoading.d.ts +26 -0
  310. package/dist/features/ComboBoxLazyLoading.js +48 -0
  311. package/dist/features/ComboBoxLazyLoading.js.map +1 -0
  312. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  360. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  361. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  362. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  363. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  364. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  365. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  366. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_horizon_auto/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_horizon_hc_auto/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  372. package/dist/generated/i18n/i18n-defaults.d.ts +9 -1
  373. package/dist/generated/i18n/i18n-defaults.js +10 -2
  374. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  375. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  376. package/dist/generated/themes/Avatar.css.js +1 -1
  377. package/dist/generated/themes/Avatar.css.js.map +1 -1
  378. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  379. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  380. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  381. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  382. package/dist/generated/themes/ComboBox.css.js +1 -1
  383. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  384. package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
  385. package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
  386. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  387. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  388. package/dist/generated/themes/FileUploader.css.js +1 -1
  389. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  390. package/dist/generated/themes/Input.css.d.ts +1 -1
  391. package/dist/generated/themes/Input.css.js +1 -1
  392. package/dist/generated/themes/Input.css.js.map +1 -1
  393. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  394. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  395. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  396. package/dist/generated/themes/NumericInput.css.d.ts +2 -0
  397. package/dist/generated/themes/NumericInput.css.js +8 -0
  398. package/dist/generated/themes/NumericInput.css.js.map +1 -0
  399. package/dist/generated/themes/Popover.css.d.ts +1 -1
  400. package/dist/generated/themes/Popover.css.js +1 -1
  401. package/dist/generated/themes/Popover.css.js.map +1 -1
  402. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  403. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  404. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  405. package/dist/generated/themes/Select.css.d.ts +1 -1
  406. package/dist/generated/themes/Select.css.js +1 -1
  407. package/dist/generated/themes/Select.css.js.map +1 -1
  408. package/dist/generated/themes/SliderHandle.css.d.ts +1 -1
  409. package/dist/generated/themes/SliderHandle.css.js +1 -1
  410. package/dist/generated/themes/SliderHandle.css.js.map +1 -1
  411. package/dist/generated/themes/SliderScale.css.d.ts +1 -1
  412. package/dist/generated/themes/SliderScale.css.js +1 -1
  413. package/dist/generated/themes/SliderScale.css.js.map +1 -1
  414. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  415. package/dist/generated/themes/SplitButton.css.js +1 -1
  416. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  417. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  418. package/dist/generated/themes/TextArea.css.js +1 -1
  419. package/dist/generated/themes/TextArea.css.js.map +1 -1
  420. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  421. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -2
  422. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  423. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  424. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -2
  425. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  426. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  427. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -2
  428. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  429. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  430. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -2
  431. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  432. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  433. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  434. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  435. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.d.ts +1 -1
  436. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js +786 -513
  437. package/dist/generated/themes/sap_horizon_auto/parameters-bundle.css.js.map +1 -1
  438. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  439. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  440. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  441. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.d.ts +1 -1
  442. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js +742 -494
  443. package/dist/generated/themes/sap_horizon_hc_auto/parameters-bundle.css.js.map +1 -1
  444. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  445. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  446. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  447. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  448. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  449. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  450. package/dist/types/ButtonAccessibleRole.d.ts +1 -1
  451. package/dist/types/ButtonAccessibleRole.js +1 -1
  452. package/dist/types/ButtonAccessibleRole.js.map +1 -1
  453. package/dist/types/TableSelectionBehavior.d.ts +1 -1
  454. package/dist/types/TableSelectionBehavior.js +1 -1
  455. package/dist/types/TableSelectionBehavior.js.map +1 -1
  456. package/dist/types/TableSelectionMultiHeaderSelector.d.ts +1 -1
  457. package/dist/types/TableSelectionMultiHeaderSelector.js +1 -1
  458. package/dist/types/TableSelectionMultiHeaderSelector.js.map +1 -1
  459. package/dist/types/TextAreaCounterMode.d.ts +27 -0
  460. package/dist/types/TextAreaCounterMode.js +29 -0
  461. package/dist/types/TextAreaCounterMode.js.map +1 -0
  462. package/dist/vscode.html-custom-data.json +22 -8
  463. package/dist/web-types.json +44 -13
  464. package/package.json +9 -9
  465. package/src/ComboBoxPopoverTemplate.tsx +140 -106
  466. package/src/ComboBoxTemplate.tsx +4 -2
  467. package/src/{NumberInputTemplate.tsx → NumericInputTemplate.tsx} +6 -6
  468. package/src/PopoverTemplate.tsx +19 -0
  469. package/src/RangeSliderTemplate.tsx +3 -0
  470. package/src/SliderScaleTemplate.tsx +1 -1
  471. package/src/SliderTemplate.tsx +1 -0
  472. package/src/StepInputTemplate.tsx +3 -3
  473. package/src/TableHeaderRowTemplate.tsx +1 -26
  474. package/src/TableRowTemplate.tsx +1 -9
  475. package/src/TableSelection.tsx +464 -0
  476. package/src/TableSelectionMulti.tsx +396 -0
  477. package/src/TableSelectionSingle.tsx +91 -0
  478. package/src/TextAreaTemplate.tsx +2 -2
  479. package/src/features/ColorPaletteMoreColorsTemplate.tsx +1 -1
  480. package/src/i18n/messagebundle.properties +25 -1
  481. package/src/i18n/messagebundle_ar.properties +1 -1
  482. package/src/i18n/messagebundle_bg.properties +1 -1
  483. package/src/i18n/messagebundle_ca.properties +1 -1
  484. package/src/i18n/messagebundle_cnr.properties +1 -1
  485. package/src/i18n/messagebundle_cy.properties +1 -1
  486. package/src/i18n/messagebundle_da.properties +1 -1
  487. package/src/i18n/messagebundle_de.properties +2 -2
  488. package/src/i18n/messagebundle_el.properties +1 -1
  489. package/src/i18n/messagebundle_en.properties +1 -1
  490. package/src/i18n/messagebundle_en_GB.properties +1 -1
  491. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  492. package/src/i18n/messagebundle_en_US_saprigi.properties +1 -1
  493. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  494. package/src/i18n/messagebundle_es.properties +1 -1
  495. package/src/i18n/messagebundle_es_MX.properties +1 -1
  496. package/src/i18n/messagebundle_et.properties +1 -1
  497. package/src/i18n/messagebundle_fi.properties +1 -1
  498. package/src/i18n/messagebundle_fr.properties +1 -1
  499. package/src/i18n/messagebundle_fr_CA.properties +1 -1
  500. package/src/i18n/messagebundle_hi.properties +1 -1
  501. package/src/i18n/messagebundle_hr.properties +3 -3
  502. package/src/i18n/messagebundle_hu.properties +2 -2
  503. package/src/i18n/messagebundle_id.properties +2 -2
  504. package/src/i18n/messagebundle_it.properties +1 -1
  505. package/src/i18n/messagebundle_iw.properties +1 -1
  506. package/src/i18n/messagebundle_ja.properties +2 -2
  507. package/src/i18n/messagebundle_kk.properties +1 -1
  508. package/src/i18n/messagebundle_ko.properties +1 -1
  509. package/src/i18n/messagebundle_lt.properties +1 -1
  510. package/src/i18n/messagebundle_lv.properties +1 -1
  511. package/src/i18n/messagebundle_mk.properties +1 -1
  512. package/src/i18n/messagebundle_ms.properties +2 -2
  513. package/src/i18n/messagebundle_nl.properties +3 -3
  514. package/src/i18n/messagebundle_no.properties +1 -1
  515. package/src/i18n/messagebundle_pl.properties +3 -3
  516. package/src/i18n/messagebundle_pt.properties +3 -3
  517. package/src/i18n/messagebundle_pt_PT.properties +1 -1
  518. package/src/i18n/messagebundle_ro.properties +1 -1
  519. package/src/i18n/messagebundle_ru.properties +1 -1
  520. package/src/i18n/messagebundle_sh.properties +1 -1
  521. package/src/i18n/messagebundle_sk.properties +1 -1
  522. package/src/i18n/messagebundle_sl.properties +1 -1
  523. package/src/i18n/messagebundle_sr.properties +1 -1
  524. package/src/i18n/messagebundle_sv.properties +1 -1
  525. package/src/i18n/messagebundle_th.properties +1 -1
  526. package/src/i18n/messagebundle_tr.properties +3 -3
  527. package/src/i18n/messagebundle_uk.properties +1 -1
  528. package/src/i18n/messagebundle_vi.properties +1 -1
  529. package/src/i18n/messagebundle_zh_CN.properties +1 -1
  530. package/src/i18n/messagebundle_zh_TW.properties +1 -1
  531. package/src/themes/Avatar.css +1 -0
  532. package/src/themes/AvatarGroup.css +21 -0
  533. package/src/themes/ComboBox.css +5 -0
  534. package/src/themes/ComboBoxPopover.css +6 -0
  535. package/src/themes/Input.css +1 -1
  536. package/src/themes/{NumberInput.css → NumericInput.css} +63 -58
  537. package/src/themes/Popover.css +47 -14
  538. package/src/themes/RatingIndicator.css +1 -0
  539. package/src/themes/SliderHandle.css +12 -7
  540. package/src/themes/SliderScale.css +4 -2
  541. package/src/themes/SplitButton.css +4 -1
  542. package/src/themes/TextArea.css +17 -1
  543. package/src/themes/base/NumericInput-parameters.css +31 -0
  544. package/src/themes/base/Popover-parameters.css +5 -0
  545. package/src/themes/base/sizes-parameters.css +3 -3
  546. package/src/themes/sap_fiori_3/parameters-bundle.css +1 -1
  547. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  548. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  549. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  550. package/src/themes/sap_horizon/AvatarGroup-parameters.css +7 -19
  551. package/src/themes/sap_horizon/NumericInput-parameters.css +26 -0
  552. package/src/themes/sap_horizon/parameters-bundle.css +1 -1
  553. package/src/themes/sap_horizon_dark/NumericInput-parameters.css +26 -0
  554. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  555. package/src/themes/sap_horizon_hcb/NumericInput-parameters.css +14 -0
  556. package/src/themes/sap_horizon_hcb/parameters-bundle.css +2 -2
  557. package/src/themes/sap_horizon_hcw/NumericInput-parameters.css +14 -0
  558. package/src/themes/sap_horizon_hcw/parameters-bundle.css +2 -2
  559. package/dist/NumberInput.js.map +0 -1
  560. package/dist/NumberInputTemplate.d.ts +0 -2
  561. package/dist/NumberInputTemplate.js.map +0 -1
  562. package/dist/css/themes/NumberInput.css +0 -1
  563. package/dist/generated/themes/NumberInput.css.d.ts +0 -2
  564. package/dist/generated/themes/NumberInput.css.js +0 -8
  565. package/dist/generated/themes/NumberInput.css.js.map +0 -1
  566. package/src/themes/base/NumberInput-parameters.css +0 -31
  567. package/src/themes/sap_horizon/NumberInput-parameters.css +0 -26
  568. package/src/themes/sap_horizon_dark/NumberInput-parameters.css +0 -26
  569. package/src/themes/sap_horizon_hcb/NumberInput-parameters.css +0 -14
  570. package/src/themes/sap_horizon_hcw/NumberInput-parameters.css +0 -14
package/dist/InputIcon.js CHANGED
@@ -35,6 +35,17 @@ import "./Icon.js";
35
35
  let InputIcon = class InputIcon extends UI5Element {
36
36
  constructor() {
37
37
  super(...arguments);
38
+ /**
39
+ * Defines whether the native `title` tooltip, derived from `accessibleName`, is displayed.
40
+ *
41
+ * **Note:** When set, the `accessibleName` is still announced by screen readers, but no
42
+ * `title` tooltip is rendered.
43
+ *
44
+ * @since 2.28.0
45
+ * @default false
46
+ * @public
47
+ */
48
+ this.hideTooltip = false;
38
49
  /**
39
50
  * @private
40
51
  */
@@ -80,7 +91,7 @@ let InputIcon = class InputIcon extends UI5Element {
80
91
  return this.accessibleName || undefined;
81
92
  }
82
93
  get effectiveTitle() {
83
- return this.accessibleName || undefined;
94
+ return this.hideTooltip ? undefined : (this.accessibleName || undefined);
84
95
  }
85
96
  };
86
97
  __decorate([
@@ -89,6 +100,9 @@ __decorate([
89
100
  __decorate([
90
101
  property()
91
102
  ], InputIcon.prototype, "accessibleName", void 0);
103
+ __decorate([
104
+ property({ type: Boolean })
105
+ ], InputIcon.prototype, "hideTooltip", void 0);
92
106
  __decorate([
93
107
  property({ type: Boolean, noAttribute: true })
94
108
  ], InputIcon.prototype, "_pressed", void 0);
@@ -1 +1 @@
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
+ {"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 { 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, unless `hideTooltip` is set.\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 native `title` tooltip, derived from `accessibleName`, is displayed.\n\t *\n\t * **Note:** When set, the `accessibleName` is still announced by screen readers, but no\n\t * `title` tooltip is rendered.\n\t *\n\t * @since 2.28.0\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideTooltip = 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_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.hideTooltip ? undefined : (this.accessibleName || undefined);\n\t}\n}\n\nInputIcon.define();\n\nexport default InputIcon;\n"]}
package/dist/Link.d.ts CHANGED
@@ -36,6 +36,21 @@ type LinkAccessibilityAttributes = Pick<AccessibilityAttributes, "expanded" | "h
36
36
  * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).
37
37
  * To specify where the linked content is opened, you can use the `target` property.
38
38
  *
39
+ * ### Navigation vs. Action
40
+ *
41
+ * The `ui5-link` supports two distinct use cases. Choosing the right one is important for accessibility:
42
+ *
43
+ * - **Navigation**: set the `href` property (and optionally `target`). The component behaves as a
44
+ * standard anchor tag, and the browser handles navigation, which also enables native
45
+ * affordances such as open-in-new-tab, copy link, and hover preview.
46
+ * - **Action**: when the link triggers an in-page action (for example, opening a dialog) instead of
47
+ * navigating, leave `href` unset and set `accessibleRole` to `"Button"`. This exposes the component
48
+ * with a `button` role, which assistive technologies activate reliably.
49
+ *
50
+ * **Note:** A link that triggers an action but keeps the default `"Link"` role (with no `href`) cannot be
51
+ * activated by some screen readers, such as JAWS in browse mode, because a link without `href` has
52
+ * no destination to navigate to. Always set `accessibleRole="Button"` for action-only links.
53
+ *
39
54
  * ### Responsive behavior
40
55
  *
41
56
  * If there is not enough space, the text of the `ui5-link` becomes truncated.
@@ -138,13 +153,13 @@ declare class Link extends UI5Element implements ITabbable {
138
153
  * Receives id(or many ids) of the elements that label the input
139
154
  * @default undefined
140
155
  * @public
141
- * @since 1.0.0-rc.15
156
+ * @since 1.0.0
142
157
  */
143
158
  accessibleNameRef?: string;
144
159
  /**
145
160
  * Defines the ARIA role of the component.
146
161
  *
147
- * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.
162
+ * **Note:** Set the role to <code>LinkAccessibleRole.Button</code> when the link triggers an action instead of navigating (when the <code>href</code> property is not defined). Otherwise, the component keeps the default <code>"Link"</code> role, and some screen readers (for example, JAWS in browse mode) cannot activate it, as a link with no <code>href</code> has no destination to navigate to.
148
163
  * @default "Link"
149
164
  * @public
150
165
  * @since 1.9.0
package/dist/Link.js CHANGED
@@ -44,6 +44,21 @@ import linkCss from "./generated/themes/Link.css.js";
44
44
  * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).
45
45
  * To specify where the linked content is opened, you can use the `target` property.
46
46
  *
47
+ * ### Navigation vs. Action
48
+ *
49
+ * The `ui5-link` supports two distinct use cases. Choosing the right one is important for accessibility:
50
+ *
51
+ * - **Navigation**: set the `href` property (and optionally `target`). The component behaves as a
52
+ * standard anchor tag, and the browser handles navigation, which also enables native
53
+ * affordances such as open-in-new-tab, copy link, and hover preview.
54
+ * - **Action**: when the link triggers an in-page action (for example, opening a dialog) instead of
55
+ * navigating, leave `href` unset and set `accessibleRole` to `"Button"`. This exposes the component
56
+ * with a `button` role, which assistive technologies activate reliably.
57
+ *
58
+ * **Note:** A link that triggers an action but keeps the default `"Link"` role (with no `href`) cannot be
59
+ * activated by some screen readers, such as JAWS in browse mode, because a link without `href` has
60
+ * no destination to navigate to. Always set `accessibleRole="Button"` for action-only links.
61
+ *
47
62
  * ### Responsive behavior
48
63
  *
49
64
  * If there is not enough space, the text of the `ui5-link` becomes truncated.
@@ -106,7 +121,7 @@ let Link = Link_1 = class Link extends UI5Element {
106
121
  /**
107
122
  * Defines the ARIA role of the component.
108
123
  *
109
- * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.
124
+ * **Note:** Set the role to <code>LinkAccessibleRole.Button</code> when the link triggers an action instead of navigating (when the <code>href</code> property is not defined). Otherwise, the component keeps the default <code>"Link"</code> role, and some screen readers (for example, JAWS in browse mode) cannot activate it, as a link with no <code>href</code> has no destination to navigate to.
110
125
  * @default "Link"
111
126
  * @public
112
127
  * @since 1.9.0
package/dist/Link.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport { getLocationHostname, getLocationPort, getLocationProtocol } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type LinkAccessibleRole from \"./types/LinkAccessibleRole.js\";\nimport type InteractiveAreaSize from \"./types/InteractiveAreaSize.js\";\n// Template\nimport LinkTemplate from \"./LinkTemplate.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype LinkAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"current\">;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-link` is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `ui5-link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * `Subtle` or the more important ones as `Emphasized`,\n * by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML\n * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).\n * To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `ui5-link` becomes truncated.\n * If the `wrappingType` property is set to `\"Normal\"`, the text is displayed\n * on several lines instead of being truncated.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Link\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart icon - Used to style the provided icon within the link\n * @csspart endIcon - Used to style the provided endIcon within the link\n * @slot {Array<Node>} 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.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n * @public\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass Link extends UI5Element implements ITabbable {\n\teventDetails!: {\n\t\tclick: LinkClickEventDetail;\n\t}\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** When disabled, the click event cannot be triggered by the user.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t @property()\n\t tooltip?: string;\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\thref?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component design.\n\t *\n\t * **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${LinkDesign}` = \"Default\";\n\n\t/**\n\t * Defines the target area size of the link:\n\t * - **InteractiveAreaSize.Normal**: The default target area size.\n\t * - **InteractiveAreaSize.Large**: The target area size is enlarged to 24px in height.\n\t *\n\t * **Note:**The property is designed to make links easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes.\n\t * **Note:**To improve <code>ui5-link</code>'s reliability and usability, it is recommended to use the <code>InteractiveAreaSize.Large</code> value in scenarios where the <code>ui5-link</code> component is placed inside another interactive component, such as a list item or a table cell.\n\t * Setting the <code>interactiveAreaSize</code> property to <code>InteractiveAreaSize.Large</code> increases the <code>ui5-link</code>'s invisible touch area. As a result, the user's intended one-time selection command is more likely to activate the desired <code>ui5-link</code>, with minimal chance of unintentionally activating the underlying component.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t * @default \"Normal\"\n\t */\n\t@property()\n\tinteractiveAreaSize: `${InteractiveAreaSize}` = \"Normal\";\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** By default the text will wrap. If \"None\" is set - the text will truncate.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * **Note:** Use the <code>LinkAccessibleRole.Button</code> role in cases when navigation is not expected to occur and the href property is not defined.\n\t * @default \"Link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property()\n\taccessibleRole: `${LinkAccessibleRole}` = \"Link\";\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: LinkAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.5.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component before the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target === \"_blank\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin(this.href);\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin(href: string) {\n\t\tthis._dummyAnchor.href = href;\n\n\t\treturn !(this._dummyAnchor.hostname === getLocationHostname()\n\t\t\t&& this._dummyAnchor.port === getLocationPort()\n\t\t\t&& this._dummyAnchor.protocol === getLocationProtocol());\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn Number.parseInt(this.forcedTabIndex);\n\t\t}\n\n\t\treturn this.disabled ? -1 : 0;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this.accessibleDescription === \"\" ? undefined : this.accessibleDescription;\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\n\t\tconst executeEvent = this.fireDecoratorEvent(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t});\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t\te.preventDefault();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tLinkAccessibilityAttributes,\n};\n"]}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../src/Link.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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes } from \"@ui5/webcomponents-base/dist/types.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { I18nText } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport { getLocationHostname, getLocationPort, getLocationProtocol } from \"@ui5/webcomponents-base/dist/Location.js\";\nimport LinkDesign from \"./types/LinkDesign.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type LinkAccessibleRole from \"./types/LinkAccessibleRole.js\";\nimport type InteractiveAreaSize from \"./types/InteractiveAreaSize.js\";\n// Template\nimport LinkTemplate from \"./LinkTemplate.js\";\n\nimport { LINK_SUBTLE, LINK_EMPHASIZED } from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport linkCss from \"./generated/themes/Link.css.js\";\n\ntype LinkClickEventDetail = {\n\taltKey: boolean;\n\tctrlKey: boolean;\n\tmetaKey: boolean;\n\tshiftKey: boolean;\n}\n\ntype LinkAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"current\">;\n\n/**\n * @class\n *\n * ### Overview\n * The `ui5-link` is a hyperlink component that is used to navigate to other\n * apps and web pages, or to trigger actions.\n * It is a clickable text element, visualized in such a way that it stands out\n * from the standard text.\n * On hover, it changes its style to an underlined text to provide additional feedback to the user.\n *\n * ### Usage\n *\n * You can set the `ui5-link` to be enabled or disabled.\n *\n * To create a visual hierarchy in large lists of links, you can set the less important links as\n * `Subtle` or the more important ones as `Emphasized`,\n * by using the `design` property.\n *\n * If the `href` property is set, the link behaves as the HTML\n * anchor tag (`<a></a>`) and opens the specified URL in the given target frame (`target` property).\n * To specify where the linked content is opened, you can use the `target` property.\n *\n * ### Navigation vs. Action\n *\n * The `ui5-link` supports two distinct use cases. Choosing the right one is important for accessibility:\n *\n * - **Navigation**: set the `href` property (and optionally `target`). The component behaves as a\n * standard anchor tag, and the browser handles navigation, which also enables native\n * affordances such as open-in-new-tab, copy link, and hover preview.\n * - **Action**: when the link triggers an in-page action (for example, opening a dialog) instead of\n * navigating, leave `href` unset and set `accessibleRole` to `\"Button\"`. This exposes the component\n * with a `button` role, which assistive technologies activate reliably.\n *\n * **Note:** A link that triggers an action but keeps the default `\"Link\"` role (with no `href`) cannot be\n * activated by some screen readers, such as JAWS in browse mode, because a link without `href` has\n * no destination to navigate to. Always set `accessibleRole=\"Button\"` for action-only links.\n *\n * ### Responsive behavior\n *\n * If there is not enough space, the text of the `ui5-link` becomes truncated.\n * If the `wrappingType` property is set to `\"Normal\"`, the text is displayed\n * on several lines instead of being truncated.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Link\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart icon - Used to style the provided icon within the link\n * @csspart endIcon - Used to style the provided endIcon within the link\n * @slot {Array<Node>} 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.\n */\n@customElement({\n\ttag: \"ui5-link\",\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: LinkTemplate,\n\tstyles: linkCss,\n})\n/**\n * Fired when the component is triggered either with a mouse/tap\n * or by using the Enter key.\n * @public\n * @param {boolean} altKey Returns whether the \"ALT\" key was pressed when the event was triggered.\n * @param {boolean} ctrlKey Returns whether the \"CTRL\" key was pressed when the event was triggered.\n * @param {boolean} metaKey Returns whether the \"META\" key was pressed when the event was triggered.\n * @param {boolean} shiftKey Returns whether the \"SHIFT\" key was pressed when the event was triggered.\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass Link extends UI5Element implements ITabbable {\n\teventDetails!: {\n\t\tclick: LinkClickEventDetail;\n\t}\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** When disabled, the click event cannot be triggered by the user.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t @property()\n\t tooltip?: string;\n\n\t/**\n\t * Defines the component href.\n\t *\n\t * **Note:** Standard hyperlink behavior is supported.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\thref?: string;\n\n\t/**\n\t * Defines the component target.\n\t *\n\t * **Notes:**\n\t *\n\t * - `_self`\n\t * - `_top`\n\t * - `_blank`\n\t * - `_parent`\n\t * - `_search`\n\t *\n\t * **This property must only be used when the `href` property is set.**\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttarget?: string;\n\n\t/**\n\t * Defines the component design.\n\t *\n\t * **Note:** Avaialble options are `Default`, `Subtle`, and `Emphasized`.\n\t * @default \"Default\"\n\t * @public\n\t */\n\t@property()\n\tdesign: `${LinkDesign}` = \"Default\";\n\n\t/**\n\t * Defines the target area size of the link:\n\t * - **InteractiveAreaSize.Normal**: The default target area size.\n\t * - **InteractiveAreaSize.Large**: The target area size is enlarged to 24px in height.\n\t *\n\t * **Note:**The property is designed to make links easier to activate and helps meet the WCAG 2.2 Target Size requirement. It is applicable only for the SAP Horizon themes.\n\t * **Note:**To improve <code>ui5-link</code>'s reliability and usability, it is recommended to use the <code>InteractiveAreaSize.Large</code> value in scenarios where the <code>ui5-link</code> component is placed inside another interactive component, such as a list item or a table cell.\n\t * Setting the <code>interactiveAreaSize</code> property to <code>InteractiveAreaSize.Large</code> increases the <code>ui5-link</code>'s invisible touch area. As a result, the user's intended one-time selection command is more likely to activate the desired <code>ui5-link</code>, with minimal chance of unintentionally activating the underlying component.\n\t *\n\t * @public\n\t * @since 2.8.0\n\t * @default \"Normal\"\n\t */\n\t@property()\n\tinteractiveAreaSize: `${InteractiveAreaSize}` = \"Normal\";\n\n\t/**\n\t * Defines how the text of a component will be displayed when there is not enough space.\n\t *\n\t * **Note:** By default the text will wrap. If \"None\" is set - the text will truncate.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the input\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the ARIA role of the component.\n\t *\n\t * **Note:** Set the role to <code>LinkAccessibleRole.Button</code> when the link triggers an action instead of navigating (when the <code>href</code> property is not defined). Otherwise, the component keeps the default <code>\"Link\"</code> role, and some screen readers (for example, JAWS in browse mode) cannot activate it, as a link with no <code>href</code> has no destination to navigate to.\n\t * @default \"Link\"\n\t * @public\n\t * @since 1.9.0\n\t */\n\t@property()\n\taccessibleRole: `${LinkAccessibleRole}` = \"Link\";\n\n\t/**\n\t * Defines the additional accessibility attributes that will be applied to the component.\n\t * The following fields are supported:\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls, is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by the button.\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t *\n\t * @public\n\t * @since 1.1.0\n\t * @default {}\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: LinkAccessibilityAttributes = {};\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.5.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component before the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component after the link's text.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * **Note:** Usage of icon-only link is not supported, the link must always have a text.\n\t *\n\t * **Note:** We recommend using аn icon in the beginning or the end only, and with text.\n\t *\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tendIcon?: string;\n\n\t@property({ noAttribute: true })\n\t_rel: string | undefined;\n\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t_dummyAnchor: HTMLAnchorElement;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._dummyAnchor = document.createElement(\"a\");\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tconst needsNoReferrer = this.target === \"_blank\"\n\t\t\t&& this.href\n\t\t\t&& this._isCrossOrigin(this.href);\n\n\t\tthis._rel = needsNoReferrer ? \"noreferrer noopener\" : undefined;\n\t}\n\n\t_isCrossOrigin(href: string) {\n\t\tthis._dummyAnchor.href = href;\n\n\t\treturn !(this._dummyAnchor.hostname === getLocationHostname()\n\t\t\t&& this._dummyAnchor.port === getLocationPort()\n\t\t\t&& this._dummyAnchor.protocol === getLocationProtocol());\n\t}\n\n\tget effectiveTabIndex() {\n\t\tif (this.forcedTabIndex) {\n\t\t\treturn Number.parseInt(this.forcedTabIndex);\n\t\t}\n\n\t\treturn this.disabled ? -1 : 0;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget hasLinkType() {\n\t\treturn this.design !== LinkDesign.Default;\n\t}\n\n\tstatic typeTextMappings(): Record<string, I18nText> {\n\t\treturn {\n\t\t\t\"Subtle\": LINK_SUBTLE,\n\t\t\t\"Emphasized\": LINK_EMPHASIZED,\n\t\t};\n\t}\n\n\tget linkTypeText() {\n\t\treturn Link.i18nBundle.getText(Link.typeTextMappings()[this.design]);\n\t}\n\n\tget parsedRef() {\n\t\treturn (this.href && this.href.length > 0) ? this.href : undefined;\n\t}\n\n\tget effectiveAccRole() {\n\t\treturn toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this.accessibleDescription === \"\" ? undefined : this.accessibleDescription;\n\t}\n\n\tget _hasPopup() {\n\t\treturn this.accessibilityAttributes.hasPopup;\n\t}\n\n\t_onclick(e: MouseEvent | KeyboardEvent) {\n\t\tconst {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t} = e;\n\n\t\te.stopImmediatePropagation();\n\n\t\tconst executeEvent = this.fireDecoratorEvent(\"click\", {\n\t\t\taltKey,\n\t\t\tctrlKey,\n\t\t\tmetaKey,\n\t\t\tshiftKey,\n\t\t});\n\n\t\tif (!executeEvent) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isEnter(e) && !this.href) {\n\t\t\tthis._onclick(e);\n\t\t\te.preventDefault();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (!isSpace(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._onclick(e);\n\n\t\tif (this.href && !e.defaultPrevented) {\n\t\t\tconst customEvent = new MouseEvent(\"click\");\n\n\t\t\tcustomEvent.stopImmediatePropagation();\n\t\t\tthis.getDomRef()!.dispatchEvent(customEvent);\n\t\t}\n\t}\n}\n\nLink.define();\n\nexport default Link;\n\nexport type {\n\tLinkClickEventDetail,\n\tLinkAccessibilityAttributes,\n};\n"]}
package/dist/List.d.ts CHANGED
@@ -128,6 +128,9 @@ type ListAccessibilityAttributes = {
128
128
  * @public
129
129
  * @csspart growing-button - Used to style the button, that is used for growing of the component
130
130
  * @csspart growing-button-inner - Used to style the button inner element
131
+ * @ui5subcomponent ListItemCustom
132
+ * @ui5subcomponent ListItemGroup
133
+ * @ui5subcomponent ListItemStandard
131
134
  */
132
135
  declare class List extends UI5Element {
133
136
  eventDetails: {
@@ -186,7 +189,7 @@ declare class List extends UI5Element {
186
189
  * **Restrictions:** `growing="Scroll"` is not supported for Internet Explorer,
187
190
  * on IE the component will fallback to `growing="Button"`.
188
191
  * @default "None"
189
- * @since 1.0.0-rc.13
192
+ * @since 1.0.0
190
193
  * @public
191
194
  */
192
195
  growing: `${ListGrowingMode}`;
@@ -197,7 +200,7 @@ declare class List extends UI5Element {
197
200
  *
198
201
  * **Note:** This property takes effect if the `growing` property is set to the `Button`.
199
202
  * @default undefined
200
- * @since 1.24
203
+ * @since 1.24.0
201
204
  * @public
202
205
  */
203
206
  growingButtonText?: string;
@@ -205,7 +208,7 @@ declare class List extends UI5Element {
205
208
  * Defines if the component would display a loading indicator over the list.
206
209
  * @default false
207
210
  * @public
208
- * @since 1.0.0-rc.6
211
+ * @since 1.0.0
209
212
  */
210
213
  loading: boolean;
211
214
  /**
@@ -227,7 +230,7 @@ declare class List extends UI5Element {
227
230
  * Defines the accessible name of the component.
228
231
  * @default undefined
229
232
  * @public
230
- * @since 1.0.0-rc.15
233
+ * @since 1.0.0
231
234
  */
232
235
  accessibleName?: string;
233
236
  /**
@@ -255,7 +258,7 @@ declare class List extends UI5Element {
255
258
  * Defines the IDs of the elements that label the component.
256
259
  * @default undefined
257
260
  * @public
258
- * @since 1.0.0-rc.15
261
+ * @since 1.0.0
259
262
  */
260
263
  accessibleNameRef?: string;
261
264
  /**
@@ -286,7 +289,7 @@ declare class List extends UI5Element {
286
289
  * Defines the accessible role of the component.
287
290
  * @public
288
291
  * @default "List"
289
- * @since 1.0.0-rc.15
292
+ * @since 1.0.0
290
293
  */
291
294
  accessibleRole: `${ListAccessibleRole}`;
292
295
  /**
package/dist/List.js CHANGED
@@ -130,6 +130,9 @@ const LIST_ACCESSIBLE_ROLE_TO_ITEM_ROLE = {
130
130
  * @public
131
131
  * @csspart growing-button - Used to style the button, that is used for growing of the component
132
132
  * @csspart growing-button-inner - Used to style the button inner element
133
+ * @ui5subcomponent ListItemCustom
134
+ * @ui5subcomponent ListItemGroup
135
+ * @ui5subcomponent ListItemStandard
133
136
  */
134
137
  let List = List_1 = class List extends UI5Element {
135
138
  constructor() {
@@ -159,7 +162,7 @@ let List = List_1 = class List extends UI5Element {
159
162
  * **Restrictions:** `growing="Scroll"` is not supported for Internet Explorer,
160
163
  * on IE the component will fallback to `growing="Button"`.
161
164
  * @default "None"
162
- * @since 1.0.0-rc.13
165
+ * @since 1.0.0
163
166
  * @public
164
167
  */
165
168
  this.growing = "None";
@@ -167,7 +170,7 @@ let List = List_1 = class List extends UI5Element {
167
170
  * Defines if the component would display a loading indicator over the list.
168
171
  * @default false
169
172
  * @public
170
- * @since 1.0.0-rc.6
173
+ * @since 1.0.0
171
174
  */
172
175
  this.loading = false;
173
176
  /**
@@ -210,7 +213,7 @@ let List = List_1 = class List extends UI5Element {
210
213
  * Defines the accessible role of the component.
211
214
  * @public
212
215
  * @default "List"
213
- * @since 1.0.0-rc.15
216
+ * @since 1.0.0
214
217
  */
215
218
  this.accessibleRole = "List";
216
219
  /**
@@ -1249,7 +1252,7 @@ List = List_1 = __decorate([
1249
1252
  * not to be confused with `item-delete`.
1250
1253
  * @param {HTMLElement} item the item about to be closed.
1251
1254
  * @public
1252
- * @since 1.0.0-rc.8
1255
+ * @since 1.0.0
1253
1256
  */
1254
1257
  ,
1255
1258
  event("item-close", {
@@ -1261,7 +1264,7 @@ List = List_1 = __decorate([
1261
1264
  * **Note:** This event is only applicable to list items that can be toggled (such as notification group list items).
1262
1265
  * @param {HTMLElement} item the toggled item.
1263
1266
  * @public
1264
- * @since 1.0.0-rc.8
1267
+ * @since 1.0.0
1265
1268
  */
1266
1269
  ,
1267
1270
  event("item-toggle", {
@@ -1296,7 +1299,7 @@ List = List_1 = __decorate([
1296
1299
  *
1297
1300
  * **Note:** The event is fired when the `growing='Scroll'` property is enabled.
1298
1301
  * @public
1299
- * @since 1.0.0-rc.6
1302
+ * @since 1.0.0
1300
1303
  */
1301
1304
  ,
1302
1305
  event("load-more", {