@ui5/webcomponents 0.0.0-d849bec2c → 0.0.0-dc3ccac50

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 (732) hide show
  1. package/CHANGELOG.md +552 -1
  2. package/README.md +144 -52
  3. package/csp.js +7 -0
  4. package/customI18n.js +50 -0
  5. package/dist/Assets-static.js +6 -0
  6. package/dist/Assets.js +2 -1
  7. package/dist/Avatar.js +197 -46
  8. package/dist/AvatarGroup.js +603 -0
  9. package/dist/Badge.js +44 -22
  10. package/dist/Breadcrumbs.js +563 -0
  11. package/dist/BreadcrumbsItem.js +109 -0
  12. package/dist/BusyIndicator.js +141 -37
  13. package/dist/Button.js +120 -68
  14. package/dist/Calendar.js +341 -545
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +127 -56
  17. package/dist/CalendarPart.js +111 -0
  18. package/dist/Card.js +44 -158
  19. package/dist/CardHeader.js +288 -0
  20. package/dist/Carousel.js +267 -98
  21. package/dist/CheckBox.js +146 -58
  22. package/dist/ColorPalette.js +493 -0
  23. package/dist/ColorPaletteItem.js +137 -0
  24. package/dist/ColorPalettePopover.js +219 -0
  25. package/dist/ColorPicker.js +524 -0
  26. package/dist/ComboBox.js +599 -94
  27. package/dist/ComboBoxFilters.js +8 -1
  28. package/dist/ComboBoxGroupItem.js +70 -0
  29. package/dist/ComboBoxItem.js +12 -24
  30. package/dist/CustomListItem.js +38 -4
  31. package/dist/DateComponentBase.js +170 -0
  32. package/dist/DatePicker.js +392 -409
  33. package/dist/DateRangePicker.js +328 -0
  34. package/dist/DateTimePicker.js +106 -384
  35. package/dist/DayPicker.js +508 -430
  36. package/dist/Dialog.js +496 -44
  37. package/dist/DurationPicker.js +135 -400
  38. package/dist/FileUploader.js +208 -26
  39. package/dist/GroupHeaderListItem.js +24 -14
  40. package/dist/Icon.js +140 -46
  41. package/dist/Input.js +613 -162
  42. package/dist/Interfaces.js +192 -0
  43. package/dist/Label.js +27 -17
  44. package/dist/Link.js +123 -29
  45. package/dist/List.js +425 -94
  46. package/dist/ListItem.js +88 -19
  47. package/dist/ListItemBase.js +27 -5
  48. package/dist/MessageStrip.js +50 -65
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +569 -156
  51. package/dist/MultiComboBoxItem.js +8 -2
  52. package/dist/MultiInput.js +301 -0
  53. package/dist/Option.js +48 -5
  54. package/dist/Panel.js +100 -37
  55. package/dist/Popover.js +252 -139
  56. package/dist/Popup.js +364 -90
  57. package/dist/ProgressIndicator.js +235 -0
  58. package/dist/RadioButton.js +131 -51
  59. package/dist/RadioButtonGroup.js +53 -29
  60. package/dist/RangeSlider.js +769 -0
  61. package/dist/RatingIndicator.js +291 -0
  62. package/dist/ResponsivePopover.js +67 -53
  63. package/dist/SegmentedButton.js +109 -73
  64. package/dist/SegmentedButtonItem.js +109 -0
  65. package/dist/Select.js +441 -108
  66. package/dist/Slider.js +320 -0
  67. package/dist/SliderBase.js +842 -0
  68. package/dist/StandardListItem.js +44 -13
  69. package/dist/StepInput.js +681 -0
  70. package/dist/SuggestionGroupItem.js +64 -0
  71. package/dist/SuggestionItem.js +37 -31
  72. package/dist/SuggestionListItem.js +76 -0
  73. package/dist/Switch.js +59 -42
  74. package/dist/Tab.js +55 -24
  75. package/dist/TabContainer.js +142 -62
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +475 -22
  78. package/dist/TableCell.js +11 -9
  79. package/dist/TableColumn.js +13 -3
  80. package/dist/TableGroupRow.js +160 -0
  81. package/dist/TableRow.js +235 -10
  82. package/dist/TextArea.js +139 -41
  83. package/dist/TimePicker.js +55 -675
  84. package/dist/TimePickerBase.js +463 -0
  85. package/dist/TimeSelection.js +493 -0
  86. package/dist/Title.js +16 -9
  87. package/dist/Toast.js +24 -13
  88. package/dist/ToggleButton.js +21 -8
  89. package/dist/Token.js +84 -47
  90. package/dist/Tokenizer.js +242 -60
  91. package/dist/Tree.js +137 -51
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +127 -7
  94. package/dist/WheelSlider.js +76 -56
  95. package/dist/YearPicker.js +198 -254
  96. package/dist/api.json +6877 -1
  97. package/dist/features/ColorPaletteMoreColors.js +42 -0
  98. package/dist/features/InputElementsFormSupport.js +0 -1
  99. package/dist/features/InputSuggestions.js +247 -53
  100. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  101. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  102. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  103. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  104. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -0
  105. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  106. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  107. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  108. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  109. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -0
  110. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -0
  111. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -0
  112. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -0
  113. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  114. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -0
  115. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  116. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  117. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  118. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -0
  119. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  120. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  121. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  122. package/dist/generated/assets/i18n/messagebundle_in.json +1 -0
  123. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  124. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  125. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  126. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  127. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  128. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  129. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  130. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  131. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  132. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  133. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  134. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  135. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -0
  136. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  137. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  138. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  139. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  140. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  141. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  142. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  143. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  144. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  145. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  146. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  147. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  148. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  149. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  150. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  151. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  152. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  153. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -0
  154. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -0
  155. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -0
  156. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -0
  157. package/dist/generated/i18n/i18n-defaults.js +2 -2
  158. package/dist/generated/json-imports/Themes-static.js +35 -0
  159. package/dist/generated/json-imports/Themes.js +23 -15
  160. package/dist/generated/json-imports/i18n-static.js +162 -0
  161. package/dist/generated/json-imports/i18n.js +113 -87
  162. package/dist/generated/templates/AvatarGroupTemplate.lit.js +9 -0
  163. package/dist/generated/templates/AvatarTemplate.lit.js +9 -9
  164. package/dist/generated/templates/BadgeTemplate.lit.js +5 -6
  165. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +8 -0
  166. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +9 -0
  167. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -6
  168. package/dist/generated/templates/ButtonTemplate.lit.js +6 -6
  169. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -4
  170. package/dist/generated/templates/CalendarTemplate.lit.js +4 -4
  171. package/dist/generated/templates/CardHeaderTemplate.lit.js +12 -0
  172. package/dist/generated/templates/CardTemplate.lit.js +5 -8
  173. package/dist/generated/templates/CarouselTemplate.lit.js +13 -12
  174. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -7
  175. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +7 -0
  176. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +7 -0
  177. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +8 -0
  178. package/dist/generated/templates/ColorPaletteTemplate.lit.js +12 -0
  179. package/dist/generated/templates/ColorPickerTemplate.lit.js +7 -0
  180. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +20 -5
  181. package/dist/generated/templates/ComboBoxTemplate.lit.js +8 -6
  182. package/dist/generated/templates/CustomListItemTemplate.lit.js +13 -13
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -6
  184. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -6
  185. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -12
  186. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -11
  187. package/dist/generated/templates/DialogTemplate.lit.js +9 -9
  188. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +10 -0
  189. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -7
  190. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -4
  191. package/dist/generated/templates/IconTemplate.lit.js +6 -6
  192. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -23
  193. package/dist/generated/templates/InputTemplate.lit.js +9 -8
  194. package/dist/generated/templates/LabelTemplate.lit.js +4 -4
  195. package/dist/generated/templates/LinkTemplate.lit.js +5 -5
  196. package/dist/generated/templates/ListItemTemplate.lit.js +13 -13
  197. package/dist/generated/templates/ListTemplate.lit.js +12 -9
  198. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -17
  199. package/dist/generated/templates/MonthPickerTemplate.lit.js +6 -6
  200. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +23 -5
  201. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +10 -8
  202. package/dist/generated/templates/MultiInputTemplate.lit.js +16 -0
  203. package/dist/generated/templates/PanelTemplate.lit.js +9 -6
  204. package/dist/generated/templates/PopoverTemplate.lit.js +9 -9
  205. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -4
  206. package/dist/generated/templates/PopupTemplate.lit.js +4 -9
  207. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +17 -0
  208. package/dist/generated/templates/RadioButtonTemplate.lit.js +7 -7
  209. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -0
  210. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +14 -0
  211. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -14
  212. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +8 -0
  213. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -9
  214. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -6
  215. package/dist/generated/templates/SelectTemplate.lit.js +6 -5
  216. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -0
  217. package/dist/generated/templates/SliderTemplate.lit.js +12 -0
  218. package/dist/generated/templates/StandardListItemTemplate.lit.js +21 -20
  219. package/dist/generated/templates/StepInputTemplate.lit.js +8 -0
  220. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +27 -0
  221. package/dist/generated/templates/SwitchTemplate.lit.js +8 -6
  222. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +6 -6
  223. package/dist/generated/templates/TabContainerTemplate.lit.js +16 -14
  224. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -13
  225. package/dist/generated/templates/TabInStripTemplate.lit.js +8 -21
  226. package/dist/generated/templates/TabSeparatorTemplate.lit.js +4 -4
  227. package/dist/generated/templates/TabTemplate.lit.js +4 -4
  228. package/dist/generated/templates/TableCellTemplate.lit.js +4 -4
  229. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -4
  230. package/dist/generated/templates/TableGroupRowTemplate.lit.js +7 -0
  231. package/dist/generated/templates/TableRowTemplate.lit.js +12 -11
  232. package/dist/generated/templates/TableTemplate.lit.js +13 -8
  233. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -8
  234. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -7
  235. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -8
  236. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -6
  237. package/dist/generated/templates/TimeSelectionTemplate.lit.js +11 -0
  238. package/dist/generated/templates/TitleTemplate.lit.js +10 -10
  239. package/dist/generated/templates/ToastTemplate.lit.js +5 -4
  240. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -6
  241. package/dist/generated/templates/TokenTemplate.lit.js +7 -5
  242. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +12 -0
  243. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -6
  244. package/dist/generated/templates/TreeListItemTemplate.lit.js +18 -16
  245. package/dist/generated/templates/TreeTemplate.lit.js +5 -5
  246. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -7
  247. package/dist/generated/templates/YearPickerTemplate.lit.js +6 -6
  248. package/dist/generated/themes/Avatar.css.js +5 -5
  249. package/dist/generated/themes/AvatarGroup.css.js +8 -0
  250. package/dist/generated/themes/Badge.css.js +5 -5
  251. package/dist/generated/themes/Breadcrumbs.css.js +8 -0
  252. package/dist/generated/themes/BreadcrumbsPopover.css.js +8 -0
  253. package/dist/generated/themes/BrowserScrollbar.css.js +8 -0
  254. package/dist/generated/themes/BusyIndicator.css.js +5 -5
  255. package/dist/generated/themes/Button.css.js +5 -5
  256. package/dist/generated/themes/Button.ie11.css.js +8 -0
  257. package/dist/generated/themes/Calendar.css.js +5 -5
  258. package/dist/generated/themes/CalendarHeader.css.js +5 -5
  259. package/dist/generated/themes/Card.css.js +5 -5
  260. package/dist/generated/themes/CardHeader.css.js +8 -0
  261. package/dist/generated/themes/Carousel.css.js +5 -5
  262. package/dist/generated/themes/CheckBox.css.js +5 -5
  263. package/dist/generated/themes/ColorPalette.css.js +8 -0
  264. package/dist/generated/themes/ColorPaletteItem.css.js +8 -0
  265. package/dist/generated/themes/ColorPalettePopover.css.js +8 -0
  266. package/dist/generated/themes/ColorPaletteStaticArea.css.js +8 -0
  267. package/dist/generated/themes/ColorPicker.css.js +8 -0
  268. package/dist/generated/themes/ComboBox.css.js +5 -5
  269. package/dist/generated/themes/ComboBoxPopover.css.js +5 -5
  270. package/dist/generated/themes/CustomListItem.css.js +5 -5
  271. package/dist/generated/themes/DatePicker.css.js +5 -5
  272. package/dist/generated/themes/DatePickerPopover.css.js +5 -5
  273. package/dist/generated/themes/DateRangePicker.css.js +8 -0
  274. package/dist/generated/themes/DateTimePicker.css.js +5 -5
  275. package/dist/generated/themes/DateTimePickerPopover.css.js +5 -5
  276. package/dist/generated/themes/DayPicker.css.js +5 -5
  277. package/dist/generated/themes/Dialog.css.js +5 -5
  278. package/dist/generated/themes/FileUploader.css.js +5 -5
  279. package/dist/generated/themes/GroupHeaderListItem.css.js +5 -5
  280. package/dist/generated/themes/GrowingButton.css.js +8 -0
  281. package/dist/generated/themes/Icon.css.js +5 -5
  282. package/dist/generated/themes/Input.css.js +5 -5
  283. package/dist/generated/themes/InputIcon.css.js +5 -5
  284. package/dist/generated/themes/InvisibleTextStyles.css.js +5 -5
  285. package/dist/generated/themes/Label.css.js +5 -5
  286. package/dist/generated/themes/Link.css.js +5 -5
  287. package/dist/generated/themes/List.css.js +5 -5
  288. package/dist/generated/themes/ListItem.css.js +5 -5
  289. package/dist/generated/themes/ListItemBase.css.js +5 -5
  290. package/dist/generated/themes/MessageStrip.css.js +5 -5
  291. package/dist/generated/themes/MonthPicker.css.js +5 -5
  292. package/dist/generated/themes/MultiComboBox.css.js +5 -5
  293. package/dist/generated/themes/MultiInput.css.js +8 -0
  294. package/dist/generated/themes/Panel.css.js +5 -5
  295. package/dist/generated/themes/Popover.css.js +5 -5
  296. package/dist/generated/themes/Popup.css.js +5 -5
  297. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  298. package/dist/generated/themes/PopupStaticAreaStyles.css.js +5 -5
  299. package/dist/generated/themes/PopupsCommon.css.js +8 -0
  300. package/dist/generated/themes/ProgressIndicator.css.js +8 -0
  301. package/dist/generated/themes/RadioButton.css.js +5 -5
  302. package/dist/generated/themes/RatingIndicator.css.js +8 -0
  303. package/dist/generated/themes/ResponsivePopover.css.js +5 -5
  304. package/dist/generated/themes/ResponsivePopoverCommon.css.js +5 -5
  305. package/dist/generated/themes/SegmentedButton.css.js +5 -5
  306. package/dist/generated/themes/Select.css.js +5 -5
  307. package/dist/generated/themes/SelectPopover.css.js +8 -0
  308. package/dist/generated/themes/SliderBase.css.js +8 -0
  309. package/dist/generated/themes/StepInput.css.js +8 -0
  310. package/dist/generated/themes/Suggestions.css.js +8 -0
  311. package/dist/generated/themes/Switch.css.js +5 -5
  312. package/dist/generated/themes/Tab.css.js +5 -5
  313. package/dist/generated/themes/TabContainer.css.js +5 -5
  314. package/dist/generated/themes/TabInOverflow.css.js +5 -5
  315. package/dist/generated/themes/TabInStrip.css.js +5 -5
  316. package/dist/generated/themes/Table.css.js +5 -5
  317. package/dist/generated/themes/TableCell.css.js +5 -5
  318. package/dist/generated/themes/TableColumn.css.js +5 -5
  319. package/dist/generated/themes/TableGroupRow.css.js +8 -0
  320. package/dist/generated/themes/TableRow.css.js +5 -5
  321. package/dist/generated/themes/TapHighlightColor.css.js +8 -0
  322. package/dist/generated/themes/TextArea.css.js +5 -5
  323. package/dist/generated/themes/TimePicker.css.js +5 -5
  324. package/dist/generated/themes/TimePickerPopover.css.js +5 -5
  325. package/dist/generated/themes/TimeSelection.css.js +8 -0
  326. package/dist/generated/themes/Title.css.js +5 -5
  327. package/dist/generated/themes/Toast.css.js +5 -5
  328. package/dist/generated/themes/ToggleButton.css.js +5 -5
  329. package/dist/generated/themes/ToggleButton.ie11.css.js +8 -0
  330. package/dist/generated/themes/Token.css.js +5 -5
  331. package/dist/generated/themes/Tokenizer.css.js +5 -5
  332. package/dist/generated/themes/Tree.css.js +5 -5
  333. package/dist/generated/themes/TreeListItem.css.js +5 -5
  334. package/dist/generated/themes/ValueStateMessage.css.js +5 -5
  335. package/dist/generated/themes/WheelSlider.css.js +5 -5
  336. package/dist/generated/themes/YearPicker.css.js +5 -5
  337. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  338. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  340. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -0
  343. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -0
  344. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -0
  345. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -0
  346. package/dist/i18n/messagebundle.properties +335 -0
  347. package/dist/i18n/messagebundle_ar.properties +224 -0
  348. package/dist/i18n/messagebundle_bg.properties +224 -0
  349. package/dist/i18n/messagebundle_ca.properties +224 -0
  350. package/dist/i18n/messagebundle_cs.properties +224 -0
  351. package/dist/i18n/messagebundle_cy.properties +224 -0
  352. package/dist/i18n/messagebundle_da.properties +224 -0
  353. package/dist/i18n/messagebundle_de.properties +224 -0
  354. package/dist/i18n/messagebundle_el.properties +224 -0
  355. package/dist/i18n/messagebundle_en.properties +224 -0
  356. package/dist/i18n/messagebundle_en_GB.properties +224 -0
  357. package/dist/i18n/messagebundle_en_US_sappsd.properties +224 -0
  358. package/dist/i18n/messagebundle_en_US_saprigi.properties +224 -0
  359. package/dist/i18n/messagebundle_en_US_saptrc.properties +224 -0
  360. package/dist/i18n/messagebundle_es.properties +224 -0
  361. package/dist/i18n/messagebundle_es_MX.properties +224 -0
  362. package/dist/i18n/messagebundle_et.properties +224 -0
  363. package/dist/i18n/messagebundle_fi.properties +224 -0
  364. package/dist/i18n/messagebundle_fr.properties +224 -0
  365. package/dist/i18n/messagebundle_fr_CA.properties +224 -0
  366. package/dist/i18n/messagebundle_hi.properties +224 -0
  367. package/dist/i18n/messagebundle_hr.properties +224 -0
  368. package/dist/i18n/messagebundle_hu.properties +224 -0
  369. package/dist/i18n/messagebundle_id.properties +224 -0
  370. package/dist/i18n/messagebundle_in.properties +172 -0
  371. package/dist/i18n/messagebundle_it.properties +224 -0
  372. package/dist/i18n/messagebundle_iw.properties +224 -0
  373. package/dist/i18n/messagebundle_ja.properties +224 -0
  374. package/dist/i18n/messagebundle_kk.properties +224 -0
  375. package/dist/i18n/messagebundle_ko.properties +224 -0
  376. package/dist/i18n/messagebundle_lt.properties +224 -0
  377. package/dist/i18n/messagebundle_lv.properties +224 -0
  378. package/dist/i18n/messagebundle_ms.properties +224 -0
  379. package/dist/i18n/messagebundle_nl.properties +224 -0
  380. package/dist/i18n/messagebundle_no.properties +224 -0
  381. package/dist/i18n/messagebundle_pl.properties +224 -0
  382. package/dist/i18n/messagebundle_pt.properties +224 -0
  383. package/dist/i18n/messagebundle_pt_PT.properties +224 -0
  384. package/dist/i18n/messagebundle_ro.properties +224 -0
  385. package/dist/i18n/messagebundle_ru.properties +224 -0
  386. package/dist/i18n/messagebundle_sh.properties +224 -0
  387. package/dist/i18n/messagebundle_sk.properties +224 -0
  388. package/dist/i18n/messagebundle_sl.properties +224 -0
  389. package/dist/i18n/messagebundle_sv.properties +224 -0
  390. package/dist/i18n/messagebundle_th.properties +224 -0
  391. package/dist/i18n/messagebundle_tr.properties +224 -0
  392. package/dist/i18n/messagebundle_uk.properties +224 -0
  393. package/dist/i18n/messagebundle_vi.properties +224 -0
  394. package/dist/i18n/messagebundle_zh_CN.properties +224 -0
  395. package/dist/i18n/messagebundle_zh_TW.properties +224 -0
  396. package/dist/popup-utils/OpenedPopupsRegistry.js +18 -13
  397. package/dist/popup-utils/PopoverRegistry.js +49 -15
  398. package/dist/timepicker-utils/TimeSlider.js +15 -13
  399. package/dist/types/{AvatarBackgroundColor.js → AvatarColorScheme.js} +9 -9
  400. package/dist/types/AvatarGroupType.js +43 -0
  401. package/dist/types/AvatarShape.js +1 -1
  402. package/dist/types/AvatarSize.js +1 -1
  403. package/dist/types/BreadcrumbsDesign.js +42 -0
  404. package/dist/types/BreadcrumbsSeparatorStyle.js +69 -0
  405. package/dist/types/BusyIndicatorSize.js +1 -1
  406. package/dist/types/ButtonDesign.js +8 -1
  407. package/dist/types/CalendarSelectionMode.js +47 -0
  408. package/dist/types/CarouselArrowsPlacement.js +3 -3
  409. package/dist/types/GrowingMode.js +48 -0
  410. package/dist/types/InputType.js +7 -7
  411. package/dist/types/LinkDesign.js +1 -1
  412. package/dist/types/ListGrowingMode.js +15 -0
  413. package/dist/types/ListItemType.js +1 -1
  414. package/dist/types/ListMode.js +9 -1
  415. package/dist/types/ListSeparators.js +1 -1
  416. package/dist/types/{MessageStripType.js → MessageStripDesign.js} +7 -7
  417. package/dist/types/PanelAccessibleRole.js +1 -1
  418. package/dist/types/PopoverHorizontalAlign.js +1 -1
  419. package/dist/types/PopoverPlacementType.js +2 -2
  420. package/dist/types/PopoverVerticalAlign.js +1 -2
  421. package/dist/types/Priority.js +1 -1
  422. package/dist/types/SemanticColor.js +1 -1
  423. package/dist/types/SwitchDesign.js +40 -0
  424. package/dist/types/TabContainerTabsPlacement.js +5 -5
  425. package/dist/types/TabLayout.js +1 -1
  426. package/dist/types/TableGrowingMode.js +15 -0
  427. package/dist/types/TableMode.js +47 -0
  428. package/dist/types/TableRowType.js +40 -0
  429. package/dist/types/TitleLevel.js +1 -1
  430. package/dist/types/ToastPlacement.js +1 -2
  431. package/dist/types/WrappingType.js +41 -0
  432. package/dist/webcomponentsjs/CHANGELOG.md +61 -0
  433. package/dist/webcomponentsjs/README.md +64 -47
  434. package/dist/webcomponentsjs/bundles/webcomponents-ce.js +38 -38
  435. package/dist/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -1
  436. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js +60 -0
  437. package/dist/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
  438. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
  439. package/dist/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
  440. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +292 -229
  441. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -1
  442. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js +190 -170
  443. package/dist/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -1
  444. package/dist/webcomponentsjs/bundles/webcomponents-sd.js +151 -132
  445. package/dist/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -1
  446. package/dist/webcomponentsjs/custom-elements-es5-adapter.js +2 -2
  447. package/dist/webcomponentsjs/webcomponents-bundle.js +302 -230
  448. package/dist/webcomponentsjs/webcomponents-bundle.js.map +1 -1
  449. package/dist/webcomponentsjs/webcomponents-loader.js +49 -28
  450. package/package-scripts.js +1 -0
  451. package/package.json +23 -7
  452. package/src/Assets-static.js +6 -0
  453. package/src/Assets.js +7 -0
  454. package/src/Avatar.hbs +20 -0
  455. package/src/Avatar.js +392 -0
  456. package/src/AvatarGroup.hbs +30 -0
  457. package/src/AvatarGroup.js +603 -0
  458. package/src/Badge.hbs +14 -0
  459. package/src/Badge.js +165 -0
  460. package/src/Breadcrumbs.hbs +42 -0
  461. package/src/Breadcrumbs.js +563 -0
  462. package/src/BreadcrumbsItem.js +109 -0
  463. package/src/BreadcrumbsPopover.hbs +28 -0
  464. package/src/BusyIndicator.hbs +32 -0
  465. package/src/BusyIndicator.js +269 -0
  466. package/src/Button.hbs +45 -0
  467. package/src/Button.js +463 -0
  468. package/src/Calendar.hbs +69 -0
  469. package/src/Calendar.js +489 -0
  470. package/src/CalendarDate.js +45 -0
  471. package/src/CalendarHeader.hbs +54 -0
  472. package/src/CalendarHeader.js +209 -0
  473. package/src/CalendarPart.js +111 -0
  474. package/src/Card.hbs +14 -0
  475. package/src/Card.js +160 -0
  476. package/src/CardHeader.hbs +35 -0
  477. package/src/CardHeader.js +288 -0
  478. package/src/Carousel.hbs +85 -0
  479. package/src/Carousel.js +681 -0
  480. package/src/CheckBox.hbs +44 -0
  481. package/src/CheckBox.js +424 -0
  482. package/src/ColorPalette.hbs +52 -0
  483. package/src/ColorPalette.js +493 -0
  484. package/src/ColorPaletteDialog.hbs +18 -0
  485. package/src/ColorPaletteItem.hbs +11 -0
  486. package/src/ColorPaletteItem.js +137 -0
  487. package/src/ColorPalettePopover.hbs +29 -0
  488. package/src/ColorPalettePopover.js +219 -0
  489. package/src/ColorPicker.hbs +98 -0
  490. package/src/ColorPicker.js +524 -0
  491. package/src/ComboBox.hbs +49 -0
  492. package/src/ComboBox.js +1041 -0
  493. package/src/ComboBoxFilters.js +40 -0
  494. package/src/ComboBoxGroupItem.js +70 -0
  495. package/src/ComboBoxItem.js +49 -0
  496. package/src/ComboBoxPopover.hbs +125 -0
  497. package/src/CustomListItem.hbs +5 -0
  498. package/src/CustomListItem.js +99 -0
  499. package/src/DateComponentBase.js +170 -0
  500. package/src/DatePicker.hbs +44 -0
  501. package/src/DatePicker.js +823 -0
  502. package/src/DatePickerPopover.hbs +63 -0
  503. package/src/DateRangePicker.js +328 -0
  504. package/src/DateTimePicker.js +430 -0
  505. package/src/DateTimePickerPopover.hbs +74 -0
  506. package/src/DayPicker.hbs +66 -0
  507. package/src/DayPicker.js +754 -0
  508. package/src/Dialog.hbs +35 -0
  509. package/src/Dialog.js +601 -0
  510. package/src/DurationPicker.js +312 -0
  511. package/src/FileUploader.hbs +40 -0
  512. package/src/FileUploader.js +532 -0
  513. package/src/FileUploaderPopover.hbs +25 -0
  514. package/src/GroupHeaderListItem.hbs +15 -0
  515. package/src/GroupHeaderListItem.js +94 -0
  516. package/src/Icon.hbs +25 -0
  517. package/src/Icon.js +373 -0
  518. package/src/Input.hbs +78 -0
  519. package/src/Input.js +1381 -0
  520. package/src/InputPopover.hbs +118 -0
  521. package/src/Interfaces.js +192 -0
  522. package/src/Label.hbs +13 -0
  523. package/src/Label.js +152 -0
  524. package/src/Link.hbs +20 -0
  525. package/src/Link.js +349 -0
  526. package/src/List.hbs +89 -0
  527. package/src/List.js +1056 -0
  528. package/src/ListItem.hbs +102 -0
  529. package/src/ListItem.js +371 -0
  530. package/src/ListItemBase.js +179 -0
  531. package/src/MessageStrip.hbs +34 -0
  532. package/src/MessageStrip.js +226 -0
  533. package/src/MonthPicker.hbs +29 -0
  534. package/src/MonthPicker.js +299 -0
  535. package/src/MultiComboBox.hbs +78 -0
  536. package/src/MultiComboBox.js +1091 -0
  537. package/src/MultiComboBoxItem.js +43 -0
  538. package/src/MultiComboBoxPopover.hbs +133 -0
  539. package/src/MultiInput.hbs +41 -0
  540. package/src/MultiInput.js +301 -0
  541. package/src/Option.js +115 -0
  542. package/src/Panel.hbs +63 -0
  543. package/src/Panel.js +462 -0
  544. package/src/Popover.hbs +25 -0
  545. package/src/Popover.js +786 -0
  546. package/src/Popup.hbs +34 -0
  547. package/src/Popup.js +567 -0
  548. package/src/PopupBlockLayer.hbs +7 -0
  549. package/src/ProgressIndicator.hbs +35 -0
  550. package/src/ProgressIndicator.js +235 -0
  551. package/src/RadioButton.hbs +33 -0
  552. package/src/RadioButton.js +494 -0
  553. package/src/RadioButtonGroup.js +205 -0
  554. package/src/RangeSlider.hbs +70 -0
  555. package/src/RangeSlider.js +769 -0
  556. package/src/RatingIndicator.hbs +33 -0
  557. package/src/RatingIndicator.js +291 -0
  558. package/src/ResponsivePopover.hbs +39 -0
  559. package/src/ResponsivePopover.js +206 -0
  560. package/src/SegmentedButton.hbs +17 -0
  561. package/src/SegmentedButton.js +290 -0
  562. package/src/SegmentedButtonItem.hbs +42 -0
  563. package/src/SegmentedButtonItem.js +109 -0
  564. package/src/Select.hbs +45 -0
  565. package/src/Select.js +834 -0
  566. package/src/SelectPopover.hbs +89 -0
  567. package/src/Slider.hbs +42 -0
  568. package/src/Slider.js +320 -0
  569. package/src/SliderBase.hbs +38 -0
  570. package/src/SliderBase.js +842 -0
  571. package/src/StandardListItem.hbs +44 -0
  572. package/src/StandardListItem.js +191 -0
  573. package/src/StepInput.hbs +77 -0
  574. package/src/StepInput.js +681 -0
  575. package/src/SuggestionGroupItem.js +64 -0
  576. package/src/SuggestionItem.js +146 -0
  577. package/src/SuggestionListItem.hbs +33 -0
  578. package/src/SuggestionListItem.js +76 -0
  579. package/src/Switch.hbs +50 -0
  580. package/src/Switch.js +261 -0
  581. package/src/Tab.hbs +3 -0
  582. package/src/Tab.js +334 -0
  583. package/src/TabContainer.hbs +93 -0
  584. package/src/TabContainer.js +679 -0
  585. package/src/TabContainerPopover.hbs +24 -0
  586. package/src/TabInOverflow.hbs +22 -0
  587. package/src/TabInStrip.hbs +43 -0
  588. package/src/TabSeparator.hbs +1 -0
  589. package/src/TabSeparator.js +44 -0
  590. package/src/Table.hbs +99 -0
  591. package/src/Table.js +761 -0
  592. package/src/TableCell.hbs +7 -0
  593. package/src/TableCell.js +88 -0
  594. package/src/TableColumn.hbs +8 -0
  595. package/src/TableColumn.js +136 -0
  596. package/src/TableGroupRow.hbs +12 -0
  597. package/src/TableGroupRow.js +160 -0
  598. package/src/TableRow.hbs +61 -0
  599. package/src/TableRow.js +388 -0
  600. package/src/TextArea.hbs +50 -0
  601. package/src/TextArea.js +691 -0
  602. package/src/TextAreaPopover.hbs +28 -0
  603. package/src/TimePicker.hbs +35 -0
  604. package/src/TimePicker.js +166 -0
  605. package/src/TimePickerBase.js +463 -0
  606. package/src/TimePickerPopover.hbs +34 -0
  607. package/src/TimeSelection.hbs +60 -0
  608. package/src/TimeSelection.js +493 -0
  609. package/src/Title.hbs +47 -0
  610. package/src/Title.js +132 -0
  611. package/src/Toast.hbs +13 -0
  612. package/src/Toast.js +243 -0
  613. package/src/ToggleButton.hbs +5 -0
  614. package/src/ToggleButton.js +84 -0
  615. package/src/Token.hbs +30 -0
  616. package/src/Token.js +219 -0
  617. package/src/Tokenizer.hbs +27 -0
  618. package/src/Tokenizer.js +414 -0
  619. package/src/TokenizerPopover.hbs +50 -0
  620. package/src/Tree.hbs +42 -0
  621. package/src/Tree.js +443 -0
  622. package/src/TreeItem.js +168 -0
  623. package/src/TreeListItem.hbs +48 -0
  624. package/src/TreeListItem.js +332 -0
  625. package/src/WheelSlider.hbs +48 -0
  626. package/src/WheelSlider.js +435 -0
  627. package/src/YearPicker.hbs +27 -0
  628. package/src/YearPicker.js +324 -0
  629. package/src/features/ColorPaletteMoreColors.js +42 -0
  630. package/src/features/InputElementsFormSupport.js +88 -0
  631. package/src/features/InputSuggestions.js +530 -0
  632. package/src/i18n/messagebundle.properties +335 -0
  633. package/src/i18n/messagebundle_ar.properties +224 -0
  634. package/src/i18n/messagebundle_bg.properties +224 -0
  635. package/src/i18n/messagebundle_ca.properties +224 -0
  636. package/src/i18n/messagebundle_cs.properties +224 -0
  637. package/src/i18n/messagebundle_cy.properties +224 -0
  638. package/src/i18n/messagebundle_da.properties +224 -0
  639. package/src/i18n/messagebundle_de.properties +224 -0
  640. package/src/i18n/messagebundle_el.properties +224 -0
  641. package/src/i18n/messagebundle_en.properties +224 -0
  642. package/src/i18n/messagebundle_en_GB.properties +224 -0
  643. package/src/i18n/messagebundle_en_US_sappsd.properties +224 -0
  644. package/src/i18n/messagebundle_en_US_saprigi.properties +224 -0
  645. package/src/i18n/messagebundle_en_US_saptrc.properties +224 -0
  646. package/src/i18n/messagebundle_es.properties +224 -0
  647. package/src/i18n/messagebundle_es_MX.properties +224 -0
  648. package/src/i18n/messagebundle_et.properties +224 -0
  649. package/src/i18n/messagebundle_fi.properties +224 -0
  650. package/src/i18n/messagebundle_fr.properties +224 -0
  651. package/src/i18n/messagebundle_fr_CA.properties +224 -0
  652. package/src/i18n/messagebundle_hi.properties +224 -0
  653. package/src/i18n/messagebundle_hr.properties +224 -0
  654. package/src/i18n/messagebundle_hu.properties +224 -0
  655. package/src/i18n/messagebundle_id.properties +224 -0
  656. package/src/i18n/messagebundle_in.properties +172 -0
  657. package/src/i18n/messagebundle_it.properties +224 -0
  658. package/src/i18n/messagebundle_iw.properties +224 -0
  659. package/src/i18n/messagebundle_ja.properties +224 -0
  660. package/src/i18n/messagebundle_kk.properties +224 -0
  661. package/src/i18n/messagebundle_ko.properties +224 -0
  662. package/src/i18n/messagebundle_lt.properties +224 -0
  663. package/src/i18n/messagebundle_lv.properties +224 -0
  664. package/src/i18n/messagebundle_ms.properties +224 -0
  665. package/src/i18n/messagebundle_nl.properties +224 -0
  666. package/src/i18n/messagebundle_no.properties +224 -0
  667. package/src/i18n/messagebundle_pl.properties +224 -0
  668. package/src/i18n/messagebundle_pt.properties +224 -0
  669. package/src/i18n/messagebundle_pt_PT.properties +224 -0
  670. package/src/i18n/messagebundle_ro.properties +224 -0
  671. package/src/i18n/messagebundle_ru.properties +224 -0
  672. package/src/i18n/messagebundle_sh.properties +224 -0
  673. package/src/i18n/messagebundle_sk.properties +224 -0
  674. package/src/i18n/messagebundle_sl.properties +224 -0
  675. package/src/i18n/messagebundle_sv.properties +224 -0
  676. package/src/i18n/messagebundle_th.properties +224 -0
  677. package/src/i18n/messagebundle_tr.properties +224 -0
  678. package/src/i18n/messagebundle_uk.properties +224 -0
  679. package/src/i18n/messagebundle_vi.properties +224 -0
  680. package/src/i18n/messagebundle_zh_CN.properties +224 -0
  681. package/src/i18n/messagebundle_zh_TW.properties +224 -0
  682. package/src/popup-utils/OpenedPopupsRegistry.js +50 -0
  683. package/src/popup-utils/PopoverRegistry.js +145 -0
  684. package/src/timepicker-utils/TimeSlider.js +103 -0
  685. package/src/types/AvatarColorScheme.js +104 -0
  686. package/src/types/AvatarGroupType.js +43 -0
  687. package/src/types/AvatarShape.js +41 -0
  688. package/src/types/AvatarSize.js +67 -0
  689. package/src/types/BreadcrumbsDesign.js +42 -0
  690. package/src/types/BreadcrumbsSeparatorStyle.js +69 -0
  691. package/src/types/BusyIndicatorSize.js +47 -0
  692. package/src/types/ButtonDesign.js +68 -0
  693. package/src/types/CalendarSelectionMode.js +47 -0
  694. package/src/types/CarouselArrowsPlacement.js +40 -0
  695. package/src/types/GrowingMode.js +48 -0
  696. package/src/types/InputType.js +68 -0
  697. package/src/types/LinkDesign.js +47 -0
  698. package/src/types/ListGrowingMode.js +15 -0
  699. package/src/types/ListItemType.js +47 -0
  700. package/src/types/ListMode.js +77 -0
  701. package/src/types/ListSeparators.js +46 -0
  702. package/src/types/MessageStripDesign.js +54 -0
  703. package/src/types/PanelAccessibleRole.js +48 -0
  704. package/src/types/PopoverHorizontalAlign.js +54 -0
  705. package/src/types/PopoverPlacementType.js +54 -0
  706. package/src/types/PopoverVerticalAlign.js +54 -0
  707. package/src/types/Priority.js +55 -0
  708. package/src/types/SemanticColor.js +61 -0
  709. package/src/types/SwitchDesign.js +40 -0
  710. package/src/types/TabContainerTabsPlacement.js +40 -0
  711. package/src/types/TabLayout.js +40 -0
  712. package/src/types/TableGrowingMode.js +15 -0
  713. package/src/types/TableMode.js +47 -0
  714. package/src/types/TableRowType.js +40 -0
  715. package/src/types/TitleLevel.js +68 -0
  716. package/src/types/ToastPlacement.js +91 -0
  717. package/src/types/WrappingType.js +41 -0
  718. package/dist/Timeline.js +0 -97
  719. package/dist/TimelineItem.js +0 -161
  720. package/dist/generated/templates/ComboBoxItemTemplate.lit.js +0 -7
  721. package/dist/generated/templates/DurationPickerPopoverTemplate.lit.js +0 -10
  722. package/dist/generated/templates/DurationPickerTemplate.lit.js +0 -8
  723. package/dist/generated/templates/TimelineItemTemplate.lit.js +0 -12
  724. package/dist/generated/templates/TimelineTemplate.lit.js +0 -8
  725. package/dist/generated/themes/ComboBoxItem.css.js +0 -8
  726. package/dist/generated/themes/DurationPicker.css.js +0 -8
  727. package/dist/generated/themes/DurationPickerPopover.css.js +0 -8
  728. package/dist/generated/themes/Timeline.css.js +0 -8
  729. package/dist/generated/themes/TimelineItem.css.js +0 -8
  730. package/dist/popup-utils/PopupUtils.js +0 -55
  731. package/dist/types/AvatarFitType.js +0 -40
  732. package/dist/webcomponentsjs/package.json +0 -46
