@ui5/webcomponents 0.0.0-934b4df24 → 0.0.0-b053ad005

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 +124 -68
  14. package/dist/Calendar.js +342 -546
  15. package/dist/CalendarDate.js +45 -0
  16. package/dist/CalendarHeader.js +133 -62
  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 -100
  21. package/dist/CheckBox.js +149 -49
  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 +111 -384
  35. package/dist/DayPicker.js +509 -431
  36. package/dist/Dialog.js +496 -44
  37. package/dist/DurationPicker.js +135 -400
  38. package/dist/FileUploader.js +213 -25
  39. package/dist/GroupHeaderListItem.js +24 -14
  40. package/dist/Icon.js +141 -49
  41. package/dist/Input.js +614 -163
  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 +451 -117
  46. package/dist/ListItem.js +96 -26
  47. package/dist/ListItemBase.js +31 -8
  48. package/dist/MessageStrip.js +56 -70
  49. package/dist/MonthPicker.js +180 -182
  50. package/dist/MultiComboBox.js +574 -161
  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 +255 -169
  56. package/dist/Popup.js +370 -96
  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 +112 -76
  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 +145 -65
  76. package/dist/TabSeparator.js +1 -0
  77. package/dist/Table.js +480 -27
  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 +243 -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 +246 -64
  91. package/dist/Tree.js +150 -63
  92. package/dist/TreeItem.js +44 -9
  93. package/dist/TreeListItem.js +136 -14
  94. package/dist/WheelSlider.js +79 -59
  95. package/dist/YearPicker.js +199 -255
  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 +251 -57
  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 -89
  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 +8 -0
  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 +2 -2
  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 +227 -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
  *
@@ -184,40 +221,6 @@ const metadata = {
184
221
  },
185
222
  },
186
223
  events: /** @lends sap.ui.webcomponents.main.Popover.prototype */ {
187
- /**
188
- * Fired before the component is opened.
189
- *
190
- * @public
191
- * @event
192
- */
193
- beforeOpen: {},
194
-
195
- /**
196
- * Fired after the component is opened.
197
- *
198
- * @public
199
- * @event
200
- */
201
- afterOpen: {},
202
-
203
- /**
204
- * Fired before the component is closed.
205
- *
206
- * @public
207
- * @event
208
- * @param {Boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.
209
- */
210
- beforeClose: {
211
- escPressed: { type: Boolean },
212
- },
213
-
214
- /**
215
- * Fired after the component is closed.
216
- *
217
- * @public
218
- * @event
219
- */
220
- afterClose: {},
221
224
  },
222
225
  };
223
226
 
