@ui5/webcomponents 2.13.0-rc.0 → 2.13.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/CheckBox.d.ts +22 -0
  4. package/dist/CheckBox.js +15 -2
  5. package/dist/CheckBox.js.map +1 -1
  6. package/dist/CheckBoxTemplate.js +3 -2
  7. package/dist/CheckBoxTemplate.js.map +1 -1
  8. package/dist/ComboBox.d.ts +23 -6
  9. package/dist/ComboBox.js +128 -54
  10. package/dist/ComboBox.js.map +1 -1
  11. package/dist/ComboBoxPopoverTemplate.js +0 -1
  12. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  13. package/dist/ComboBoxTemplate.js +2 -1
  14. package/dist/ComboBoxTemplate.js.map +1 -1
  15. package/dist/FileUploader.d.ts +55 -13
  16. package/dist/FileUploader.js +166 -48
  17. package/dist/FileUploader.js.map +1 -1
  18. package/dist/FileUploaderPopoverTemplate.js +1 -3
  19. package/dist/FileUploaderPopoverTemplate.js.map +1 -1
  20. package/dist/FileUploaderTemplate.js +7 -4
  21. package/dist/FileUploaderTemplate.js.map +1 -1
  22. package/dist/Input.d.ts +19 -5
  23. package/dist/Input.js +116 -17
  24. package/dist/Input.js.map +1 -1
  25. package/dist/InputTemplate.js +2 -1
  26. package/dist/InputTemplate.js.map +1 -1
  27. package/dist/List.d.ts +26 -1
  28. package/dist/List.js +27 -0
  29. package/dist/List.js.map +1 -1
  30. package/dist/ListItemBase.d.ts +8 -0
  31. package/dist/ListItemBase.js +15 -3
  32. package/dist/ListItemBase.js.map +1 -1
  33. package/dist/ListItemStandard.d.ts +12 -8
  34. package/dist/ListItemStandard.js +3 -8
  35. package/dist/ListItemStandard.js.map +1 -1
  36. package/dist/ListTemplate.js +1 -1
  37. package/dist/ListTemplate.js.map +1 -1
  38. package/dist/Menu.js +3 -7
  39. package/dist/Menu.js.map +1 -1
  40. package/dist/MenuItem.d.ts +6 -0
  41. package/dist/MenuItem.js +24 -6
  42. package/dist/MenuItem.js.map +1 -1
  43. package/dist/MenuItemGroup.d.ts +3 -0
  44. package/dist/MenuItemGroup.js +20 -2
  45. package/dist/MenuItemGroup.js.map +1 -1
  46. package/dist/MenuItemGroupTemplate.js +1 -1
  47. package/dist/MenuItemGroupTemplate.js.map +1 -1
  48. package/dist/MenuItemTemplate.js +1 -1
  49. package/dist/MenuItemTemplate.js.map +1 -1
  50. package/dist/MultiComboBox.d.ts +20 -1
  51. package/dist/MultiComboBox.js +120 -20
  52. package/dist/MultiComboBox.js.map +1 -1
  53. package/dist/MultiComboBoxItem.d.ts +4 -0
  54. package/dist/MultiComboBoxItem.js +5 -0
  55. package/dist/MultiComboBoxItem.js.map +1 -1
  56. package/dist/MultiComboBoxItemTemplate.js +1 -1
  57. package/dist/MultiComboBoxItemTemplate.js.map +1 -1
  58. package/dist/MultiComboBoxPopoverTemplate.js +1 -1
  59. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
  60. package/dist/MultiComboBoxTemplate.js +2 -1
  61. package/dist/MultiComboBoxTemplate.js.map +1 -1
  62. package/dist/MultiInput.js +1 -1
  63. package/dist/MultiInput.js.map +1 -1
  64. package/dist/Select.js +2 -2
  65. package/dist/Select.js.map +1 -1
  66. package/dist/SplitButtonTemplate.js +1 -1
  67. package/dist/SplitButtonTemplate.js.map +1 -1
  68. package/dist/Table.js +1 -1
  69. package/dist/Table.js.map +1 -1
  70. package/dist/TableSelection.d.ts +4 -1
  71. package/dist/TableSelection.js +10 -4
  72. package/dist/TableSelection.js.map +1 -1
  73. package/dist/TableSelectionMulti.d.ts +4 -1
  74. package/dist/TableSelectionMulti.js +11 -4
  75. package/dist/TableSelectionMulti.js.map +1 -1
  76. package/dist/Token.js +2 -2
  77. package/dist/Token.js.map +1 -1
  78. package/dist/Tokenizer.js +4 -0
  79. package/dist/Tokenizer.js.map +1 -1
  80. package/dist/TokenizerPopoverTemplate.js +1 -1
  81. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  82. package/dist/Toolbar.js +0 -3
  83. package/dist/Toolbar.js.map +1 -1
  84. package/dist/ToolbarButton.js +2 -0
  85. package/dist/ToolbarButton.js.map +1 -1
  86. package/dist/css/themes/Avatar.css +1 -1
  87. package/dist/css/themes/AvatarGroup.css +1 -1
  88. package/dist/css/themes/Bar.css +1 -1
  89. package/dist/css/themes/Breadcrumbs.css +1 -1
  90. package/dist/css/themes/BusyIndicator.css +1 -1
  91. package/dist/css/themes/Button.css +1 -1
  92. package/dist/css/themes/ButtonBadge.css +1 -1
  93. package/dist/css/themes/Calendar.css +1 -1
  94. package/dist/css/themes/CalendarHeader.css +1 -1
  95. package/dist/css/themes/CalendarLegend.css +1 -1
  96. package/dist/css/themes/CalendarLegendItem.css +1 -1
  97. package/dist/css/themes/Card.css +1 -1
  98. package/dist/css/themes/CardHeader.css +1 -1
  99. package/dist/css/themes/Carousel.css +1 -1
  100. package/dist/css/themes/CheckBox.css +1 -1
  101. package/dist/css/themes/ColorPalette.css +1 -1
  102. package/dist/css/themes/ColorPaletteItem.css +1 -1
  103. package/dist/css/themes/ColorPalettePopover.css +1 -1
  104. package/dist/css/themes/ColorPicker.css +1 -1
  105. package/dist/css/themes/ComboBox.css +1 -1
  106. package/dist/css/themes/ComboBoxItem.css +1 -1
  107. package/dist/css/themes/DatePicker.css +1 -1
  108. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  109. package/dist/css/themes/DayPicker.css +1 -1
  110. package/dist/css/themes/Dialog.css +1 -1
  111. package/dist/css/themes/DynamicDateRange.css +1 -1
  112. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  113. package/dist/css/themes/FileUploader.css +1 -1
  114. package/dist/css/themes/Form.css +1 -1
  115. package/dist/css/themes/FormItem.css +1 -1
  116. package/dist/css/themes/FormItemSpan.css +1 -1
  117. package/dist/css/themes/GrowingButton.css +1 -1
  118. package/dist/css/themes/Icon.css +1 -1
  119. package/dist/css/themes/Input.css +1 -1
  120. package/dist/css/themes/InputIcon.css +1 -1
  121. package/dist/css/themes/InputSharedStyles.css +1 -1
  122. package/dist/css/themes/Link.css +1 -1
  123. package/dist/css/themes/List.css +1 -1
  124. package/dist/css/themes/ListItem.css +1 -1
  125. package/dist/css/themes/ListItemBase.css +1 -1
  126. package/dist/css/themes/ListItemCustom.css +1 -1
  127. package/dist/css/themes/ListItemGroup.css +1 -1
  128. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  129. package/dist/css/themes/ListItemIcon.css +1 -1
  130. package/dist/css/themes/Menu.css +1 -1
  131. package/dist/css/themes/MenuItem.css +1 -1
  132. package/dist/css/themes/MessageStrip.css +1 -1
  133. package/dist/css/themes/MonthPicker.css +1 -1
  134. package/dist/css/themes/MultiComboBox.css +1 -1
  135. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  136. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  137. package/dist/css/themes/MultiInput.css +1 -1
  138. package/dist/css/themes/OptionBase.css +1 -1
  139. package/dist/css/themes/Panel.css +1 -1
  140. package/dist/css/themes/Popover.css +1 -1
  141. package/dist/css/themes/PopupsCommon.css +1 -1
  142. package/dist/css/themes/ProgressIndicator.css +1 -1
  143. package/dist/css/themes/RadioButton.css +1 -1
  144. package/dist/css/themes/RangeSlider.css +1 -1
  145. package/dist/css/themes/RatingIndicator.css +1 -1
  146. package/dist/css/themes/ResponsivePopover.css +1 -1
  147. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  148. package/dist/css/themes/SegmentedButton.css +1 -1
  149. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  150. package/dist/css/themes/Select.css +1 -1
  151. package/dist/css/themes/SliderBase.css +1 -1
  152. package/dist/css/themes/SplitButton.css +1 -1
  153. package/dist/css/themes/StepInput.css +1 -1
  154. package/dist/css/themes/SuggestionItem.css +1 -1
  155. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  156. package/dist/css/themes/Switch.css +1 -1
  157. package/dist/css/themes/TabContainer.css +1 -1
  158. package/dist/css/themes/TabInOverflow.css +1 -1
  159. package/dist/css/themes/TabInStrip.css +1 -1
  160. package/dist/css/themes/TabSemanticIcon.css +1 -1
  161. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  162. package/dist/css/themes/Table.css +1 -1
  163. package/dist/css/themes/TableCellBase.css +1 -1
  164. package/dist/css/themes/TableHeaderRow.css +1 -1
  165. package/dist/css/themes/TableRow.css +1 -1
  166. package/dist/css/themes/TableRowActionBase.css +1 -1
  167. package/dist/css/themes/TableRowBase.css +1 -1
  168. package/dist/css/themes/Tag.css +1 -1
  169. package/dist/css/themes/Text.css +1 -1
  170. package/dist/css/themes/TextArea.css +1 -1
  171. package/dist/css/themes/TimePicker.css +1 -1
  172. package/dist/css/themes/Toast.css +1 -1
  173. package/dist/css/themes/ToggleButton.css +1 -1
  174. package/dist/css/themes/Token.css +1 -1
  175. package/dist/css/themes/Tokenizer.css +1 -1
  176. package/dist/css/themes/TokenizerPopover.css +1 -1
  177. package/dist/css/themes/Toolbar.css +1 -1
  178. package/dist/css/themes/ToolbarButton.css +1 -0
  179. package/dist/css/themes/ToolbarPopover.css +1 -1
  180. package/dist/css/themes/ToolbarSeparator.css +1 -1
  181. package/dist/css/themes/TreeItem.css +1 -1
  182. package/dist/css/themes/ValueStateMessage.css +1 -1
  183. package/dist/css/themes/ValueStateVariables.css +1 -0
  184. package/dist/css/themes/YearPicker.css +1 -1
  185. package/dist/css/themes/YearRangePicker.css +1 -1
  186. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  187. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  188. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  189. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  190. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  191. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  192. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  193. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  194. package/dist/custom-elements-internal.json +97 -9
  195. package/dist/custom-elements.json +91 -8
  196. package/dist/features/InputSuggestions.d.ts +0 -3
  197. package/dist/features/InputSuggestions.js +4 -50
  198. package/dist/features/InputSuggestions.js.map +1 -1
  199. package/dist/features/InputSuggestionsTemplate.js +0 -1
  200. package/dist/features/InputSuggestionsTemplate.js.map +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  237. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  249. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  250. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  251. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  252. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  255. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  256. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  257. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  258. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  259. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  260. package/dist/generated/i18n/i18n-defaults.d.ts +15 -3
  261. package/dist/generated/i18n/i18n-defaults.js +15 -3
  262. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  263. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  264. package/dist/generated/themes/Avatar.css.js +1 -1
  265. package/dist/generated/themes/Avatar.css.js.map +1 -1
  266. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  267. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  268. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  269. package/dist/generated/themes/Bar.css.d.ts +1 -1
  270. package/dist/generated/themes/Bar.css.js +1 -1
  271. package/dist/generated/themes/Bar.css.js.map +1 -1
  272. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  273. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  274. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  275. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  276. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  277. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  278. package/dist/generated/themes/Button.css.d.ts +1 -1
  279. package/dist/generated/themes/Button.css.js +1 -1
  280. package/dist/generated/themes/Button.css.js.map +1 -1
  281. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  282. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  283. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  284. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  285. package/dist/generated/themes/Calendar.css.js +1 -1
  286. package/dist/generated/themes/Calendar.css.js.map +1 -1
  287. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  288. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  289. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  290. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  291. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  292. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  293. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  294. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  295. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  296. package/dist/generated/themes/Card.css.d.ts +1 -1
  297. package/dist/generated/themes/Card.css.js +1 -1
  298. package/dist/generated/themes/Card.css.js.map +1 -1
  299. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  300. package/dist/generated/themes/CardHeader.css.js +1 -1
  301. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  302. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  303. package/dist/generated/themes/Carousel.css.js +1 -1
  304. package/dist/generated/themes/Carousel.css.js.map +1 -1
  305. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  306. package/dist/generated/themes/CheckBox.css.js +1 -1
  307. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  308. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  309. package/dist/generated/themes/ColorPalette.css.js +1 -1
  310. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  311. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  312. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  313. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  314. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  315. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  316. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  317. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  318. package/dist/generated/themes/ColorPicker.css.js +1 -1
  319. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  320. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  321. package/dist/generated/themes/ComboBox.css.js +1 -1
  322. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  323. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  324. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  325. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  326. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  327. package/dist/generated/themes/DatePicker.css.js +1 -1
  328. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  329. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  330. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  331. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  332. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  333. package/dist/generated/themes/DayPicker.css.js +1 -1
  334. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  335. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  336. package/dist/generated/themes/Dialog.css.js +1 -1
  337. package/dist/generated/themes/Dialog.css.js.map +1 -1
  338. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  339. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  340. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  341. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  342. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  343. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  344. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  345. package/dist/generated/themes/FileUploader.css.js +1 -1
  346. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  347. package/dist/generated/themes/Form.css.d.ts +1 -1
  348. package/dist/generated/themes/Form.css.js +1 -1
  349. package/dist/generated/themes/Form.css.js.map +1 -1
  350. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  351. package/dist/generated/themes/FormItem.css.js +1 -1
  352. package/dist/generated/themes/FormItem.css.js.map +1 -1
  353. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  354. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  355. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  356. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  357. package/dist/generated/themes/GrowingButton.css.js +1 -1
  358. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  359. package/dist/generated/themes/Icon.css.d.ts +1 -1
  360. package/dist/generated/themes/Icon.css.js +1 -1
  361. package/dist/generated/themes/Icon.css.js.map +1 -1
  362. package/dist/generated/themes/Input.css.d.ts +1 -1
  363. package/dist/generated/themes/Input.css.js +1 -1
  364. package/dist/generated/themes/Input.css.js.map +1 -1
  365. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  366. package/dist/generated/themes/InputIcon.css.js +1 -1
  367. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  368. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  369. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  370. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  371. package/dist/generated/themes/Link.css.d.ts +1 -1
  372. package/dist/generated/themes/Link.css.js +1 -1
  373. package/dist/generated/themes/Link.css.js.map +1 -1
  374. package/dist/generated/themes/List.css.d.ts +1 -1
  375. package/dist/generated/themes/List.css.js +1 -1
  376. package/dist/generated/themes/List.css.js.map +1 -1
  377. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  378. package/dist/generated/themes/ListItem.css.js +1 -1
  379. package/dist/generated/themes/ListItem.css.js.map +1 -1
  380. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  381. package/dist/generated/themes/ListItemBase.css.js +1 -1
  382. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  383. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  384. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  385. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  386. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  387. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  388. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  389. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  390. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  391. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  392. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  393. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  394. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  395. package/dist/generated/themes/Menu.css.d.ts +1 -1
  396. package/dist/generated/themes/Menu.css.js +1 -1
  397. package/dist/generated/themes/Menu.css.js.map +1 -1
  398. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  399. package/dist/generated/themes/MenuItem.css.js +1 -1
  400. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  401. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  402. package/dist/generated/themes/MessageStrip.css.js +1 -1
  403. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  404. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  405. package/dist/generated/themes/MonthPicker.css.js +1 -1
  406. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  407. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  408. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  409. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  410. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  411. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  412. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  413. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  414. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  415. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  416. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  417. package/dist/generated/themes/MultiInput.css.js +1 -1
  418. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  419. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  420. package/dist/generated/themes/OptionBase.css.js +1 -1
  421. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  422. package/dist/generated/themes/Panel.css.d.ts +1 -1
  423. package/dist/generated/themes/Panel.css.js +1 -1
  424. package/dist/generated/themes/Panel.css.js.map +1 -1
  425. package/dist/generated/themes/Popover.css.d.ts +1 -1
  426. package/dist/generated/themes/Popover.css.js +1 -1
  427. package/dist/generated/themes/Popover.css.js.map +1 -1
  428. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  429. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  430. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  431. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  432. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  433. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  434. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  435. package/dist/generated/themes/RadioButton.css.js +1 -1
  436. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  437. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  438. package/dist/generated/themes/RangeSlider.css.js +1 -1
  439. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  440. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  441. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  442. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  443. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  444. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  445. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  446. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  447. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  448. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  449. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  450. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  451. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  452. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  453. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  454. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  455. package/dist/generated/themes/Select.css.d.ts +1 -1
  456. package/dist/generated/themes/Select.css.js +1 -1
  457. package/dist/generated/themes/Select.css.js.map +1 -1
  458. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  459. package/dist/generated/themes/SliderBase.css.js +1 -1
  460. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  461. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  462. package/dist/generated/themes/SplitButton.css.js +1 -1
  463. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  464. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  465. package/dist/generated/themes/StepInput.css.js +1 -1
  466. package/dist/generated/themes/StepInput.css.js.map +1 -1
  467. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  468. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  469. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  470. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  471. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  472. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  473. package/dist/generated/themes/Switch.css.d.ts +1 -1
  474. package/dist/generated/themes/Switch.css.js +1 -1
  475. package/dist/generated/themes/Switch.css.js.map +1 -1
  476. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  477. package/dist/generated/themes/TabContainer.css.js +1 -1
  478. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  479. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  480. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  481. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  482. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  483. package/dist/generated/themes/TabInStrip.css.js +1 -1
  484. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  485. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  486. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  487. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  488. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  489. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  490. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  491. package/dist/generated/themes/Table.css.d.ts +1 -1
  492. package/dist/generated/themes/Table.css.js +1 -1
  493. package/dist/generated/themes/Table.css.js.map +1 -1
  494. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  495. package/dist/generated/themes/TableCellBase.css.js +1 -1
  496. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  497. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  498. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  499. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  500. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  501. package/dist/generated/themes/TableRow.css.js +1 -1
  502. package/dist/generated/themes/TableRow.css.js.map +1 -1
  503. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  504. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  505. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  506. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  507. package/dist/generated/themes/TableRowBase.css.js +1 -1
  508. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  509. package/dist/generated/themes/Tag.css.d.ts +1 -1
  510. package/dist/generated/themes/Tag.css.js +1 -1
  511. package/dist/generated/themes/Tag.css.js.map +1 -1
  512. package/dist/generated/themes/Text.css.d.ts +1 -1
  513. package/dist/generated/themes/Text.css.js +1 -1
  514. package/dist/generated/themes/Text.css.js.map +1 -1
  515. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  516. package/dist/generated/themes/TextArea.css.js +1 -1
  517. package/dist/generated/themes/TextArea.css.js.map +1 -1
  518. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  519. package/dist/generated/themes/TimePicker.css.js +1 -1
  520. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  521. package/dist/generated/themes/Toast.css.d.ts +1 -1
  522. package/dist/generated/themes/Toast.css.js +1 -1
  523. package/dist/generated/themes/Toast.css.js.map +1 -1
  524. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  525. package/dist/generated/themes/ToggleButton.css.js +1 -1
  526. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  527. package/dist/generated/themes/Token.css.d.ts +1 -1
  528. package/dist/generated/themes/Token.css.js +1 -1
  529. package/dist/generated/themes/Token.css.js.map +1 -1
  530. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  531. package/dist/generated/themes/Tokenizer.css.js +1 -1
  532. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  533. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  534. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  535. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  536. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  537. package/dist/generated/themes/Toolbar.css.js +1 -1
  538. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  539. package/dist/generated/themes/ToolbarButton.css.d.ts +2 -0
  540. package/dist/generated/themes/{ToolbarButtonPopover.css.js → ToolbarButton.css.js} +2 -2
  541. package/dist/generated/themes/ToolbarButton.css.js.map +1 -0
  542. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  543. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  544. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  545. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  546. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  547. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  548. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  549. package/dist/generated/themes/TreeItem.css.js +1 -1
  550. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  551. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  552. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  553. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  554. package/dist/generated/themes/ValueStateVariables.css.d.ts +2 -0
  555. package/dist/generated/themes/ValueStateVariables.css.js +8 -0
  556. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -0
  557. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  558. package/dist/generated/themes/YearPicker.css.js +1 -1
  559. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  560. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  561. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  562. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  563. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  564. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  565. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  566. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  567. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  568. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  569. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  570. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  571. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  572. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  573. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  574. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  575. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  576. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  577. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  578. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  579. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  580. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  581. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  582. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  583. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  584. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  585. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  586. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  587. package/dist/popup-utils/OpenedPopupsRegistry.js +15 -1
  588. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  589. package/dist/vscode.html-custom-data.json +25 -5
  590. package/dist/web-types.json +51 -8
  591. package/package.json +9 -9
  592. package/src/CheckBoxTemplate.tsx +8 -6
  593. package/src/ComboBoxPopoverTemplate.tsx +0 -1
  594. package/src/ComboBoxTemplate.tsx +4 -1
  595. package/src/FileUploaderPopoverTemplate.tsx +1 -3
  596. package/src/FileUploaderTemplate.tsx +79 -25
  597. package/src/InputTemplate.tsx +4 -0
  598. package/src/ListTemplate.tsx +2 -1
  599. package/src/MenuItemGroupTemplate.tsx +1 -0
  600. package/src/MenuItemTemplate.tsx +1 -0
  601. package/src/MultiComboBoxItemTemplate.tsx +1 -2
  602. package/src/MultiComboBoxPopoverTemplate.tsx +1 -1
  603. package/src/MultiComboBoxTemplate.tsx +4 -0
  604. package/src/SplitButtonTemplate.tsx +1 -1
  605. package/src/TokenizerPopoverTemplate.tsx +1 -1
  606. package/src/features/InputSuggestionsTemplate.tsx +0 -1
  607. package/src/i18n/messagebundle.properties +40 -3
  608. package/src/i18n/messagebundle_ar.properties +4 -0
  609. package/src/i18n/messagebundle_bg.properties +5 -1
  610. package/src/i18n/messagebundle_ca.properties +5 -1
  611. package/src/i18n/messagebundle_cnr.properties +4 -0
  612. package/src/i18n/messagebundle_cs.properties +4 -0
  613. package/src/i18n/messagebundle_cy.properties +4 -0
  614. package/src/i18n/messagebundle_da.properties +4 -0
  615. package/src/i18n/messagebundle_de.properties +5 -1
  616. package/src/i18n/messagebundle_el.properties +4 -0
  617. package/src/i18n/messagebundle_en.properties +31 -3
  618. package/src/i18n/messagebundle_en_GB.properties +4 -0
  619. package/src/i18n/messagebundle_en_US_sappsd.properties +22 -2
  620. package/src/i18n/messagebundle_en_US_saprigi.properties +20 -2
  621. package/src/i18n/messagebundle_en_US_saptrc.properties +22 -2
  622. package/src/i18n/messagebundle_es.properties +4 -0
  623. package/src/i18n/messagebundle_es_MX.properties +4 -0
  624. package/src/i18n/messagebundle_et.properties +4 -0
  625. package/src/i18n/messagebundle_fi.properties +4 -0
  626. package/src/i18n/messagebundle_fr.properties +4 -0
  627. package/src/i18n/messagebundle_fr_CA.properties +4 -0
  628. package/src/i18n/messagebundle_hi.properties +4 -0
  629. package/src/i18n/messagebundle_hr.properties +5 -1
  630. package/src/i18n/messagebundle_hu.properties +4 -0
  631. package/src/i18n/messagebundle_id.properties +5 -1
  632. package/src/i18n/messagebundle_it.properties +4 -0
  633. package/src/i18n/messagebundle_iw.properties +4 -0
  634. package/src/i18n/messagebundle_ja.properties +4 -0
  635. package/src/i18n/messagebundle_kk.properties +5 -1
  636. package/src/i18n/messagebundle_ko.properties +4 -0
  637. package/src/i18n/messagebundle_lt.properties +4 -0
  638. package/src/i18n/messagebundle_lv.properties +4 -0
  639. package/src/i18n/messagebundle_mk.properties +4 -0
  640. package/src/i18n/messagebundle_ms.properties +4 -0
  641. package/src/i18n/messagebundle_nl.properties +4 -0
  642. package/src/i18n/messagebundle_no.properties +4 -0
  643. package/src/i18n/messagebundle_pl.properties +4 -0
  644. package/src/i18n/messagebundle_pt.properties +4 -0
  645. package/src/i18n/messagebundle_pt_PT.properties +4 -0
  646. package/src/i18n/messagebundle_ro.properties +4 -0
  647. package/src/i18n/messagebundle_ru.properties +4 -0
  648. package/src/i18n/messagebundle_sh.properties +4 -0
  649. package/src/i18n/messagebundle_sk.properties +4 -0
  650. package/src/i18n/messagebundle_sl.properties +4 -0
  651. package/src/i18n/messagebundle_sr.properties +4 -0
  652. package/src/i18n/messagebundle_sv.properties +4 -0
  653. package/src/i18n/messagebundle_th.properties +4 -0
  654. package/src/i18n/messagebundle_tr.properties +4 -0
  655. package/src/i18n/messagebundle_uk.properties +4 -0
  656. package/src/i18n/messagebundle_vi.properties +4 -0
  657. package/src/i18n/messagebundle_zh_CN.properties +4 -0
  658. package/src/i18n/messagebundle_zh_TW.properties +4 -0
  659. package/src/themes/AvatarGroup.css +2 -1
  660. package/src/themes/Button.css +2 -2
  661. package/src/themes/FileUploader.css +148 -31
  662. package/src/themes/MenuItem.css +1 -4
  663. package/src/themes/Table.css +0 -2
  664. package/src/themes/ToolbarButton.css +7 -0
  665. package/src/themes/ValueStateMessage.css +1 -1
  666. package/src/themes/ValueStateVariables.css +27 -0
  667. package/src/themes/base/FileUploader-parameters.css +2 -2
  668. package/src/themes/sap_horizon/FileUploader-parameters.css +0 -4
  669. package/src/themes/sap_horizon_dark/FileUploader-parameters.css +0 -4
  670. package/src/themes/sap_horizon_hcb/FileUploader-parameters.css +1 -6
  671. package/src/themes/sap_horizon_hcw/FileUploader-parameters.css +1 -6
  672. package/dist/css/themes/ToolbarButtonPopover.css +0 -1
  673. package/dist/generated/themes/ToolbarButtonPopover.css.d.ts +0 -2
  674. package/dist/generated/themes/ToolbarButtonPopover.css.js.map +0 -1
  675. package/src/themes/ToolbarButtonPopover.css +0 -3
