@ui5/webcomponents 0.0.0-c6d8872f3 → 0.0.0-cf069fb29

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 (1237) 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 +2 -1
  6. package/dist/Avatar.js +223 -37
  7. package/dist/AvatarGroup.js +603 -0
  8. package/dist/Badge.js +44 -22
  9. package/dist/Breadcrumbs.js +575 -0
  10. package/dist/BreadcrumbsItem.js +103 -0
  11. package/dist/BusyIndicator.js +171 -17
  12. package/dist/Button.js +179 -37
  13. package/dist/Calendar.js +349 -546
  14. package/dist/CalendarDate.js +45 -0
  15. package/dist/CalendarHeader.js +133 -62
  16. package/dist/CalendarPart.js +111 -0
  17. package/dist/Card.js +45 -158
  18. package/dist/CardHeader.js +288 -0
  19. package/dist/Carousel.js +454 -76
  20. package/dist/CheckBox.js +186 -51
  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 +726 -104
  26. package/dist/ComboBoxFilters.js +8 -1
  27. package/dist/ComboBoxGroupItem.js +70 -0
  28. package/dist/ComboBoxItem.js +12 -24
  29. package/dist/CustomListItem.js +38 -9
  30. package/dist/DateComponentBase.js +168 -0
  31. package/dist/DatePicker.js +471 -376
  32. package/dist/DateRangePicker.js +350 -0
  33. package/dist/DateTimePicker.js +430 -0
  34. package/dist/DayPicker.js +509 -431
  35. package/dist/Dialog.js +481 -51
  36. package/dist/DurationPicker.js +312 -0
  37. package/dist/FileUploader.js +237 -32
  38. package/dist/GroupHeaderListItem.js +36 -8
  39. package/dist/Icon.js +202 -36
  40. package/dist/Input.js +884 -124
  41. package/dist/Interfaces.js +192 -0
  42. package/dist/Label.js +27 -12
  43. package/dist/Link.js +160 -32
  44. package/dist/List.js +530 -115
  45. package/dist/ListItem.js +139 -30
  46. package/dist/ListItemBase.js +52 -8
  47. package/dist/MessageStrip.js +95 -70
  48. package/dist/MonthPicker.js +180 -182
  49. package/dist/MultiComboBox.js +621 -195
  50. package/dist/MultiComboBoxItem.js +8 -5
  51. package/dist/MultiInput.js +348 -0
  52. package/dist/Option.js +59 -5
  53. package/dist/Panel.js +129 -37
  54. package/dist/Popover.js +378 -252
  55. package/dist/Popup.js +394 -282
  56. package/dist/ProgressIndicator.js +235 -0
  57. package/dist/RadioButton.js +162 -61
  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 +83 -40
  62. package/dist/SegmentedButton.js +151 -52
  63. package/dist/SegmentedButtonItem.js +109 -0
  64. package/dist/Select.js +496 -107
  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 -22
  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 +72 -38
  74. package/dist/Tab.js +190 -17
  75. package/dist/TabContainer.js +726 -283
  76. package/dist/TabSeparator.js +44 -4
  77. package/dist/Table.js +496 -39
  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 +246 -19
  82. package/dist/TextArea.js +322 -38
  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 +43 -37
  88. package/dist/ToggleButton.js +26 -13
  89. package/dist/Token.js +85 -45
  90. package/dist/Tokenizer.js +376 -63
  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 +199 -255
  96. package/dist/api.json +7144 -1
  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 +0 -1
  200. package/dist/features/InputSuggestions.js +358 -56
  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 -1
  252. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  253. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  254. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -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 -15
  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 +9 -9
  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 -8
  274. package/dist/generated/templates/CarouselTemplate.lit.js +13 -14
  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 +20 -5
  282. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -5
  283. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -12
  284. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -4
  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 +7 -7
  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 +24 -6
  294. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  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 -9
  299. package/dist/generated/templates/MessageStripTemplate.lit.js +6 -27
  300. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  301. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -7
  302. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  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 -9
  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 +16 -11
  313. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  314. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
  315. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  316. package/dist/generated/templates/SelectTemplate.lit.js +6 -4
  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 +8 -8
  325. package/dist/generated/templates/TabContainerTemplate.lit.js +15 -18
  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 -10
  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 +6 -7
  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 +6 -7
  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 +6 -7
  372. package/dist/generated/themes/ComboBoxPopover.css.js +6 -7
  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 +6 -7
  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 +6 -7
  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 +6 -7
  407. package/dist/generated/themes/ResponsivePopoverCommon.css.js +6 -7
  408. package/dist/generated/themes/SegmentedButton.css.js +6 -7
  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 -1
  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/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
  506. package/dist/types/AvatarGroupType.js +43 -0
  507. package/dist/types/AvatarShape.js +1 -1
  508. package/dist/types/AvatarSize.js +1 -1
  509. package/dist/types/BreadcrumbsDesign.js +42 -0
  510. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  511. package/dist/types/BusyIndicatorSize.js +1 -1
  512. package/dist/types/ButtonDesign.js +8 -1
  513. package/dist/types/CalendarSelectionMode.js +47 -0
  514. package/dist/types/CarouselArrowsPlacement.js +3 -3
  515. package/dist/types/GrowingMode.js +48 -0
  516. package/dist/types/HasPopup.js +62 -0
  517. package/dist/types/InputType.js +7 -7
  518. package/dist/types/LinkDesign.js +1 -1
  519. package/dist/types/ListGrowingMode.js +15 -0
  520. package/dist/types/ListItemType.js +8 -1
  521. package/dist/types/ListMode.js +9 -1
  522. package/dist/types/ListSeparators.js +1 -1
  523. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  524. package/dist/types/PanelAccessibleRole.js +1 -1
  525. package/dist/types/PopoverHorizontalAlign.js +1 -1
  526. package/dist/types/PopoverPlacementType.js +2 -2
  527. package/dist/types/PopoverVerticalAlign.js +1 -2
  528. package/dist/types/Priority.js +55 -0
  529. package/dist/types/SemanticColor.js +1 -1
  530. package/dist/types/SwitchDesign.js +40 -0
  531. package/dist/types/TabContainerTabsPlacement.js +40 -0
  532. package/dist/types/TabLayout.js +1 -1
  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 +1 -1
  538. package/dist/types/ToastPlacement.js +1 -2
  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 -82
  1226. package/dist/TimelineItem.js +0 -161
  1227. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  1228. package/dist/generated/templates/TabSeparatorTemplate.lit.js +0 -7
  1229. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  1230. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  1231. package/dist/generated/themes/ComboBoxItem.css.js +0 -9
  1232. package/dist/generated/themes/TabContainerPopup.css.js +0 -9
  1233. package/dist/generated/themes/Timeline.css.js +0 -9
  1234. package/dist/generated/themes/TimelineItem.css.js +0 -9
  1235. package/dist/popup-utils/PopupUtils.js +0 -55
  1236. package/dist/types/AvatarFitType.js +0 -40
  1237. package/dist/webcomponentsjs/package.json +0 -46