@@ -258,103 +261,74 @@ const metadata = {
258
261
  * @public
259
262
  */
260
263
  class Popover extends Popup {
264
+ constructor() {
265
+ super();
266
+
267
+ this._handleResize = this.handleResize.bind(this);
268
+ }
269
+
261
270
  static get metadata() {
262
271
  return metadata;
263
272
  }
264
273
 
265
274
  static get styles() {
266
- return [Popup.styles, PopoverCss];
275
+ return [browserScrollbarCSS, PopupsCommonCss, PopoverCss];
267
276
  }
268
277
 
269
278
  static get template() {
270
279
  return PopoverTemplate;
271
280
  }
272
281
 
282
+ static get VIEWPORT_MARGIN() {
283
+ return 10; // px
284
+ }
285
+
286
+ onEnterDOM() {
287
+ ResizeHandler.register(this, this._handleResize);
288
+ }
289
+
290
+ onExitDOM() {
291
+ ResizeHandler.deregister(this, this._handleResize);
292
+ }
293
+
273
294
  isOpenerClicked(event) {
274
295
  const target = event.target;
275
- 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;
276
297
  }
277
298
 
278
299
  /**
279
- * Opens the popover.
280
- * @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
281
303
  * @public
304
+ * @async
305
+ * @returns {Promise} Resolved when the popover is open
282
306
  */
283
- openBy(opener) {
307
+ async showAt(opener, preventInitialFocus = false) {
284
308
  if (!opener || this.opened) {
285
309
  return;
286
310
  }
287
311
 
288
- super.open();
289
-
290
- if (this.isModal) {
291
- Popover.blockBodyScrolling();
292
- }
293
-
294
312
  this._opener = opener;
295
- this._focusedElementBeforeOpen = getFocusedElement();
296
-
297
- this.fireEvent("beforeOpen", {});
298
- this.reposition();
299
- this.applyInitialFocus();
300
-
301
- addOpenedPopover(this);
313
+ this._openerRect = opener.getBoundingClientRect();
302
314
 
303
- this.opened = true;
304
- this.fireEvent("afterOpen", {});
315
+ await super._open(preventInitialFocus);
305
316
  }
306
317
 
307
318
  /**
308
- * Closes the popover.
309
- * @public
319
+ * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)
320
+ * @private
310
321
  */
311
- close(escPressed = false, preventRegitryUpdate = false, preventFocusRestore = false) {
312
- if (!this.opened) {
313
- return;
314
- }
315
-
316
- super.close();
317
-
318
- if (this.isModal) {
319
- Popover.unblockBodyScrolling();
320
- }
321
-
322
- this.fireEvent("beforeClose", {
323
- escPressed,
324
- }, true);
325
-
326
-
327
- this.opened = false;
328
-
329
- if (!preventRegitryUpdate) {
330
- removeOpenedPopover(this);
331
- }
332
-
333
- if (!preventFocusRestore) {
334
- this.resetFocus();
335
- }
336
-
337
- this.hide();
338
- this.fireEvent("afterClose", {});
339
- }
340
-
341
- get focusedElement() {
342
- let element = document.activeElement;
343
-
344
- while (element.shadowRoot && element.shadowRoot.activeElement) {
345
- element = element.shadowRoot.activeElement;
346
- }
347
-
348
- return (element && typeof element.focus === "function") ? element : null;
322
+ _addOpenedPopup() {
323
+ addOpenedPopover(this);
349
324
  }
350
325
 
351
- resetFocus() {
352
- if (!this._focusedElementBeforeOpen) {
353
- return;
354
- }
355
-
356
- this._focusedElementBeforeOpen.focus();
357
- 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);
358
332
  }
359
333
 
360
334
  shouldCloseDueToOverflow(placement, openerRect) {
@@ -370,7 +344,7 @@ class Popover extends Popup {
370
344
  let overflowsBottom = false;
371
345
  let overflowsTop = false;
372
346
 
373
- if (closedPopupParent.openBy) {
347
+ if (closedPopupParent.showAt) {
374
348
  const contentRect = closedPopupParent.contentDOM.getBoundingClientRect();
375
349
  overflowsBottom = openerRect.top > (contentRect.top + contentRect.height);
376
350
  overflowsTop = (openerRect.top + openerRect.height) < contentRect.top;
@@ -386,59 +360,116 @@ class Popover extends Popup {
386
360
  && openerRect.right === 0;
387
361
  }
388
362
 
363
+ handleResize() {
364
+ if (this.opened) {
365
+ this.reposition();
366
+ }
367
+ }
368
+
389
369
  reposition() {
390
- const popoverSize = this.popoverSize;
391
- const openerRect = this._opener.getBoundingClientRect();
392
- const placement = this.calcPlacement(openerRect, popoverSize);
370
+ this._show();
371
+ }
372
+
373
+ _show() {
374
+ let placement;
375
+ const popoverSize = this.getPopoverSize();
376
+
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
379
+ return;
380
+ }
381
+
382
+ if (this.isOpen()) {
383
+ // update opener rect if it was changed during the popover being opened
384
+ this._openerRect = this._opener.getBoundingClientRect();
385
+ }
386
+
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
+
393
395
  const stretching = this.horizontalAlign === PopoverHorizontalAlign.Stretch;
394
396
 
395
397
  if (this._preventRepositionAndClose) {
396
398
  return this.close();
397
399
  }
398
400
 
399
- if (this._oldPlacement && (this._oldPlacement.left === placement.left) && (this._oldPlacement.top === placement.top) && stretching) {
400
- this.show();
401
- this.style.width = this._width;
402
- return;
403
- }
404
-
405
401
  this._oldPlacement = placement;
406
-
407
402
  this.actualPlacementType = placement.placementType;
408
- this.arrowTranslateX = placement.arrowX;
409
- this.arrowTranslateY = placement.arrowY;
410
403
 
411
- this.style.left = `${this._left}px`;
412
- this.style.top = `${this._top}px`;
413
- this.show();
404
+ let left = clamp(
405
+ this._left,
406
+ Popover.VIEWPORT_MARGIN,
407
+ document.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,
408
+ );
414
409
 
415
- if (stretching && this._width) {
416
- this.style.width = this._width;
410
+ if (this.actualPlacementType === PopoverPlacementType.Right) {
411
+ left = Math.max(left, this._left);
417
412
  }
418
- }
419
413
 
420
- get popoverSize() {
421
- let width,
422
- height;
423
- 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
+ );
424
419
 
425
- if (this.opened) {
426
- width = rect.width;
427
- height = rect.height;
420
+ if (this.actualPlacementType === PopoverPlacementType.Bottom) {
421
+ top = Math.max(top, this._top);
422
+ }
423
+
424
+ let { arrowX, arrowY } = placement;
425
+ const isVertical = this.actualPlacementType === PopoverPlacementType.Top
426
+ || this.actualPlacementType === PopoverPlacementType.Bottom;
428
427
 
429
- return { width, height };
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
+ }
430
447
  }
448
+ this.arrowTranslateY = Math.round(arrowY);
431
449
 
432
- this.style.visibility = "hidden";
433
- this.show();
450
+ Object.assign(this.style, {
451
+ top: `${top}px`,
452
+ left: `${left}px`,
453
+ });
454
+ super._show();
434
455
 
435
- rect = this.getBoundingClientRect();
456
+ if (stretching && this._width) {
457
+ this.style.width = this._width;
458
+ }
459
+ }
436
460
 
437
- width = rect.width;
438
- 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
+ }
439
469
 
440
- this.hide();
441
- this.style.visibility = "visible";
470
+ const rect = this.getBoundingClientRect(),
471
+ width = rect.width,
472
+ height = rect.height;
442
473
 
443
474
  return { width, height };
444
475
  }
@@ -460,6 +491,7 @@ class Popover extends Popup {
460
491
  const clientHeight = document.documentElement.clientHeight;
461
492
 
462
493
  let maxHeight = clientHeight;
494
+ let maxWidth = clientWidth;
463
495
 
464
496
  let width = "";
465
497
  let height = "";
@@ -482,7 +514,7 @@ class Popover extends Popup {
482
514
  this._width = width;
483
515
  this._height = height;
484
516
 
485
- const arrowOffset = this.noArrow ? 0 : arrowSize;
517
+ const arrowOffset = this.hideArrow ? 0 : arrowSize;
486
518
 
487
519
  // calc popover positions
488
520
  switch (placementType) {
@@ -507,12 +539,17 @@ class Popover extends Popup {
507
539
  case PopoverPlacementType.Left:
508
540
  left = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);
509
541
  top = this.getHorizontalTop(targetRect, popoverSize);
542
+
543
+ if (!allowTargetOverlap) {
544
+ maxWidth = targetRect.left - arrowOffset;
545
+ }
510
546
  break;
511
547
  case PopoverPlacementType.Right:
512
548
  if (allowTargetOverlap) {
513
549
  left = Math.max(Math.min(targetRect.left + targetRect.width + arrowOffset, clientWidth - popoverSize.width), 0);
514
550
  } else {
515
551
  left = targetRect.left + targetRect.width + arrowOffset;
552
+ maxWidth = clientWidth - targetRect.right - arrowOffset;
516
553
  }
517
554
 
518
555
  top = this.getHorizontalTop(targetRect, popoverSize);
@@ -534,23 +571,21 @@ class Popover extends Popup {
534
571
  }
535
572
  }
536
573
 
537
- let maxContentHeight = Math.round(maxHeight);
574
+ let maxContentHeight = maxHeight;
538
575
 
539
- const hasHeader = this.header.length || this.headerText;
540
-
541
- if (hasHeader) {
576
+ if (this._displayHeader) {
542
577
  const headerDomRef = this.shadowRoot.querySelector(".ui5-popup-header-root")
543
578
  || this.shadowRoot.querySelector(".ui5-popup-header-text");
544
579
 
545
580
  if (headerDomRef) {
546
- maxContentHeight = Math.round(maxHeight - headerDomRef.offsetHeight);
581
+ maxContentHeight = maxHeight - headerDomRef.offsetHeight;
547
582
  }
548
583
  }
549
584
 
550
- this._maxContentHeight = maxContentHeight;
585
+ this._maxContentHeight = Math.round(maxContentHeight - Popover.VIEWPORT_MARGIN);
586
+ this._maxContentWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);
551
587
 
552
- const arrowTranslateX = isVertical ? targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2 : 0;
553
- const arrowTranslateY = !isVertical ? targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2 : 0;
588
+ const arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical);
554
589
 
555
590
  if (this._left === undefined || Math.abs(this._left - left) > 1.5) {
556
591
  this._left = Math.round(left);
@@ -561,14 +596,51 @@ class Popover extends Popup {
561
596
  }
562
597
 
563
598
  return {
564
- arrowX: Math.round(arrowTranslateX),
565
- arrowY: Math.round(arrowTranslateY),
599
+ arrowX: arrowPos.x,
600
+ arrowY: arrowPos.y,
566
601
  top: this._top,
567
602
  left: this._left,
568
603
  placementType,
569
604
  };
570
605
  }
571
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
+
572
644
  /**
573
645
  * Fallbacks to new placement, prioritizing <code>Left</code> and <code>Right</code> placements.
574
646
  * @private
@@ -632,6 +704,7 @@ class Popover extends Popup {
632
704
  switch (this.horizontalAlign) {
633
705
  case PopoverHorizontalAlign.Center:
634
706
  case PopoverHorizontalAlign.Stretch:
707
+
635
708
  left = targetRect.left - (popoverSize.width - targetRect.width) / 2;
636
709
  break;
637
710
  case PopoverHorizontalAlign.Left:
@@ -664,15 +737,28 @@ class Popover extends Popup {
664
737
  return top;
665
738
  }
666
739
 
667
- get isModal() {
740
+ get isModal() { // Required by Popup.js
668
741
  return this.modal;
669
742
  }
670
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
+
671
756
  get styles() {
672
757
  return {
673
758
  ...super.styles,
674
759
  content: {
675
760
  "max-height": `${this._maxContentHeight}px`,
761
+ "max-width": `${this._maxContentWidth}px`,
676
762
  },
677
763
  arrow: {
678
764
  transform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,
@@ -684,7 +770,7 @@ class Popover extends Popup {
684
770
  * Hook for descendants to hide header.
685
771
  */
686
772
  get _displayHeader() {
687
- return true;
773
+ return this.header.length || this.headerText;
688
774
  }
689
775
 
690
776
  /**