@ui5/webcomponents 1.0.0-rc.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (742) hide show
  1. package/CHANGELOG.md +550 -1
  2. package/README.md +144 -52
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +2 -1
  7. package/dist/Avatar.js +190 -50
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +45 -19
  10. package/dist/Breadcrumbs.js +573 -0
  11. package/dist/BreadcrumbsItem.js +103 -0
  12. package/dist/BusyIndicator.js +121 -34
  13. package/dist/Button.js +110 -66
  14. package/dist/Calendar.js +324 -622
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +113 -59
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +38 -198
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +255 -96
  21. package/dist/CheckBox.js +140 -51
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +356 -147
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +11 -24
  30. package/dist/CustomListItem.js +36 -2
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +265 -494
  33. package/dist/DateRangePicker.js +189 -305
  34. package/dist/DateTimePicker.js +96 -414
  35. package/dist/DayPicker.js +450 -647
  36. package/dist/Dialog.js +369 -43
  37. package/dist/DurationPicker.js +110 -512
  38. package/dist/FileUploader.js +74 -35
  39. package/dist/GroupHeaderListItem.js +22 -13
  40. package/dist/Icon.js +128 -43
  41. package/dist/Input.js +349 -158
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -12
  44. package/dist/Link.js +122 -29
  45. package/dist/List.js +377 -104
  46. package/dist/ListItem.js +62 -15
  47. package/dist/ListItemBase.js +29 -2
  48. package/dist/MessageStrip.js +48 -47
  49. package/dist/MonthPicker.js +173 -227
  50. package/dist/MultiComboBox.js +384 -148
  51. package/dist/MultiComboBoxItem.js +7 -2
  52. package/dist/MultiInput.js +55 -24
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +64 -74
  55. package/dist/Popover.js +195 -80
  56. package/dist/Popup.js +158 -64
  57. package/dist/ProgressIndicator.js +28 -20
  58. package/dist/RadioButton.js +126 -43
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +27 -37
  62. package/dist/ResponsivePopover.js +57 -43
  63. package/dist/SegmentedButton.js +102 -68
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +278 -119
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +35 -9
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +13 -26
  72. package/dist/SuggestionListItem.js +17 -6
  73. package/dist/Switch.js +55 -34
  74. package/dist/Tab.js +47 -26
  75. package/dist/TabContainer.js +98 -38
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +474 -22
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +210 -11
  82. package/dist/TextArea.js +86 -46
  83. package/dist/TimePicker.js +28 -743
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +19 -8
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +34 -18
  90. package/dist/Tokenizer.js +75 -42
  91. package/dist/Tree.js +97 -41
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +88 -4
  94. package/dist/WheelSlider.js +60 -60
  95. package/dist/YearPicker.js +188 -284
  96. package/dist/api.json +6871 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +137 -45
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -19
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -89
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -16
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -13
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -13
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -13
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -11
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -11
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -17
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -19
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -14
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -25
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -14
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -20
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -13
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -13
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -19
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -19
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -14
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +7 -14
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -14
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -11
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -13
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -31
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -15
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -11
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -12
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -20
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -16
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -15
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -13
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -27
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -16
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -19
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -14
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -16
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -11
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -11
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -17
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -14
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +11 -16
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -21
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -11
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -27
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -12
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -27
  219. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +24 -29
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -13
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -13
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -23
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -17
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -11
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -11
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -11
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -11
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -18
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -15
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -15
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -15
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -15
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -13
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -17
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -11
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -13
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -14
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -16
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -13
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -24
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -12
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -14
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -13
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +5 -5
  274. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +5 -5
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  299. package/dist/generated/themes/PopupsCommon.css.js +5 -5
  300. package/dist/generated/themes/ProgressIndicator.css.js +5 -5
  301. package/dist/generated/themes/RadioButton.css.js +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +5 -5
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  307. package/dist/generated/themes/SelectPopover.css.js +5 -5
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  397. package/dist/popup-utils/PopoverRegistry.js +2 -4
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  399. package/{src/types/AvatarBackgroundColor.js → dist/types/AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +1 -1
  414. package/dist/types/ListMode.js +1 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +18 -7
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +2 -1
  454. package/src/Avatar.hbs +14 -3
  455. package/src/Avatar.js +190 -50
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +7 -4
  459. package/src/Badge.js +45 -19
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +573 -0
  462. package/src/BreadcrumbsItem.js +103 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +28 -14
  465. package/src/BusyIndicator.js +121 -34
  466. package/src/Button.hbs +5 -3
  467. package/src/Button.js +110 -66
  468. package/src/Calendar.hbs +53 -47
  469. package/src/Calendar.js +324 -622
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +29 -35
  472. package/src/CalendarHeader.js +113 -59
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +7 -39
  475. package/src/Card.js +38 -198
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +23 -16
  479. package/src/Carousel.js +255 -96
  480. package/src/CheckBox.hbs +18 -7
  481. package/src/CheckBox.js +140 -51
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +7 -2
  492. package/src/ComboBox.js +356 -147
  493. package/src/ComboBoxFilters.js +8 -1
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +11 -24
  496. package/src/ComboBoxPopover.hbs +26 -16
  497. package/src/CustomListItem.js +36 -2
  498. package/src/DateComponentBase.js +170 -0
  499. package/src/DatePicker.hbs +5 -3
  500. package/src/DatePicker.js +265 -494
  501. package/src/DatePickerPopover.hbs +22 -17
  502. package/src/DateRangePicker.js +189 -305
  503. package/src/DateTimePicker.js +96 -414
  504. package/src/DateTimePickerPopover.hbs +28 -52
  505. package/src/DayPicker.hbs +18 -12
  506. package/src/DayPicker.js +450 -647
  507. package/src/Dialog.hbs +22 -10
  508. package/src/Dialog.js +369 -43
  509. package/src/DurationPicker.js +110 -512
  510. package/src/FileUploader.hbs +3 -0
  511. package/src/FileUploader.js +74 -35
  512. package/src/FileUploaderPopover.hbs +2 -1
  513. package/src/GroupHeaderListItem.hbs +4 -4
  514. package/src/GroupHeaderListItem.js +22 -13
  515. package/src/Icon.hbs +5 -4
  516. package/src/Icon.js +128 -43
  517. package/src/Input.hbs +17 -6
  518. package/src/Input.js +349 -158
  519. package/src/InputPopover.hbs +11 -7
  520. package/src/Interfaces.js +192 -0
  521. package/src/Label.hbs +1 -1
  522. package/src/Label.js +27 -12
  523. package/src/Link.hbs +4 -2
  524. package/src/Link.js +122 -29
  525. package/src/List.hbs +76 -37
  526. package/src/List.js +377 -104
  527. package/src/ListItem.hbs +20 -7
  528. package/src/ListItem.js +62 -15
  529. package/src/ListItemBase.js +29 -2
  530. package/src/MessageStrip.hbs +16 -13
  531. package/src/MessageStrip.js +48 -47
  532. package/src/MonthPicker.hbs +6 -6
  533. package/src/MonthPicker.js +173 -227
  534. package/src/MultiComboBox.hbs +13 -8
  535. package/src/MultiComboBox.js +384 -148
  536. package/src/MultiComboBoxItem.js +7 -2
  537. package/src/MultiComboBoxPopover.hbs +42 -18
  538. package/src/MultiInput.hbs +2 -1
  539. package/src/MultiInput.js +55 -24
  540. package/src/Option.js +48 -5
  541. package/src/Panel.hbs +23 -16
  542. package/src/Panel.js +64 -74
  543. package/src/Popover.js +195 -80
  544. package/src/Popup.hbs +5 -0
  545. package/src/Popup.js +158 -64
  546. package/src/ProgressIndicator.hbs +7 -1
  547. package/src/ProgressIndicator.js +28 -20
  548. package/src/RadioButton.hbs +7 -4
  549. package/src/RadioButton.js +126 -43
  550. package/src/RadioButtonGroup.js +53 -29
  551. package/src/RangeSlider.hbs +70 -0
  552. package/src/RangeSlider.js +769 -0
  553. package/src/RatingIndicator.hbs +5 -3
  554. package/src/RatingIndicator.js +27 -37
  555. package/src/ResponsivePopover.hbs +13 -8
  556. package/src/ResponsivePopover.js +57 -43
  557. package/src/SegmentedButton.hbs +12 -5
  558. package/src/SegmentedButton.js +102 -68
  559. package/src/SegmentedButtonItem.hbs +42 -0
  560. package/src/SegmentedButtonItem.js +109 -0
  561. package/src/Select.hbs +26 -17
  562. package/src/Select.js +278 -119
  563. package/src/SelectPopover.hbs +27 -24
  564. package/src/Slider.hbs +42 -0
  565. package/src/Slider.js +320 -0
  566. package/src/SliderBase.hbs +38 -0
  567. package/src/SliderBase.js +842 -0
  568. package/src/StandardListItem.hbs +17 -9
  569. package/src/StandardListItem.js +35 -9
  570. package/src/StepInput.hbs +80 -0
  571. package/src/StepInput.js +684 -0
  572. package/src/SuggestionGroupItem.js +64 -0
  573. package/src/SuggestionItem.js +13 -26
  574. package/src/SuggestionListItem.hbs +18 -10
  575. package/src/SuggestionListItem.js +17 -6
  576. package/src/Switch.hbs +19 -3
  577. package/src/Switch.js +55 -34
  578. package/src/Tab.js +47 -26
  579. package/src/TabContainer.hbs +43 -26
  580. package/src/TabContainer.js +98 -38
  581. package/src/TabContainerPopover.hbs +2 -1
  582. package/src/TabInStrip.hbs +1 -6
  583. package/src/TabSeparator.hbs +1 -1
  584. package/src/TabSeparator.js +1 -0
  585. package/src/Table.hbs +95 -25
  586. package/src/Table.js +474 -22
  587. package/src/TableCell.hbs +1 -0
  588. package/src/TableCell.js +11 -9
  589. package/src/TableColumn.hbs +2 -0
  590. package/src/TableColumn.js +13 -3
  591. package/src/TableGroupRow.hbs +12 -0
  592. package/src/TableGroupRow.js +160 -0
  593. package/src/TableRow.hbs +29 -2
  594. package/src/TableRow.js +210 -11
  595. package/src/TextArea.hbs +1 -3
  596. package/src/TextArea.js +86 -46
  597. package/src/TextAreaPopover.hbs +2 -1
  598. package/src/TimePicker.hbs +6 -3
  599. package/src/TimePicker.js +28 -743
  600. package/src/TimePickerBase.js +463 -0
  601. package/src/TimePickerPopover.hbs +28 -52
  602. package/src/TimeSelection.hbs +60 -0
  603. package/src/TimeSelection.js +493 -0
  604. package/src/Title.js +16 -9
  605. package/src/Toast.hbs +13 -11
  606. package/src/Toast.js +19 -8
  607. package/src/ToggleButton.js +21 -8
  608. package/src/Token.hbs +2 -0
  609. package/src/Token.js +34 -18
  610. package/src/Tokenizer.hbs +1 -0
  611. package/src/Tokenizer.js +75 -42
  612. package/src/TokenizerPopover.hbs +1 -1
  613. package/src/Tree.hbs +10 -2
  614. package/src/Tree.js +97 -41
  615. package/src/TreeItem.js +44 -9
  616. package/src/TreeListItem.hbs +15 -4
  617. package/src/TreeListItem.js +88 -4
  618. package/src/WheelSlider.hbs +17 -10
  619. package/src/WheelSlider.js +60 -60
  620. package/src/YearPicker.hbs +9 -7
  621. package/src/YearPicker.js +188 -284
  622. package/src/features/ColorPaletteMoreColors.js +42 -0
  623. package/src/features/InputElementsFormSupport.js +0 -1
  624. package/src/features/InputSuggestions.js +137 -45
  625. package/src/i18n/messagebundle.properties +144 -189
  626. package/src/i18n/messagebundle_ar.properties +99 -115
  627. package/src/i18n/messagebundle_bg.properties +99 -115
  628. package/src/i18n/messagebundle_ca.properties +99 -115
  629. package/src/i18n/messagebundle_cs.properties +99 -115
  630. package/src/i18n/messagebundle_cy.properties +224 -0
  631. package/src/i18n/messagebundle_da.properties +99 -115
  632. package/src/i18n/messagebundle_de.properties +99 -115
  633. package/src/i18n/messagebundle_el.properties +99 -115
  634. package/src/i18n/messagebundle_en.properties +99 -115
  635. package/src/i18n/messagebundle_en_GB.properties +224 -0
  636. package/src/i18n/messagebundle_en_US_sappsd.properties +99 -115
  637. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  638. package/src/i18n/messagebundle_en_US_saptrc.properties +99 -115
  639. package/src/i18n/messagebundle_es.properties +99 -115
  640. package/src/i18n/messagebundle_es_MX.properties +224 -0
  641. package/src/i18n/messagebundle_et.properties +99 -115
  642. package/src/i18n/messagebundle_fi.properties +99 -115
  643. package/src/i18n/messagebundle_fr.properties +99 -115
  644. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  645. package/src/i18n/messagebundle_hi.properties +99 -115
  646. package/src/i18n/messagebundle_hr.properties +99 -115
  647. package/src/i18n/messagebundle_hu.properties +99 -115
  648. package/src/i18n/messagebundle_id.properties +224 -0
  649. package/src/i18n/messagebundle_in.properties +172 -0
  650. package/src/i18n/messagebundle_it.properties +99 -115
  651. package/src/i18n/messagebundle_iw.properties +99 -115
  652. package/src/i18n/messagebundle_ja.properties +100 -116
  653. package/src/i18n/messagebundle_kk.properties +99 -115
  654. package/src/i18n/messagebundle_ko.properties +99 -115
  655. package/src/i18n/messagebundle_lt.properties +99 -115
  656. package/src/i18n/messagebundle_lv.properties +99 -115
  657. package/src/i18n/messagebundle_ms.properties +99 -115
  658. package/src/i18n/messagebundle_nl.properties +99 -115
  659. package/src/i18n/messagebundle_no.properties +99 -115
  660. package/src/i18n/messagebundle_pl.properties +99 -115
  661. package/src/i18n/messagebundle_pt.properties +99 -115
  662. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  663. package/src/i18n/messagebundle_ro.properties +98 -114
  664. package/src/i18n/messagebundle_ru.properties +99 -115
  665. package/src/i18n/messagebundle_sh.properties +99 -115
  666. package/src/i18n/messagebundle_sk.properties +99 -115
  667. package/src/i18n/messagebundle_sl.properties +99 -115
  668. package/src/i18n/messagebundle_sv.properties +99 -115
  669. package/src/i18n/messagebundle_th.properties +99 -115
  670. package/src/i18n/messagebundle_tr.properties +99 -115
  671. package/src/i18n/messagebundle_uk.properties +101 -117
  672. package/src/i18n/messagebundle_vi.properties +99 -115
  673. package/src/i18n/messagebundle_zh_CN.properties +99 -115
  674. package/src/i18n/messagebundle_zh_TW.properties +99 -115
  675. package/src/popup-utils/OpenedPopupsRegistry.js +1 -1
  676. package/src/popup-utils/PopoverRegistry.js +2 -4
  677. package/src/timepicker-utils/TimeSlider.js +15 -13
  678. package/{dist/types/AvatarBackgroundColor.js → src/types/AvatarColorScheme.js} +9 -9
  679. package/src/types/AvatarGroupType.js +43 -0
  680. package/src/types/AvatarShape.js +1 -1
  681. package/src/types/AvatarSize.js +1 -1
  682. package/src/types/BreadcrumbsDesign.js +42 -0
  683. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  684. package/src/types/BusyIndicatorSize.js +1 -1
  685. package/src/types/ButtonDesign.js +8 -1
  686. package/src/types/CalendarSelectionMode.js +47 -0
  687. package/src/types/CarouselArrowsPlacement.js +3 -3
  688. package/src/types/GrowingMode.js +48 -0
  689. package/src/types/InputType.js +7 -7
  690. package/src/types/LinkDesign.js +1 -1
  691. package/src/types/ListGrowingMode.js +15 -0
  692. package/src/types/ListItemType.js +1 -1
  693. package/src/types/ListMode.js +1 -1
  694. package/src/types/ListSeparators.js +1 -1
  695. package/src/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  696. package/src/types/PanelAccessibleRole.js +1 -1
  697. package/src/types/PopoverHorizontalAlign.js +1 -1
  698. package/src/types/PopoverPlacementType.js +2 -2
  699. package/src/types/PopoverVerticalAlign.js +1 -2
  700. package/src/types/Priority.js +1 -1
  701. package/src/types/SemanticColor.js +1 -1
  702. package/src/types/SwitchDesign.js +40 -0
  703. package/src/types/TabContainerTabsPlacement.js +5 -5
  704. package/src/types/TabLayout.js +1 -1
  705. package/src/types/TableGrowingMode.js +15 -0
  706. package/src/types/TableMode.js +47 -0
  707. package/src/types/TableRowType.js +40 -0
  708. package/src/types/TitleLevel.js +1 -1
  709. package/src/types/ToastPlacement.js +1 -2
  710. package/src/types/WrappingType.js +41 -0
  711. package/dist/Timeline.js +0 -99
  712. package/dist/TimelineItem.js +0 -156
  713. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -14
  714. package/dist/generated/templates/DateRangePickerTemplate.lit.js +0 -16
  715. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -17
  716. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -16
  717. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -19
  718. package/dist/generated/templates/TimelineTemplate.lit.js +0 -15
  719. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  720. package/dist/generated/themes/DurationPicker.css.js +0 -8
  721. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  722. package/dist/generated/themes/Timeline.css.js +0 -8
  723. package/dist/generated/themes/TimelineItem.css.js +0 -8
  724. package/dist/popup-utils/PopupUtils.js +0 -84
  725. package/dist/types/AvatarFitType.js +0 -40
  726. package/dist/webcomponentsjs/package.json +0 -46
  727. package/dist/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +0 -16
  728. package/dist/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +0 -53
  729. package/dist/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +0 -17
  730. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +0 -19
  731. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +0 -28
  732. package/dist/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +0 -18
  733. package/src/ComboBoxItem.hbs +0 -0
  734. package/src/DateRangePicker.hbs +0 -1
  735. package/src/DurationPicker.hbs +0 -29
  736. package/src/DurationPickerPopover.hbs +0 -48
  737. package/src/Timeline.hbs +0 -9
  738. package/src/Timeline.js +0 -99
  739. package/src/TimelineItem.hbs +0 -39
  740. package/src/TimelineItem.js +0 -156
  741. package/src/popup-utils/PopupUtils.js +0 -84
  742. package/src/types/AvatarFitType.js +0 -40
package/dist/Select.js CHANGED
@@ -6,25 +6,28 @@ import {
6
6
  isDown,
7
7
  isEnter,
8
8
  isEscape,
9
+ isHome,
10
+ isEnd,
9
11
  isShow,
10
12
  isTabNext,
11
13
  isTabPrevious,
12
14
  } from "@ui5/webcomponents-base/dist/Keys.js";
15
+ import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
13
16
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
14
17
  import { getFeature } from "@ui5/webcomponents-base/dist/FeaturesRegistry.js";
15
18
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
16
19
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
17
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-down.js";
20
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
18
21
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
19
22
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
20
- import "@ui5/webcomponents-icons/dist/icons/decline.js";
23
+ import "@ui5/webcomponents-icons/dist/decline.js";
21
24
  import {
22
25
  VALUE_STATE_SUCCESS,
23
26
  VALUE_STATE_INFORMATION,
24
27
  VALUE_STATE_ERROR,
25
28
  VALUE_STATE_WARNING,
26
29
  INPUT_SUGGESTIONS_TITLE,
27
- SELECT_ROLE_DESCRIPTION,
30
+ LIST_ITEM_POSITION,
28
31
  } from "./generated/i18n/i18n-defaults.js";
29
32
  import Option from "./Option.js";
30
33
  import Label from "./Label.js";
@@ -55,7 +58,7 @@ const metadata = {
55
58
  slots: /** @lends sap.ui.webcomponents.main.Select.prototype */ {
56
59
 
57
60
  /**
58
- * Defines the <code>ui5-select</code> options.
61
+ * Defines the component options.
59
62
  *
60
63
  * <br><br>
61
64
  * <b>Note:</b> Only one selected option is allowed.
@@ -63,24 +66,24 @@ const metadata = {
63
66
  *
64
67
  * <br><br>
65
68
  * <b>Note:</b> Use the <code>ui5-option</code> component to define the desired options.
66
- * @type {HTMLElement[]}
67
- * @slot
69
+ * @type {sap.ui.webcomponents.main.ISelectOption[]}
70
+ * @slot options
68
71
  * @public
69
72
  */
70
73
  "default": {
71
74
  propertyName: "options",
72
75
  type: HTMLElement,
73
- listenFor: { include: ["*"] },
76
+ invalidateOnChildChange: true,
74
77
  },
75
78
 
76
79
  /**
77
- * Defines the value state message that will be displayed as pop up under the <code>ui5-select</code>.
80
+ * Defines the value state message that will be displayed as pop up under the component.
78
81
  * <br><br>
79
82
  *
80
83
  * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
81
84
  * <br>
82
85
  * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
83
- * when the <code>ui5-select</code> is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
86
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
84
87
  * @type {HTMLElement[]}
85
88
  * @since 1.0.0-rc.9
86
89
  * @slot
@@ -89,13 +92,24 @@ const metadata = {
89
92
  valueStateMessage: {
90
93
  type: HTMLElement,
91
94
  },
95
+
96
+ /**
97
+ * The slot is used to render native <code>input</code> HTML element within Light DOM to enable form submit,
98
+ * when <code>name</code> property is set.
99
+ * @type {HTMLElement[]}
100
+ * @slot
101
+ * @private
102
+ */
103
+ formSupport: {
104
+ type: HTMLElement,
105
+ },
92
106
  },
93
107
  properties: /** @lends sap.ui.webcomponents.main.Select.prototype */ {
94
108
 
95
109
  /**
96
- * Defines whether <code>ui5-select</code> is in disabled state.
110
+ * Defines whether the component is in disabled state.
97
111
  * <br><br>
98
- * <b>Note:</b> A disabled <code>ui5-select</code> is noninteractive.
112
+ * <b>Note:</b> A disabled component is noninteractive.
99
113
  *
100
114
  * @type {boolean}
101
115
  * @defaultvalue false
@@ -106,8 +120,8 @@ const metadata = {
106
120
  },
107
121
 
108
122
  /**
109
- * Determines the name with which the <code>ui5-select</code> will be submitted in an HTML form.
110
- * The value of the <code>ui5-select</code> will be the value of the currently selected <code>ui5-option</code>.
123
+ * Determines the name with which the component will be submitted in an HTML form.
124
+ * The value of the component will be the value of the currently selected <code>ui5-option</code>.
111
125
  *
112
126
  * <br><br>
113
127
  * <b>Important:</b> For the <code>name</code> property to have effect, you must add the following import to your project:
@@ -127,7 +141,7 @@ const metadata = {
127
141
  },
128
142
 
129
143
  /**
130
- * Defines the value state of the <code>ui5-select</code>.
144
+ * Defines the value state of the component.
131
145
  * <br><br>
132
146
  * Available options are:
133
147
  * <ul>
@@ -148,10 +162,10 @@ const metadata = {
148
162
  },
149
163
 
150
164
  /**
151
- * Defines whether the <code>ui5-select</code> is required.
165
+ * Defines whether the component is required.
152
166
  *
153
167
  * @since 1.0.0-rc.9
154
- * @type {Boolean}
168
+ * @type {boolean}
155
169
  * @defaultvalue false
156
170
  * @public
157
171
  */
@@ -160,14 +174,14 @@ const metadata = {
160
174
  },
161
175
 
162
176
  /**
163
- * Defines the aria-label attribute for the select.
177
+ * Sets the accessible aria name of the component.
164
178
  *
165
179
  * @type {String}
166
180
  * @since 1.0.0-rc.9
167
- * @private
168
- * @defaultvalue ""
181
+ * @public
182
+ * @since 1.0.0-rc.15
169
183
  */
170
- ariaLabel: {
184
+ accessibleName: {
171
185
  type: String,
172
186
  },
173
187
 
@@ -176,10 +190,10 @@ const metadata = {
176
190
  *
177
191
  * @type {String}
178
192
  * @defaultvalue ""
179
- * @private
180
- * @since 1.0.0-rc.9
193
+ * @public
194
+ * @since 1.0.0-rc.15
181
195
  */
182
- ariaLabelledby: {
196
+ accessibleNameRef: {
183
197
  type: String,
184
198
  defaultValue: "",
185
199
  },
@@ -239,11 +253,17 @@ const metadata = {
239
253
  *
240
254
  * <h3>Keyboard Handling</h3>
241
255
  * The <code>ui5-select</code> provides advanced keyboard handling.
242
- * If the <code>ui5-select</code> is focused,
243
- * you can open or close the drop-down by pressing <code>F4</code>, <code>ALT+UP</code> or <code>ALT+DOWN</code> keys.
244
- * Once the drop-down is opened, you can use the <code>UP</code> and <code>DOWN</code> arrow keys
245
- * to navigate through the available options and select one by pressing the <code>Space</code> or <code>Enter</code> keys.
246
256
  * <br>
257
+ * <ul>
258
+ * <li>[F4, ALT+UP, ALT+DOWN, SPACE, ENTER] - Opens/closes the drop-down.</li>
259
+ * <li>[UP, DOWN] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.</li>
260
+ * <li>[SPACE, ENTER] - If the drop-down is opened - selects the focused option.</li>
261
+ * <li>[ESC] - Closes the drop-down without changing the selection.</li>
262
+ * <li>[HOME] - Navigates to first option</li>
263
+ * <li>[END] - Navigates to the last option</li>
264
+ * </ul>
265
+ * <br>
266
+ *
247
267
  * <h3>ES6 Module Import</h3>
248
268
  * <code>import "@ui5/webcomponents/dist/Select";</code>
249
269
  * <br>
@@ -290,7 +310,8 @@ class Select extends UI5Element {
290
310
  this._selectedIndexBeforeOpen = -1;
291
311
  this._escapePressed = false;
292
312
  this._lastSelectedOption = null;
293
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
313
+ this._typedChars = "";
314
+ this._typingTimeoutID = -1;
294
315
  }
295
316
 
296
317
  onBeforeRendering() {
@@ -301,9 +322,13 @@ class Select extends UI5Element {
301
322
  onAfterRendering() {
302
323
  this.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);
303
324
 
304
- if (this._isPickerOpen && !this._listWidth) {
305
- this._listWidth = this.responsivePopover.offsetWidth;
325
+ if (this._isPickerOpen) {
326
+ if (!this._listWidth) {
327
+ this._listWidth = this.responsivePopover.offsetWidth;
328
+ }
306
329
  }
330
+
331
+ this._attachRealDomRefs();
307
332
  }
308
333
 
309
334
  _onfocusin() {
@@ -315,11 +340,10 @@ class Select extends UI5Element {
315
340
  }
316
341
 
317
342
  get _isPickerOpen() {
318
- return this.responsivePopover && this.responsivePopover.opened;
343
+ return !!this.responsivePopover && this.responsivePopover.opened;
319
344
  }
320
345
 
321
346
  async _respPopover() {
322
- this._iconPressed = true;
323
347
  const staticAreaItem = await this.getStaticAreaItemDomRef();
324
348
  return staticAreaItem.querySelector("[ui5-responsive-popover]");
325
349
  }
@@ -327,14 +351,15 @@ class Select extends UI5Element {
327
351
  /**
328
352
  * Currently selected option.
329
353
  * @readonly
330
- * @type { ui5-option }
354
+ * @type { sap.ui.webcomponents.main.ISelectOption }
331
355
  * @public
332
356
  */
333
357
  get selectedOption() {
334
- return this.options.find(option => option.selected);
358
+ return this._filteredItems.find(option => option.selected);
335
359
  }
336
360
 
337
361
  async _toggleRespPopover() {
362
+ this._iconPressed = true;
338
363
  this.responsivePopover = await this._respPopover();
339
364
  if (this.disabled) {
340
365
  return;
@@ -343,46 +368,66 @@ class Select extends UI5Element {
343
368
  if (this._isPickerOpen) {
344
369
  this.responsivePopover.close();
345
370
  } else {
346
- this.responsivePopover.open(this);
371
+ this.responsivePopover.showAt(this);
347
372
  }
348
373
  }
349
374
 
375
+ async _attachRealDomRefs() {
376
+ this.responsivePopover = await this._respPopover();
377
+
378
+ this.options.forEach(option => {
379
+ option._getRealDomRef = () => this.responsivePopover.querySelector(`*[data-ui5-stable=${option.stableDomRef}]`);
380
+ });
381
+ }
382
+
350
383
  _syncSelection() {
351
- let lastSelectedOptionIndex = -1;
352
- const opts = this.options.map((opt, index) => {
353
- if (opt.selected) {
384
+ let lastSelectedOptionIndex = -1,
385
+ firstEnabledOptionIndex = -1;
386
+ const options = this._filteredItems;
387
+ const syncOpts = options.map((opt, index) => {
388
+ if (opt.selected || opt.textContent === this.value) {
389
+ // The second condition in the IF statement is added because of Angular Reactive Forms Support(Two way data binding)
354
390
  lastSelectedOptionIndex = index;
355
391
  }
392
+ if (firstEnabledOptionIndex === -1) {
393
+ firstEnabledOptionIndex = index;
394
+ }
356
395
 
357
396
  opt.selected = false;
397
+ opt._focused = false;
358
398
 
359
399
  return {
360
400
  selected: false,
401
+ _focused: false,
361
402
  icon: opt.icon,
362
403
  value: opt.value,
363
404
  textContent: opt.textContent,
364
405
  id: opt._id,
406
+ stableDomRef: opt.stableDomRef,
365
407
  };
366
408
  });
367
409
 
368
- if (lastSelectedOptionIndex > -1) {
369
- opts[lastSelectedOptionIndex].selected = true;
370
- this.options[lastSelectedOptionIndex].selected = true;
371
- this._text = opts[lastSelectedOptionIndex].textContent;
410
+ if (lastSelectedOptionIndex > -1 && !syncOpts[lastSelectedOptionIndex].disabled) {
411
+ syncOpts[lastSelectedOptionIndex].selected = true;
412
+ syncOpts[lastSelectedOptionIndex]._focused = true;
413
+ options[lastSelectedOptionIndex].selected = true;
414
+ options[lastSelectedOptionIndex]._focused = true;
415
+ this._text = syncOpts[lastSelectedOptionIndex].textContent;
372
416
  this._selectedIndex = lastSelectedOptionIndex;
373
417
  } else {
374
418
  this._text = "";
375
419
  this._selectedIndex = -1;
420
+ if (syncOpts[firstEnabledOptionIndex]) {
421
+ syncOpts[firstEnabledOptionIndex].selected = true;
422
+ syncOpts[firstEnabledOptionIndex]._focused = true;
423
+ options[firstEnabledOptionIndex].selected = true;
424
+ options[firstEnabledOptionIndex]._focused = true;
425
+ this._selectedIndex = firstEnabledOptionIndex;
426
+ this._text = options[firstEnabledOptionIndex].textContent;
427
+ }
376
428
  }
377
429
 
378
- if (lastSelectedOptionIndex === -1 && opts[0]) {
379
- opts[0].selected = true;
380
- this.options[0].selected = true;
381
- this._selectedIndex = 0;
382
- this._text = this.options[0].textContent;
383
- }
384
-
385
- this._syncedOptions = opts;
430
+ this._syncedOptions = syncOpts;
386
431
  }
387
432
 
388
433
  _enableFormSupport() {
@@ -390,7 +435,7 @@ class Select extends UI5Element {
390
435
  if (FormSupport) {
391
436
  FormSupport.syncNativeHiddenInput(this, (element, nativeInput) => {
392
437
  nativeInput.disabled = element.disabled;
393
- nativeInput.value = element._currentlySelectedOption.value;
438
+ nativeInput.value = element._currentlySelectedOption ? element._currentlySelectedOption.value : "";
394
439
  });
395
440
  } else if (this.name) {
396
441
  console.warn(`In order for the "name" property to have effect, you should also: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js";`); // eslint-disable-line
@@ -407,20 +452,90 @@ class Select extends UI5Element {
407
452
  if (isShow(event)) {
408
453
  event.preventDefault();
409
454
  this._toggleRespPopover();
455
+ } else if (isSpace(event)) {
456
+ event.preventDefault();
457
+ } else if (isEscape(event) && this._isPickerOpen) {
458
+ this._escapePressed = true;
459
+ } else if (isHome(event)) {
460
+ this._handleHomeKey(event);
461
+ } else if (isEnd(event)) {
462
+ this._handleEndKey(event);
463
+ } else if (isEnter(event)) {
464
+ this._handleSelectionChange();
465
+ } else if (isUp(event) || isDown(event)) {
466
+ this._handleArrowNavigation(event);
410
467
  }
468
+ }
411
469
 
412
- if (isSpace(event)) {
413
- event.preventDefault();
470
+ _handleKeyboardNavigation(event) {
471
+ if (isEnter(event)) {
472
+ return;
414
473
  }
415
474
 
416
- if (!this._isPickerOpen) {
417
- this._handleArrowNavigation(event, true);
475
+ const typedCharacter = event.key.toLowerCase();
476
+
477
+ this._typedChars += typedCharacter;
478
+
479
+ // We check if we have more than one characters and they are all duplicate, we set the
480
+ // text to be the last input character (typedCharacter). If not, we set the text to be
481
+ // the whole input string.
482
+
483
+ const text = (/^(.)\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;
484
+
485
+ clearTimeout(this._typingTimeoutID);
486
+
487
+ this._typingTimeoutID = setTimeout(() => {
488
+ this._typedChars = "";
489
+ this._typingTimeoutID = -1;
490
+ }, 1000);
491
+
492
+ this._selectTypedItem(text);
493
+ }
494
+
495
+ _selectTypedItem(text) {
496
+ const currentIndex = this._selectedIndex;
497
+ const itemToSelect = this._searchNextItemByText(text);
498
+
499
+ if (itemToSelect) {
500
+ const nextIndex = this._getSelectedItemIndex(itemToSelect);
501
+
502
+ this._changeSelectedItem(this._selectedIndex, nextIndex);
503
+
504
+ if (currentIndex !== this._selectedIndex) {
505
+ this.itemSelectionAnnounce();
506
+ }
418
507
  }
419
508
  }
420
509
 
510
+ _searchNextItemByText(text) {
511
+ let orderedOptions = this._filteredItems.slice(0);
512
+ const optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);
513
+ const optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);
514
+
515
+ orderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);
516
+
517
+ return orderedOptions.find(option => option.textContent.toLowerCase().startsWith(text));
518
+ }
519
+
520
+ _handleHomeKey(event) {
521
+ event.preventDefault();
522
+ this._changeSelectedItem(this._selectedIndex, 0);
523
+ }
524
+
525
+ _handleEndKey(event) {
526
+ const lastIndex = this._filteredItems.length - 1;
527
+
528
+ event.preventDefault();
529
+ this._changeSelectedItem(this._selectedIndex, lastIndex);
530
+ }
531
+
421
532
  _onkeyup(event) {
422
- if (isSpace(event) && !this._isPickerOpen) {
423
- this._toggleRespPopover();
533
+ if (isSpace(event)) {
534
+ if (this._isPickerOpen) {
535
+ this._handleSelectionChange();
536
+ } else {
537
+ this._toggleRespPopover();
538
+ }
424
539
  }
425
540
  }
426
541
 
@@ -429,9 +544,9 @@ class Select extends UI5Element {
429
544
  }
430
545
 
431
546
  _select(index) {
432
- this.options[this._selectedIndex].selected = false;
547
+ this._filteredItems[this._selectedIndex].selected = false;
433
548
  this._selectedIndex = index;
434
- this.options[index].selected = true;
549
+ this._filteredItems[index].selected = true;
435
550
  }
436
551
 
437
552
  /**
@@ -441,62 +556,66 @@ class Select extends UI5Element {
441
556
  _handleItemPress(event) {
442
557
  const item = event.detail.item;
443
558
  const selectedItemIndex = this._getSelectedItemIndex(item);
444
- this._select(selectedItemIndex);
445
559
 
560
+ this._handleSelectionChange(selectedItemIndex);
561
+ }
562
+
563
+ _itemMousedown(event) {
564
+ // prevent actual focus of items
565
+ event.preventDefault();
566
+ }
567
+
568
+ _onclick(event) {
569
+ this.getFocusDomRef().focus();
446
570
  this._toggleRespPopover();
447
571
  }
448
572
 
449
573
  /**
450
- * The user used arrow up/down on the list
574
+ * The user selected an item with Enter or Space
451
575
  * @private
452
576
  */
453
- _handleSelectionChange(event) {
454
- const item = event.detail.selectedItems[0];
455
- const selectedItemIndex = this._getSelectedItemIndex(item);
456
- this._select(selectedItemIndex);
457
- }
458
-
459
- _applyFocusAfterOpen() {
460
- if (!this._currentlySelectedOption) {
461
- return;
462
- }
577
+ _handleSelectionChange(index = this._selectedIndex) {
578
+ this._select(index);
463
579
 
464
- const li = this.responsivePopover.querySelector(`#${this._currentlySelectedOption._id}-li`);
465
-
466
- li.parentElement._itemNavigation.currentIndex = this._selectedIndex;
467
- li && li.focus();
580
+ this._toggleRespPopover();
468
581
  }
469
582
 
470
- _handlePickerKeydown(event) {
471
- if (isEscape(event) && this._isPickerOpen) {
472
- this._escapePressed = true;
583
+ _handleArrowNavigation(event) {
584
+ let nextIndex = -1;
585
+ const currentIndex = this._selectedIndex;
586
+ const isDownKey = isDown(event);
587
+
588
+ event.preventDefault();
589
+ if (isDownKey) {
590
+ nextIndex = this._getNextOptionIndex();
591
+ } else {
592
+ nextIndex = this._getPreviousOptionIndex();
473
593
  }
474
594
 
475
- if (isEnter(event) || isSpace(event)) {
476
- this._shouldClosePopover = true;
595
+ this._changeSelectedItem(this._selectedIndex, nextIndex);
596
+
597
+ if (currentIndex !== this._selectedIndex) {
598
+ // Announce new item even if picker is opened.
599
+ // The aria-activedescendents attribute can't be used,
600
+ // because listitem elements are in different shadow dom
601
+ this.itemSelectionAnnounce();
477
602
  }
478
603
  }
479
604
 
480
- _handleArrowNavigation(event, shouldFireEvent) {
481
- let nextIndex = -1;
482
- const isDownKey = isDown(event);
483
- const isUpKey = isUp(event);
605
+ _changeSelectedItem(oldIndex, newIndex) {
606
+ const options = this._filteredItems;
484
607
 
485
- if (isDownKey || isUpKey) {
486
- event.preventDefault();
487
- if (isDownKey) {
488
- nextIndex = this._getNextOptionIndex();
489
- } else {
490
- nextIndex = this._getPreviousOptionIndex();
491
- }
608
+ options[oldIndex].selected = false;
609
+ options[oldIndex]._focused = false;
492
610
 
493
- this.options[this._selectedIndex].selected = false;
494
- this.options[nextIndex].selected = true;
495
- this._selectedIndex = nextIndex === -1 ? this._selectedIndex : nextIndex;
611
+ options[newIndex].selected = true;
612
+ options[newIndex]._focused = true;
496
613
 
497
- if (shouldFireEvent) {
498
- this._fireChangeEvent(this.options[nextIndex]);
499
- }
614
+ this._selectedIndex = newIndex;
615
+
616
+ if (!this._isPickerOpen) {
617
+ // arrow pressed on closed picker - do selection change
618
+ this._fireChangeEvent(options[newIndex]);
500
619
  }
501
620
  }
502
621
 
@@ -510,19 +629,24 @@ class Select extends UI5Element {
510
629
 
511
630
  _beforeOpen() {
512
631
  this._selectedIndexBeforeOpen = this._selectedIndex;
513
- this._lastSelectedOption = this.options[this._selectedIndex];
632
+ this._lastSelectedOption = this._filteredItems[this._selectedIndex];
633
+ }
634
+
635
+ _afterOpen() {
636
+ this.opened = true;
514
637
  }
515
638
 
516
639
  _afterClose() {
640
+ this.opened = false;
517
641
  this._iconPressed = false;
518
642
  this._listWidth = 0;
519
643
 
520
644
  if (this._escapePressed) {
521
645
  this._select(this._selectedIndexBeforeOpen);
522
646
  this._escapePressed = false;
523
- } else if (this._lastSelectedOption !== this.options[this._selectedIndex]) {
524
- this._fireChangeEvent(this.options[this._selectedIndex]);
525
- this._lastSelectedOption = this.options[this._selectedIndex];
647
+ } else if (this._lastSelectedOption !== this._filteredItems[this._selectedIndex]) {
648
+ this._fireChangeEvent(this._filteredItems[this._selectedIndex]);
649
+ this._lastSelectedOption = this._filteredItems[this._selectedIndex];
526
650
  }
527
651
  }
528
652
 
@@ -530,18 +654,16 @@ class Select extends UI5Element {
530
654
  this.fireEvent("change", { selectedOption });
531
655
 
532
656
  // Angular two way data binding
533
- this.selectedItem = selectedOption;
657
+ this.selectedItem = selectedOption.textContent;
534
658
  this.fireEvent("selected-item-changed");
535
659
  }
536
660
 
537
661
  get valueStateTextMappings() {
538
- const i18nBundle = this.i18nBundle;
539
-
540
662
  return {
541
- "Success": i18nBundle.getText(VALUE_STATE_SUCCESS),
542
- "Information": i18nBundle.getText(VALUE_STATE_INFORMATION),
543
- "Error": i18nBundle.getText(VALUE_STATE_ERROR),
544
- "Warning": i18nBundle.getText(VALUE_STATE_WARNING),
663
+ "Success": Select.i18nBundle.getText(VALUE_STATE_SUCCESS),
664
+ "Information": Select.i18nBundle.getText(VALUE_STATE_INFORMATION),
665
+ "Error": Select.i18nBundle.getText(VALUE_STATE_ERROR),
666
+ "Warning": Select.i18nBundle.getText(VALUE_STATE_WARNING),
545
667
  };
546
668
  }
547
669
 
@@ -561,20 +683,16 @@ class Select extends UI5Element {
561
683
  return this.disabled || undefined;
562
684
  }
563
685
 
564
- get selectRoleDescription() {
565
- return this.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);
566
- }
567
-
568
686
  get _headerTitleText() {
569
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
687
+ return Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
570
688
  }
571
689
 
572
690
  get _currentSelectedItem() {
573
- return this.shadowRoot.querySelector(`#${this.options[this._selectedIndex]._id}-li`);
691
+ return this.shadowRoot.querySelector(`#${this._filteredItems[this._selectedIndex]._id}-li`);
574
692
  }
575
693
 
576
694
  get _currentlySelectedOption() {
577
- return this.options[this._selectedIndex];
695
+ return this._filteredItems[this._selectedIndex];
578
696
  }
579
697
 
580
698
  get tabIndex() {
@@ -583,6 +701,20 @@ class Select extends UI5Element {
583
701
  && this.responsivePopover.opened) ? "-1" : "0";
584
702
  }
585
703
 
704
+ /**
705
+ * This method is relevant for sap_horizon theme only
706
+ */
707
+ get _valueStateMessageInputIcon() {
708
+ const iconPerValueState = {
709
+ Error: "error",
710
+ Warning: "alert",
711
+ Success: "sys-enter-2",
712
+ Information: "information",
713
+ };
714
+
715
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
716
+ }
717
+
586
718
  get classes() {
587
719
  return {
588
720
  popoverValueState: {
@@ -592,17 +724,20 @@ class Select extends UI5Element {
592
724
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
593
725
  "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
594
726
  },
727
+ popover: {
728
+ "ui5-valuestatemessage-popover": this.hasValueState,
729
+ },
595
730
  };
596
731
  }
597
732
 
598
733
  get styles() {
599
734
  return {
600
735
  popoverHeader: {
601
- "width": `${this.offsetWidth}px`,
736
+ "max-width": `${this.offsetWidth}px`,
602
737
  },
603
738
  responsivePopoverHeader: {
604
- "display": this.options.length && this._listWidth === 0 ? "none" : "inline-block",
605
- "width": `${this.options.length ? this._listWidth : this.offsetWidth}px`,
739
+ "display": this._filteredItems.length && this._listWidth === 0 ? "none" : "inline-block",
740
+ "width": `${this._filteredItems.length ? this._listWidth : this.offsetWidth}px`,
606
741
  },
607
742
  };
608
743
  }
@@ -632,10 +767,26 @@ class Select extends UI5Element {
632
767
  return isPhone();
633
768
  }
634
769
 
770
+ get _filteredItems() {
771
+ return this.options.filter(option => !option.disabled);
772
+ }
773
+
774
+ itemSelectionAnnounce() {
775
+ let text;
776
+ const optionsCount = this._filteredItems.length;
777
+ const itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);
778
+
779
+ if (this.focused && this._currentlySelectedOption) {
780
+ text = `${this._currentlySelectedOption.textContent} ${this._isPickerOpen ? itemPositionText : ""}`;
781
+
782
+ announce(text, "Polite");
783
+ }
784
+ }
785
+
635
786
  async openValueStatePopover() {
636
787
  this.popover = await this._getPopover();
637
788
  if (this.popover) {
638
- this.popover.openBy(this);
789
+ this.popover.showAt(this);
639
790
  }
640
791
  }
641
792
 
@@ -651,6 +802,10 @@ class Select extends UI5Element {
651
802
  }
652
803
  }
653
804
 
805
+ get selectedOptionIcon() {
806
+ return this.selectedOption && this.selectedOption.icon;
807
+ }
808
+
654
809
  async _getPopover() {
655
810
  const staticAreaItem = await this.getStaticAreaItemDomRef();
656
811
  return staticAreaItem.querySelector("[ui5-popover]");
@@ -668,6 +823,10 @@ class Select extends UI5Element {
668
823
  Button,
669
824
  ];
670
825
  }
826
+
827
+ static async onDefine() {
828
+ Select.i18nBundle = await getI18nBundle("@ui5/webcomponents");
829
+ }
671
830
  }
672
831
 
673
832
  Select.define();