@@ -1,28 +1,46 @@
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
+ isShow,
7
+ isDown,
8
+ isUp,
9
+ isBackSpace,
10
+ isSpace,
11
+ isLeft,
12
+ isRight,
13
+ isEscape,
14
+ isEnter,
6
15
  } from "@ui5/webcomponents-base/dist/Keys.js";
7
- import "@ui5/webcomponents-icons/dist/icons/slim-arrow-down.js";
8
- import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js";
16
+ import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
17
+ import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
9
18
  import { isIE, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
10
- import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.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";
11
24
  import Tokenizer from "./Tokenizer.js";
12
25
  import Token from "./Token.js";
13
26
  import Icon from "./Icon.js";
27
+ import Popover from "./Popover.js";
14
28
  import ResponsivePopover from "./ResponsivePopover.js";
15
29
  import List from "./List.js";
16
30
  import StandardListItem from "./StandardListItem.js";
17
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,
25
40
  INPUT_SUGGESTIONS_TITLE,
41
+ SELECT_OPTIONS,
42
+ MULTICOMBOBOX_DIALOG_OK_BUTTON,
43
+ VALUE_STATE_ERROR_ALREADY_SELECTED,
26
44
  } from "./generated/i18n/i18n-defaults.js";
27
45
 
28
46
  // Templates
@@ -32,37 +50,62 @@ import MultiComboBoxPopoverTemplate from "./generated/templates/MultiComboBoxPop
32
50
  // Styles