@@ -3,6 +3,15 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
3
3
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
4
  import type { IFormInputElement } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
5
5
  import type WrappingType from "./types/WrappingType.js";
6
+ import type { AriaRole, AriaChecked, AriaDisabled, AriaReadonly } from "@ui5/webcomponents-base/dist/types.js";
7
+ type CheckBoxAccInfo = {
8
+ role?: AriaRole;
9
+ ariaChecked?: AriaChecked;
10
+ ariaReadonly?: AriaReadonly;
11
+ ariaDisabled?: AriaDisabled;
12
+ ariaRequired?: boolean;
13
+ tabindex?: number | undefined;
14
+ };
6
15
  /**
7
16
  * @class
8
17
  *
@@ -177,6 +186,11 @@ declare class CheckBox extends UI5Element implements IFormInputElement {
177
186
  * @private
178
187
  */
179
188
  active: boolean;
189
+ /**
190
+ * Defines custom aria implementation object.
191
+ * @private
192
+ */
193
+ _accInfo?: CheckBoxAccInfo;
180
194
  static i18nBundle: I18nBundle;
181
195
  _deactivate: () => void;
182
196
  get formValidityMessage(): string;
@@ -215,5 +229,13 @@ declare class CheckBox extends UI5Element implements IFormInputElement {
215
229
  get tabbable(): boolean;
216
230
  get isCompletelyChecked(): boolean;
217
231
  get isDisplayOnly(): boolean;
232
+ get accInfo(): {
233
+ role: import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").JSXInternal.AriaRole | undefined;
234
+ ariaChecked: import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").JSXInternal.Signalish<import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").Booleanish | "mixed" | undefined>;
235
+ ariaReadonly: import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").JSXInternal.Signalish<import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").Booleanish | undefined>;
236
+ ariaDisabled: import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").JSXInternal.Signalish<import("@ui5/webcomponents-base/dist/thirdparty/preact/jsx.js").Booleanish | undefined>;
237
+ ariaRequired: boolean | undefined;
238
+ tabindex: number | undefined;
239
+ };
218
240
  }
