@ui5/webcomponents 0.0.0-c6155714e → 0.0.0-c638668a1

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 (1235) hide show
  1. package/CHANGELOG.md +1049 -1
  2. package/README.md +144 -41
  3. package/customI18n.js +50 -0
  4. package/dist/Assets-static.js +6 -0
  5. package/dist/Assets.js +3 -2
  6. package/dist/Avatar.js +392 -0
  7. package/dist/AvatarGroup.js +603 -0
  8. package/dist/Badge.js +48 -28
  9. package/dist/Breadcrumbs.js +575 -0
  10. package/dist/BreadcrumbsItem.js +103 -0
  11. package/dist/BusyIndicator.js +171 -19
  12. package/dist/Button.js +207 -49
  13. package/dist/Calendar.js +363 -394
  14. package/dist/CalendarDate.js +45 -0
  15. package/dist/CalendarHeader.js +139 -54
  16. package/dist/CalendarPart.js +111 -0
  17. package/dist/Card.js +47 -157
  18. package/dist/CardHeader.js +288 -0
  19. package/dist/Carousel.js +690 -0
  20. package/dist/CheckBox.js +190 -56
  21. package/dist/ColorPalette.js +494 -0
  22. package/dist/ColorPaletteItem.js +137 -0
  23. package/dist/ColorPalettePopover.js +244 -0
  24. package/dist/ColorPicker.js +524 -0
  25. package/dist/ComboBox.js +1109 -0
  26. package/dist/ComboBoxFilters.js +40 -0
  27. package/dist/ComboBoxGroupItem.js +70 -0
  28. package/dist/ComboBoxItem.js +49 -0
  29. package/dist/CustomListItem.js +38 -9
  30. package/dist/DateComponentBase.js +168 -0
  31. package/dist/DatePicker.js +515 -286
  32. package/dist/DateRangePicker.js +350 -0
  33. package/dist/DateTimePicker.js +430 -0
  34. package/dist/DayPicker.js +538 -237
  35. package/dist/Dialog.js +484 -47
  36. package/dist/DurationPicker.js +312 -0
  37. package/dist/FileUploader.js +530 -0
  38. package/dist/GroupHeaderListItem.js +36 -8
  39. package/dist/Icon.js +224 -43
  40. package/dist/Input.js +937 -114
  41. package/dist/Interfaces.js +192 -0
  42. package/dist/Label.js +27 -12
  43. package/dist/Link.js +163 -37
  44. package/dist/List.js +568 -74
  45. package/dist/ListItem.js +165 -34
  46. package/dist/ListItemBase.js +53 -9
  47. package/dist/MessageStrip.js +119 -93
  48. package/dist/MonthPicker.js +194 -95
  49. package/dist/MultiComboBox.js +675 -164
  50. package/dist/MultiComboBoxItem.js +43 -0
  51. package/dist/MultiInput.js +348 -0
  52. package/dist/Option.js +59 -5
  53. package/dist/Panel.js +132 -41
  54. package/dist/Popover.js +397 -240
  55. package/dist/Popup.js +397 -276
  56. package/dist/ProgressIndicator.js +235 -0
  57. package/dist/RadioButton.js +175 -87
  58. package/dist/RadioButtonGroup.js +53 -29
  59. package/dist/RangeSlider.js +769 -0
  60. package/dist/RatingIndicator.js +321 -0
  61. package/dist/ResponsivePopover.js +207 -0
  62. package/dist/SegmentedButton.js +303 -0
  63. package/dist/SegmentedButtonItem.js +109 -0
  64. package/dist/Select.js +521 -111
  65. package/dist/Slider.js +320 -0
  66. package/dist/SliderBase.js +846 -0
  67. package/dist/SplitButton.js +425 -0
  68. package/dist/StandardListItem.js +46 -24
  69. package/dist/StepInput.js +684 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +146 -0
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +74 -42
  74. package/dist/Tab.js +189 -19
  75. package/dist/TabContainer.js +770 -279
  76. package/dist/TabSeparator.js +44 -4
  77. package/dist/Table.js +526 -24
  78. package/dist/TableCell.js +13 -15
  79. package/dist/TableColumn.js +18 -7
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +255 -28
  82. package/dist/TextArea.js +322 -40
  83. package/dist/TimePicker.js +166 -0
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +18 -10
  87. package/dist/Toast.js +63 -37
  88. package/dist/ToggleButton.js +26 -13
  89. package/dist/Token.js +87 -49
  90. package/dist/Tokenizer.js +377 -65
  91. package/dist/Tree.js +443 -0
  92. package/dist/TreeItem.js +189 -0
  93. package/dist/TreeListItem.js +340 -0
  94. package/dist/WheelSlider.js +435 -0
  95. package/dist/YearPicker.js +209 -155
  96. package/dist/api.json +7144 -0
  97. package/dist/css/themes/Avatar.css +1 -0
  98. package/dist/css/themes/AvatarGroup.css +1 -0
  99. package/dist/css/themes/Badge.css +1 -0
  100. package/dist/css/themes/Breadcrumbs.css +1 -0
  101. package/dist/css/themes/BreadcrumbsPopover.css +1 -0
  102. package/dist/css/themes/BrowserScrollbar.css +1 -0
  103. package/dist/css/themes/BusyIndicator.css +1 -0
  104. package/dist/css/themes/Button.css +1 -0
  105. package/dist/css/themes/Button.ie11.css +1 -0
  106. package/dist/css/themes/Calendar.css +1 -0
  107. package/dist/css/themes/CalendarHeader.css +1 -0
  108. package/dist/css/themes/Card.css +1 -0
  109. package/dist/css/themes/CardHeader.css +1 -0
  110. package/dist/css/themes/Carousel.css +1 -0
  111. package/dist/css/themes/CheckBox.css +1 -0
  112. package/dist/css/themes/ColorPalette.css +1 -0
  113. package/dist/css/themes/ColorPaletteItem.css +1 -0
  114. package/dist/css/themes/ColorPalettePopover.css +1 -0
  115. package/dist/css/themes/ColorPaletteStaticArea.css +1 -0
  116. package/dist/css/themes/ColorPicker.css +1 -0
  117. package/dist/css/themes/ComboBox.css +1 -0
  118. package/dist/css/themes/ComboBoxPopover.css +1 -0
  119. package/dist/css/themes/CustomListItem.css +1 -0
  120. package/dist/css/themes/DatePicker.css +1 -0
  121. package/dist/css/themes/DatePickerPopover.css +1 -0
  122. package/dist/css/themes/DateRangePicker.css +1 -0
  123. package/dist/css/themes/DateTimePicker.css +1 -0
  124. package/dist/css/themes/DateTimePickerPopover.css +1 -0
  125. package/dist/css/themes/DayPicker.css +1 -0
  126. package/dist/css/themes/Dialog.css +1 -0
  127. package/dist/css/themes/FileUploader.css +1 -0
  128. package/dist/css/themes/GroupHeaderListItem.css +1 -0
  129. package/dist/css/themes/GrowingButton.css +1 -0
  130. package/dist/css/themes/Icon.css +1 -0
  131. package/dist/css/themes/Input.css +1 -0
  132. package/dist/css/themes/InputIcon.css +1 -0
  133. package/dist/css/themes/InvisibleTextStyles.css +1 -0
  134. package/dist/css/themes/Label.css +1 -0
  135. package/dist/css/themes/Link.css +1 -0
  136. package/dist/css/themes/List.css +1 -0
  137. package/dist/css/themes/ListItem.css +1 -0
  138. package/dist/css/themes/ListItemBase.css +1 -0
  139. package/dist/css/themes/MessageStrip.css +1 -0
  140. package/dist/css/themes/MonthPicker.css +1 -0
  141. package/dist/css/themes/MultiComboBox.css +1 -0
  142. package/dist/css/themes/MultiInput.css +1 -0
  143. package/dist/css/themes/Panel.css +1 -0
  144. package/dist/css/themes/Popover.css +1 -0
  145. package/dist/css/themes/Popup.css +1 -0
  146. package/dist/css/themes/PopupGlobal.css +1 -0
  147. package/dist/css/themes/PopupStaticAreaStyles.css +1 -0
  148. package/dist/css/themes/PopupsCommon.css +1 -0
  149. package/dist/css/themes/ProgressIndicator.css +1 -0
  150. package/dist/css/themes/RadioButton.css +1 -0
  151. package/dist/css/themes/RatingIndicator.css +1 -0
  152. package/dist/css/themes/ResponsivePopover.css +1 -0
  153. package/dist/css/themes/ResponsivePopoverCommon.css +1 -0
  154. package/dist/css/themes/SegmentedButton.css +1 -0
  155. package/dist/css/themes/Select.css +1 -0
  156. package/dist/css/themes/SelectPopover.css +1 -0
  157. package/dist/css/themes/SliderBase.css +1 -0
  158. package/dist/css/themes/SplitButton.css +1 -0
  159. package/dist/css/themes/StepInput.css +1 -0
  160. package/dist/css/themes/Suggestions.css +1 -0
  161. package/dist/css/themes/Switch.css +1 -0
  162. package/dist/css/themes/Tab.css +1 -0
  163. package/dist/css/themes/TabContainer.css +1 -0
  164. package/dist/css/themes/TabInOverflow.css +1 -0
  165. package/dist/css/themes/TabInStrip.css +1 -0
  166. package/dist/css/themes/TabSeparatorInOverflow.css +1 -0
  167. package/dist/css/themes/TabSeparatorInStrip.css +1 -0
  168. package/dist/css/themes/Table.css +1 -0
  169. package/dist/css/themes/TableCell.css +1 -0
  170. package/dist/css/themes/TableColumn.css +1 -0
  171. package/dist/css/themes/TableGroupRow.css +1 -0
  172. package/dist/css/themes/TableRow.css +1 -0
  173. package/dist/css/themes/TapHighlightColor.css +1 -0
  174. package/dist/css/themes/TextArea.css +1 -0
  175. package/dist/css/themes/TimePicker.css +1 -0
  176. package/dist/css/themes/TimePickerPopover.css +1 -0
  177. package/dist/css/themes/TimeSelection.css +1 -0
  178. package/dist/css/themes/Title.css +1 -0
  179. package/dist/css/themes/Toast.css +1 -0
  180. package/dist/css/themes/ToggleButton.css +1 -0
  181. package/dist/css/themes/ToggleButton.ie11.css +1 -0
  182. package/dist/css/themes/Token.css +1 -0
  183. package/dist/css/themes/Tokenizer.css +1 -0
  184. package/dist/css/themes/Tree.css +1 -0
  185. package/dist/css/themes/TreeListItem.css +1 -0
  186. package/dist/css/themes/ValueStateMessage.css +1 -0
  187. package/dist/css/themes/WheelSlider.css +1 -0
  188. package/dist/css/themes/YearPicker.css +1 -0
  189. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -0
  190. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -0
  191. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -0
  192. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -0
  193. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -0
  194. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -0
  195. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -0
  196. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -0
  197. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -0
  198. package/dist/features/ColorPaletteMoreColors.js +42 -0
  199. package/dist/features/InputElementsFormSupport.js +35 -1
  200. package/dist/features/InputSuggestions.js +376 -52
  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_cs.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  206. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  211. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  212. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  213. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  214. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  216. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  220. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  224. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  233. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  234. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  235. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  236. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  237. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  238. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  239. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  240. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  241. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  242. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  243. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  244. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  245. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  246. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  247. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  248. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  249. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  250. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  251. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -0
  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 -0
  255. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  256. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  257. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  258. package/dist/generated/i18n/i18n-defaults.js +2 -2
  259. package/dist/generated/json-imports/Themes-static.js +35 -0
  260. package/dist/generated/json-imports/Themes.js +23 -13
  261. package/dist/generated/json-imports/i18n-static.js +162 -0
  262. package/dist/generated/json-imports/i18n.js +113 -89
  263. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  264. package/dist/generated/templates/AvatarTemplate.lit.js +12 -0
  265. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  266. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  267. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  268. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -5
  269. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  270. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  271. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  272. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  273. package/dist/generated/templates/CardTemplate.lit.js +5 -7
  274. package/dist/generated/templates/CarouselTemplate.lit.js +16 -0
  275. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  276. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  277. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  278. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  279. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  280. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  281. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +23 -0
  282. package/dist/generated/templates/ComboBoxTemplate.lit.js +11 -0
  283. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -12
  284. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +10 -0
  285. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -5
  286. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +12 -0
  287. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  288. package/dist/generated/templates/DialogTemplate.lit.js +9 -8
  289. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  290. package/dist/generated/templates/FileUploaderTemplate.lit.js +10 -0
  291. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  292. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  293. package/dist/generated/templates/InputPopoverTemplate.lit.js +27 -0
  294. package/dist/generated/templates/InputTemplate.lit.js +9 -9
  295. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  296. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  297. package/dist/generated/templates/ListItemTemplate.lit.js +13 -12
  298. package/dist/generated/templates/ListTemplate.lit.js +12 -8
  299. package/dist/generated/templates/MessageStripTemplate.lit.js +6 -22
  300. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  301. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +26 -0
  302. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -11
  303. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  304. package/dist/generated/templates/PanelTemplate.lit.js +9 -6
  305. package/dist/generated/templates/PopoverTemplate.lit.js +9 -7
  306. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +7 -0
  307. package/dist/generated/templates/PopupTemplate.lit.js +4 -4
  308. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  309. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  310. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  311. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
  312. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +19 -0
  313. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  314. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +7 -0
  315. package/dist/generated/templates/SelectPopoverTemplate.lit.js +23 -0
  316. package/dist/generated/templates/SelectTemplate.lit.js +6 -6
  317. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  318. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  319. package/dist/generated/templates/SplitButtonTemplate.lit.js +7 -0
  320. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -18
  321. package/dist/generated/templates/StepInputTemplate.lit.js +10 -0
  322. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  323. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  324. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +11 -0
  325. package/dist/generated/templates/TabContainerTemplate.lit.js +15 -22
  326. package/dist/generated/templates/TabInOverflowTemplate.lit.js +9 -0
  327. package/dist/generated/templates/TabInStripTemplate.lit.js +11 -0
  328. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +7 -0
  329. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +7 -0
  330. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  331. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  332. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  333. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  334. package/dist/generated/templates/TableRowTemplate.lit.js +12 -6
  335. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  336. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +11 -0
  337. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -8
  338. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +7 -0
  339. package/dist/generated/templates/TimePickerTemplate.lit.js +9 -0
  340. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  341. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  342. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  343. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  344. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  345. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  346. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  347. package/dist/generated/templates/TreeListItemTemplate.lit.js +21 -0
  348. package/dist/generated/templates/TreeTemplate.lit.js +8 -0
  349. package/dist/generated/templates/WheelSliderTemplate.lit.js +10 -0
  350. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  351. package/dist/generated/themes/Avatar.css.js +8 -0
  352. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  353. package/dist/generated/themes/Badge.css.js +6 -7
  354. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  355. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  356. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  357. package/dist/generated/themes/BusyIndicator.css.js +6 -7
  358. package/dist/generated/themes/Button.css.js +6 -7
  359. package/dist/generated/themes/Button.ie11.css.js +8 -0
  360. package/dist/generated/themes/Calendar.css.js +6 -7
  361. package/dist/generated/themes/CalendarHeader.css.js +6 -7
  362. package/dist/generated/themes/Card.css.js +6 -7
  363. package/dist/generated/themes/CardHeader.css.js +8 -0
  364. package/dist/generated/themes/Carousel.css.js +8 -0
  365. package/dist/generated/themes/CheckBox.css.js +6 -7
  366. package/dist/generated/themes/ColorPalette.css.js +8 -0
  367. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  368. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  369. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  370. package/dist/generated/themes/ColorPicker.css.js +8 -0
  371. package/dist/generated/themes/ComboBox.css.js +8 -0
  372. package/dist/generated/themes/ComboBoxPopover.css.js +8 -0
  373. package/dist/generated/themes/CustomListItem.css.js +6 -7
  374. package/dist/generated/themes/DatePicker.css.js +6 -7
  375. package/dist/generated/themes/DatePickerPopover.css.js +8 -0
  376. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  377. package/dist/generated/themes/DateTimePicker.css.js +8 -0
  378. package/dist/generated/themes/DateTimePickerPopover.css.js +8 -0
  379. package/dist/generated/themes/DayPicker.css.js +6 -7
  380. package/dist/generated/themes/Dialog.css.js +6 -7
  381. package/dist/generated/themes/FileUploader.css.js +8 -0
  382. package/dist/generated/themes/GroupHeaderListItem.css.js +6 -7
  383. package/dist/generated/themes/GrowingButton.css.js +8 -0
  384. package/dist/generated/themes/Icon.css.js +6 -7
  385. package/dist/generated/themes/Input.css.js +6 -7
  386. package/dist/generated/themes/InputIcon.css.js +6 -7
  387. package/dist/generated/themes/InvisibleTextStyles.css.js +6 -7
  388. package/dist/generated/themes/Label.css.js +6 -7
  389. package/dist/generated/themes/Link.css.js +6 -7
  390. package/dist/generated/themes/List.css.js +6 -7
  391. package/dist/generated/themes/ListItem.css.js +6 -7
  392. package/dist/generated/themes/ListItemBase.css.js +6 -7
  393. package/dist/generated/themes/MessageStrip.css.js +6 -7
  394. package/dist/generated/themes/MonthPicker.css.js +6 -7
  395. package/dist/generated/themes/MultiComboBox.css.js +6 -7
  396. package/dist/generated/themes/MultiInput.css.js +8 -0
  397. package/dist/generated/themes/Panel.css.js +6 -7
  398. package/dist/generated/themes/Popover.css.js +6 -7
  399. package/dist/generated/themes/Popup.css.js +6 -7
  400. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  401. package/dist/generated/themes/PopupStaticAreaStyles.css.js +8 -0
  402. package/dist/generated/themes/PopupsCommon.css.js +8 -0
  403. package/dist/generated/themes/ProgressIndicator.css.js +8 -0
  404. package/dist/generated/themes/RadioButton.css.js +6 -7
  405. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  406. package/dist/generated/themes/ResponsivePopover.css.js +8 -0
  407. package/dist/generated/themes/ResponsivePopoverCommon.css.js +8 -0
  408. package/dist/generated/themes/SegmentedButton.css.js +8 -0
  409. package/dist/generated/themes/Select.css.js +6 -7
  410. package/dist/generated/themes/SelectPopover.css.js +8 -0
  411. package/dist/generated/themes/SliderBase.css.js +8 -0
  412. package/dist/generated/themes/SplitButton.css.js +8 -0
  413. package/dist/generated/themes/StepInput.css.js +8 -0
  414. package/dist/generated/themes/Suggestions.css.js +8 -0
  415. package/dist/generated/themes/Switch.css.js +6 -7
  416. package/dist/generated/themes/Tab.css.js +6 -7
  417. package/dist/generated/themes/TabContainer.css.js +6 -7
  418. package/dist/generated/themes/TabInOverflow.css.js +8 -0
  419. package/dist/generated/themes/TabInStrip.css.js +8 -0
  420. package/dist/generated/themes/TabSeparatorInOverflow.css.js +8 -0
  421. package/dist/generated/themes/TabSeparatorInStrip.css.js +8 -0
  422. package/dist/generated/themes/Table.css.js +6 -7
  423. package/dist/generated/themes/TableCell.css.js +6 -7
  424. package/dist/generated/themes/TableColumn.css.js +6 -7
  425. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  426. package/dist/generated/themes/TableRow.css.js +6 -7
  427. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  428. package/dist/generated/themes/TextArea.css.js +6 -7
  429. package/dist/generated/themes/TimePicker.css.js +8 -0
  430. package/dist/generated/themes/TimePickerPopover.css.js +8 -0
  431. package/dist/generated/themes/TimeSelection.css.js +8 -0
  432. package/dist/generated/themes/Title.css.js +6 -7
  433. package/dist/generated/themes/Toast.css.js +6 -7
  434. package/dist/generated/themes/ToggleButton.css.js +6 -7
  435. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  436. package/dist/generated/themes/Token.css.js +6 -7
  437. package/dist/generated/themes/Tokenizer.css.js +6 -7
  438. package/dist/generated/themes/Tree.css.js +8 -0
  439. package/dist/generated/themes/TreeListItem.css.js +8 -0
  440. package/dist/generated/themes/ValueStateMessage.css.js +8 -0
  441. package/dist/generated/themes/WheelSlider.css.js +8 -0
  442. package/dist/generated/themes/YearPicker.css.js +6 -7
  443. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  444. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  445. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -0
  446. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  447. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  448. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
  449. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  450. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  451. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  452. package/dist/i18n/messagebundle.properties +360 -0
  453. package/dist/i18n/messagebundle_ar.properties +241 -0
  454. package/dist/i18n/messagebundle_bg.properties +241 -0
  455. package/dist/i18n/messagebundle_ca.properties +241 -0
  456. package/dist/i18n/messagebundle_cs.properties +241 -0
  457. package/dist/i18n/messagebundle_cy.properties +241 -0
  458. package/dist/i18n/messagebundle_da.properties +241 -0
  459. package/dist/i18n/messagebundle_de.properties +241 -0
  460. package/dist/i18n/messagebundle_el.properties +241 -0
  461. package/dist/i18n/messagebundle_en.properties +241 -0
  462. package/dist/i18n/messagebundle_en_GB.properties +241 -0
  463. package/dist/i18n/messagebundle_en_US_sappsd.properties +241 -0
  464. package/dist/i18n/messagebundle_en_US_saprigi.properties +241 -0
  465. package/dist/i18n/messagebundle_en_US_saptrc.properties +241 -0
  466. package/dist/i18n/messagebundle_es.properties +241 -0
  467. package/dist/i18n/messagebundle_es_MX.properties +241 -0
  468. package/dist/i18n/messagebundle_et.properties +241 -0
  469. package/dist/i18n/messagebundle_fi.properties +241 -0
  470. package/dist/i18n/messagebundle_fr.properties +241 -0
  471. package/dist/i18n/messagebundle_fr_CA.properties +241 -0
  472. package/dist/i18n/messagebundle_hi.properties +241 -0
  473. package/dist/i18n/messagebundle_hr.properties +241 -0
  474. package/dist/i18n/messagebundle_hu.properties +241 -0
  475. package/dist/i18n/messagebundle_id.properties +241 -0
  476. package/dist/i18n/messagebundle_in.properties +172 -0
  477. package/dist/i18n/messagebundle_it.properties +241 -0
  478. package/dist/i18n/messagebundle_iw.properties +241 -0
  479. package/dist/i18n/messagebundle_ja.properties +241 -0
  480. package/dist/i18n/messagebundle_kk.properties +241 -0
  481. package/dist/i18n/messagebundle_ko.properties +241 -0
  482. package/dist/i18n/messagebundle_lt.properties +241 -0
  483. package/dist/i18n/messagebundle_lv.properties +241 -0
  484. package/dist/i18n/messagebundle_ms.properties +241 -0
  485. package/dist/i18n/messagebundle_nl.properties +241 -0
  486. package/dist/i18n/messagebundle_no.properties +241 -0
  487. package/dist/i18n/messagebundle_pl.properties +241 -0
  488. package/dist/i18n/messagebundle_pt.properties +241 -0
  489. package/dist/i18n/messagebundle_pt_PT.properties +241 -0
  490. package/dist/i18n/messagebundle_ro.properties +241 -0
  491. package/dist/i18n/messagebundle_ru.properties +241 -0
  492. package/dist/i18n/messagebundle_sh.properties +241 -0
  493. package/dist/i18n/messagebundle_sk.properties +241 -0
  494. package/dist/i18n/messagebundle_sl.properties +241 -0
  495. package/dist/i18n/messagebundle_sv.properties +241 -0
  496. package/dist/i18n/messagebundle_th.properties +241 -0
  497. package/dist/i18n/messagebundle_tr.properties +241 -0
  498. package/dist/i18n/messagebundle_uk.properties +241 -0
  499. package/dist/i18n/messagebundle_vi.properties +241 -0
  500. package/dist/i18n/messagebundle_zh_CN.properties +241 -0
  501. package/dist/i18n/messagebundle_zh_TW.properties +241 -0
  502. package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
  503. package/dist/popup-utils/PopoverRegistry.js +55 -21
  504. package/dist/timepicker-utils/TimeSlider.js +103 -0
  505. package/dist/types/AvatarColorScheme.js +104 -0
  506. package/dist/types/AvatarGroupType.js +43 -0
  507. package/dist/types/AvatarShape.js +41 -0
  508. package/dist/types/AvatarSize.js +67 -0
  509. package/dist/types/BreadcrumbsDesign.js +42 -0
  510. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  511. package/dist/types/BusyIndicatorSize.js +18 -2
  512. package/dist/types/ButtonDesign.js +29 -2
  513. package/dist/types/CalendarSelectionMode.js +47 -0
  514. package/dist/types/CarouselArrowsPlacement.js +40 -0
  515. package/dist/types/GrowingMode.js +48 -0
  516. package/dist/types/HasPopup.js +62 -0
  517. package/dist/types/InputType.js +49 -1
  518. package/dist/types/LinkDesign.js +18 -2
  519. package/dist/types/ListGrowingMode.js +15 -0
  520. package/dist/types/ListItemType.js +21 -2
  521. package/dist/types/ListMode.js +28 -1
  522. package/dist/types/ListSeparators.js +17 -1
  523. package/dist/types/MessageStripDesign.js +54 -0
  524. package/dist/types/PanelAccessibleRole.js +29 -1
  525. package/dist/types/PopoverHorizontalAlign.js +37 -1
  526. package/dist/types/PopoverPlacementType.js +21 -1
  527. package/dist/types/PopoverVerticalAlign.js +37 -2
  528. package/dist/types/Priority.js +55 -0
  529. package/dist/types/SemanticColor.js +19 -2
  530. package/dist/types/SwitchDesign.js +40 -0
  531. package/dist/types/TabContainerTabsPlacement.js +40 -0
  532. package/dist/types/TabLayout.js +40 -0
  533. package/dist/types/TableGrowingMode.js +15 -0
  534. package/dist/types/TableMode.js +47 -0
  535. package/dist/types/TableRowType.js +40 -0
  536. package/dist/types/TabsOverflowMode.js +40 -0
  537. package/dist/types/TitleLevel.js +49 -1
  538. package/dist/types/ToastPlacement.js +23 -1
  539. package/dist/types/WrappingType.js +41 -0
  540. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  541. package/dist/webcomponentsjs/README.md +64 -47
  542. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  543. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  544. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  545. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  546. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  547. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  548. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  549. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  550. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  551. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  552. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  553. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  554. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  555. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  556. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  557. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  558. package/package-scripts.js +1 -0
  559. package/package.json +23 -6
  560. package/src/Assets-static.js +6 -0
  561. package/src/Assets.js +7 -0
  562. package/src/Avatar.hbs +20 -0
  563. package/src/Avatar.js +392 -0
  564. package/src/AvatarGroup.hbs +30 -0
  565. package/src/AvatarGroup.js +603 -0
  566. package/src/Badge.hbs +14 -0
  567. package/src/Badge.js +165 -0
  568. package/src/Breadcrumbs.hbs +43 -0
  569. package/src/Breadcrumbs.js +575 -0
  570. package/src/BreadcrumbsItem.js +103 -0
  571. package/src/BreadcrumbsPopover.hbs +28 -0
  572. package/src/BusyIndicator.hbs +32 -0
  573. package/src/BusyIndicator.js +268 -0
  574. package/src/Button.hbs +45 -0
  575. package/src/Button.js +490 -0
  576. package/src/Calendar.hbs +69 -0
  577. package/src/Calendar.js +496 -0
  578. package/src/CalendarDate.js +45 -0
  579. package/src/CalendarHeader.hbs +54 -0
  580. package/src/CalendarHeader.js +209 -0
  581. package/src/CalendarPart.js +111 -0
  582. package/src/Card.hbs +14 -0
  583. package/src/Card.js +160 -0
  584. package/src/CardHeader.hbs +42 -0
  585. package/src/CardHeader.js +288 -0
  586. package/src/Carousel.hbs +86 -0
  587. package/src/Carousel.js +690 -0
  588. package/src/CheckBox.hbs +45 -0
  589. package/src/CheckBox.js +457 -0
  590. package/src/ColorPalette.hbs +52 -0
  591. package/src/ColorPalette.js +494 -0
  592. package/src/ColorPaletteDialog.hbs +18 -0
  593. package/src/ColorPaletteItem.hbs +11 -0
  594. package/src/ColorPaletteItem.js +137 -0
  595. package/src/ColorPalettePopover.hbs +31 -0
  596. package/src/ColorPalettePopover.js +244 -0
  597. package/src/ColorPicker.hbs +98 -0
  598. package/src/ColorPicker.js +524 -0
  599. package/src/ComboBox.hbs +50 -0
  600. package/src/ComboBox.js +1109 -0
  601. package/src/ComboBoxFilters.js +40 -0
  602. package/src/ComboBoxGroupItem.js +70 -0
  603. package/src/ComboBoxItem.js +49 -0
  604. package/src/ComboBoxPopover.hbs +126 -0
  605. package/src/CustomListItem.hbs +5 -0
  606. package/src/CustomListItem.js +99 -0
  607. package/src/DateComponentBase.js +168 -0
  608. package/src/DatePicker.hbs +44 -0
  609. package/src/DatePicker.js +831 -0
  610. package/src/DatePickerPopover.hbs +63 -0
  611. package/src/DateRangePicker.js +350 -0
  612. package/src/DateTimePicker.js +430 -0
  613. package/src/DateTimePickerPopover.hbs +74 -0
  614. package/src/DayPicker.hbs +66 -0
  615. package/src/DayPicker.js +754 -0
  616. package/src/Dialog.hbs +35 -0
  617. package/src/Dialog.js +584 -0
  618. package/src/DurationPicker.js +312 -0
  619. package/src/FileUploader.hbs +40 -0
  620. package/src/FileUploader.js +530 -0
  621. package/src/FileUploaderPopover.hbs +25 -0
  622. package/src/GroupHeaderListItem.hbs +15 -0
  623. package/src/GroupHeaderListItem.js +94 -0
  624. package/src/Icon.hbs +25 -0
  625. package/src/Icon.js +376 -0
  626. package/src/Input.hbs +78 -0
  627. package/src/Input.js +1473 -0
  628. package/src/InputPopover.hbs +117 -0
  629. package/src/Interfaces.js +192 -0
  630. package/src/Label.hbs +13 -0
  631. package/src/Label.js +152 -0
  632. package/src/Link.hbs +21 -0
  633. package/src/Link.js +367 -0
  634. package/src/List.hbs +89 -0
  635. package/src/List.js +1066 -0
  636. package/src/ListItem.hbs +103 -0
  637. package/src/ListItem.js +371 -0
  638. package/src/ListItemBase.js +179 -0
  639. package/src/MessageStrip.hbs +34 -0
  640. package/src/MessageStrip.js +264 -0
  641. package/src/MonthPicker.hbs +29 -0
  642. package/src/MonthPicker.js +299 -0
  643. package/src/MultiComboBox.hbs +78 -0
  644. package/src/MultiComboBox.js +1095 -0
  645. package/src/MultiComboBoxItem.js +43 -0
  646. package/src/MultiComboBoxPopover.hbs +133 -0
  647. package/src/MultiInput.hbs +41 -0
  648. package/src/MultiInput.js +348 -0
  649. package/src/Option.js +126 -0
  650. package/src/Panel.hbs +63 -0
  651. package/src/Panel.js +471 -0
  652. package/src/Popover.hbs +25 -0
  653. package/src/Popover.js +835 -0
  654. package/src/Popup.hbs +34 -0
  655. package/src/Popup.js +581 -0
  656. package/src/PopupBlockLayer.hbs +7 -0
  657. package/src/ProgressIndicator.hbs +35 -0
  658. package/src/ProgressIndicator.js +235 -0
  659. package/src/RadioButton.hbs +33 -0
  660. package/src/RadioButton.js +506 -0
  661. package/src/RadioButtonGroup.js +205 -0
  662. package/src/RangeSlider.hbs +70 -0
  663. package/src/RangeSlider.js +769 -0
  664. package/src/RatingIndicator.hbs +33 -0
  665. package/src/RatingIndicator.js +321 -0
  666. package/src/ResponsivePopover.hbs +41 -0
  667. package/src/ResponsivePopover.js +207 -0
  668. package/src/SegmentedButton.hbs +18 -0
  669. package/src/SegmentedButton.js +303 -0
  670. package/src/SegmentedButtonItem.hbs +42 -0
  671. package/src/SegmentedButtonItem.js +109 -0
  672. package/src/Select.hbs +45 -0
  673. package/src/Select.js +835 -0
  674. package/src/SelectPopover.hbs +90 -0
  675. package/src/Slider.hbs +42 -0
  676. package/src/Slider.js +320 -0
  677. package/src/SliderBase.hbs +38 -0
  678. package/src/SliderBase.js +846 -0
  679. package/src/SplitButton.hbs +53 -0
  680. package/src/SplitButton.js +425 -0
  681. package/src/StandardListItem.hbs +44 -0
  682. package/src/StandardListItem.js +191 -0
  683. package/src/StepInput.hbs +80 -0
  684. package/src/StepInput.js +684 -0
  685. package/src/SuggestionGroupItem.js +64 -0
  686. package/src/SuggestionItem.js +146 -0
  687. package/src/SuggestionListItem.hbs +33 -0
  688. package/src/SuggestionListItem.js +76 -0
  689. package/src/Switch.hbs +51 -0
  690. package/src/Switch.js +280 -0
  691. package/src/Tab.hbs +3 -0
  692. package/src/Tab.js +338 -0
  693. package/src/TabContainer.hbs +83 -0
  694. package/src/TabContainer.js +1051 -0
  695. package/src/TabContainerPopover.hbs +27 -0
  696. package/src/TabInOverflow.hbs +21 -0
  697. package/src/TabInStrip.hbs +38 -0
  698. package/src/TabSeparator.js +83 -0
  699. package/src/TabSeparatorInOverflow.hbs +8 -0
  700. package/src/TabSeparatorInStrip.hbs +6 -0
  701. package/src/Table.hbs +99 -0
  702. package/src/Table.js +771 -0
  703. package/src/TableCell.hbs +7 -0
  704. package/src/TableCell.js +88 -0
  705. package/src/TableColumn.hbs +8 -0
  706. package/src/TableColumn.js +136 -0
  707. package/src/TableGroupRow.hbs +12 -0
  708. package/src/TableGroupRow.js +160 -0
  709. package/src/TableRow.hbs +61 -0
  710. package/src/TableRow.js +388 -0
  711. package/src/TextArea.hbs +50 -0
  712. package/src/TextArea.js +697 -0
  713. package/src/TextAreaPopover.hbs +28 -0
  714. package/src/TimePicker.hbs +35 -0
  715. package/src/TimePicker.js +166 -0
  716. package/src/TimePickerBase.js +463 -0
  717. package/src/TimePickerPopover.hbs +34 -0
  718. package/src/TimeSelection.hbs +60 -0
  719. package/src/TimeSelection.js +493 -0
  720. package/src/Title.hbs +47 -0
  721. package/src/Title.js +132 -0
  722. package/src/Toast.hbs +13 -0
  723. package/src/Toast.js +243 -0
  724. package/src/ToggleButton.hbs +5 -0
  725. package/src/ToggleButton.js +89 -0
  726. package/src/Token.hbs +30 -0
  727. package/src/Token.js +219 -0
  728. package/src/Tokenizer.hbs +27 -0
  729. package/src/Tokenizer.js +541 -0
  730. package/src/TokenizerPopover.hbs +50 -0
  731. package/src/Tree.hbs +43 -0
  732. package/src/Tree.js +443 -0
  733. package/src/TreeItem.js +189 -0
  734. package/src/TreeListItem.hbs +48 -0
  735. package/src/TreeListItem.js +340 -0
  736. package/src/WheelSlider.hbs +48 -0
  737. package/src/WheelSlider.js +435 -0
  738. package/src/YearPicker.hbs +27 -0
  739. package/src/YearPicker.js +324 -0
  740. package/src/features/ColorPaletteMoreColors.js +42 -0
  741. package/src/features/InputElementsFormSupport.js +88 -0
  742. package/src/features/InputSuggestions.js +594 -0
  743. package/src/i18n/messagebundle.properties +360 -0
  744. package/src/i18n/messagebundle_ar.properties +241 -0
  745. package/src/i18n/messagebundle_bg.properties +241 -0
  746. package/src/i18n/messagebundle_ca.properties +241 -0
  747. package/src/i18n/messagebundle_cs.properties +241 -0
  748. package/src/i18n/messagebundle_cy.properties +241 -0
  749. package/src/i18n/messagebundle_da.properties +241 -0
  750. package/src/i18n/messagebundle_de.properties +241 -0
  751. package/src/i18n/messagebundle_el.properties +241 -0
  752. package/src/i18n/messagebundle_en.properties +241 -0
  753. package/src/i18n/messagebundle_en_GB.properties +241 -0
  754. package/src/i18n/messagebundle_en_US_sappsd.properties +241 -0
  755. package/src/i18n/messagebundle_en_US_saprigi.properties +241 -0
  756. package/src/i18n/messagebundle_en_US_saptrc.properties +241 -0
  757. package/src/i18n/messagebundle_es.properties +241 -0
  758. package/src/i18n/messagebundle_es_MX.properties +241 -0
  759. package/src/i18n/messagebundle_et.properties +241 -0
  760. package/src/i18n/messagebundle_fi.properties +241 -0
  761. package/src/i18n/messagebundle_fr.properties +241 -0
  762. package/src/i18n/messagebundle_fr_CA.properties +241 -0
  763. package/src/i18n/messagebundle_hi.properties +241 -0
  764. package/src/i18n/messagebundle_hr.properties +241 -0
  765. package/src/i18n/messagebundle_hu.properties +241 -0
  766. package/src/i18n/messagebundle_id.properties +241 -0
  767. package/src/i18n/messagebundle_in.properties +172 -0
  768. package/src/i18n/messagebundle_it.properties +241 -0
  769. package/src/i18n/messagebundle_iw.properties +241 -0
  770. package/src/i18n/messagebundle_ja.properties +241 -0
  771. package/src/i18n/messagebundle_kk.properties +241 -0
  772. package/src/i18n/messagebundle_ko.properties +241 -0
  773. package/src/i18n/messagebundle_lt.properties +241 -0
  774. package/src/i18n/messagebundle_lv.properties +241 -0
  775. package/src/i18n/messagebundle_ms.properties +241 -0
  776. package/src/i18n/messagebundle_nl.properties +241 -0
  777. package/src/i18n/messagebundle_no.properties +241 -0
  778. package/src/i18n/messagebundle_pl.properties +241 -0
  779. package/src/i18n/messagebundle_pt.properties +241 -0
  780. package/src/i18n/messagebundle_pt_PT.properties +241 -0
  781. package/src/i18n/messagebundle_ro.properties +241 -0
  782. package/src/i18n/messagebundle_ru.properties +241 -0
  783. package/src/i18n/messagebundle_sh.properties +241 -0
  784. package/src/i18n/messagebundle_sk.properties +241 -0
  785. package/src/i18n/messagebundle_sl.properties +241 -0
  786. package/src/i18n/messagebundle_sv.properties +241 -0
  787. package/src/i18n/messagebundle_th.properties +241 -0
  788. package/src/i18n/messagebundle_tr.properties +241 -0
  789. package/src/i18n/messagebundle_uk.properties +241 -0
  790. package/src/i18n/messagebundle_vi.properties +241 -0
  791. package/src/i18n/messagebundle_zh_CN.properties +241 -0
  792. package/src/i18n/messagebundle_zh_TW.properties +241 -0
  793. package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
  794. package/src/popup-utils/PopoverRegistry.js +145 -0
  795. package/src/themes/Avatar.css +227 -0
  796. package/src/themes/AvatarGroup.css +82 -0
  797. package/src/themes/Badge.css +247 -0
  798. package/src/themes/Breadcrumbs.css +100 -0
  799. package/src/themes/BreadcrumbsPopover.css +6 -0
  800. package/src/themes/BrowserScrollbar.css +25 -0
  801. package/src/themes/BusyIndicator.css +143 -0
  802. package/src/themes/Button.css +306 -0
  803. package/src/themes/Button.ie11.css +48 -0
  804. package/src/themes/Calendar.css +18 -0
  805. package/src/themes/CalendarHeader.css +137 -0
  806. package/src/themes/Card.css +42 -0
  807. package/src/themes/CardHeader.css +133 -0
  808. package/src/themes/Carousel.css +140 -0
  809. package/src/themes/CheckBox.css +289 -0
  810. package/src/themes/ColorPalette.css +70 -0
  811. package/src/themes/ColorPaletteItem.css +70 -0
  812. package/src/themes/ColorPalettePopover.css +16 -0
  813. package/src/themes/ColorPaletteStaticArea.css +17 -0
  814. package/src/themes/ColorPicker.css +190 -0
  815. package/src/themes/ComboBox.css +9 -0
  816. package/src/themes/ComboBoxPopover.css +17 -0
  817. package/src/themes/CustomListItem.css +31 -0
  818. package/src/themes/DatePicker.css +46 -0
  819. package/src/themes/DatePickerPopover.css +5 -0
  820. package/src/themes/DateRangePicker.css +16 -0
  821. package/src/themes/DateTimePicker.css +11 -0
  822. package/src/themes/DateTimePickerPopover.css +78 -0
  823. package/src/themes/DayPicker.css +269 -0
  824. package/src/themes/Dialog.css +70 -0
  825. package/src/themes/FileUploader.css +40 -0
  826. package/src/themes/GroupHeaderListItem.css +24 -0
  827. package/src/themes/GrowingButton.css +67 -0
  828. package/src/themes/Icon.css +38 -0
  829. package/src/themes/Input.css +406 -0
  830. package/src/themes/InputIcon.css +53 -0
  831. package/src/themes/InvisibleTextStyles.css +9 -0
  832. package/src/themes/Label.css +85 -0
  833. package/src/themes/Link.css +77 -0
  834. package/src/themes/List.css +116 -0
  835. package/src/themes/ListItem.css +231 -0
  836. package/src/themes/ListItemBase.css +79 -0
  837. package/src/themes/MessageStrip.css +123 -0
  838. package/src/themes/MonthPicker.css +86 -0
  839. package/src/themes/MultiComboBox.css +37 -0
  840. package/src/themes/MultiInput.css +14 -0
  841. package/src/themes/Panel.css +100 -0
  842. package/src/themes/Popover.css +102 -0
  843. package/src/themes/Popup.css +5 -0
  844. package/src/themes/PopupGlobal.css +6 -0
  845. package/src/themes/PopupStaticAreaStyles.css +17 -0
  846. package/src/themes/PopupsCommon.css +87 -0
  847. package/src/themes/ProgressIndicator.css +158 -0
  848. package/src/themes/RadioButton.css +249 -0
  849. package/src/themes/RatingIndicator.css +52 -0
  850. package/src/themes/ResponsivePopover.css +34 -0
  851. package/src/themes/ResponsivePopoverCommon.css +207 -0
  852. package/src/themes/SegmentedButton.css +88 -0
  853. package/src/themes/Select.css +53 -0
  854. package/src/themes/SelectPopover.css +10 -0
  855. package/src/themes/SliderBase.css +253 -0
  856. package/src/themes/SplitButton.css +98 -0
  857. package/src/themes/StepInput.css +269 -0
  858. package/src/themes/Suggestions.css +14 -0
  859. package/src/themes/Switch.css +370 -0
  860. package/src/themes/Tab.css +9 -0
  861. package/src/themes/TabContainer.css +128 -0
  862. package/src/themes/TabInOverflow.css +61 -0
  863. package/src/themes/TabInStrip.css +374 -0
  864. package/src/themes/TabSeparatorInOverflow.css +8 -0
  865. package/src/themes/TabSeparatorInStrip.css +5 -0
  866. package/src/themes/Table.css +91 -0
  867. package/src/themes/TableCell.css +28 -0
  868. package/src/themes/TableColumn.css +29 -0
  869. package/src/themes/TableGroupRow.css +34 -0
  870. package/src/themes/TableRow.css +84 -0
  871. package/src/themes/TapHighlightColor.css +3 -0
  872. package/src/themes/TextArea.css +309 -0
  873. package/src/themes/TimePicker.css +50 -0
  874. package/src/themes/TimePickerPopover.css +11 -0
  875. package/src/themes/TimeSelection.css +27 -0
  876. package/src/themes/Title.css +65 -0
  877. package/src/themes/Toast.css +93 -0
  878. package/src/themes/ToggleButton.css +88 -0
  879. package/src/themes/ToggleButton.ie11.css +48 -0
  880. package/src/themes/Token.css +117 -0
  881. package/src/themes/Tokenizer.css +84 -0
  882. package/src/themes/Tree.css +11 -0
  883. package/src/themes/TreeListItem.css +107 -0
  884. package/src/themes/ValueStateMessage.css +76 -0
  885. package/src/themes/WheelSlider.css +203 -0
  886. package/src/themes/YearPicker.css +86 -0
  887. package/src/themes/base/Avatar-parameters.css +38 -0
  888. package/src/themes/base/AvatarGroup-parameter.css +6 -0
  889. package/src/themes/base/Badge-parameters.css +61 -0
  890. package/src/themes/base/BrowserScrollbar-parameters.css +4 -0
  891. package/src/themes/base/BusyIndicator-parameters.css +5 -0
  892. package/src/themes/base/Button-parameters.css +30 -0
  893. package/src/themes/base/CalendarHeader-parameters.css +20 -0
  894. package/src/themes/base/Card-parameters.css +17 -0
  895. package/src/themes/base/Carousel-parameters.css +9 -0
  896. package/src/themes/base/CheckBox-parameters.css +53 -0
  897. package/src/themes/base/ColorPalette-parameters.css +14 -0
  898. package/src/themes/base/ColorPicker-parameters.css +8 -0
  899. package/src/themes/base/DatePicker-parameters.css +6 -0
  900. package/src/themes/base/DayPicker-parameters.css +41 -0
  901. package/src/themes/base/Dialog-parameters.css +9 -0
  902. package/src/themes/base/GroupHeaderListItem-parameters.css +3 -0
  903. package/src/themes/base/GrowingButton-parameters.css +6 -0
  904. package/src/themes/base/Input-parameters.css +63 -0
  905. package/src/themes/base/InputIcon-parameters.css +11 -0
  906. package/src/themes/base/Link-parameters.css +8 -0
  907. package/src/themes/base/List-parameters.css +3 -0
  908. package/src/themes/base/ListItemBase-parameters.css +9 -0
  909. package/src/themes/base/MessageStrip-parameters.css +21 -0
  910. package/src/themes/base/MonthPicker-parameters.css +16 -0
  911. package/src/themes/base/MultiComboBox-parameters.css +3 -0
  912. package/src/themes/base/Panel-parameters.css +11 -0
  913. package/src/themes/base/PopupsCommon-parameters.css +8 -0
  914. package/src/themes/base/ProgressIndicator-parameters.css +21 -0
  915. package/src/themes/base/RadioButton-parameters.css +32 -0
  916. package/src/themes/base/RatingIndicator-parameters.css +3 -0
  917. package/src/themes/base/SegmentedButtton-parameters.css +8 -0
  918. package/src/themes/base/Select-parameters.css +11 -0
  919. package/src/themes/base/SelectPopover-parameters.css +4 -0
  920. package/src/themes/base/SliderBase-parameters.css +57 -0
  921. package/src/themes/base/StepInput-parameters.css +23 -0
  922. package/src/themes/base/Suggestions-parameters.css +3 -0
  923. package/src/themes/base/Switch-parameters.css +107 -0
  924. package/src/themes/base/TabContainer-parameters.css +84 -0
  925. package/src/themes/base/Table-parameters.css +6 -0
  926. package/src/themes/base/TableColumn-parameters.css +3 -0
  927. package/src/themes/base/TableRow-parameters.css +3 -0
  928. package/src/themes/base/TextArea-parameters.css +22 -0
  929. package/src/themes/base/TimePicker-parameters.css +4 -0
  930. package/src/themes/base/TimelineItem-parameters.css +10 -0
  931. package/src/themes/base/Title-parameters.css +8 -0
  932. package/src/themes/base/Toast-parameters.css +6 -0
  933. package/src/themes/base/ToggleButton-parameters.css +8 -0
  934. package/src/themes/base/Token-parameters.css +19 -0
  935. package/src/themes/base/Tokenizer-parameters.css +4 -0
  936. package/src/themes/base/ValueStateMessage-parameters.css +7 -0
  937. package/src/themes/base/WheelSlider-parameters.css +15 -0
  938. package/src/themes/base/YearPicker-parameters.css +16 -0
  939. package/src/themes/base/sizes-parameters.css +302 -0
  940. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +4 -0
  941. package/src/themes/sap_belize/Carousel-parameters.css +9 -0
  942. package/src/themes/sap_belize/Dialog-parameters.css +5 -0
  943. package/src/themes/sap_belize/Input-parameters.css +6 -0
  944. package/src/themes/sap_belize/InputIcon-parameters.css +5 -0
  945. package/src/themes/sap_belize/ProgressIndicator-parameters.css +8 -0
  946. package/src/themes/sap_belize/SliderBase-parameters.css +22 -0
  947. package/src/themes/sap_belize/TabContainer-parameters.css +6 -0
  948. package/src/themes/sap_belize/Table-parameters.css +7 -0
  949. package/src/themes/sap_belize/TimePicker-parameters.css +5 -0
  950. package/src/themes/sap_belize/WheelSlider-parameters.css +17 -0
  951. package/src/themes/sap_belize/parameters-bundle.css +48 -0
  952. package/src/themes/sap_belize_hcb/Avatar-parameters.css +18 -0
  953. package/src/themes/sap_belize_hcb/Badge-parameters.css +43 -0
  954. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +4 -0
  955. package/src/themes/sap_belize_hcb/Button-parameters.css +12 -0
  956. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +11 -0
  957. package/src/themes/sap_belize_hcb/Card-parameters.css +6 -0
  958. package/src/themes/sap_belize_hcb/Carousel-parameters.css +9 -0
  959. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +12 -0
  960. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +6 -0
  961. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +13 -0
  962. package/src/themes/sap_belize_hcb/Dialog-parameters.css +7 -0
  963. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +8 -0
  964. package/src/themes/sap_belize_hcb/Input-parameters.css +14 -0
  965. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +5 -0
  966. package/src/themes/sap_belize_hcb/Link-parameters.css +7 -0
  967. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +10 -0
  968. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +10 -0
  969. package/src/themes/sap_belize_hcb/Panel-parameters.css +5 -0
  970. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +11 -0
  971. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +10 -0
  972. package/src/themes/sap_belize_hcb/Select-parameters.css +12 -0
  973. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +17 -0
  974. package/src/themes/sap_belize_hcb/Switch-parameters.css +46 -0
  975. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +44 -0
  976. package/src/themes/sap_belize_hcb/Table-parameters.css +7 -0
  977. package/src/themes/sap_belize_hcb/TableRow-parameters.css +5 -0
  978. package/src/themes/sap_belize_hcb/TextArea-parameters.css +6 -0
  979. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +7 -0
  980. package/src/themes/sap_belize_hcb/Token-parameters.css +6 -0
  981. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +5 -0
  982. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +17 -0
  983. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +10 -0
  984. package/src/themes/sap_belize_hcb/parameters-bundle.css +47 -0
  985. package/src/themes/sap_belize_hcw/Avatar-parameters.css +18 -0
  986. package/src/themes/sap_belize_hcw/Badge-parameters.css +43 -0
  987. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +4 -0
  988. package/src/themes/sap_belize_hcw/Button-parameters.css +12 -0
  989. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +11 -0
  990. package/src/themes/sap_belize_hcw/Card-parameters.css +6 -0
  991. package/src/themes/sap_belize_hcw/Carousel-parameters.css +9 -0
  992. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +12 -0
  993. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +5 -0
  994. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +14 -0
  995. package/src/themes/sap_belize_hcw/Dialog-parameters.css +7 -0
  996. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +8 -0
  997. package/src/themes/sap_belize_hcw/Input-parameters.css +14 -0
  998. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +5 -0
  999. package/src/themes/sap_belize_hcw/Link-parameters.css +7 -0
  1000. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +10 -0
  1001. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +10 -0
  1002. package/src/themes/sap_belize_hcw/Panel-parameters.css +5 -0
  1003. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +11 -0
  1004. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +10 -0
  1005. package/src/themes/sap_belize_hcw/Select-parameters.css +12 -0
  1006. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +17 -0
  1007. package/src/themes/sap_belize_hcw/Switch-parameters.css +45 -0
  1008. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +44 -0
  1009. package/src/themes/sap_belize_hcw/Table-parameters.css +7 -0
  1010. package/src/themes/sap_belize_hcw/TableRow-parameters.css +5 -0
  1011. package/src/themes/sap_belize_hcw/TextArea-parameters.css +6 -0
  1012. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +6 -0
  1013. package/src/themes/sap_belize_hcw/Token-parameters.css +6 -0
  1014. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +5 -0
  1015. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +17 -0
  1016. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +10 -0
  1017. package/src/themes/sap_belize_hcw/parameters-bundle.css +47 -0
  1018. package/src/themes/sap_fiori_3/Avatar-parameters.css +9 -0
  1019. package/src/themes/sap_fiori_3/Button-parameters.css +14 -0
  1020. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +8 -0
  1021. package/src/themes/sap_fiori_3/CheckBox-parameters.css +13 -0
  1022. package/src/themes/sap_fiori_3/DayPicker-parameters.css +6 -0
  1023. package/src/themes/sap_fiori_3/Input-parameters.css +7 -0
  1024. package/src/themes/sap_fiori_3/Link-parameters.css +7 -0
  1025. package/src/themes/sap_fiori_3/List-parameters.css +5 -0
  1026. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +5 -0
  1027. package/src/themes/sap_fiori_3/MultiComboBox-parameters.css +5 -0
  1028. package/src/themes/sap_fiori_3/Panel-parameters.css +6 -0
  1029. package/src/themes/sap_fiori_3/SliderBase-parameters.css +5 -0
  1030. package/src/themes/sap_fiori_3/TabContainer-parameters.css +12 -0
  1031. package/src/themes/sap_fiori_3/TimePicker-parameters.css +5 -0
  1032. package/src/themes/sap_fiori_3/Token-parameters.css +9 -0
  1033. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +16 -0
  1034. package/src/themes/sap_fiori_3/YearPicker-parameters.css +5 -0
  1035. package/src/themes/sap_fiori_3/parameters-bundle.css +48 -0
  1036. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +9 -0
  1037. package/src/themes/sap_fiori_3_dark/Button-parameters.css +14 -0
  1038. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +8 -0
  1039. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +13 -0
  1040. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +6 -0
  1041. package/src/themes/sap_fiori_3_dark/Input-parameters.css +7 -0
  1042. package/src/themes/sap_fiori_3_dark/Link-parameters.css +7 -0
  1043. package/src/themes/sap_fiori_3_dark/List-parameters.css +5 -0
  1044. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +5 -0
  1045. package/src/themes/sap_fiori_3_dark/MultiComboBox-parameters.css +5 -0
  1046. package/src/themes/sap_fiori_3_dark/Panel-parameters.css +6 -0
  1047. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +5 -0
  1048. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +12 -0
  1049. package/src/themes/sap_fiori_3_dark/Token-parameters.css +8 -0
  1050. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +15 -0
  1051. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +5 -0
  1052. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +47 -0
  1053. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +24 -0
  1054. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +43 -0
  1055. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +10 -0
  1056. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +11 -0
  1057. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +6 -0
  1058. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +9 -0
  1059. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +13 -0
  1060. package/src/themes/sap_fiori_3_hcb/DatePicker-parameters.css +5 -0
  1061. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +19 -0
  1062. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +7 -0
  1063. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +8 -0
  1064. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +21 -0
  1065. package/src/themes/sap_fiori_3_hcb/InputIcon-parameters.css +5 -0
  1066. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +7 -0
  1067. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +10 -0
  1068. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +11 -0
  1069. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +5 -0
  1070. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +11 -0
  1071. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +10 -0
  1072. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +12 -0
  1073. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +14 -0
  1074. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +45 -0
  1075. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +44 -0
  1076. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +5 -0
  1077. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +5 -0
  1078. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +10 -0
  1079. package/src/themes/sap_fiori_3_hcb/TimePicker-parameters.css +5 -0
  1080. package/src/themes/sap_fiori_3_hcb/ToggleButton-parameters.css +6 -0
  1081. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +7 -0
  1082. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +5 -0
  1083. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +17 -0
  1084. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +11 -0
  1085. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +48 -0
  1086. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +24 -0
  1087. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +43 -0
  1088. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +10 -0
  1089. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +11 -0
  1090. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +6 -0
  1091. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +9 -0
  1092. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +13 -0
  1093. package/src/themes/sap_fiori_3_hcw/DatePicker-parameters.css +5 -0
  1094. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +19 -0
  1095. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +7 -0
  1096. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +8 -0
  1097. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +21 -0
  1098. package/src/themes/sap_fiori_3_hcw/InputIcon-parameters.css +5 -0
  1099. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +7 -0
  1100. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +10 -0
  1101. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +11 -0
  1102. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +5 -0
  1103. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +11 -0
  1104. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +10 -0
  1105. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +12 -0
  1106. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +13 -0
  1107. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +45 -0
  1108. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +44 -0
  1109. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +5 -0
  1110. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +5 -0
  1111. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +10 -0
  1112. package/src/themes/sap_fiori_3_hcw/TimePicker-parameters.css +5 -0
  1113. package/src/themes/sap_fiori_3_hcw/ToggleButton-parameters.css +6 -0
  1114. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +7 -0
  1115. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +5 -0
  1116. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +17 -0
  1117. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +11 -0
  1118. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +48 -0
  1119. package/src/themes/sap_horizon/Avatar-parameters.css +33 -0
  1120. package/src/themes/sap_horizon/BusyIndicator-parameters.css +7 -0
  1121. package/src/themes/sap_horizon/Button-parameters.css +20 -0
  1122. package/src/themes/sap_horizon/CalendarHeader-parameters.css +19 -0
  1123. package/src/themes/sap_horizon/Card-parameters.css +10 -0
  1124. package/src/themes/sap_horizon/CheckBox-parameters.css +34 -0
  1125. package/src/themes/sap_horizon/ColorPalette-parameters.css +16 -0
  1126. package/src/themes/sap_horizon/ColorPicker-parameters.css +10 -0
  1127. package/src/themes/sap_horizon/DatePicker-parameters.css +6 -0
  1128. package/src/themes/sap_horizon/DayPicker-parameters.css +31 -0
  1129. package/src/themes/sap_horizon/Dialog-parameters.css +11 -0
  1130. package/src/themes/sap_horizon/GrowingButton-parameters.css +5 -0
  1131. package/src/themes/sap_horizon/Input-parameters.css +35 -0
  1132. package/src/themes/sap_horizon/InputIcon-parameters.css +17 -0
  1133. package/src/themes/sap_horizon/Link-parameters.css +10 -0
  1134. package/src/themes/sap_horizon/List-parameters.css +5 -0
  1135. package/src/themes/sap_horizon/ListItemBase-parameters.css +7 -0
  1136. package/src/themes/sap_horizon/MessageStrip-parameters.css +9 -0
  1137. package/src/themes/sap_horizon/MonthPicker-parameters.css +17 -0
  1138. package/src/themes/sap_horizon/MultiComboBox-parameters.css +5 -0
  1139. package/src/themes/sap_horizon/Panel-parameters.css +12 -0
  1140. package/src/themes/sap_horizon/PopupsCommon-parameters.css +10 -0
  1141. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +23 -0
  1142. package/src/themes/sap_horizon/RadioButton-parameters.css +9 -0
  1143. package/src/themes/sap_horizon/RatingIndicator-parameters.css +3 -0
  1144. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +10 -0
  1145. package/src/themes/sap_horizon/Select-parameters.css +5 -0
  1146. package/src/themes/sap_horizon/SelectPopover-parameters.css +4 -0
  1147. package/src/themes/sap_horizon/SliderBase-parameters.css +44 -0
  1148. package/src/themes/sap_horizon/StepInput-parameters.css +25 -0
  1149. package/src/themes/sap_horizon/Suggestions-parameters.css +5 -0
  1150. package/src/themes/sap_horizon/Switch-parameters.css +31 -0
  1151. package/src/themes/sap_horizon/TabContainer-parameters.css +25 -0
  1152. package/src/themes/sap_horizon/Table-parameters.css +8 -0
  1153. package/src/themes/sap_horizon/TableColumn-parameters.css +5 -0
  1154. package/src/themes/sap_horizon/TableRow-parameters.css +5 -0
  1155. package/src/themes/sap_horizon/TextArea-parameters.css +22 -0
  1156. package/src/themes/sap_horizon/TimePicker-parameters.css +6 -0
  1157. package/src/themes/sap_horizon/ToggleButton-parameters.css +11 -0
  1158. package/src/themes/sap_horizon/Token-parameters.css +28 -0
  1159. package/src/themes/sap_horizon/Tokenizer-parameters.css +6 -0
  1160. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +8 -0
  1161. package/src/themes/sap_horizon/WheelSlider-parameters.css +19 -0
  1162. package/src/themes/sap_horizon/YearPicker-parameters.css +16 -0
  1163. package/src/themes/sap_horizon/parameters-bundle.css +57 -0
  1164. package/src/themes/sap_horizon/sizes-parameters.css +8 -0
  1165. package/src/themes/sap_horizon_exp/Badge-parameters.css +91 -0
  1166. package/src/themes/sap_horizon_exp/Button-parameters.css +12 -0
  1167. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +8 -0
  1168. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +35 -0
  1169. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +5 -0
  1170. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +6 -0
  1171. package/src/themes/sap_horizon_exp/Input-parameters.css +46 -0
  1172. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +9 -0
  1173. package/src/themes/sap_horizon_exp/Link-parameters.css +7 -0
  1174. package/src/themes/sap_horizon_exp/List-parameters.css +5 -0
  1175. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +5 -0
  1176. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +7 -0
  1177. package/src/themes/sap_horizon_exp/Panel-parameters.css +6 -0
  1178. package/src/themes/sap_horizon_exp/Popover-parameters.css +5 -0
  1179. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +30 -0
  1180. package/src/themes/sap_horizon_exp/Select-parameters.css +5 -0
  1181. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +30 -0
  1182. package/src/themes/sap_horizon_exp/Switch-parameters.css +46 -0
  1183. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +40 -0
  1184. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +5 -0
  1185. package/src/themes/sap_horizon_exp/Token-parameters.css +9 -0
  1186. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +16 -0
  1187. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +5 -0
  1188. package/src/themes/sap_horizon_exp/parameters-bundle.css +46 -0
  1189. package/src/timepicker-utils/TimeSlider.js +103 -0
  1190. package/src/types/AvatarColorScheme.js +104 -0
  1191. package/src/types/AvatarGroupType.js +43 -0
  1192. package/src/types/AvatarShape.js +41 -0
  1193. package/src/types/AvatarSize.js +67 -0
  1194. package/src/types/BreadcrumbsDesign.js +42 -0
  1195. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  1196. package/src/types/BusyIndicatorSize.js +47 -0
  1197. package/src/types/ButtonDesign.js +68 -0
  1198. package/src/types/CalendarSelectionMode.js +47 -0
  1199. package/src/types/CarouselArrowsPlacement.js +40 -0
  1200. package/src/types/GrowingMode.js +48 -0
  1201. package/src/types/HasPopup.js +62 -0
  1202. package/src/types/InputType.js +68 -0
  1203. package/src/types/LinkDesign.js +47 -0
  1204. package/src/types/ListGrowingMode.js +15 -0
  1205. package/src/types/ListItemType.js +47 -0
  1206. package/src/types/ListMode.js +77 -0
  1207. package/src/types/ListSeparators.js +46 -0
  1208. package/src/types/MessageStripDesign.js +54 -0
  1209. package/src/types/PanelAccessibleRole.js +48 -0
  1210. package/src/types/PopoverHorizontalAlign.js +54 -0
  1211. package/src/types/PopoverPlacementType.js +54 -0
  1212. package/src/types/PopoverVerticalAlign.js +54 -0
  1213. package/src/types/Priority.js +55 -0
  1214. package/src/types/SemanticColor.js +61 -0
  1215. package/src/types/SwitchDesign.js +40 -0
  1216. package/src/types/TabContainerTabsPlacement.js +40 -0
  1217. package/src/types/TabLayout.js +40 -0
  1218. package/src/types/TableGrowingMode.js +15 -0
  1219. package/src/types/TableMode.js +47 -0
  1220. package/src/types/TableRowType.js +40 -0
  1221. package/src/types/TabsOverflowMode.js +40 -0
  1222. package/src/types/TitleLevel.js +68 -0
  1223. package/src/types/ToastPlacement.js +91 -0
  1224. package/src/types/WrappingType.js +41 -0
  1225. package/dist/Timeline.js +0 -81
  1226. package/dist/TimelineItem.js +0 -163
  1227. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
  1228. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1229. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1230. package/dist/generated/themes/Timeline.css.js +0 -9
  1231. package/dist/generated/themes/TimelineItem.css.js +0 -9
  1232. package/dist/popup-utils/PopupUtils.js +0 -42
  1233. package/dist/types/MessageStripType.js +0 -36
  1234. package/dist/types/MessageType.js +0 -46
  1235. package/dist/webcomponentsjs/package.json +0 -46