33
51
  import styles from "./generated/themes/MultiComboBox.css.js";
34
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";
35
55
 
36
56
  /**
37
57
  * @public
38
58
  */
39
59
  const metadata = {
40
60
  tag: "ui5-multi-combobox",
61
+ languageAware: true,
41
62
  managedSlots: true,
42
63
  slots: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
43
64
  /**
44
- * 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.
45
91
  * <br><br>
46
- * Example: <br>
47
- * &lt;ui5-multi-combobox><br>
48
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #1&lt;/ui5-li><br>
49
- * &nbsp;&nbsp;&nbsp;&nbsp;&lt;ui5-li>Item #2&lt;/ui5-li><br>
50
- * &lt;/ui5-multi-combobox>
51
- * <br> <br>
52
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.
53
97
  * @type {HTMLElement[]}
98
+ * @since 1.0.0-rc.9
54
99
  * @slot
55
100
  * @public
56
101
  */
57
- "default": {
58
- propertyName: "items",
102
+ valueStateMessage: {
59
103
  type: HTMLElement,
60
- listenFor: { include: ["*"] },
61
104
  },
62
105
  },
63
106
  properties: /** @lends sap.ui.webcomponents.main.MultiComboBox.prototype */ {
64
107
  /**
65
- * Defines the value of the <code>ui5-multi-combobox</code>.
108
+ * Defines the value of the component.
66
109
  * <br><br>
67
110
  * <b>Note:</b> The property is updated upon typing.
68
111
  *
@@ -77,7 +120,7 @@ const metadata = {
77
120
 
78
121
  /**
79
122
  * Defines a short hint intended to aid the user with data entry when the
80
- * <code>ui5-multi-combobox</code> has no value.
123
+ * component has no value.
81
124
  * @type {string}
82
125
  * @defaultvalue ""
83
126
  * @public
@@ -99,9 +142,9 @@ const metadata = {
99
142
  },
100
143
 
101
144
  /**
102
- * Defines whether <code>ui5-multi-combobox</code> is in disabled state.
145
+ * Defines whether the component is in disabled state.
103
146
  * <br><br>
104
- * <b>Note:</b> A disabled <code>ui5-multi-combobox</code> is completely noninteractive.
147
+ * <b>Note:</b> A disabled component is completely noninteractive.
105
148
  *
106
149
  * @type {boolean}
107
150
  * @defaultvalue false
@@ -112,10 +155,18 @@ const metadata = {
112
155
  },
113
156
 
114
157
  /**
115
- * Defines the value state of the <code>ui5-multi-combobox</code>.
116
- * 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>
117
168
  *
118
- * @type {string}
169
+ * @type {ValueState}
119
170
  * @defaultvalue "None"
120
171
  * @public
121
172
  */
@@ -125,9 +176,9 @@ const metadata = {
125
176
  },
126
177
 
127
178
  /**
128
- * Defines whether the <code>ui5-multi-combobox</code> is read-only.
179
+ * Defines whether the component is read-only.
129
180
  * <br><br>
130
- * <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,
131
182
  * but still provides visual feedback upon user interaction.
132
183
  *
133
184
  * @type {boolean}
@@ -139,7 +190,7 @@ const metadata = {
139
190
  },
140
191
 
141
192
  /**
142
- * Defines whether the <code>ui5-multi-combobox</code> is required.
193
+ * Defines whether the component is required.
143
194
  *
144
195
  * @type {boolean}
145
196
  * @defaultvalue false
@@ -150,11 +201,25 @@ const metadata = {
150
201
  type: Boolean,
151
202
  },
152
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
+
153
217
  /**
154
218
  * Indicates whether the dropdown is open. True if the dropdown is open, false otherwise.
155
219
  *
156
220
  * @type {boolean}
157
221
  * @defaultvalue false
222
+ * @readonly
158
223
  * @since 1.0.0-rc.5
159
224
  * @public
160
225
  */
@@ -162,16 +227,20 @@ const metadata = {
162
227
  type: Boolean,
163
228
  },
164
229
 
165
- /**
166
- * Indicates whether the input is focssed
167
- * @private
168
- */
230
+ _filteredItems: {
231
+ type: Object,
232
+ },
233
+
234
+ filterSelected: {
235
+ type: Boolean,
236
+ },
237
+
169
238
  focused: {
170
239
  type: Boolean,
171
240
  },
172
241
 
173
- _filteredItems: {
174
- type: Object,
242
+ _tokenizerFocused: {
243
+ type: Boolean,
175
244
  },
176
245
 
177
246
  _iconPressed: {
@@ -179,11 +248,18 @@ const metadata = {
179
248
  noAttribute: true,
180
249
  },
181
250
 
182
- /**
183
- * Indicates whether the tokenizer is expanded or collapsed(shows the n more label)
184
- * @private
185
- */
186
- 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: {
187
263
  type: Boolean,
188
264
  },
189
265
  },
@@ -197,7 +273,7 @@ const metadata = {
197
273
  change: {},
198
274
 
199
275
  /**
200
- * 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.
201
277
  *
202
278
  * @event
203
279
  * @public
@@ -207,21 +283,21 @@ const metadata = {
207
283
  /**
208
284
  * Fired when the dropdown is opened or closed.
209
285
  *
210
- * @event
286
+ * @event sap.ui.webcomponents.main.MultiComboBox#open-change
211
287
  * @since 1.0.0-rc.5
212
288
  * @public
213
289
  */
214
- openChange: {},
290
+ "open-change": {},
215
291
 
216
292
  /**
217
293
  * Fired when selection is changed by user interaction
218
294
  * in <code>SingleSelect</code> and <code>MultiSelect</code> modes.
219
295
  *
220
- * @event
296
+ * @event sap.ui.webcomponents.main.MultiComboBox#selection-change
221
297
  * @param {Array} items an array of the selected items.
222
298
  * @public
223
299
  */
224
- selectionChange: {
300
+ "selection-change": {
225
301
  detail: {
226
302
  items: { type: Array },
227
303
  },
@@ -234,10 +310,10 @@ const metadata = {
234
310
  *
235
311
  * <h3 class="comment-api-title">Overview</h3>
236
312
  *
237
- * 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.
238
314
  *
239
- * It is a drop-down list for selecting and filtering values, 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.
240
- * 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.
241
317
  * <h3>Structure</h3>
242
318
  * The <code>ui5-multi-combobox</code> consists of the following elements:
243
319
  * <ul>
@@ -264,6 +340,15 @@ const metadata = {
264
340
  * <li> Backspace - deletes the token and focus the next token. </li>
265
341
  * </ul>
266
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
+ *
267
352
  * <h3>ES6 Module Import</h3>
268
353
  *
269
354
  * <code>import "@ui5/webcomponents/dist/MultiComboBox";</code>
@@ -300,47 +385,70 @@ class MultiComboBox extends UI5Element {
300
385
  }
301
386
 
302
387
  static get staticAreaStyles() {
303
- return ResponsivePopoverCommonCss;
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
+ ];
304
404
  }
305
405
 
306
406
  constructor() {
307
407
  super();
308
408
 
309
409
  this._filteredItems = [];
410
+ this.selectedValues = [];
310
411
  this._inputLastValue = "";
412
+ this._valueBeforeOpen = "";
311
413
  this._deleting = false;
312
414
  this._validationTimeout = null;
313
- this._selectedItemsPopoverOpened = false;
314
- 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;
315
428
  }
316
429
 
317
430
  _inputChange() {
318
431
  this.fireEvent("change");
319
432
  }
320
433
 
321
- _showMorePopover() {
322
- if (this.readonly) {
323
- return;
324
- }
325
-
326
- this._showMorePressed = true;
327
- this._selectedItemsPopoverOpened = true;
328
- this._toggleRespPopover(true);
434
+ togglePopover() {
435
+ this.allItemsPopover.toggle(this);
329
436
  }
330
437
 
331
- _showAllItemsPopover() {
332
- this._selectedItemsPopoverOpened = false;
333
- this._toggleRespPopover(false);
438
+ _showFilteredItems() {
439
+ this.filterSelected = true;
440
+ this._showMorePressed = true;
334
441
 
335
- this._inputDom.focus();
442
+ this.togglePopover();
336
443
  }
337
444
 
338
- _closeMorePopover() {
339
- this._getRespPopover(true).close();
445
+ filterSelectedItems(event) {
446
+ this.filterSelected = event.target.pressed;
447
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
340
448
  }
341
449
 
342
- _closeAllItemsPopover() {
343
- this._getRespPopover().close();
450
+ get _showAllItemsButtonPressed() {
451
+ return this.filterSelected;
344
452
  }
345
453
 
346
454
  get _inputDom() {
@@ -353,11 +461,15 @@ class MultiComboBox extends UI5Element {
353
461
  const filteredItems = this._filterItems(value);
354
462
  const oldValueState = this.valueState;
355
463
 
464
+ if (this.filterSelected) {
465
+ this.filterSelected = false;
466
+ }
467
+
356
468
  /* skip calling change event when an input with a placeholder is focused on IE
357
469
  - value of the host and the internal input should be differnt in case of actual input
358
470
  - input is called when a key is pressed => keyup should not be called yet
359
471
  */
360
- 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;
361
473
 
362
474
  if (skipFiring) {
363
475
  event.preventDefault();
@@ -374,25 +486,20 @@ class MultiComboBox extends UI5Element {
374
486
  input.value = this._inputLastValue;
375
487
  this.valueState = "Error";
376
488
 
377
- this._validationTimeout = setTimeout(() => {
378
- this.valueState = oldValueState;
379
- this._validationTimeout = null;
380
- }, 2000);
489
+ this._resetValueState(oldValueState);
381
490
 
382
491
  return;
383
492
  }
384
493
 
385
-
386
494
  this._inputLastValue = input.value;
387
495
  this.value = input.value;
388
496
  this._filteredItems = filteredItems;
389
497
 
390
498
  if (!isPhone()) {
391
499
  if (filteredItems.length === 0) {
392
- this._getRespPopover().close();
500
+ this.allItemsPopover.close();
393
501
  } else {
394
- this.updateStaticAreaItemContentDensity();
395
- this._getRespPopover().open(this);
502
+ this.allItemsPopover.showAt(this);
396
503
  }
397
504
  }
398
505
 
@@ -406,261 +513,580 @@ class MultiComboBox extends UI5Element {
406
513
  deletingItem.selected = false;
407
514
  this._deleting = true;
408
515
 
409
- 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;
525
+ }
526
+
527
+ _handleLeft() {
528
+ const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
529
+
530
+ if (cursorPosition === 0) {
531
+ this._tokenizer._focusLastToken();
532
+ }
410
533
  }
411
534
 
412
- _tokenizerFocusOut() {
413
- const tokenizer = this.shadowRoot.querySelector("ui5-tokenizer");
414
- const tokensCount = tokenizer.tokens.length - 1;
535
+ _tokenizerFocusOut(event) {
536
+ this._tokenizerFocused = false;
415
537
 
416
- tokenizer.tokens.forEach(token => { token.selected = false; });
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
+ }
417
544
 
418
545
  if (tokensCount === 0 && this._deleting) {
419
546
  setTimeout(() => {
420
- this.shadowRoot.querySelector("input").focus();
547
+ if (!isPhone()) {
548
+ this.shadowRoot.querySelector("input").focus();
549
+ }
550
+
421
551
  this._deleting = false;
422
552
  }, 0);
423
553
  }
424
554
  }
425
555
 
556
+ _tokenizerFocusIn() {
557
+ this._tokenizerFocused = true;
558
+ this.focused = false;
559
+ }
560
+
426
561
  _onkeyup() {
427
562
  this._keyDown = false;
428
563
  }
429
564
 
430
- _onkeydown(event) {
565
+ async _onkeydown(event) {
566
+ if (isLeft(event)) {
567
+ this._handleLeft(event);
568
+ }
569
+
431
570
  if (isShow(event) && !this.readonly && !this.disabled) {
432
571
  event.preventDefault();
433
- this._toggleRespPopover();
572
+ this.togglePopover();
434
573
  }
435
574
 
436
- if (isDown(event) && this._getRespPopover().opened && this.items.length) {
437
- event.preventDefault();
438
- const list = this.getStaticAreaItemDomRef().querySelector(".ui5-multi-combobox-all-items-list");
439
- list._itemNavigation.current = 0;
440
- list.items[0].focus();
575
+ if (this.open && (isUp(event) || isDown(event))) {
576
+ this._handleArrowNavigation(event);
441
577
  }
442
578
 
443
579
  if (isBackSpace(event) && event.target.value === "") {
444
580
  event.preventDefault();
445
581
 
446
- const lastTokenIndex = this._tokenizer.tokens.length - 1;
582
+ this._tokenizer._focusLastToken();
583
+ }
447
584
 
448
- if (lastTokenIndex < 0) {
449
- return;
450
- }
585
+ // Reset value on ESC
586
+ if (isEscape(event) && (!this.allowCustomValues || (!this.open && this.allowCustomValues))) {
587
+ this.value = this._lastValue;
588
+ }
451
589
 
452
- this._tokenizer.tokens[lastTokenIndex].focus();
453
- this._tokenizer._itemNav.currentIndex = lastTokenIndex;
590
+ if (isEnter(event)) {
591
+ this.handleEnter();
454
592
  }
455
593
 
456
594
  this._keyDown = true;
457
595
  }
458
596
 
459
- _filterItems(value) {
460
- return this.items.filter(item => {
461
- return item.text && item.text.toLowerCase().startsWith(value.toLowerCase());
462
- });
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();
463
627
  }
464
628
 
465
- _toggleIcon() {
466
- this._iconPressed = !this._iconPressed;
467
- this.open = this._iconPressed;
629
+ async _handleArrowNavigation(event) {
630
+ const isArrowDown = isDown(event);
631
+ const hasSuggestions = this.allItemsPopover.opened && this.items.length;
468
632
 
469
- this.fireEvent("openChange");
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
+ }
470
643
 
471
- if (!this._iconPressed) {
472
- this._afterClosePopover();
644
+ if (isArrowDown && this.focused && hasSuggestions) {
645
+ this._handleArrowDown(event);
473
646
  }
474
647
  }
475
648
 
476
- _getSelectedItems() {
477
- return this.items.filter(item => item.selected);
649
+ _handleArrowDown(event) {
650
+ const firstListItem = this.list.items[0];
651
+
652
+ this.list._itemNavigation.setCurrentItem(firstListItem);
653
+ firstListItem.focus();
478
654
  }
479
655
 
480
- _listSelectionChange(event) {
481
- event.target.items.forEach(item => {
482
- this.items.forEach(mcbItem => {
483
- if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
484
- mcbItem.selected = item.selected;
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;
485
665
  }
486
- });
487
- });
488
666
 
489
- this.fireEvent("selectionChange", { items: this._getSelectedItems() });
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
+ }
490
677
 
491
- if (!event.detail.selectionComponentPressed && !isSpace(event.detail)) {
492
- this._getRespPopover().close();
493
- this.value = "";
494
- this.fireEvent("input");
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
+ }
701
+ }
702
+
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();
495
714
  }
496
715
  }
497
716
 
498
- _getRespPopover(isMorePopover) {
499
- return this.getStaticAreaItemDomRef().querySelector(`.ui5-multi-combobox-${isMorePopover ? "selected" : "all"}-items-responsive-popover`);
717
+ _toggle() {
718
+ this.open = !this.open;
719
+ this.fireEvent("open-change");
720
+ }
721
+
722
+ _getSelectedItems() {
723
+ // Angular 2 way data binding
724
+ this.selectedValues = this.items.filter(item => item.selected);
725
+ return this.selectedValues;
500
726
  }
501
727
 
502
- _toggleRespPopover(isMorePopover) {
503
- const popover = this._getRespPopover(isMorePopover);
504
- const otherPopover = this._getRespPopover(!isMorePopover);
728
+ _listSelectionChange(event) {
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 = "";
505
740
 
506
- this.updateStaticAreaItemContentDensity();
741
+ // if the item (not checkbox) is clicked, call the selection change
742
+ if (isPhone()) {
743
+ this.fireSelectionChange();
744
+ }
507
745
 
508
- if (popover && popover.opened) {
509
- return popover.close();
746
+ this.fireEvent("input");
510
747
  }
748
+ }
511
749
 
512
- otherPopover && otherPopover.close();
750
+ syncItems(listItems) {
751
+ listItems.forEach(item => {
752
+ this.items.forEach(mcbItem => {
753
+ if (mcbItem._id === item.getAttribute("data-ui5-token-id")) {
754
+ mcbItem.selected = item.selected;
755
+ }
756
+ });
757
+ });
758
+ }
513
759
 
514
- popover && popover.open(this);
760
+ fireSelectionChange() {
761
+ this.fireEvent("selection-change", { items: this._getSelectedItems() });
762
+ // Angular 2 way data binding
763
+ this.fireEvent("value-changed");
515
764
  }
516
765
 
517
- _focusin() {
518
- this.focused = true;
766
+ async _getRespPopover() {
767
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
768
+ this.allItemsPopover = staticAreaItem.querySelector(`.ui5-multi-combobox-all-items-responsive-popover`);
519
769
  }
520
770
 
521
- _focusout() {
522
- this.focused = false;
771
+ async _getList() {
772
+ const staticAreaItem = await this.getStaticAreaItemDomRef();
773
+ this.list = staticAreaItem.querySelector(".ui5-multi-combobox-all-items-list");
523
774
  }
524
775
 
525
776
  _click(event) {
526
- if (isPhone() && !this.readonly && !this._showMorePressed) {
527
- this.updateStaticAreaItemContentDensity();
528
- this._getRespPopover().open(this);
777
+ if (isPhone() && !this.readonly && !this._showMorePressed && !this._deleting) {
778
+ this.allItemsPopover.showAt(this);
529
779
  }
530
780
 
531
781
  this._showMorePressed = false;
532
782
  }
533
783
 
534
- _afterClosePopover() {
784
+ _afterClosePicker() {
535
785
  // close device's keyboard and prevent further typing
536
786
  if (isPhone()) {
537
787
  this.blur();
538
788
  }
539
- }
540
789
 
541
- _toggleButtonPress(event) {
542
- if (this._selectedItemsPopoverOpened) {
543
- event.target.pressed = true;
544
- this._showAllItemsPopover();
545
- } else {
546
- event.target.pressed = false;
547
- this._showMorePopover();
548
- }
549
- }
790
+ this._toggle();
550
791
 
551
- onBeforeRendering() {
552
- this._inputLastValue = this.value;
792
+ this._iconPressed = false;
793
+ this.filterSelected = false;
794
+ }
553
795
 
554
- 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
+ });
555
803
 
556
- if (this.getDomRef() && !hasSelectedItem) {
557
- const morePopover = this._getRespPopover(true);
804
+ this._valueBeforeOpen = this.value;
558
805
 
559
- morePopover && morePopover.close();
806
+ if (this.filterSelected) {
807
+ this.selectedItems = this._filteredItems.filter(item => item.selected);
560
808
  }
809
+ }
561
810
 
811
+ onBeforeRendering() {
562
812
  const input = this.shadowRoot.querySelector("input");
813
+ this._inputLastValue = this.value;
563
814
 
564
815
  if (input && !input.value) {
565
816
  this._filteredItems = this.items;
566
817
  }
567
818
 
819
+ this.items.forEach(item => {
820
+ item._getRealDomRef = () => this.allItemsPopover.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
821
+ });
822
+
568
823
  const filteredItems = this._filterItems(this.value);
569
824
  this._filteredItems = filteredItems;
570
825
  }
571
826
 
572
- onAfterRendering() {
573
- if (this.open && !this._getRespPopover().opened) {
574
- this.updateStaticAreaItemContentDensity();
575
- this._getRespPopover().open(this);
576
- // Set initial focus to the native input
577
- this._innerInput.focus();
578
- }
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;
579
835
  }
580
836
 
581
- get valueStateTextMappings() {
582
- return {
583
- "Success": this.i18nBundle.getText(VALUE_STATE_SUCCESS),
584
- "Error": this.i18nBundle.getText(VALUE_STATE_ERROR),
585
- "Warning": this.i18nBundle.getText(VALUE_STATE_WARNING),
586
- };
837
+ get _isPhone() {
838
+ return isPhone();
587
839
  }
588
840
 
589
- get _tokenizer() {
590
- return this.shadowRoot.querySelector("ui5-tokenizer");
841
+ _onIconMousedown() {
842
+ this._iconPressed = true;
591
843
  }
592
844
 
593
- get nMoreCountText() {
594
- const iTokenCount = this._getSelectedItems().length;
845
+ storeResponsivePopoverWidth() {
846
+ if (this.open && !this._listWidth) {
847
+ this._listWidth = this.list.offsetWidth;
848
+ }
849
+ }
595
850
 
596
- if (iTokenCount === 0) {
597
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_TOKEN);
851
+ toggle(isToggled) {
852
+ if (isToggled && !this.open) {
853
+ this.openPopover();
854
+ } else {
855
+ this.closePopover();
598
856
  }
857
+ }
858
+
859
+ handleCancel() {
860
+ this._itemsBeforeOpen.forEach(item => {
861
+ item.ref.selected = item.selected;
862
+ });
599
863
 
600
- if (iTokenCount === 1) {
601
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_ONE_TOKEN);
864
+ this.togglePopover();
865
+
866
+ this.value = this._valueBeforeOpen;
867
+ }
868
+
869
+ handleOK() {
870
+ if (isPhone()) {
871
+ this.fireSelectionChange();
602
872
  }
603
873
 
604
- return this.i18nBundle.getText(TOKENIZER_ARIA_CONTAIN_SEVERAL_TOKENS, iTokenCount);
874
+ this.togglePopover();
605
875
  }
606
876
 
607
- rootFocusIn() {
608
- this.expandedTokenizer = true;
877
+ async openPopover() {
878
+ const popover = await this._getPopover();
879
+
880
+ if (popover) {
881
+ popover.showAt(this);
882
+ }
609
883
  }
610
884
 
611
- rootFocusOut(event) {
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
+ }
904
+
905
+ async _setValueStateHeader() {
906
+ const responsivePopover = await this._getResponsivePopover();
907
+ this.valueStateHeader = responsivePopover.querySelector("div.ui5-responsive-popover-header.ui5-valuestatemessage-root");
908
+ }
909
+
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;
922
+ }
923
+
924
+ inputFocusOut(event) {
612
925
  if (!this.shadowRoot.contains(event.relatedTarget) && !this._deleting) {
613
- 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
+ }
614
932
  }
615
933
  }
616
934
 
935
+ _readonlyIconClick() {
936
+ this._inputDom.focus();
937
+ }
938
+
617
939
  get editable() {
618
940
  return !this.readonly;
619
941
  }
620
942
 
621
- get dir() {
622
- return getRTL() ? "rtl" : "ltr";
943
+ get _isFocusInside() {
944
+ return !isPhone() && (this.focused || this._tokenizerFocused);
623
945
  }
624
946
 
625
947
  get selectedItemsListMode() {
626
948
  return this.readonly ? "None" : "MultiSelect";
627
949
  }
628
950
 
951
+ get _listItemsType() {
952
+ return this.readonly ? "Inactive" : "Active";
953
+ }
954
+
629
955
  get hasValueState() {
630
956
  return this.valueState !== ValueState.None;
631
957
  }
632
958
 
959
+ get hasValueStateMessage() {
960
+ return this.hasValueState && this.valueState !== ValueState.Success;
961
+ }
962
+
633
963
  get valueStateText() {
634
- 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
+ };
635
1026
  }
636
1027
 
637
1028
  get _innerInput() {
638
1029
  if (isPhone()) {
639
- if (this._getRespPopover().opened) {
640
- return this._getRespPopover().querySelector("input");
1030
+ if (this.allItemsPopover.opened) {
1031
+ return this.allItemsPopover.querySelector("input");
641
1032
  }
642
-
643
- return this._getRespPopover(true).querySelector("input");
644
1033
  }
645
1034
 
646
1035
  return this.getDomRef().querySelector("#ui5-multi-combobox-input");
647
1036
  }
648
1037
 
649
1038
  get _headerTitleText() {
650
- return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
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
+ };
1074
+ }
1075
+
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
+ };
651
1086
  }
652
1087
 
653
1088
  static async onDefine() {
654
- await Promise.all([
655
- Tokenizer.define(),
656
- Token.define(),
657
- Icon.define(),
658
- ResponsivePopover.define(),
659
- List.define(),
660
- StandardListItem.define(),
661
- ToggleButton,
662
- fetchI18nBundle("@ui5/webcomponents"),
663
- ]);
1089
+ MultiComboBox.i18nBundle = await getI18nBundle("@ui5/webcomponents");
664
1090
  }
665
1091
  }
666
1092