219
241
  export default CheckBox;
package/dist/CheckBox.js CHANGED
@@ -13,7 +13,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
13
13
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
14
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
15
15
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
16
- import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
16
+ import { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
17
17
  import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
18
18
  import { VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_SUCCESS, FORM_CHECKABLE_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
19
19
  // Styles
@@ -261,7 +261,7 @@ let CheckBox = CheckBox_1 = class CheckBox extends UI5Element {
261
261
  };
262
262
  }
263
263
  get ariaLabelText() {
264
- return getEffectiveAriaLabelText(this);
264
+ return getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this);
265
265
  }
266
266
  get classes() {
267
267
  return {
@@ -311,6 +311,16 @@ let CheckBox = CheckBox_1 = class CheckBox extends UI5Element {
311
311
  get isDisplayOnly() {
312
312
  return this.displayOnly && !this.disabled;
313
313
  }
314
+ get accInfo() {
315
+ return {
316
+ "role": this._accInfo ? this._accInfo.role : "checkbox",
317
+ "ariaChecked": this._accInfo ? this._accInfo.ariaChecked : this.effectiveAriaChecked,
318
+ "ariaReadonly": this._accInfo ? this._accInfo.ariaReadonly : this.ariaReadonly,
319
+ "ariaDisabled": this._accInfo ? this._accInfo.ariaDisabled : this.effectiveAriaDisabled,
320
+ "ariaRequired": this._accInfo ? this._accInfo.ariaRequired : this.required,
321
+ "tabindex": this._accInfo ? this._accInfo.tabindex : this.effectiveTabIndex,
322
+ };
323
+ }
314
324
  };
315
325
  __decorate([
316
326
  property()
@@ -354,6 +364,9 @@ __decorate([
354
364
  __decorate([
355
365
  property({ type: Boolean })
356
366
  ], CheckBox.prototype, "active", void 0);
367
+ __decorate([
368
+ property({ type: Object })
369
+ ], CheckBox.prototype, "_accInfo", void 0);
357
370
  __decorate([
358
371
  i18n("@ui5/webcomponents")
359
372
  ], CheckBox, "i18nBundle", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../src/CheckBox.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport 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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tFORM_CHECKABLE_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\n\n// Template\nimport CheckBoxTemplate from \"./CheckBoxTemplate.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\n/**\n * @class\n *\n * ### Overview\n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n *\n * The `ui5-checkbox` component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the `ui5-checkbox`, the user has to click or tap the square\n * box or its label.\n *\n * The `ui5-checkbox` component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the `ui5-checkbox` between checked and unchecked state.\n *\n * ### Usage\n *\n * You can define the checkbox text with via the `text` property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to truncate, set the `wrappingType` property to \"None\".\n * The touchable area for toggling the `ui5-checkbox` ends where the text ends.\n *\n * You can disable the `ui5-checkbox` by setting the `disabled` property to\n * `true`,\n * or use the `ui5-checkbox` in read-only mode by setting the `readonly`\n * property to `true`.\n *\n * ### Keyboard Handling\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the `ui5-checkbox`.\n *\n * - [Space],[Enter] - Toggles between different states: checked, not checked.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/CheckBox.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the outermost wrapper of the `ui5-checkbox`\n * @csspart label - Used to style the label of the `ui5-checkbox`\n * @csspart icon - Used to style the icon of the `ui5-checkbox`\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n})\n/**\n * Fired when the component checked state changes.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n/**\n * Fired to make Angular two way data binding work properly.\n * @private\n */\n@event(\"value-changed\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass CheckBox extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": void,\n\t\t\"value-changed\": void,\n\t};\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\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 component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Determines whether the `ui5-checkbox` is in display only state.\n\t *\n\t * When set to `true`, the `ui5-checkbox` is not interactive, not editable, not focusable\n\t * and not in the tab chain. This setting is used for forms in review mode.\n\t *\n\t * **Note:** When the property `disabled` is set to `true` this property has no effect.\n\t * @since 1.22.0\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisplayOnly = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * **Note:** We advise against using the text property of the checkbox when there is a\n\t * label associated with it to avoid having two required asterisks.\n\t * @default false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t*\n\t* **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the `indeterminate`\n\t* and `checked` properties:\n\t*\n\t* - If the component is checked and indeterminate, it will be displayed as partially checked\n\t* - If the component is checked and it is not indeterminate, it will be displayed as checked\n\t* - If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t* @default false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate = false;\n\n\t/**\n\t * Defines if the component is checked.\n\t *\n\t * **Note:** The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t * @default false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked = false;\n\n\t/**\n\t * Defines the text of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t *\n\t * **Note:** for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t * **Note:** for option \"None\" the text will be truncated with an ellipsis.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the form value of the component that is submitted when the checkbox is checked.\n\t *\n\t * When a form containing `ui5-checkbox` elements is submitted, only the values of the\n\t * **checked** checkboxes are included in the form data sent to the server. Unchecked\n\t * checkboxes do not contribute any data to the form submission.\n\t *\n\t * This property is particularly useful for **checkbox groups**, where multiple checkboxes with the same `name` but different `value` properties can be used to represent a set of related options.\n\t *\n\t * @default \"on\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"on\";\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tget formValidityMessage() {\n\t\treturn CheckBox.i18nBundle.getText(FORM_CHECKABLE_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.checked };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.checked ? this.value : null;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = true;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireDecoratorEvent(\"change\");\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChangePrevented = !this.fireDecoratorEvent(\"value-changed\");\n\n\t\t\tif (changePrevented || valueChangePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly || this.displayOnly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Negative\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Positive\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly || this.displayOnly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (this.tabbable) {\n\t\t\treturn tabindex ? parseInt(tabindex) : 0;\n\t\t}\n\t}\n\n\tget tabbable() {\n\t\treturn !this.disabled && !this.displayOnly;\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tget isDisplayOnly() {\n\t\treturn this.displayOnly && !this.disabled;\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n"]}
1
+ {"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../src/CheckBox.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport 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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { isSpace, isEnter } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport type WrappingType from \"./types/WrappingType.js\";\nimport type {\n\tAriaRole,\n\tAriaChecked,\n\tAriaDisabled,\n\tAriaReadonly,\n} from \"@ui5/webcomponents-base/dist/types.js\";\nimport {\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_SUCCESS,\n\tFORM_CHECKABLE_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport checkboxCss from \"./generated/themes/CheckBox.css.js\";\n\n// Template\nimport CheckBoxTemplate from \"./CheckBoxTemplate.js\";\n\nlet isGlobalHandlerAttached = false;\nlet activeCb: CheckBox;\n\ntype CheckBoxAccInfo = {\n\trole?: AriaRole,\n\tariaChecked?: AriaChecked,\n\tariaReadonly?: AriaReadonly,\n\tariaDisabled?: AriaDisabled,\n\tariaRequired?: boolean,\n\ttabindex?: number | undefined,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * Allows the user to set a binary value, such as true/false or yes/no for an item.\n *\n * The `ui5-checkbox` component consists of a box and a label that describes its purpose.\n * If it's checked, an indicator is displayed inside the box.\n * To check/uncheck the `ui5-checkbox`, the user has to click or tap the square\n * box or its label.\n *\n * The `ui5-checkbox` component only has 2 states - checked and unchecked.\n * Clicking or tapping toggles the `ui5-checkbox` between checked and unchecked state.\n *\n * ### Usage\n *\n * You can define the checkbox text with via the `text` property. If the text exceeds the available width, it is truncated by default.\n * In case you prefer text to truncate, set the `wrappingType` property to \"None\".\n * The touchable area for toggling the `ui5-checkbox` ends where the text ends.\n *\n * You can disable the `ui5-checkbox` by setting the `disabled` property to\n * `true`,\n * or use the `ui5-checkbox` in read-only mode by setting the `readonly`\n * property to `true`.\n *\n * ### Keyboard Handling\n *\n * The user can use the following keyboard shortcuts to toggle the checked state of the `ui5-checkbox`.\n *\n * - [Space],[Enter] - Toggles between different states: checked, not checked.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/CheckBox.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart root - Used to style the outermost wrapper of the `ui5-checkbox`\n * @csspart label - Used to style the label of the `ui5-checkbox`\n * @csspart icon - Used to style the icon of the `ui5-checkbox`\n */\n@customElement({\n\ttag: \"ui5-checkbox\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: CheckBoxTemplate,\n\tstyles: checkboxCss,\n})\n/**\n * Fired when the component checked state changes.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n/**\n * Fired to make Angular two way data binding work properly.\n * @private\n */\n@event(\"value-changed\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass CheckBox extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": void,\n\t\t\"value-changed\": void,\n\t};\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @public\n\t * @default undefined\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Defines whether the component is disabled.\n\t *\n\t * **Note:** A disabled component is completely noninteractive.\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 component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Determines whether the `ui5-checkbox` is in display only state.\n\t *\n\t * When set to `true`, the `ui5-checkbox` is not interactive, not editable, not focusable\n\t * and not in the tab chain. This setting is used for forms in review mode.\n\t *\n\t * **Note:** When the property `disabled` is set to `true` this property has no effect.\n\t * @since 1.22.0\n\t * @public\n\t * @default false\n\t */\n\t@property({ type: Boolean })\n\tdisplayOnly = false;\n\n\t/**\n\t * Defines whether the component is required.\n\t *\n\t * **Note:** We advise against using the text property of the checkbox when there is a\n\t * label associated with it to avoid having two required asterisks.\n\t * @default false\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t* Defines whether the component is displayed as partially checked.\n\t*\n\t* **Note:** The indeterminate state can be set only programmatically and can’t be achieved by user\n\t* interaction and the resulting visual state depends on the values of the `indeterminate`\n\t* and `checked` properties:\n\t*\n\t* - If the component is checked and indeterminate, it will be displayed as partially checked\n\t* - If the component is checked and it is not indeterminate, it will be displayed as checked\n\t* - If the component is not checked, it will be displayed as not checked regardless value of the indeterminate attribute\n\t* @default false\n\t* @public\n\t* @since 1.0.0-rc.15\n\t*/\n\t@property({ type: Boolean })\n\tindeterminate = false;\n\n\t/**\n\t * Defines if the component is checked.\n\t *\n\t * **Note:** The property can be changed with user interaction,\n\t * either by cliking/tapping on the component, or by\n\t * pressing the Enter or Space key.\n\t * @default false\n\t * @formEvents change\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tchecked = false;\n\n\t/**\n\t * Defines the text of the component.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component text wraps when there is not enough space.\n\t *\n\t * **Note:** for option \"Normal\" the text will wrap and the words will not be broken based on hyphenation.\n\t * **Note:** for option \"None\" the text will be truncated with an ellipsis.\n\t * @default \"Normal\"\n\t * @public\n\t */\n\t@property()\n\twrappingType: `${WrappingType}` = \"Normal\";\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the form value of the component that is submitted when the checkbox is checked.\n\t *\n\t * When a form containing `ui5-checkbox` elements is submitted, only the values of the\n\t * **checked** checkboxes are included in the form data sent to the server. Unchecked\n\t * checkboxes do not contribute any data to the form submission.\n\t *\n\t * This property is particularly useful for **checkbox groups**, where multiple checkboxes with the same `name` but different `value` properties can be used to represent a set of related options.\n\t *\n\t * @default \"on\"\n\t * @public\n\t */\n\t@property()\n\tvalue = \"on\";\n\n\t/**\n\t * Defines the active state (pressed or not) of the component.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Defines custom aria implementation object.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_accInfo?: CheckBoxAccInfo;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\t_deactivate: () => void;\n\n\tget formValidityMessage() {\n\t\treturn CheckBox.i18nBundle.getText(FORM_CHECKABLE_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\treturn { valueMissing: this.required && !this.checked };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\treturn this.checked ? this.value : null;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._deactivate = () => {\n\t\t\tif (activeCb) {\n\t\t\t\tactiveCb.active = false;\n\t\t\t}\n\t\t};\n\n\t\tif (!isGlobalHandlerAttached) {\n\t\t\tdocument.addEventListener(\"mouseup\", this._deactivate);\n\t\t\tisGlobalHandlerAttached = true;\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\t_onclick() {\n\t\tthis.toggle();\n\t}\n\n\t_onmousedown() {\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active = true;\n\t\tactiveCb = this; // eslint-disable-line\n\t}\n\n\t_onmouseup() {\n\t\tthis.active = false;\n\t}\n\n\t_onfocusout() {\n\t\tthis.active = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (this.readonly || this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = true;\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis.toggle();\n\t\t}\n\n\t\tthis.active = false;\n\t}\n\n\ttoggle() {\n\t\tif (this.canToggle()) {\n\t\t\tconst lastState = {\n\t\t\t\tchecked: this.checked,\n\t\t\t\tindeterminate: this.indeterminate,\n\t\t\t};\n\t\t\tif (this.indeterminate) {\n\t\t\t\tthis.indeterminate = false;\n\t\t\t\tthis.checked = true;\n\t\t\t} else {\n\t\t\t\tthis.checked = !this.checked;\n\t\t\t}\n\n\t\t\tconst changePrevented = !this.fireDecoratorEvent(\"change\");\n\t\t\t// Angular two way data binding\n\t\t\tconst valueChangePrevented = !this.fireDecoratorEvent(\"value-changed\");\n\n\t\t\tif (changePrevented || valueChangePrevented) {\n\t\t\t\tthis.checked = lastState.checked;\n\t\t\t\tthis.indeterminate = lastState.indeterminate;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tcanToggle() {\n\t\treturn !(this.disabled || this.readonly || this.displayOnly);\n\t}\n\n\tvalueStateTextMappings() {\n\t\treturn {\n\t\t\t\"Negative\": CheckBox.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t\"Critical\": CheckBox.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t\t\"Positive\": CheckBox.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this);\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tmain: {\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaReadonly() {\n\t\treturn this.readonly || this.displayOnly ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaDisabled() {\n\t\treturn this.disabled ? \"true\" : undefined;\n\t}\n\n\tget effectiveAriaChecked() {\n\t\treturn this.indeterminate && this.checked ? \"mixed\" : this.checked;\n\t}\n\n\tget ariaLabelledBy() {\n\t\tif (!this.ariaLabelText) {\n\t\t\treturn this.text ? `${this._id}-label` : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget ariaDescribedBy() {\n\t\treturn this.hasValueState ? `${this._id}-descr` : undefined;\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateText() {\n\t\tif (this.valueState !== ValueState.None && this.valueState !== ValueState.Information) {\n\t\t\treturn this.valueStateTextMappings()[this.valueState];\n\t\t}\n\t}\n\n\tget effectiveTabIndex() {\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (this.tabbable) {\n\t\t\treturn tabindex ? parseInt(tabindex) : 0;\n\t\t}\n\t}\n\n\tget tabbable() {\n\t\treturn !this.disabled && !this.displayOnly;\n\t}\n\n\tget isCompletelyChecked() {\n\t\treturn this.checked && !this.indeterminate;\n\t}\n\n\tget isDisplayOnly() {\n\t\treturn this.displayOnly && !this.disabled;\n\t}\n\n\tget accInfo() {\n\t\treturn {\n\t\t\t\"role\": this._accInfo ? this._accInfo.role : \"checkbox\" as AriaRole,\n\t\t\t\"ariaChecked\": this._accInfo ? this._accInfo.ariaChecked : this.effectiveAriaChecked as AriaChecked,\n\t\t\t\"ariaReadonly\": this._accInfo ? this._accInfo.ariaReadonly : this.ariaReadonly as AriaReadonly,\n\t\t\t\"ariaDisabled\": this._accInfo ? this._accInfo.ariaDisabled : this.effectiveAriaDisabled as AriaDisabled,\n\t\t\t\"ariaRequired\": this._accInfo ? this._accInfo.ariaRequired : this.required,\n\t\t\t\"tabindex\": this._accInfo ? this._accInfo.tabindex : this.effectiveTabIndex,\n\t\t};\n\t}\n}\n\nCheckBox.define();\n\nexport default CheckBox;\n"]}
@@ -10,11 +10,12 @@ export default function CheckBoxTemplate() {
10
10
  return (_jsxs("div", { class: {
11
11
  "ui5-checkbox-root": true,
12
12
  "ui5-checkbox--hoverable": !this.disabled && !this.readonly && isDesktop(),
13
- }, role: "checkbox", part: "root", "aria-checked": this.effectiveAriaChecked, "aria-readonly": this.ariaReadonly, "aria-disabled": this.effectiveAriaDisabled, "aria-label": this.ariaLabelText, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedBy, "aria-required": this.required, tabindex: this.effectiveTabIndex, onMouseDown: this._onmousedown, onMouseUp: this._onmouseup, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onClick: this._onclick, onFocusOut: this._onfocusout, children: [this.isDisplayOnly ?
13
+ }, role: this.accInfo.role, part: "root", "aria-checked": this.accInfo.ariaChecked, "aria-readonly": this.accInfo.ariaReadonly, "aria-disabled": this.accInfo.ariaDisabled, "aria-label": this.ariaLabelText, "aria-labelledby": this.ariaLabelledBy, "aria-describedby": this.ariaDescribedBy, "aria-required": this.accInfo.ariaRequired, tabindex: this.accInfo.tabindex, onMouseDown: this._onmousedown, onMouseUp: this._onmouseup, onKeyDown: this._onkeydown, onKeyUp: this._onkeyup, onClick: this._onclick, onFocusOut: this._onfocusout, children: [this.isDisplayOnly ?
14
14
  _jsx("div", { class: "ui5-checkbox-display-only-icon-inner", children: _jsx(Icon, { "aria-hidden": "true", name: displayOnlyIcon.call(this), class: "ui5-checkbox-display-only-icon", part: "icon" }) })
15
15
  :
16
16
  _jsx("div", { id: `${this._id}-CbBg`, class: "ui5-checkbox-inner", children: this.isCompletelyChecked &&
17
- _jsx(Icon, { "aria-hidden": "true", name: accept, class: "ui5-checkbox-icon", part: "icon" }) }), _jsx("input", { id: `${this._id}-CB`, type: "checkbox", checked: this.checked, value: this.value, readonly: this.readonly, disabled: this.disabled, tabindex: -1, "aria-hidden": "true", "data-sap-no-tab-ref": true }), this.text &&
17
+ _jsx(Icon, { "aria-hidden": "true", name: accept, class: "ui5-checkbox-icon", part: "icon" }) }), this.accInfo.role === "checkbox" &&
18
+ _jsx("input", { id: `${this._id}-CB`, type: "checkbox", checked: this.checked, value: this.value, readonly: this.readonly, disabled: this.disabled, tabindex: -1, "aria-hidden": "true", "data-sap-no-tab-ref": true }), this.text &&
18
19
  _jsx(Label, { id: `${this._id}-label`, part: "label", class: "ui5-checkbox-label", wrappingType: this.wrappingType, required: this.required, children: this.text }), this.hasValueState &&
19
20
  _jsx("span", { id: `${this._id}-descr`, class: "ui5-hidden-text", children: this.valueStateText })] }));
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBoxTemplate.js","sourceRoot":"","sources":["../src/CheckBoxTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAGnE,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,QAAQ,MAAM,4CAA4C,CAAC;AAElE,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACvC,OAAO,CACN,eACC,KAAK,EAAE;YACN,mBAAmB,EAAE,IAAI;YACzB,yBAAyB,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;SAC1E,EACD,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,MAAM,kBACG,IAAI,CAAC,oBAAoB,mBACxB,IAAI,CAAC,YAAY,mBACjB,IAAI,CAAC,qBAAqB,gBAC7B,IAAI,CAAC,aAAa,qBACb,IAAI,CAAC,cAAc,sBAClB,IAAI,CAAC,eAAe,mBACvB,IAAI,CAAC,QAAQ,EAC5B,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,IAAI,CAAC,WAAW,aAG3B,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpB,cAAK,KAAK,EAAC,sCAAsC,YAChD,KAAC,IAAI,mBAAa,MAAM,EAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,MAAM,GAAE,GAC1G;gBACN,CAAC;oBACD,cAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,EAAE,KAAK,EAAC,oBAAoB,YACrD,IAAI,CAAC,mBAAmB;4BACzB,KAAC,IAAI,mBAAa,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,MAAM,GAAE,GAEzE,EAGP,gBACC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,EACpB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,CAAC,CAAC,iBACA,MAAM,gCAEjB,EAED,IAAI,CAAC,IAAI;gBACV,KAAC,KAAK,IACL,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,EACvB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,oBAAoB,EAC1B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,YAEtB,IAAI,CAAC,IAAI,GACH,EAGP,IAAI,CAAC,aAAa;gBACnB,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAC,iBAAiB,YAAE,IAAI,CAAC,cAAc,GAAQ,IAE9E,CACN,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACvB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9B,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\n\nimport type CheckBox from \"./CheckBox.js\";\nimport Label from \"./Label.js\";\nimport Icon from \"./Icon.js\";\nimport accept from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport complete from \"@ui5/webcomponents-icons/dist/complete.js\";\nimport border from \"@ui5/webcomponents-icons/dist/border.js\";\nimport triState from \"@ui5/webcomponents-icons/dist/tri-state.js\";\n\nexport default function CheckBoxTemplate(this: CheckBox) {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"ui5-checkbox-root\": true,\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t}}\n\t\t\trole=\"checkbox\"\n\t\t\tpart=\"root\"\n\t\t\taria-checked={this.effectiveAriaChecked}\n\t\t\taria-readonly={this.ariaReadonly}\n\t\t\taria-disabled={this.effectiveAriaDisabled}\n\t\t\taria-label={this.ariaLabelText}\n\t\t\taria-labelledby={this.ariaLabelledBy}\n\t\t\taria-describedby={this.ariaDescribedBy}\n\t\t\taria-required={this.required}\n\t\t\ttabindex={this.effectiveTabIndex}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonMouseUp={this._onmouseup}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonClick={this._onclick}\n\t\t\tonFocusOut={this._onfocusout}\n\t\t>\n\n\t\t\t{this.isDisplayOnly ?\n\t\t\t\t<div class=\"ui5-checkbox-display-only-icon-inner\">\n\t\t\t\t\t<Icon aria-hidden=\"true\" name={displayOnlyIcon.call(this)} class=\"ui5-checkbox-display-only-icon\" part=\"icon\"/>\n\t\t\t\t</div>\n\t\t\t\t:\n\t\t\t\t<div id={`${this._id}-CbBg`} class=\"ui5-checkbox-inner\">\n\t\t\t\t\t{this.isCompletelyChecked &&\n\t\t\t\t\t<Icon aria-hidden=\"true\" name={accept} class=\"ui5-checkbox-icon\" part=\"icon\"/>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t<input\n\t\t\t\tid={`${this._id}-CB`}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={this.checked}\n\t\t\t\tvalue={this.value}\n\t\t\t\treadonly={this.readonly}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\ttabindex={-1}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tdata-sap-no-tab-ref\n\t\t\t/>\n\n\t\t\t{this.text &&\n\t\t\t<Label\n\t\t\t\tid={`${this._id}-label`}\n\t\t\t\tpart=\"label\"\n\t\t\t\tclass=\"ui5-checkbox-label\"\n\t\t\t\twrappingType={this.wrappingType}\n\t\t\t\trequired={this.required}\n\t\t\t>\n\t\t\t\t{this.text}\n\t\t\t</Label>\n\t\t\t}\n\n\t\t\t{this.hasValueState &&\n\t\t\t<span id={`${this._id}-descr`} class=\"ui5-hidden-text\">{this.valueStateText}</span>\n\t\t\t}\n\t\t</div>\n\t);\n}\n\nfunction displayOnlyIcon(this: CheckBox) {\n\tif (this.isCompletelyChecked) {\n\t\treturn complete;\n\t}\n\tif (this.checked && this.indeterminate) {\n\t\treturn triState;\n\t}\n\treturn border;\n}\n"]}
1
+ {"version":3,"file":"CheckBoxTemplate.js","sourceRoot":"","sources":["../src/CheckBoxTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\n\nimport type CheckBox from \"./CheckBox.js\";\nimport Label from \"./Label.js\";\nimport Icon from \"./Icon.js\";\nimport accept from \"@ui5/webcomponents-icons/dist/accept.js\";\nimport complete from \"@ui5/webcomponents-icons/dist/complete.js\";\nimport border from \"@ui5/webcomponents-icons/dist/border.js\";\nimport triState from \"@ui5/webcomponents-icons/dist/tri-state.js\";\n\nexport default function CheckBoxTemplate(this: CheckBox) {\n\treturn (\n\t\t<div\n\t\t\tclass={{\n\t\t\t\t\"ui5-checkbox-root\": true,\n\t\t\t\t\"ui5-checkbox--hoverable\": !this.disabled && !this.readonly && isDesktop(),\n\t\t\t}}\n\t\t\trole={this.accInfo.role}\n\t\t\tpart=\"root\"\n\t\t\taria-checked={this.accInfo.ariaChecked}\n\t\t\taria-readonly={this.accInfo.ariaReadonly}\n\t\t\taria-disabled={this.accInfo.ariaDisabled}\n\t\t\taria-label={this.ariaLabelText}\n\t\t\taria-labelledby={this.ariaLabelledBy}\n\t\t\taria-describedby={this.ariaDescribedBy}\n\t\t\taria-required={this.accInfo.ariaRequired}\n\t\t\ttabindex={this.accInfo.tabindex}\n\t\t\tonMouseDown={this._onmousedown}\n\t\t\tonMouseUp={this._onmouseup}\n\t\t\tonKeyDown={this._onkeydown}\n\t\t\tonKeyUp={this._onkeyup}\n\t\t\tonClick={this._onclick}\n\t\t\tonFocusOut={this._onfocusout}\n\t\t>\n\n\t\t\t{this.isDisplayOnly ?\n\t\t\t\t<div class=\"ui5-checkbox-display-only-icon-inner\">\n\t\t\t\t\t<Icon aria-hidden=\"true\" name={displayOnlyIcon.call(this)} class=\"ui5-checkbox-display-only-icon\" part=\"icon\"/>\n\t\t\t\t</div>\n\t\t\t\t:\n\t\t\t\t<div id={`${this._id}-CbBg`} class=\"ui5-checkbox-inner\">\n\t\t\t\t\t{this.isCompletelyChecked &&\n\t\t\t\t\t<Icon aria-hidden=\"true\" name={accept} class=\"ui5-checkbox-icon\" part=\"icon\"/>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t}\n\n\t\t\t{this.accInfo.role === \"checkbox\" &&\n\t\t\t<input\n\t\t\t\tid={`${this._id}-CB`}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={this.checked}\n\t\t\t\tvalue={this.value}\n\t\t\t\treadonly={this.readonly}\n\t\t\t\tdisabled={this.disabled}\n\t\t\t\ttabindex={-1}\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tdata-sap-no-tab-ref\n\t\t\t/>\n\t\t\t}\n\n\t\t\t{this.text &&\n\t\t\t<Label\n\t\t\t\tid={`${this._id}-label`}\n\t\t\t\tpart=\"label\"\n\t\t\t\tclass=\"ui5-checkbox-label\"\n\t\t\t\twrappingType={this.wrappingType}\n\t\t\t\trequired={this.required}\n\t\t\t>\n\t\t\t\t{this.text}\n\t\t\t</Label>\n\t\t\t}\n\n\t\t\t{this.hasValueState &&\n\t\t\t<span id={`${this._id}-descr`} class=\"ui5-hidden-text\">{this.valueStateText}</span>\n\t\t\t}\n\t\t</div>\n\t);\n}\n\nfunction displayOnlyIcon(this: CheckBox) {\n\tif (this.isCompletelyChecked) {\n\t\treturn complete;\n\t}\n\tif (this.checked && this.indeterminate) {\n\t\treturn triState;\n\t}\n\treturn border;\n}\n"]}
@@ -67,6 +67,7 @@ type ComboBoxSelectionChangeEventDetail = {
67
67
  * - [Page Up] - Moves selection up by page size (10 items by default).
68
68
  * - [Home] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.
69
69
  * - [End] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.
70
+ * - [Ctrl]+[Alt]+[F8] or [Command]+[Option]+[F8] - Focuses the first link in the value state message, if available. Pressing [Tab] moves the focus to the next link in the value state message, or closes the value state message if there are no more links.
70
71
  *
71
72
  * ### ES6 Module Import
72
73
  *
@@ -174,15 +175,10 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
174
175
  */
175
176
  showClearIcon: boolean;
176
177
  /**
177
- * Indicates whether the input is focssed
178
+ * Indicates whether the input is focused
178
179
  * @private
179
180
  */
180
181
  focused: boolean;
181
- /**
182
- * Indicates whether the visual focus is on the value state header
183
- * @private
184
- */
185
- _isValueStateFocused: boolean;
186
182
  /**
187
183
  * Defines the accessible ARIA name of the component.
188
184
  * @default undefined
@@ -213,6 +209,17 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
213
209
  * @since 2.9.0
214
210
  */
215
211
  open: boolean;
212
+ /**
213
+ * Indicates whether link navigation is being handled.
214
+ * @default false
215
+ * @since 2.11.0
216
+ * @private
217
+ */
218
+ _handleLinkNavigation: boolean;
219
+ /**
220
+ * @private
221
+ */
222
+ _linksListenersArray: Array<(args: any) => void>;
216
223
  /**
217
224
  * Defines the component items.
218
225
  * @public
@@ -244,6 +251,7 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
244
251
  _lastValue: string;
245
252
  _selectedItemText: string;
246
253
  _userTypedValue: string;
254
+ _valueStateLinks: Array<HTMLElement>;
247
255
  static i18nBundle: I18nBundle;
248
256
  get formValidityMessage(): string;
249
257
  get formValidity(): ValidityStateFlags;
@@ -253,6 +261,7 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
253
261
  onBeforeRendering(): void;
254
262
  get iconsCount(): number;
255
263
  onAfterRendering(): void;
264
+ onExitDOM(): void;
256
265
  _focusin(e: FocusEvent): void;
257
266
  _focusout(e: FocusEvent): void;
258
267
  _beforeOpenPopover(): void;
@@ -285,6 +294,9 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
285
294
  _handleEnd(e: KeyboardEvent): void;
286
295
  _keyup(): void;
287
296
  _keydown(e: KeyboardEvent): void;
297
+ _addLinksEventListeners(): void;
298
+ _removeLinksEventListeners(): void;
299
+ _handleCtrlALtF8(): void;
288
300
  _handlePopoverKeydown(e: KeyboardEvent): void;
289
301
  _handlePopoverFocusout(): void;
290
302
  _click(): void;
@@ -325,6 +337,11 @@ declare class ComboBox extends UI5Element implements IFormInputElement {
325
337
  * This method is relevant for sap_horizon theme only
326
338
  */
327
339
  get _valueStateMessageIcon(): string;
340
+ get linksInAriaValueStateHiddenText(): HTMLElement[];
341
+ get valueStateLinksShortcutsTextAcc(): string;
342
+ get ariaDescribedByText(): string;
343
+ get _valueStateLinksShortcutsTextAccId(): "" | "hiddenText-value-state-link-shortcut";
344
+ get valueStateTextId(): "" | "value-state-description";
328
345
  get _isPhone(): boolean;
329
346
  get itemTabIndex(): undefined;
330
347
  get ariaLabelText(): string | undefined;
package/dist/ComboBox.js CHANGED
@@ -12,7 +12,7 @@ import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
12
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
13
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
14
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
15
- import { isPhone, isAndroid } from "@ui5/webcomponents-base/dist/Device.js";
15
+ import { isPhone, isAndroid, isMac } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import InvisibleMessageMode from "@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js";
17
17
  import { getEffectiveAriaLabelText, getAssociatedLabelForTexts } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
18
18
  import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
@@ -25,9 +25,11 @@ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
25
25
  import "@ui5/webcomponents-icons/dist/information.js";
26
26
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
27
27
  import { submitForm } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
28
- import { isBackSpace, isDelete, isShow, isUp, isDown, isEnter, isEscape, isTabNext, isTabPrevious, isPageUp, isPageDown, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
28
+ import { isBackSpace, isDelete, isShow, isUp, isDown, isEnter, isEscape, isTabNext, isTabPrevious, isPageUp, isPageDown, isHome, isEnd, isCtrlAltF8, } from "@ui5/webcomponents-base/dist/Keys.js";
29
+ import { attachListeners } from "@ui5/webcomponents-base/dist/util/valueStateNavigation.js";
30
+ import arraysAreEqual from "@ui5/webcomponents-base/dist/util/arraysAreEqual.js";
29
31
  import * as Filters from "./Filters.js";
30
- import { VALUE_STATE_SUCCESS, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, INPUT_SUGGESTIONS_TITLE, COMBOBOX_AVAILABLE_OPTIONS, COMBOBOX_DIALOG_OK_BUTTON, SELECT_OPTIONS, LIST_ITEM_POSITION, LIST_ITEM_GROUP_HEADER, INPUT_CLEAR_ICON_ACC_NAME, FORM_TEXTFIELD_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
32
+ import { VALUE_STATE_SUCCESS, VALUE_STATE_ERROR, VALUE_STATE_WARNING, VALUE_STATE_INFORMATION, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_INFORMATION, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_WARNING, VALUE_STATE_LINK, VALUE_STATE_LINKS, VALUE_STATE_LINK_MAC, VALUE_STATE_LINKS_MAC, INPUT_SUGGESTIONS_TITLE, COMBOBOX_AVAILABLE_OPTIONS, COMBOBOX_DIALOG_OK_BUTTON, SELECT_OPTIONS, LIST_ITEM_POSITION, LIST_ITEM_GROUP_HEADER, INPUT_CLEAR_ICON_ACC_NAME, FORM_TEXTFIELD_REQUIRED, } from "./generated/i18n/i18n-defaults.js";
31
33
  // Templates
32
34
  import ComboBoxTemplate from "./ComboBoxTemplate.js";
33
35
  // Styles
@@ -79,6 +81,7 @@ var ValueStateIconMapping;
79
81
  * - [Page Up] - Moves selection up by page size (10 items by default).
80
82
  * - [Home] - If focus is in the ComboBox, moves cursor at the beginning of text. If focus is in the picker, selects the first item.
81
83
  * - [End] - If focus is in the ComboBox, moves cursor at the end of text. If focus is in the picker, selects the last item.
84
+ * - [Ctrl]+[Alt]+[F8] or [Command]+[Option]+[F8] - Focuses the first link in the value state message, if available. Pressing [Tab] moves the focus to the next link in the value state message, or closes the value state message if there are no more links.
82
85
  *
83
86
  * ### ES6 Module Import
84
87
  *
@@ -177,15 +180,10 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
177
180
  */
178
181
  this.showClearIcon = false;
179
182
  /**
180
- * Indicates whether the input is focssed
183
+ * Indicates whether the input is focused
181
184
  * @private
182
185
  */
183
186
  this.focused = false;
184
- /**
185
- * Indicates whether the visual focus is on the value state header
186
- * @private
187
- */
188
- this._isValueStateFocused = false;
189
187
  this._iconPressed = false;
190
188
  this._filteredItems = [];
191
189
  this._effectiveShowClearIcon = false;
@@ -201,6 +199,17 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
201
199
  * @since 2.9.0
202
200
  */
203
201
  this.open = false;
202
+ /**
203
+ * Indicates whether link navigation is being handled.
204
+ * @default false
205
+ * @since 2.11.0
206
+ * @private
207
+ */
208
+ this._handleLinkNavigation = false;
209
+ /**
210
+ * @private
211
+ */
212
+ this._linksListenersArray = [];
204
213
  this._initialRendering = true;
205
214
  this._itemFocused = false;
206
215
  // used only for Safari fix (check onAfterRendering)
@@ -209,6 +218,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
209
218
  this._selectionPerformed = false;
210
219
  this._selectedItemText = "";
211
220
  this._userTypedValue = "";
221
+ this._valueStateLinks = [];
212
222
  // when an initial value is set it should be considered as a _lastValue
213
223
  this._lastValue = this.getAttribute("value") || "";
214
224
  }
@@ -248,6 +258,14 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
248
258
  this.value = this.inner.value;
249
259
  }
250
260
  this.storeResponsivePopoverWidth();
261
+ if (!arraysAreEqual(this._valueStateLinks, this.linksInAriaValueStateHiddenText)) {
262
+ this._removeLinksEventListeners();
263
+ this._addLinksEventListeners();
264
+ this._valueStateLinks = this.linksInAriaValueStateHiddenText;
265
+ }
266
+ }
267
+ onExitDOM() {
268
+ this._removeLinksEventListeners();
251
269
  }
252
270
  _focusin(e) {
253
271
  this.focused = true;
@@ -267,7 +285,7 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
267
285
  this._fireChangeEvent();
268
286
  const focusedOutToItemsPicker = this.open && this._getPicker().contains(toBeFocused);
269
287
  const focusedOutToValueState = this.valueStateOpen && this.contains(toBeFocused);
270
- if (focusedOutToItemsPicker || focusedOutToValueState) {
288
+ if (focusedOutToItemsPicker || focusedOutToValueState || this._handleLinkNavigation) {
271
289
  e.stopImmediatePropagation();
272
290
  return;
273
291
  }
@@ -315,7 +333,9 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
315
333
  }
316
334
  }
317
335
  _handleValueStatePopoverFocusout() {
318
- this.focused = false;
336
+ if (!this._handleLinkNavigation) {
337
+ this.focused = false;
338
+ }
319
339
  }
320
340
  _handleValueStatePopoverAfterClose() {
321
341
  this.valueStateOpen = false;
@@ -371,7 +391,6 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
371
391
  // stop the native event, as the semantic "input" would be fired.
372
392
  e.stopImmediatePropagation();
373
393
  this.focused = true;
374
- this._isValueStateFocused = false;
375
394
  }
376
395
  this._filteredItems = this._filterItems(value);
377
396
  this.value = value;
@@ -483,7 +502,6 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
483
502
  this.value = isGroupItem ? nextItem.text : currentItem.text;
484
503
  currentItem.focused = false;
485
504
  }
486
- this._isValueStateFocused = false;
487
505
  this._announceSelectedItem(indexOfItem);
488
506
  this._scrollToItem(indexOfItem);
489
507
  if (isGroupItem && this.open) {
@@ -507,39 +525,23 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
507
525
  }
508
526
  _handleArrowDown(e, indexOfItem) {
509
527
  const isOpen = this.open;
510
- if (this.focused && indexOfItem === -1 && this.hasValueStateText && isOpen) {
511
- this._isValueStateFocused = true;
512
- this._announceValueStateText();
528
+ if (this.focused && indexOfItem === -1 && isOpen) {
513
529
  this.focused = false;
514
- return;
515
530
  }
516
- indexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;
517
531
  this._handleItemNavigation(e, ++indexOfItem, true /* isForward */);
518
532
  }
519
533
  _handleArrowUp(e, indexOfItem) {
520
534
  const isOpen = this.open;
521
- if (indexOfItem === 0 && !this.hasValueStateText) {
535
+ if (indexOfItem === 0) {
522
536
  this._clearFocus();
523
- this.focused = true;
524
537
  this._itemFocused = false;
525
- return;
526
- }
527
- if (indexOfItem === 0 && this.hasValueStateText && isOpen && !this._isValueStateFocused) {
528
- this._clearFocus();
529
- this._itemFocused = false;
530
- this._isValueStateFocused = true;
531
- this._announceValueStateText();
532
- this._filteredItems[0].selected = false;
533
- this.value = this._userTypedValue;
534
- return;
535
- }
536
- if (this._isValueStateFocused) {
537
538
  this.focused = true;
538
- this._isValueStateFocused = false;
539
- this.value = this._userTypedValue;
539
+ if (this.hasValueStateText && isOpen) {
540
+ this._filteredItems[0].selected = false;
541
+ this.value = this._userTypedValue;
542
+ }
540
543
  return;
541
544
  }
542
- indexOfItem = !isOpen && this.hasValueState && indexOfItem === -1 ? 0 : indexOfItem;
543
545
  this._handleItemNavigation(e, --indexOfItem, false /* isForward */);
544
546
  }
545
547
  _handlePageUp(e, indexOfItem) {
@@ -547,13 +549,6 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
547
549
  const isProposedIndexValid = indexOfItem - SKIP_ITEMS_SIZE > -1;
548
550
  indexOfItem = isProposedIndexValid ? indexOfItem - SKIP_ITEMS_SIZE : 0;
549
551
  const shouldMoveForward = isInstanceOfComboBoxItemGroup(allItems[indexOfItem]) && !this.open;
550
- if (!isProposedIndexValid && this.hasValueStateText && this.open) {
551
- this._clearFocus();
552
- this._itemFocused = false;
553
- this._isValueStateFocused = true;
554
- this._announceValueStateText();
555
- return;
556
- }
557
552
  this._handleItemNavigation(e, indexOfItem, shouldMoveForward);
558
553
  }
559
554
  _handlePageDown(e, indexOfItem) {
@@ -566,13 +561,6 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
566
561
  }
567
562
  _handleHome(e) {
568
563
  const shouldMoveForward = isInstanceOfComboBoxItemGroup(this._filteredItems[0]) && !this.open;
569
- if (this.hasValueStateText && this.open) {
570
- this._clearFocus();
571
- this._itemFocused = false;
572
- this._isValueStateFocused = true;
573
- this._announceValueStateText();
574
- return;
575
- }
576
564
  this._handleItemNavigation(e, 0, shouldMoveForward);
577
565
  }
578
566
  _handleEnd(e) {
@@ -612,7 +600,6 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
612
600
  if (isEscape(e)) {
613
601
  this.focused = true;
614
602
  this.value = !this.open ? this._lastValue : this.value;
615
- this._isValueStateFocused = false;
616
603
  }
617
604
  if ((isTabNext(e) || isTabPrevious(e)) && this.open) {
618
605
  this._closeRespPopover();
@@ -638,6 +625,55 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
638
625
  this.focused = true;
639
626
  }
640
627
  }
628
+ if (isCtrlAltF8(e)) {
629
+ return this._handleCtrlALtF8();
630
+ }
631
+ }
632
+ _addLinksEventListeners() {
633
+ const links = this.linksInAriaValueStateHiddenText;
634
+ links.forEach((link, index) => {
635
+ this._linksListenersArray.push((e) => {
636
+ attachListeners(e, links, index, {
637
+ closeValueState: () => {
638
+ if (this.open) {
639
+ this._closeRespPopover();
640
+ }
641
+ if (this.valueStateOpen) {
642
+ this.valueStateOpen = false;
643
+ }
644
+ },
645
+ navigateToItem: () => {
646
+ this._handleLinkNavigation = false;
647
+ if (this.open) {
648
+ this.inner.focus();
649
+ this.handleNavKeyPress(e);
650
+ }
651
+ },
652
+ focusInput: () => {
653
+ this._handleLinkNavigation = false;
654
+ this.inner.focus();
655
+ },
656
+ isPopoverOpen: () => this.open,
657
+ });
658
+ });
659
+ link.addEventListener("keydown", this._linksListenersArray[index]);
660
+ });
661
+ }
662
+ _removeLinksEventListeners() {
663
+ const links = this.linksInAriaValueStateHiddenText;
664
+ links.forEach((link, index) => {
665
+ link.removeEventListener("keydown", this._linksListenersArray[index]);
666
+ });
667
+ this._linksListenersArray = [];
668
+ this._handleLinkNavigation = false;
669
+ }
670
+ _handleCtrlALtF8() {
671
+ const links = this.linksInAriaValueStateHiddenText;
672
+ if (links.length > 0) {
673
+ this._clearFocus();
674
+ links[0].focus();
675
+ }
676
+ this._handleLinkNavigation = true;
641
677
  }
642
678
  _handlePopoverKeydown(e) {
643
679
  if (isTabNext(e)) {
@@ -666,7 +702,6 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
666
702
  if (isPhone()) {
667
703
  this._fireChangeEvent();
668
704
  }
669
- this._isValueStateFocused = false;
670
705
  this._clearFocus();
671
706
  this.open = false;
672
707
  this.valueStateOpen = false;
@@ -919,6 +954,42 @@ let ComboBox = ComboBox_1 = class ComboBox extends UI5Element {
919
954
  get _valueStateMessageIcon() {
920
955
  return this.valueState !== ValueState.None ? ValueStateIconMapping[this.valueState] : "";
921
956
  }
957
+ get linksInAriaValueStateHiddenText() {
958
+ const links = [];
959
+ if (this.valueStateMessage) {
960
+ this.valueStateMessage.forEach(element => {
961
+ if (element.children.length) {
962
+ element.querySelectorAll("ui5-link").forEach(link => {
963
+ links.push(link);
964
+ });
965
+ }
966
+ });
967
+ }
968
+ return links;
969
+ }
970
+ get valueStateLinksShortcutsTextAcc() {
971
+ const links = this.linksInAriaValueStateHiddenText;
972
+ if (!links.length) {
973
+ return "";
974
+ }
975
+ if (isMac()) {
976
+ return links.length === 1
977
+ ? ComboBox_1.i18nBundle.getText(VALUE_STATE_LINK_MAC)
978
+ : ComboBox_1.i18nBundle.getText(VALUE_STATE_LINKS_MAC);
979
+ }
980
+ return links.length === 1
981
+ ? ComboBox_1.i18nBundle.getText(VALUE_STATE_LINK)
982
+ : ComboBox_1.i18nBundle.getText(VALUE_STATE_LINKS);
983
+ }
984
+ get ariaDescribedByText() {
985
+ return `${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId}`.trim();
986
+ }
987
+ get _valueStateLinksShortcutsTextAccId() {
988
+ return this.linksInAriaValueStateHiddenText.length > 0 ? `hiddenText-value-state-link-shortcut` : "";
989
+ }
990
+ get valueStateTextId() {
991
+ return this.hasValueState ? `value-state-description` : "";
992
+ }
922
993
  get _isPhone() {
923
994
  return isPhone();
924
995
  }
@@ -1008,9 +1079,6 @@ __decorate([
1008
1079
  __decorate([
1009
1080
  property({ type: Boolean })
1010
1081
  ], ComboBox.prototype, "focused", void 0);
1011
- __decorate([
1012
- property({ type: Boolean })
1013
- ], ComboBox.prototype, "_isValueStateFocused", void 0);
1014
1082
  __decorate([
1015
1083
  property()
1016
1084
  ], ComboBox.prototype, "accessibleName", void 0);
@@ -1035,6 +1103,12 @@ __decorate([
1035
1103
  __decorate([
1036
1104
  property({ type: Boolean })
1037
1105
  ], ComboBox.prototype, "open", void 0);
1106
+ __decorate([
1107
+ property({ type: Boolean })
1108
+ ], ComboBox.prototype, "_handleLinkNavigation", void 0);
1109
+ __decorate([
1110
+ property({ type: Array })
1111
+ ], ComboBox.prototype, "_linksListenersArray", void 0);
1038
1112
  __decorate([
1039
1113
  slot({
1040
1114
  type: HTMLElement,