@@ -1,61 +1,111 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
4
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
4
5
  import {
5
- isShow, isDown, isBackSpace, isSpace,
6
- } from "@ui5/webcomponents-base/dist/events/PseudoEvents.js";
7
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-down.js";
8
- import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js";
9
- import { isIE } from "@ui5/webcomponents-base/dist/Device.js";
10
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
11
- import MultiComboBoxTemplate from "./generated/templates/MultiComboBoxTemplate.lit.js";
6
+ isShow,
7
+ isDown,
8
+ isUp,
9
+ isBackSpace,
10
+ isSpace,
11
+ isLeft,
12
+ isRight,
13
+ isEscape,
14
+ isEnter,
15
+ } from "@ui5/webcomponents-base/dist/Keys.js";
16
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
17
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
18
+ import { isIE, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
19
+ import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
20
+ import "@ui5/webcomponents-icons/dist/decline.js";
21
+ import "@ui5/webcomponents-icons/dist/multiselect-all.js";
22
+ import "@ui5/webcomponents-icons/dist/not-editable.js";
23
+ import MultiComboBoxItem from "./MultiComboBoxItem.js";
12
24
  import Tokenizer from "./Tokenizer.js";
13
25
  import Token from "./Token.js";
14
26
  import Icon from "./Icon.js";
15
27
  import Popover from "./Popover.js";
28
+ import ResponsivePopover from "./ResponsivePopover.js";
16
29
  import List from "./List.js";
17
30
  import StandardListItem from "./StandardListItem.js";
31
+ import ToggleButton from "./ToggleButton.js";
32
+ import * as Filters from "./ComboBoxFilters.js";
33
+ import Button from "./Button.js";
34
+
18
35
  import {
19
36
  VALUE_STATE_SUCCESS,
20
37
  VALUE_STATE_ERROR,
21
38
  VALUE_STATE_WARNING,
22
- TOKENIZER_ARIA_CONTAIN_TOKEN,
23
- TOKENIZER_ARIA_CONTAIN_ONE_TOKEN,
24
- TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS,
39
+ VALUE_STATE_INFORMATION,
40
+ INPUT_SUGGESTIONS_TITLE,
41
+ SELECT_OPTIONS,
42
+ MULTICOMBOBOX_DIALOG_OK_BUTTON,
43
+ VALUE_STATE_ERROR_ALREADY_SELECTED,
25
44
  } from "./generated/i18n/i18n-defaults.js";
26
45
 
46
+ // Templates
47
+ import MultiComboBoxTemplate from "./generated/templates/MultiComboBoxTemplate.lit.js";
48
+ import MultiComboBoxPopoverTemplate from "./generated/templates/MultiComboBoxPopoverTemplate.lit.js";
49
+
27
50
  // Styles
28
51
  import styles from "./generated/themes/MultiComboBox.css.js";
52
+ import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
53
+ import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
54
+ import SuggestionsCss from "./generated/themes/Suggestions.css.js";
29
55
 
30
56
  /**
31
57
  * @public
32
58
  */
33
59
  const metadata = {
34
60
  tag: "ui5-multi-combobox",
61
+ languageAware: true,
62
+ managedSlots: true,
35
63
  slots: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
36
64
  /**
37
- * Defines the <code>ui5-multi-combobox</code> items.
65
+ * Defines the component items.
66
+ *
67
+ * @type {sap.ui.webcomponents.main.IMultiComboBoxItem[]}
68
+ * @slot items
69
+ * @public
70
+ */
71
+ "default": {
72
+ propertyName: "items",
73
+ type: HTMLElement,
74
+ invalidateOnChildChange: true,
75
+ },
76
+
77
+ /**
78
+ * Defines the icon to be displayed in the component.
79
+ *
80
+ * @type {sap.ui.webcomponents.main.IIcon}
81
+ * @slot
82
+ * @public
83
+ * @since 1.0.0-rc.9
84
+ */
85
+ icon: {
86
+ type: HTMLElement,
87
+ },
88
+
89
+ /**
90
+ * Defines the value state message that will be displayed as pop up under the component.
38
91
  * <br><br>
39
- * Example: <br>
40
- * &lt;ui5-multi-combobox><br>
41
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
42
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #2&lt;/ui5-li><br>
43
- * &lt;/ui5-multi-combobox>
44
- * <br> <br>
45
92
  *
93
+ * <b>Note:</b> If not specified, a default text (in the respective language) will be displayed.
94
+ * <br>
95
+ * <b>Note:</b> The <code>valueStateMessage</code> would be displayed,
96
+ * when the component is in <code>Information</code>, <code>Warning</code> or <code>Error</code> value state.
46
97
  * @type {HTMLElement[]}
98
+ * @since 1.0.0-rc.9
47
99
  * @slot
48
100
  * @public
49
101
  */
50
- "default": {
51
- propertyName: "items",
102
+ valueStateMessage: {
52
103
  type: HTMLElement,
53
- listenFor: { include: ["*"] },
54
104
  },
55
105
  },
56
106
  properties: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
57
107
  /**
58
- * Defines the value of the <code>ui5-multi-combobox</code>.
108
+ * Defines the value of the component.
59
109
  * <br><br>
60
110
  * <b>Note:</b> The property is updated upon typing.
61
111
  *
@@ -70,7 +120,7 @@ const metadata = {
70
120
 
71
121
  /**
72
122
  * Defines a short hint intended to aid the user with data entry when the
73
- * <code>ui5-multi-combobox</code> has no value.
123
+ * component has no value.
74
124
  * @type {string}
75
125
  * @defaultvalue ""
76
126
  * @public
@@ -81,7 +131,7 @@ const metadata = {
81
131
  },
82
132
 
83
133
  /**
84
- * Defines if the user input will be prevented if no matching item has been found
134
+ * Defines if the user input will be prevented, if no matching item has been found
85
135
  *
86
136
  * @type {boolean}
87
137
  * @defaultvalue false
@@ -92,9 +142,9 @@ const metadata = {
92
142
  },
93
143
 
94
144
  /**
95
- * Defines whether <code>ui5-multi-combobox</code> is in disabled state.
145
+ * Defines whether the component is in disabled state.
96
146
  * <br><br>
97
- * <b>Note:</b> A disabled <code>ui5-multi-combobox</code> is completely uninteractive.
147
+ * <b>Note:</b> A disabled component is completely noninteractive.
98
148
  *
99
149
  * @type {boolean}
100
150
  * @defaultvalue false
@@ -105,10 +155,18 @@ const metadata = {
105
155
  },
106
156
 
107
157
  /**
108
- * Defines the value state of the <code>ui5-multi-combobox</code>.
109
- * Available options are: <code>None</code>, <code>Success</code>, <code>Warning</code>, and <code>Error</code>.
158
+ * Defines the value state of the component.
159
+ * <br><br>
160
+ * Available options are:
161
+ * <ul>
162
+ * <li><code>None</code></li>
163
+ * <li><code>Error</code></li>
164
+ * <li><code>Warning</code></li>
165
+ * <li><code>Success</code></li>
166
+ * <li><code>Information</code></li>
167
+ * </ul>
110
168
  *
111
- * @type {string}
169
+ * @type {ValueState}
112
170
  * @defaultvalue "None"
113
171
  * @public
114
172
  */
@@ -118,9 +176,9 @@ const metadata = {
118
176
  },
119
177
 
120
178
  /**
121
- * Defines whether the <code>ui5-multi-combobox</code> is readonly.
179
+ * Defines whether the component is read-only.
122
180
  * <br><br>
123
- * <b>Note:</b> A read-only <code>ui5-multi-combobox</code> is not editable,
181
+ * <b>Note:</b> A read-only component is not editable,
124
182
  * but still provides visual feedback upon user interaction.
125
183
  *
126
184
  * @type {boolean}
@@ -132,7 +190,7 @@ const metadata = {
132
190
  },
133
191
 
134
192
  /**
135
- * Defines whether the <code>ui5-multi-combobox</code> is required.
193
+ * Defines whether the component is required.
136
194
  *
137
195
  * @type {boolean}
138
196
  * @defaultvalue false
@@ -143,11 +201,25 @@ const metadata = {
143
201
  type: Boolean,
144
202
  },
145
203
 
204
+ /**
205
+ * Defines the filter type of the component.
206
+ * Available options are: <code>StartsWithPerTerm</code>, <code>StartsWith</code>, <code>Contains</code> and <code>None</code>.
207
+ *
208
+ * @type {string}
209
+ * @defaultvalue "StartsWithPerTerm"
210
+ * @public
211
+ */
212
+ filter: {
213
+ type: String,
214
+ defaultValue: "StartsWithPerTerm",
215
+ },
216
+
146
217
  /**
147
218
  * Indicates whether the dropdown is open. True if the dropdown is open, false otherwise.
148
219
  *
149
220
  * @type {boolean}
150
221
  * @defaultvalue false
222
+ * @readonly
151
223
  * @since 1.0.0-rc.5
152
224
  * @public
153
225
  */
@@ -155,16 +227,20 @@ const metadata = {
155
227
  type: Boolean,
156
228
  },
157
229
 
158
- /**
159
- * Indicates whether the input is focssed
160
- * @private
161
- */
230
+ _filteredItems: {
231
+ type: Object,
232
+ },
233
+
234
+ filterSelected: {
235
+ type: Boolean,
236
+ },
237
+
162
238
  focused: {
163
239
  type: Boolean,
164
240
  },
165
241
 
166
- _filteredItems: {
167
- type: Object,
242
+ _tokenizerFocused: {
243
+ type: Boolean,
168
244
  },
169
245
 
170
246
  _iconPressed: {
@@ -172,11 +248,18 @@ const metadata = {
172
248
  noAttribute: true,
173
249
  },
174
250
 
175
- /**
176
- * Indicates whether the tokenizer is expanded or collapsed(shows the n more label)
177
- * @private
178
- */
179
- expandedTokenizer: {
251
+ _inputWidth: {
252
+ type: Integer,
253
+ noAttribute: true,
254
+ },
255
+
256
+ _listWidth: {
257
+ type: Integer,
258
+ defaultValue: 0,
259
+ noAttribute: true,
260
+ },
261
+
262
+ _performingSelectionTwice: {
180
263
  type: Boolean,
181
264
  },
182
265
  },
@@ -190,7 +273,7 @@ const metadata = {
190
273
  change: {},
191
274
 
192
275
  /**
193
- * Fired when the value of the <code>ui5-multi-combobox</code> changes at each keystroke.
276
+ * Fired when the value of the component changes at each keystroke.
194
277
  *
195
278
  * @event
196
279
  * @public
@@ -200,21 +283,21 @@ const metadata = {
200
283
  /**
201
284
  * Fired when the dropdown is opened or closed.
202
285
  *
203
- * @event
286
+ * @event sap.ui.webcomponents.main.MultiComboBox#open-change
204
287
  * @since 1.0.0-rc.5
205
288
  * @public
206
289
  */
207
- openChange: {},
290
+ "open-change": {},
208
291
 
209
292
  /**
210
293
  * Fired when selection is changed by user interaction
211
294
  * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
212
295
  *
213
- * @event
296
+ * @event sap.ui.webcomponents.main.MultiComboBox#selection-change
214
297
  * @param {Array} items an array of the selected items.
215
298
  * @public
216
299
  */
217
- selectionChange: {
300
+ "selection-change": {
218
301
  detail: {
219
302
  items: { type: Array },
220
303
  },
@@ -227,12 +310,10 @@ const metadata = {
227
310
  *
228
311
  * <h3 class="comment-api-title">Overview</h3>
229
312
  *
230
- * The <code>ui5-multi-combobox</code> component provides a list box with items and a text field allowing the user to either type a value directly into the control or choose from the list of existing items.
313
+ * The <code>ui5-multi-combobox</code> component consists of a list box with items and a text field allowing the user to either type a value directly into the text field, or choose from the list of existing items.
231
314
  *
232
- * A drop-down list for selecting and filtering values.
233
- * <h3>Description</h3>
234
- * The <code>ui5-multi-combobox</code> component is commonly used to enable users to select one or more options from a predefined list. The control provides an editable input field to filter the list, and a dropdown arrow of available options.
235
- * The select options in the list have checkboxes that permit multi-selection. Entered values are displayed as tokens.
315
+ * The drop-down list is used for selecting and filtering values, it enables users to select one or more options from a predefined list. The control provides an editable input field to filter the list, and a dropdown arrow to expand/collapse the list of available options.
316
+ * The options in the list have checkboxes that permit multi-selection. Entered values are displayed as tokens.
236
317
  * <h3>Structure</h3>
237
318
  * The <code>ui5-multi-combobox</code> consists of the following elements:
238
319
  * <ul>
@@ -245,20 +326,29 @@ const metadata = {
245
326
  *
246
327
  * The <code>ui5-multi-combobox</code> provides advanced keyboard handling.
247
328
  *
248
- * <h2>Picker</h2>
329
+ * <h4>Picker</h4>
249
330
  * If the <code>ui5-multi-combobox</code> is focused,
250
331
  * you can open or close the drop-down by pressing <code>F4</code>, <code>ALT+UP</code> or <code>ALT+DOWN</code> keys.
251
332
  * Once the drop-down is opened, you can use the <code>UP</code> and <code>DOWN</code> arrow keys
252
333
  * to navigate through the available options and select one by pressing the <code>Space</code> or <code>Enter</code> keys.
253
334
  * <br>
254
335
  *
255
- * <h2>Tokens</h2>
336
+ * <h4>Tokens</h4>
256
337
  * <ul>
257
- * <li> Left/Right arrow keys - moves the focus selection form the currently focues token to the previous/next one (if available). </li>
338
+ * <li> Left/Right arrow keys - moves the focus selection form the currently focused token to the previous/next one (if available). </li>
258
339
  * <li> Delete - deletes the token and focuses the previous token. </li>
259
340
  * <li> Backspace - deletes the token and focus the next token. </li>
260
341
  * </ul>
261
342
  *
343
+ * <h3>CSS Shadow Parts</h3>
344
+ *
345
+ * <ui5-link target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/CSS/::part">CSS Shadow Parts</ui5-link> allow developers to style elements inside the Shadow DOM.
346
+ * <br>
347
+ * The <code>ui5-multi-combobox</code> exposes the following CSS Shadow Parts:
348
+ * <ul>
349
+ * <li>token-{index} - Used to style each token(where <code>token-0</code> corresponds to the first item)</li>
350
+ * </ul>
351
+ *
262
352
  * <h3>ES6 Module Import</h3>
263
353
  *
264
354
  * <code>import "@ui5/webcomponents/dist/MultiComboBox";</code>
@@ -270,6 +360,7 @@ const metadata = {
270
360
  * @extends UI5Element
271
361
  * @tagname ui5-multi-combobox
272
362
  * @public
363
+ * @appenddocs MultiComboBoxItem
273
364
  * @since 0.11.0
274
365
  */
275
366
  class MultiComboBox extends UI5Element {
@@ -285,32 +376,79 @@ class MultiComboBox extends UI5Element {
285
376
  return MultiComboBoxTemplate;
286
377
  }
287
378
 
379
+ static get staticAreaTemplate() {
380
+ return MultiComboBoxPopoverTemplate;
381
+ }
382
+
288
383
  static get styles() {
289
384
  return styles;
290
385
  }
291
386
 
387
+ static get staticAreaStyles() {
388
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
389
+ }
390
+
391
+ static get dependencies() {
392
+ return [
393
+ MultiComboBoxItem,
394
+ Tokenizer,
395
+ Token,
396
+ Icon,
397
+ ResponsivePopover,
398
+ Popover,
399
+ List,
400
+ StandardListItem,
401
+ ToggleButton,
402
+ Button,
403
+ ];
404
+ }
405
+
292
406
  constructor() {
293
407
  super();
294
408
 
295
409
  this._filteredItems = [];
410
+ this.selectedValues = [];
296
411
  this._inputLastValue = "";
412
+ this._valueBeforeOpen = "";
297
413
  this._deleting = false;
298
414
  this._validationTimeout = null;
299
- this.i18nBundle = getI18nBundle("@ui5/webcomponents");
415
+ this._handleResizeBound = this._handleResize.bind(this);
416
+ }
417
+
418
+ onEnterDOM() {
419
+ ResizeHandler.register(this, this._handleResizeBound);
420
+ }
421
+
422
+ onExitDOM() {
423
+ ResizeHandler.deregister(this, this._handleResizeBound);
424
+ }
425
+
426
+ _handleResize() {
427
+ this._inputWidth = this.offsetWidth;
300
428
  }
301
429
 
302
430
  _inputChange() {
303
431
  this.fireEvent("change");
304
432
  }
305
433
 
306
- _showMorePopover() {
307
- this._togglePopover(true);
434
+ togglePopover() {
435
+ this.allItemsPopover.toggle(this);
308
436
  }
309
437
 
310
- _showAllItemsPopover() {
311
- this._togglePopover(false);
438
+ _showFilteredItems() {
439
+ this.filterSelected = true;
440
+ this._showMorePressed = true;
312
441
 
313
- this._inputDom.focus();
442
+ this.togglePopover();
443
+ }
444
+
445
+ filterSelectedItems(event) {
446
+ this.filterSelected = event.target.pressed;
447
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
448
+ }
449
+
450
+ get _showAllItemsButtonPressed() {
451
+ return this.filterSelected;
314
452
  }
315
453
 
316
454
  get _inputDom() {
@@ -323,11 +461,15 @@ class MultiComboBox extends UI5Element {
323
461
  const filteredItems = this._filterItems(value);
324
462
  const oldValueState = this.valueState;
325
463
 
464
+ if (this.filterSelected) {
465
+ this.filterSelected = false;
466
+ }
467
+
326
468
  /* skip calling change event when an input with a placeholder is focused on IE
327
469
  - value of the host and the internal input should be differnt in case of actual input
328
470
  - input is called when a key is pressed => keyup should not be called yet
329
471
  */
330
- const skipFiring = (this._inputDom.value === this.value) && isIE && !this._keyDown && !!this.placeholder;
472
+ const skipFiring = (this._inputDom.value === this.value) && isIE() && !this._keyDown && !!this.placeholder;
331
473
 
332
474
  if (skipFiring) {
333
475
  event.preventDefault();
@@ -344,23 +486,21 @@ class MultiComboBox extends UI5Element {
344
486
  input.value = this._inputLastValue;
345
487
  this.valueState = "Error";
346
488
 
347
- this._validationTimeout = setTimeout(() => {
348
- this.valueState = oldValueState;
349
- this._validationTimeout = null;
350
- }, 2000);
489
+ this._resetValueState(oldValueState);
351
490
 
352
491
  return;
353
492
  }
354
493
 
355
-
356
494
  this._inputLastValue = input.value;
357
495
  this.value = input.value;
358
496
  this._filteredItems = filteredItems;
359
497
 
360
- if (filteredItems.length === 0) {
361
- this._getPopover().close();
362
- } else {
363
- this._getPopover().openBy(this);
498
+ if (!isPhone()) {
499
+ if (filteredItems.length === 0) {
500
+ this.allItemsPopover.close();
501
+ } else {
502
+ this.allItemsPopover.showAt(this);
503
+ }
364
504
  }
365
505
 
366
506
  this.fireEvent("input");
@@ -373,209 +513,580 @@ class MultiComboBox extends UI5Element {
373
513
  deletingItem.selected = false;
374
514
  this._deleting = true;
375
515
 
376
- this.fireEvent("selectionChange", { items: this._getSelectedItems() });
516
+ this.fireSelectionChange();
517
+ }
518
+
519
+ get _getPlaceholder() {
520
+ if (this._tokenizer && this._tokenizer.tokens.length) {
521
+ return "";
522
+ }
523
+
524
+ return this.placeholder;
377
525
  }
378
526
 
379
- _tokenizerFocusOut() {
380
- const tokenizer = this.shadowRoot.querySelector("ui5-tokenizer");
381
- const tokensCount = tokenizer.tokens.length - 1;
527
+ _handleLeft() {
528
+ const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
529
+
530
+ if (cursorPosition === 0) {
531
+ this._tokenizer._focusLastToken();
532
+ }
533
+ }
382
534
 
383
- tokenizer.tokens.forEach(token => { token.selected = false; });
535
+ _tokenizerFocusOut(event) {
536
+ this._tokenizerFocused = false;
537
+
538
+ const tokensCount = this._tokenizer.tokens.length - 1;
539
+
540
+ if (!event.relatedTarget || !event.relatedTarget.hasAttribute("ui5-token")) {
541
+ this._tokenizer.tokens.forEach(token => { token.selected = false; });
542
+ this._tokenizer.scrollToStart();
543
+ }
384
544
 
385
545
  if (tokensCount === 0 && this._deleting) {
386
546
  setTimeout(() => {
387
- this.shadowRoot.querySelector("input").focus();
547
+ if (!isPhone()) {
548
+ this.shadowRoot.querySelector("input").focus();
549
+ }
550
+
388
551
  this._deleting = false;
389
552
  }, 0);
390
553
  }
391
554
  }
392
555
 
556
+ _tokenizerFocusIn() {
557
+ this._tokenizerFocused = true;
558
+ this.focused = false;
559
+ }
560
+
393
561
  _onkeyup() {
394
562
  this._keyDown = false;
395
563
  }
396
564
 
397
- _onkeydown(event) {
565
+ async _onkeydown(event) {
566
+ if (isLeft(event)) {
567
+ this._handleLeft(event);
568
+ }
569
+
398
570
  if (isShow(event) && !this.readonly && !this.disabled) {
399
571
  event.preventDefault();
400
- this._togglePopover();
572
+ this.togglePopover();
401
573
  }
402
574
 
403
- if (isDown(event) && this._getPopover()._isOpen && this.items.length) {
404
- event.preventDefault();
405
- const list = this.shadowRoot.querySelector(".ui5-multi-combobox-all-items-list");
406
- list._itemNavigation.current = 0;
407
- list.items[0].focus();
575
+ if (this.open && (isUp(event) || isDown(event))) {
576
+ this._handleArrowNavigation(event);
408
577
  }
409
578
 
410
579
  if (isBackSpace(event) && event.target.value === "") {
411
580
  event.preventDefault();
412
581
 
413
- const lastTokenIndex = this._tokenizer.tokens.length - 1;
582
+ this._tokenizer._focusLastToken();
583
+ }
414
584
 
415
- if (lastTokenIndex < 0) {
416
- return;
417
- }
585
+ // Reset value on ESC
586
+ if (isEscape(event) && (!this.allowCustomValues || (!this.open && this.allowCustomValues))) {
587
+ this.value = this._lastValue;
588
+ }
418
589
 
419
- this._tokenizer.tokens[lastTokenIndex].focus();
420
- this._tokenizer._itemNav.currentIndex = lastTokenIndex;
590
+ if (isEnter(event)) {
591
+ this.handleEnter();
421
592
  }
422
593
 
423
594
  this._keyDown = true;
424
595
  }
425
596
 
426
- _filterItems(value) {
427
- return this.items.filter(item => {
428
- return item.textContent && item.textContent.toLowerCase().startsWith(value.toLowerCase());
429
- });
597
+ _onValueStateKeydown(event) {
598
+ const isArrowDown = isDown(event);
599
+ const isArrowUp = isUp(event);
600
+
601
+ event.preventDefault();
602
+
603
+ if (isArrowDown) {
604
+ this._handleArrowDown(event);
605
+ }
606
+
607
+ if (isArrowUp) {
608
+ this._inputDom.focus();
609
+ }
610
+ }
611
+
612
+ _onItemKeydown(event) {
613
+ const isFirstItem = this.list.items[0] === event.target;
614
+
615
+ event.preventDefault();
616
+
617
+ if (!isUp(event) || !isFirstItem) {
618
+ return;
619
+ }
620
+
621
+ if (this.valueStateHeader) {
622
+ this.valueStateHeader.focus();
623
+ return;
624
+ }
625
+
626
+ this._inputDom.focus();
627
+ }
628
+
629
+ async _handleArrowNavigation(event) {
630
+ const isArrowDown = isDown(event);
631
+ const hasSuggestions = this.allItemsPopover.opened && this.items.length;
632
+
633
+ event.preventDefault();
634
+
635
+ if (this.hasValueStateMessage && !this.valueStateHeader) {
636
+ await this._setValueStateHeader();
637
+ }
638
+
639
+ if (isArrowDown && this.focused && this.valueStateHeader) {
640
+ this.valueStateHeader.focus();
641
+ return;
642
+ }
643
+
644
+ if (isArrowDown && this.focused && hasSuggestions) {
645
+ this._handleArrowDown(event);
646
+ }
647
+ }
648
+
649
+ _handleArrowDown(event) {
650
+ const firstListItem = this.list.items[0];
651
+
652
+ this.list._itemNavigation.setCurrentItem(firstListItem);
653
+ firstListItem.focus();
654
+ }
655
+
656
+ handleEnter() {
657
+ const lowerCaseValue = this.value.toLowerCase();
658
+ const matchingItem = this.items.find(item => item.text.toLowerCase() === lowerCaseValue);
659
+ const oldValueState = this.valueState;
660
+
661
+ if (matchingItem) {
662
+ if (matchingItem.selected) {
663
+ if (this._validationTimeout) {
664
+ return;
665
+ }
666
+
667
+ this.valueState = "Error";
668
+ this._performingSelectionTwice = true;
669
+ this._resetValueState(oldValueState, () => {
670
+ this._performingSelectionTwice = false;
671
+ });
672
+ } else {
673
+ matchingItem.selected = true;
674
+ this.value = "";
675
+ this.fireSelectionChange();
676
+ }
677
+
678
+ this.allItemsPopover.close();
679
+ }
680
+ }
681
+
682
+ _resetValueState(valueState, callback) {
683
+ this._validationTimeout = setTimeout(() => {
684
+ this.valueState = valueState;
685
+ this._validationTimeout = null;
686
+
687
+ callback && callback();
688
+ }, 2000);
689
+ }
690
+
691
+ _onTokenizerKeydown(event) {
692
+ if (isRight(event)) {
693
+ const lastTokenIndex = this._tokenizer.tokens.length - 1;
694
+
695
+ if (this._tokenizer.tokens[lastTokenIndex] === document.activeElement.shadowRoot.activeElement) {
696
+ setTimeout(() => {
697
+ this.shadowRoot.querySelector("input").focus();
698
+ }, 0);
699
+ }
700
+ }
430
701
  }
431
702
 
432
- _toggleIcon() {
433
- this._iconPressed = !this._iconPressed;
434
- this.open = this._iconPressed;
703
+ _filterItems(str) {
704
+ return (Filters[this.filter] || Filters.StartsWithPerTerm)(str, this.items);
705
+ }
706
+
707
+ _afterOpenPicker() {
708
+ this._toggle();
709
+
710
+ if (!isPhone()) {
711
+ this._innerInput.focus();
712
+ } else {
713
+ this.allItemsPopover.focus();
714
+ }
715
+ }
435
716
 
436
- this.fireEvent("openChange");
717
+ _toggle() {
718
+ this.open = !this.open;
719
+ this.fireEvent("open-change");
437
720
  }
438
721
 
439
722
  _getSelectedItems() {
440
- return this.items.filter(item => item.selected);
723
+ // Angular 2 way data binding
724
+ this.selectedValues = this.items.filter(item => item.selected);
725
+ return this.selectedValues;
441
726
  }
442
727
 
443
728
  _listSelectionChange(event) {
444
- event.target.items.forEach(item => {
729
+ // sync list items and cb items
730
+ this.syncItems(event.target.items);
731
+
732
+ // don't call selection change right after selection as user can cancel it on phone
733
+ if (!isPhone()) {
734
+ this.fireSelectionChange();
735
+ }
736
+
737
+ if (!event.detail.selectionComponentPressed && !isSpace(event.detail)) {
738
+ this.allItemsPopover.close();
739
+ this.value = "";
740
+
741
+ // if the item (not checkbox) is clicked, call the selection change
742
+ if (isPhone()) {
743
+ this.fireSelectionChange();
744
+ }
745
+
746
+ this.fireEvent("input");
747
+ }
748
+ }
749
+
750
+ syncItems(listItems) {
751
+ listItems.forEach(item => {
445
752
  this.items.forEach(mcbItem => {
446
753
  if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
447
754
  mcbItem.selected = item.selected;
448
755
  }
449
756
  });
450
757
  });
758
+ }
451
759
 
452
- this.fireEvent("selectionChange", { items: this._getSelectedItems() });
453
-
454
- if (!event.detail.selectionComponentPressed && !isSpace(event.detail)) {
455
- this._getPopover().close();
456
- this.value = "";
457
- this.fireEvent("input");
458
- }
760
+ fireSelectionChange() {
761
+ this.fireEvent("selection-change", { items: this._getSelectedItems() });
762
+ // Angular 2 way data binding
763
+ this.fireEvent("value-changed");
459
764
  }
460
765
 
461
- _getPopover(isMorePopover) {
462
- return this.shadowRoot.querySelector(`.ui5-multi-combobox-${isMorePopover ? "selected" : "all"}-items-popover`);
766
+ async _getRespPopover() {
767
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
768
+ this.allItemsPopover = staticAreaItem.querySelector(`.ui5-multi-combobox-all-items-responsive-popover`);
463
769
  }
464
770
 
465
- _togglePopover(isMorePopover) {
466
- const popover = this._getPopover(isMorePopover);
467
- const otherPopover = this._getPopover(!isMorePopover);
771
+ async _getList() {
772
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
773
+ this.list = staticAreaItem.querySelector(".ui5-multi-combobox-all-items-list");
774
+ }
468
775
 
469
- if (popover && popover.opened) {
470
- return popover.close();
776
+ _click(event) {
777
+ if (isPhone() && !this.readonly && !this._showMorePressed && !this._deleting) {
778
+ this.allItemsPopover.showAt(this);
471
779
  }
472
780
 
473
- otherPopover && otherPopover.close();
474
-
475
- popover && popover.openBy(this);
781
+ this._showMorePressed = false;
476
782
  }
477
783
 
478
- _focusin() {
479
- this.focused = true;
480
- }
784
+ _afterClosePicker() {
785
+ // close device's keyboard and prevent further typing
786
+ if (isPhone()) {
787
+ this.blur();
788
+ }
481
789
 
482
- _focusout() {
483
- this.focused = false;
484
- }
790
+ this._toggle();
485
791
 
486
- onBeforeRendering() {
487
- this._inputLastValue = this.value;
792
+ this._iconPressed = false;
793
+ this.filterSelected = false;
794
+ }
488
795
 
489
- const hasSelectedItem = this.items.some(item => item.selected);
796
+ _beforeOpen() {
797
+ this._itemsBeforeOpen = this.items.map(item => {
798
+ return {
799
+ ref: item,
800
+ selected: item.selected,
801
+ };
802
+ });
490
803
 
491
- if (!hasSelectedItem) {
492
- const morePopover = this.shadowRoot.querySelector(`.ui5-multi-combobox-selected-items-popover`);
804
+ this._valueBeforeOpen = this.value;
493
805
 
494
- morePopover && morePopover.close();
806
+ if (this.filterSelected) {
807
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
495
808
  }
809
+ }
496
810
 
811
+ onBeforeRendering() {
497
812
  const input = this.shadowRoot.querySelector("input");
813
+ this._inputLastValue = this.value;
498
814
 
499
815
  if (input && !input.value) {
500
816
  this._filteredItems = this.items;
501
817
  }
502
818
 
819
+ this.items.forEach(item => {
820
+ item._getRealDomRef = () => this.allItemsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
821
+ });
822
+
503
823
  const filteredItems = this._filterItems(this.value);
504
824
  this._filteredItems = filteredItems;
505
825
  }
506
826
 
507
- onAfterRendering() {
508
- this.open && this._getPopover().openBy(this);
827
+ async onAfterRendering() {
828
+ await this._getRespPopover();
829
+ await this._getList();
830
+
831
+ this.toggle(this.shouldDisplayOnlyValueStateMessage);
832
+ this.storeResponsivePopoverWidth();
833
+
834
+ this._deleting = false;
835
+ }
836
+
837
+ get _isPhone() {
838
+ return isPhone();
509
839
  }
510
840
 
511
- get valueStateTextMappings() {
512
- return {
513
- "Success": this.i18nBundle.getText(VALUE_STATE_SUCCESS),
514
- "Error": this.i18nBundle.getText(VALUE_STATE_ERROR),
515
- "Warning": this.i18nBundle.getText(VALUE_STATE_WARNING),
516
- };
841
+ _onIconMousedown() {
842
+ this._iconPressed = true;
517
843
  }
518
844
 
519
- get _tokenizer() {
520
- return this.shadowRoot.querySelector("ui5-tokenizer");
845
+ storeResponsivePopoverWidth() {
846
+ if (this.open && !this._listWidth) {
847
+ this._listWidth = this.list.offsetWidth;
848
+ }
521
849
  }
522
850
 
523
- get nMoreCountText() {
524
- const iTokenCount = this._getSelectedItems().length;
851
+ toggle(isToggled) {
852
+ if (isToggled && !this.open) {
853
+ this.openPopover();
854
+ } else {
855
+ this.closePopover();
856
+ }
857
+ }
858
+
859
+ handleCancel() {
860
+ this._itemsBeforeOpen.forEach(item => {
861
+ item.ref.selected = item.selected;
862
+ });
525
863
 
526
- if (iTokenCount === 0) {
527
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_TOKEN);
864
+ this.togglePopover();
865
+
866
+ this.value = this._valueBeforeOpen;
867
+ }
868
+
869
+ handleOK() {
870
+ if (isPhone()) {
871
+ this.fireSelectionChange();
528
872
  }
529
873
 
530
- if (iTokenCount === 1) {
531
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_ONE_TOKEN);
874
+ this.togglePopover();
875
+ }
876
+
877
+ async openPopover() {
878
+ const popover = await this._getPopover();
879
+
880
+ if (popover) {
881
+ popover.showAt(this);
532
882
  }
883
+ }
884
+
885
+ _forwardFocusToInner() {
886
+ this._innerInput.focus();
887
+ }
888
+
889
+ async closePopover() {
890
+ const popover = await this._getPopover();
891
+
892
+ popover && popover.close();
893
+ }
894
+
895
+ async _getPopover() {
896
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
897
+ return staticAreaItem.querySelector("[ui5-popover]");
898
+ }
899
+
900
+ async _getResponsivePopover() {
901
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
902
+ return staticAreaItem.querySelector("[ui5-responsive-popover]");
903
+ }
533
904
 
534
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);
905
+ async _setValueStateHeader() {
906
+ const responsivePopover = await this._getResponsivePopover();
907
+ this.valueStateHeader = responsivePopover.querySelector("div.ui5-responsive-popover-header.ui5-valuestatemessage-root");
535
908
  }
536
909
 
537
- rootFocusIn() {
538
- this.expandedTokenizer = true;
910
+ get _tokenizer() {
911
+ return this.shadowRoot.querySelector("[ui5-tokenizer]");
912
+ }
913
+
914
+ inputFocusIn() {
915
+ if (!isPhone() || this.readonly) {
916
+ this.focused = true;
917
+ } else {
918
+ this._innerInput.blur();
919
+ }
920
+
921
+ this._lastValue = this.value;
539
922
  }
540
923
 
541
- rootFocusOut(event) {
924
+ inputFocusOut(event) {
542
925
  if (!this.shadowRoot.contains(event.relatedTarget) && !this._deleting) {
543
- this.expandedTokenizer = false;
926
+ this.focused = false;
927
+
928
+ // remove the value if user focus out the input and focus is not going in the popover
929
+ if (!isPhone() && !this.allowCustomValues && (this.staticAreaItem !== event.relatedTarget)) {
930
+ this.value = "";
931
+ }
544
932
  }
545
933
  }
546
934
 
935
+ _readonlyIconClick() {
936
+ this._inputDom.focus();
937
+ }
938
+
547
939
  get editable() {
548
940
  return !this.readonly;
549
941
  }
550
942
 
551
- get dir() {
552
- return getRTL() ? "rtl" : "ltr";
943
+ get _isFocusInside() {
944
+ return !isPhone() && (this.focused || this._tokenizerFocused);
553
945
  }
554
946
 
555
947
  get selectedItemsListMode() {
556
948
  return this.readonly ? "None" : "MultiSelect";
557
949
  }
558
950
 
951
+ get _listItemsType() {
952
+ return this.readonly ? "Inactive" : "Active";
953
+ }
954
+
559
955
  get hasValueState() {
560
956
  return this.valueState !== ValueState.None;
561
957
  }
562
958
 
959
+ get hasValueStateMessage() {
960
+ return this.hasValueState && this.valueState !== ValueState.Success;
961
+ }
962
+
563
963
  get valueStateText() {
564
- return this.valueStateTextMappings[this.valueState];
964
+ let key = this.valueState;
965
+
966
+ if (this._performingSelectionTwice) {
967
+ key = "Error_Selection";
968
+ }
969
+
970
+ return this.valueStateTextMappings[key];
971
+ }
972
+
973
+ get valueStateTextId() {
974
+ return this.hasValueState ? `${this._id}-valueStateDesc` : undefined;
975
+ }
976
+
977
+ get valueStateMessageText() {
978
+ return this.getSlottedNodes("valueStateMessage").map(el => el.cloneNode(true));
979
+ }
980
+
981
+ /**
982
+ * This method is relevant for sap_horizon theme only
983
+ */
984
+ get _valueStateMessageIcon() {
985
+ const iconPerValueState = {
986
+ Error: "error",
987
+ Warning: "alert",
988
+ Success: "sys-enter-2",
989
+ Information: "information",
990
+ };
991
+
992
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
993
+ }
994
+
995
+ get _tokensCountText() {
996
+ if (!this._tokenizer) {
997
+ return;
998
+ }
999
+ return this._tokenizer._tokensCountText();
1000
+ }
1001
+
1002
+ get _tokensCountTextId() {
1003
+ return `${this._id}-hiddenText-nMore`;
1004
+ }
1005
+
1006
+ get ariaDescribedByText() {
1007
+ return this.valueStateTextId ? `${this._tokensCountTextId} ${this.valueStateTextId}` : `${this._tokensCountTextId}`;
1008
+ }
1009
+
1010
+ get shouldDisplayDefaultValueStateMessage() {
1011
+ return !this.valueStateMessage.length && this.hasValueStateMessage;
1012
+ }
1013
+
1014
+ get shouldDisplayOnlyValueStateMessage() {
1015
+ return this.focused && !this.readonly && this.hasValueStateMessage && !this._iconPressed;
1016
+ }
1017
+
1018
+ get valueStateTextMappings() {
1019
+ return {
1020
+ "Success": MultiComboBox.i18nBundle.getText(VALUE_STATE_SUCCESS),
1021
+ "Error": MultiComboBox.i18nBundle.getText(VALUE_STATE_ERROR),
1022
+ "Error_Selection": MultiComboBox.i18nBundle.getText(VALUE_STATE_ERROR_ALREADY_SELECTED),
1023
+ "Warning": MultiComboBox.i18nBundle.getText(VALUE_STATE_WARNING),
1024
+ "Information": MultiComboBox.i18nBundle.getText(VALUE_STATE_INFORMATION),
1025
+ };
1026
+ }
1027
+
1028
+ get _innerInput() {
1029
+ if (isPhone()) {
1030
+ if (this.allItemsPopover.opened) {
1031
+ return this.allItemsPopover.querySelector("input");
1032
+ }
1033
+ }
1034
+
1035
+ return this.getDomRef().querySelector("#ui5-multi-combobox-input");
1036
+ }
1037
+
1038
+ get _headerTitleText() {
1039
+ return MultiComboBox.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
1040
+ }
1041
+
1042
+ get _iconAccessibleNameText() {
1043
+ return MultiComboBox.i18nBundle.getText(SELECT_OPTIONS);
1044
+ }
1045
+
1046
+ get _dialogOkButton() {
1047
+ return MultiComboBox.i18nBundle.getText(MULTICOMBOBOX_DIALOG_OK_BUTTON);
1048
+ }
1049
+
1050
+ get _tokenizerExpanded() {
1051
+ return (this._isFocusInside || this.open) && !this.readonly;
1052
+ }
1053
+
1054
+ get _valueStatePopoverHorizontalAlign() {
1055
+ return this.effectiveDir !== "rtl" ? "Left" : "Right";
1056
+ }
1057
+
1058
+ get classes() {
1059
+ return {
1060
+ popover: {
1061
+ "ui5-multi-combobox-all-items-responsive-popover": true,
1062
+ "ui5-suggestions-popover": !this.isPhone,
1063
+ "ui5-suggestions-popover-with-value-state-header": !this.isPhone && this.hasValueStateMessage,
1064
+ },
1065
+ popoverValueState: {
1066
+ "ui5-valuestatemessage-root": true,
1067
+ "ui5-valuestatemessage-header": true,
1068
+ "ui5-valuestatemessage--success": this.valueState === ValueState.Success,
1069
+ "ui5-valuestatemessage--error": this.valueState === ValueState.Error,
1070
+ "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
1071
+ "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
1072
+ },
1073
+ };
565
1074
  }
566
1075
 
567
- static async define(...params) {
568
- await Promise.all([
569
- Tokenizer.define(),
570
- Token.define(),
571
- Icon.define(),
572
- Popover.define(),
573
- List.define(),
574
- StandardListItem.define(),
575
- fetchI18nBundle("@ui5/webcomponents"),
576
- ]);
1076
+ get styles() {
1077
+ return {
1078
+ popoverValueStateMessage: {
1079
+ "width": `${this._listWidth}px`,
1080
+ "display": this._listWidth === 0 ? "none" : "inline-block",
1081
+ },
1082
+ popoverHeader: {
1083
+ "max-width": isPhone() ? "100%" : `${this._inputWidth}px`,
1084
+ },
1085
+ };
1086
+ }
577
1087
 
578
- super.define(...params);
1088
+ static async onDefine() {
1089
+ MultiComboBox.i18nBundle = await getI18nBundle("@ui5/webcomponents");
579
1090
  }
580
1091
  }
581
1092