package/dist/Popover.js CHANGED
@@ -1,14 +1,18 @@
1
1
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
2
- import PopoverTemplate from "./generated/templates/PopoverTemplate.lit.js";
2
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
3
+ import { getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
4
+ import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
3
5
  import Popup from "./Popup.js";
4
6
  import PopoverPlacementType from "./types/PopoverPlacementType.js";
5
7
  import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
6
8
  import PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js";
7
-
8
9
  import { addOpenedPopover, removeOpenedPopover } from "./popup-utils/PopoverRegistry.js";
9
- import { getFocusedElement, getClosedPopupParent } from "./popup-utils/PopupUtils.js";
10
10
 
11
+ // Template
12
+ import PopoverTemplate from "./generated/templates/PopoverTemplate.lit.js";
11
13
  // Styles
14
+ import browserScrollbarCSS from "./generated/themes/BrowserScrollbar.css.js";
15
+ import PopupsCommonCss from "./generated/themes/PopupsCommon.css.js";
12
16
  import PopoverCss from "./generated/themes/Popover.css.js";
13
17
 
14
18
  const arrowSize = 8;
@@ -20,7 +24,20 @@ const metadata = {
20
24
  tag: "ui5-popover",
21
25
  properties: /** @lends sap.ui.webcomponents.main.Popover.prototype */ {
22
26
  /**
23
- * Determines on which side the <code>ui5-popover</code> is placed at.
27
+ * Defines the header text.
28
+ * <br><br>
29
+ * <b>Note:</b> If <code>header</code> slot is provided, the <code>headerText</code> is ignored.
30
+ *
31
+ * @type {string}
32
+ * @defaultvalue ""
33
+ * @public
34
+ */
35
+ headerText: {
36
+ type: String,
37
+ },
38
+
39
+ /**
40
+ * Determines on which side the component is placed at.
24
41
  * <br><br>
25
42
  * Available options are:
26
43
  * <ul>
@@ -40,7 +57,7 @@ const metadata = {
40
57
  },
41
58
 
42
59
  /**
43
- * Determines the horizontal alignment of the <code>ui5-popover</code>.
60
+ * Determines the horizontal alignment of the component.
44
61
  * <br><br>
45
62
  * Available options are:
46
63
  * <ul>
@@ -60,7 +77,7 @@ const metadata = {
60
77
  },
61
78
 
62
79
  /**
63
- * Determines the vertical alignment of the <code>ui5-popover</code>.
80
+ * Determines the vertical alignment of the component.
64
81
  * <br><br>
65
82
  * Available options are:
66
83
  * <ul>
@@ -80,7 +97,7 @@ const metadata = {
80
97
  },
81
98
 
82
99
  /**
83
- * Defines whether the <code>ui5-popover</code> should close when
100
+ * Defines whether the component should close when
84
101
  * clicking/tapping outside of the popover.
85
102
  * If enabled, it blocks any interaction with the background.
86
103
  *
@@ -93,18 +110,30 @@ const metadata = {
93
110
  },
94
111
 
95
112
  /**
96
- * Determines whether the <code>ui5-popover</code> arrow is hidden.
113
+ * Defines whether the block layer will be shown if modal property is set to true.
114
+ * @type {boolean}
115
+ * @defaultvalue false
116
+ * @public
117
+ * @since 1.0.0-rc.10
118
+ */
119
+ hideBackdrop: {
120
+ type: Boolean,
121
+ },
122
+
123
+ /**
124
+ * Determines whether the component arrow is hidden.
97
125
  *
98
126
  * @type {boolean}
99
127
  * @defaultvalue false
100
128
  * @public
129
+ * @since 1.0.0-rc.15
101
130
  */
102
- noArrow: {
131
+ hideArrow: {
103
132
  type: Boolean,
104
133
  },
105
134
 
106
135
  /**
107
- * Determines if there is no enough space, the <code>ui5-popover</code> can be placed
136
+ * Determines if there is no enough space, the component can be placed
108
137
  * over the target.
109
138
  *
110
139
  * @type {boolean}
@@ -115,6 +144,17 @@ const metadata = {
115
144
  type: Boolean,
116
145
  },
117
146
 
147
+ /**
148
+ * Defines whether the content is scrollable.
149
+ *
150
+ * @type {boolean}
151
+ * @defaultvalue false
152
+ * @private
153
+ */
154
+ disableScrolling: {
155
+ type: Boolean,
156
+ },
157
+
118
158
  /**
119
159
  * Sets the X translation of the arrow
120
160
  *
@@ -147,20 +187,17 @@ const metadata = {
147
187
  defaultValue: PopoverPlacementType.Right,
148
188
  },
149
189
 
150
- _maxContentHeight: { type: Integer },
190
+ _maxContentHeight: {
191
+ type: Integer,
192
+ noAttribute: true,
193
+ },
194
+ _maxContentWidth: {
195
+ type: Integer,
196
+ noAttribute: true,
197
+ },
151
198
  },
152
199
  managedSlots: true,
153
200
  slots: /** @lends sap.ui.webcomponents.main.Popover.prototype */ {
154
- /**
155
- * Defines the content of the Web Component.
156
- * @type {Node[]}
157
- * @slot
158
- * @public
159
- */
160
- "default": {
161
- type: HTMLElement,
162
- },
163
-
164
201
  /**
165
202
  * Defines the header HTML Element.
166
203
  *
@@ -224,107 +261,74 @@ const metadata = {
224
261
  * @public
225
262
  */
226
263
  class Popover extends Popup {
264
+ constructor() {
265
+ super();
266
+
267
+ this._handleResize = this.handleResize.bind(this);
268
+ }
269
+
227
270
  static get metadata() {
228
271
  return metadata;
229
272
  }
230
273
 
231
274
  static get styles() {
232
- return [Popup.styles, PopoverCss];
275
+ return [browserScrollbarCSS, PopupsCommonCss, PopoverCss];
233
276
  }
234
277
 
235
278
  static get template() {
236
279
  return PopoverTemplate;
237
280
  }
238
281
 
239
- static get MIN_OFFSET() {
282
+ static get VIEWPORT_MARGIN() {
240
283
  return 10; // px
241
284
  }
242
285
 
286
+ onEnterDOM() {
287
+ ResizeHandler.register(this, this._handleResize);
288
+ }
289
+
290
+ onExitDOM() {
291
+ ResizeHandler.deregister(this, this._handleResize);
292
+ }
293
+
243
294
  isOpenerClicked(event) {
244
295
  const target = event.target;
245
- return target === this._opener || (target.getFocusDomRef && target.getFocusDomRef() === this._opener);
296
+ return target === this._opener || (target.getFocusDomRef && target.getFocusDomRef() === this._opener) || event.composedPath().indexOf(this._opener) > -1;
246
297
  }
247
298
 
248
299
  /**
249
- * Opens the popover.
250
- * @param {HTMLElement} opener the element that the popover is opened by
300
+ * Shows the popover.
301
+ * @param {HTMLElement} opener the element that the popover is shown at
302
+ * @param {boolean} preventInitialFocus prevents applying the focus inside the popover
251
303
  * @public
304
+ * @async
305
+ * @returns {Promise} Resolved when the popover is open
252
306
  */
253
- openBy(opener) {
307
+ async showAt(opener, preventInitialFocus = false) {
254
308
  if (!opener || this.opened) {
255
309
  return;
256
310
  }
257
311
 
258
- super.open();
259
-
260
- if (this.isModal) {
261
- Popover.blockBodyScrolling();
262
- }
263
-
264
312
  this._opener = opener;
265
- this._focusedElementBeforeOpen = getFocusedElement();
266
-
267
- this.fireEvent("before-open", {});
268
- this.reposition();
269
- this.applyInitialFocus();
270
-
271
- addOpenedPopover(this);
313
+ this._openerRect = opener.getBoundingClientRect();
272
314
 
273
- this.opened = true;
274
- this.fireEvent("after-open", {});
315
+ await super._open(preventInitialFocus);
275
316
  }
276
317
 
277
318
  /**
278
- * Closes the popover.
279
- * @public
319
+ * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)
320
+ * @private
280
321
  */
281
- close(escPressed = false, preventRegitryUpdate = false, preventFocusRestore = false) {
282
- if (!this.opened) {
283
- return;
284
- }
285
-
286
- super.close();
287
-
288
- if (this.isModal) {
289
- Popover.unblockBodyScrolling();
290
- }
291
-
292
- this.fireEvent("before-close", {
293
- escPressed,
294
- }, true);
295
-
296
-
297
- this.opened = false;
298
-
299
- if (!preventRegitryUpdate) {
300
- removeOpenedPopover(this);
301
- }
302
-
303
- if (!preventFocusRestore) {
304
- this.resetFocus();
305
- }
306
-
307
- this.hide();
308
- this.fireEvent("after-close", {});
309
- }
310
-
311
- get focusedElement() {
312
- let element = document.activeElement;
313
-
314
- while (element.shadowRoot && element.shadowRoot.activeElement) {
315
- element = element.shadowRoot.activeElement;
316
- }
317
-
318
- return (element && typeof element.focus === "function") ? element : null;
322
+ _addOpenedPopup() {
323
+ addOpenedPopover(this);
319
324
  }
320
325
 
321
- resetFocus() {
322
- if (!this._focusedElementBeforeOpen) {
323
- return;
324
- }
325
-
326
- this._focusedElementBeforeOpen.focus();
327
- this._focusedElementBeforeOpen = null;
326
+ /**
327
+ * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)
328
+ * @private
329
+ */
330
+ _removeOpenedPopup() {
331
+ removeOpenedPopover(this);
328
332
  }
329
333
 
330
334
  shouldCloseDueToOverflow(placement, openerRect) {
@@ -340,7 +344,7 @@ class Popover extends Popup {
340
344
  let overflowsBottom = false;
341
345
  let overflowsTop = false;
342
346
 
343
- if (closedPopupParent.openBy) {
347
+ if (closedPopupParent.showAt) {
344
348
  const contentRect = closedPopupParent.contentDOM.getBoundingClientRect();
345
349
  overflowsBottom = openerRect.top > (contentRect.top + contentRect.height);
346
350
  overflowsTop = (openerRect.top + openerRect.height) < contentRect.top;
@@ -356,62 +360,116 @@ class Popover extends Popup {
356
360
  && openerRect.right === 0;
357
361
  }
358
362
 
363
+ handleResize() {
364
+ if (this.opened) {
365
+ this.reposition();
366
+ }
367
+ }
368
+
359
369
  reposition() {
360
- const popoverSize = this.popoverSize;
361
- const openerRect = this._opener.getBoundingClientRect();
362
- const placement = this.calcPlacement(openerRect, popoverSize);
363
- const stretching = this.horizontalAlign === PopoverHorizontalAlign.Stretch;
370
+ this._show();
371
+ }
364
372
 
365
- if (this._preventRepositionAndClose) {
366
- return this.close();
367
- }
373
+ _show() {
374
+ let placement;
375
+ const popoverSize = this.getPopoverSize();
368
376
 
369
- if (this._oldPlacement && (this._oldPlacement.left === placement.left) && (this._oldPlacement.top === placement.top) && stretching) {
370
- this.show();
371
- this.style.width = this._width;
377
+ if (popoverSize.width === 0 || popoverSize.height === 0) {
378
+ // size can not be determined properly at this point, popover will be shown with the next reposition
372
379
  return;
373
380
  }
374
381
 
375
- this._oldPlacement = placement;
382
+ if (this.isOpen()) {
383
+ // update opener rect if it was changed during the popover being opened
384
+ this._openerRect = this._opener.getBoundingClientRect();
385
+ }
376
386
 
377
- const popoverOnLeftBorder = this._left === 0;
378
- const popoverOnTopBorder = this._top === 0;
387
+ if (this.shouldCloseDueToNoOpener(this._openerRect) && this.isFocusWithin()) {
388
+ // reuse the old placement as the opener is not available,
389
+ // but keep the popover open as the focus is within
390
+ placement = this._oldPlacement;
391
+ } else {
392
+ placement = this.calcPlacement(this._openerRect, popoverSize);
393
+ }
394
+
395
+ const stretching = this.horizontalAlign === PopoverHorizontalAlign.Stretch;
379
396
 
397
+ if (this._preventRepositionAndClose) {
398
+ return this.close();
399
+ }
400
+
401
+ this._oldPlacement = placement;
380
402
  this.actualPlacementType = placement.placementType;
381
- this.arrowTranslateX = popoverOnLeftBorder ? placement.arrowX - Popover.MIN_OFFSET : placement.arrowX;
382
- this.arrowTranslateY = popoverOnTopBorder ? placement.arrowY - Popover.MIN_OFFSET : placement.arrowY;
383
403
 
384
- this.style.left = `${popoverOnLeftBorder ? Popover.MIN_OFFSET : this._left}px`;
385
- this.style.top = `${popoverOnTopBorder ? Popover.MIN_OFFSET : this._top}px`;
386
- this.show();
404
+ let left = clamp(
405
+ this._left,
406
+ Popover.VIEWPORT_MARGIN,
407
+ document.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,
408
+ );
387
409
 
388
- if (stretching && this._width) {
389
- this.style.width = this._width;
410
+ if (this.actualPlacementType === PopoverPlacementType.Right) {
411
+ left = Math.max(left, this._left);
390
412
  }
391
- }
392
413
 
393
- get popoverSize() {
394
- let width,
395
- height;
396
- let rect = this.getBoundingClientRect();
414
+ let top = clamp(
415
+ this._top,
416
+ Popover.VIEWPORT_MARGIN,
417
+ document.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,
418
+ );
397
419
 
398
- if (this.opened) {
399
- width = rect.width;
400
- height = rect.height;
420
+ if (this.actualPlacementType === PopoverPlacementType.Bottom) {
421
+ top = Math.max(top, this._top);
422
+ }
401
423
 
402
- return { width, height };
424
+ let { arrowX, arrowY } = placement;
425
+ const isVertical = this.actualPlacementType === PopoverPlacementType.Top
426
+ || this.actualPlacementType === PopoverPlacementType.Bottom;
427
+
428
+ if (isVertical) {
429
+ const popoverOnLeftBorderOffset = Popover.VIEWPORT_MARGIN - this._left;
430
+ const popoverOnRightBorderOffset = this._left + popoverSize.width + Popover.VIEWPORT_MARGIN - document.documentElement.clientWidth;
431
+ if (popoverOnLeftBorderOffset > 0) {
432
+ arrowX -= popoverOnLeftBorderOffset;
433
+ } else if (popoverOnRightBorderOffset > 0) {
434
+ arrowX += popoverOnRightBorderOffset;
435
+ }
436
+ }
437
+ this.arrowTranslateX = Math.round(arrowX);
438
+
439
+ if (!isVertical) {
440
+ const popoverOnTopBorderOffset = Popover.VIEWPORT_MARGIN - this._top;
441
+ const popoverOnBottomBorderOffset = this._top + popoverSize.height + Popover.VIEWPORT_MARGIN - document.documentElement.clientHeight;
442
+ if (popoverOnTopBorderOffset > 0) {
443
+ arrowY -= popoverOnTopBorderOffset;
444
+ } else if (popoverOnBottomBorderOffset > 0) {
445
+ arrowY += popoverOnBottomBorderOffset;
446
+ }
403
447
  }
448
+ this.arrowTranslateY = Math.round(arrowY);
404
449
 
405
- this.style.visibility = "hidden";
406
- this.show();
450
+ Object.assign(this.style, {
451
+ top: `${top}px`,
452
+ left: `${left}px`,
453
+ });
454
+ super._show();
407
455
 
408
- rect = this.getBoundingClientRect();
456
+ if (stretching && this._width) {
457
+ this.style.width = this._width;
458
+ }
459
+ }
409
460
 
410
- width = rect.width;
411
- height = rect.height;
461
+ getPopoverSize() {
462
+ if (!this.opened) {
463
+ Object.assign(this.style, {
464
+ display: "block",
465
+ top: "-10000px",
466
+ left: "-10000px",
467
+ });
468
+ }
412
469
 
413
- this.hide();
414
- this.style.visibility = "visible";
470
+ const rect = this.getBoundingClientRect(),
471
+ width = rect.width,
472
+ height = rect.height;
415
473
 
416
474
  return { width, height };
417
475
  }
@@ -433,6 +491,7 @@ class Popover extends Popup {
433
491
  const clientHeight = document.documentElement.clientHeight;
434
492
 
435
493
  let maxHeight = clientHeight;
494
+ let maxWidth = clientWidth;
436
495
 
437
496
  let width = "";
438
497
  let height = "";
@@ -455,7 +514,7 @@ class Popover extends Popup {
455
514
  this._width = width;
456
515
  this._height = height;
457
516
 
458
- const arrowOffset = this.noArrow ? 0 : arrowSize;
517
+ const arrowOffset = this.hideArrow ? 0 : arrowSize;
459
518
 
460
519
  // calc popover positions
461
520
  switch (placementType) {
@@ -480,12 +539,17 @@ class Popover extends Popup {
480
539
  case PopoverPlacementType.Left:
481
540
  left = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);
482
541
  top = this.getHorizontalTop(targetRect, popoverSize);
542
+
543
+ if (!allowTargetOverlap) {
544
+ maxWidth = targetRect.left - arrowOffset;
545
+ }
483
546
  break;
484
547
  case PopoverPlacementType.Right:
485
548
  if (allowTargetOverlap) {
486
549
  left = Math.max(Math.min(targetRect.left + targetRect.width + arrowOffset, clientWidth - popoverSize.width), 0);
487
550
  } else {
488
551
  left = targetRect.left + targetRect.width + arrowOffset;
552
+ maxWidth = clientWidth - targetRect.right - arrowOffset;
489
553
  }
490
554
 
491
555
  top = this.getHorizontalTop(targetRect, popoverSize);
@@ -507,23 +571,21 @@ class Popover extends Popup {
507
571
  }
508
572
  }
509
573
 
510
- let maxContentHeight = Math.round(maxHeight);
511
-
512
- const hasHeader = this.header.length || this.headerText;
574
+ let maxContentHeight = maxHeight;
513
575
 
514
- if (hasHeader) {
576
+ if (this._displayHeader) {
515
577
  const headerDomRef = this.shadowRoot.querySelector(".ui5-popup-header-root")
516
578
  || this.shadowRoot.querySelector(".ui5-popup-header-text");
517
579
 
518
580
  if (headerDomRef) {
519
- maxContentHeight = Math.round(maxHeight - headerDomRef.offsetHeight);
581
+ maxContentHeight = maxHeight - headerDomRef.offsetHeight;
520
582
  }
521
583
  }
522
584
 
523
- this._maxContentHeight = maxContentHeight;
585
+ this._maxContentHeight = Math.round(maxContentHeight - Popover.VIEWPORT_MARGIN);
586
+ this._maxContentWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);
524
587
 
525
- const arrowTranslateX = isVertical ? targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2 : 0;
526
- const arrowTranslateY = !isVertical ? targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2 : 0;
588
+ const arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical);
527
589
 
528
590
  if (this._left === undefined || Math.abs(this._left - left) > 1.5) {
529
591
  this._left = Math.round(left);
@@ -534,14 +596,51 @@ class Popover extends Popup {
534
596
  }
535
597
 
536
598
  return {
537
- arrowX: Math.round(arrowTranslateX),
538
- arrowY: Math.round(arrowTranslateY),
599
+ arrowX: arrowPos.x,
600
+ arrowY: arrowPos.y,
539
601
  top: this._top,
540
602
  left: this._left,
541
603
  placementType,
542
604
  };
543
605
  }
544
606
 
607
+ /**
608
+ * Calculates the position for the arrow.
609
+ * @private
610
+ * @param targetRect BoundingClientRect of the target element
611
+ * @param popoverSize Width and height of the popover
612
+ * @param left Left offset of the popover
613
+ * @param top Top offset of the popover
614
+ * @param isVertical if the popover is positioned vertically to the target element
615
+ * @returns {{x: number, y: number}} Arrow's coordinates
616
+ */
617
+ getArrowPosition(targetRect, popoverSize, left, top, isVertical) {
618
+ let arrowXCentered = this.horizontalAlign === PopoverHorizontalAlign.Center || this.horizontalAlign === PopoverHorizontalAlign.Stretch;
619
+
620
+ if (this.horizontalAlign === PopoverHorizontalAlign.Right && left <= targetRect.left) {
621
+ arrowXCentered = true;
622
+ }
623
+
624
+ if (this.horizontalAlign === PopoverHorizontalAlign.Left && left + popoverSize.width >= targetRect.left + targetRect.width) {
625
+ arrowXCentered = true;
626
+ }
627
+
628
+ let arrowTranslateX = 0;
629
+ if (isVertical && arrowXCentered) {
630
+ arrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;
631
+ }
632
+
633
+ let arrowTranslateY = 0;
634
+ if (!isVertical) {
635
+ arrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;
636
+ }
637
+
638
+ return {
639
+ x: Math.round(arrowTranslateX),
640
+ y: Math.round(arrowTranslateY),
641
+ };
642
+ }
643
+
545
644
  /**
546
645
  * Fallbacks to new placement, prioritizing <code>Left</code> and <code>Right</code> placements.
547
646
  * @private
@@ -605,6 +704,7 @@ class Popover extends Popup {
605
704
  switch (this.horizontalAlign) {
606
705
  case PopoverHorizontalAlign.Center:
607
706
  case PopoverHorizontalAlign.Stretch:
707
+
608
708
  left = targetRect.left - (popoverSize.width - targetRect.width) / 2;
609
709
  break;
610
710
  case PopoverHorizontalAlign.Left:
@@ -637,15 +737,28 @@ class Popover extends Popup {
637
737
  return top;
638
738
  }
639
739
 
640
- get isModal() {
740
+ get isModal() { // Required by Popup.js
641
741
  return this.modal;
642
742
  }
643
743
 
744
+ get shouldHideBackdrop() { // Required by Popup.js
745
+ return this.hideBackdrop;
746
+ }
747
+
748
+ get _ariaLabelledBy() { // Required by Popup.js
749
+ return this.accessibleName ? undefined : "ui5-popup-header";
750
+ }
751
+
752
+ get _ariaModal() { // Required by Popup.js
753
+ return true;
754
+ }
755
+
644
756
  get styles() {
645
757
  return {
646
758
  ...super.styles,
647
759
  content: {
648
760
  "max-height": `${this._maxContentHeight}px`,
761
+ "max-width": `${this._maxContentWidth}px`,
649
762
  },
650
763
  arrow: {
651
764
  transform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,
@@ -657,7 +770,7 @@ class Popover extends Popup {
657
770
  * Hook for descendants to hide header.
658
771
  */
659
772
  get _displayHeader() {
660
- return true;
773
+ return this.header.length || this.headerText;
661
774
  }
662
775
 
663
776
  /**