@ui5/webcomponents 2.0.0-rc.3 → 2.0.0-rc.4

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 (818) hide show
  1. package/.env.testing +4 -0
  2. package/CHANGELOG.md +215 -0
  3. package/README.md +0 -33
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/Avatar.d.ts +2 -2
  6. package/dist/AvatarGroup.d.ts +4 -4
  7. package/dist/Breadcrumbs.d.ts +1 -1
  8. package/dist/Breadcrumbs.js +10 -5
  9. package/dist/Breadcrumbs.js.map +1 -1
  10. package/dist/Button.d.ts +26 -13
  11. package/dist/Button.js +34 -18
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Calendar.d.ts +10 -5
  14. package/dist/Calendar.js +81 -26
  15. package/dist/Calendar.js.map +1 -1
  16. package/dist/CalendarDate.d.ts +2 -1
  17. package/dist/CalendarDate.js +1 -0
  18. package/dist/CalendarDate.js.map +1 -1
  19. package/dist/CalendarDateRange.d.ts +31 -0
  20. package/dist/CalendarDateRange.js +36 -0
  21. package/dist/CalendarDateRange.js.map +1 -0
  22. package/dist/CalendarHeader.js +8 -8
  23. package/dist/CalendarHeader.js.map +1 -1
  24. package/dist/CheckBox.d.ts +8 -17
  25. package/dist/CheckBox.js +14 -22
  26. package/dist/CheckBox.js.map +1 -1
  27. package/dist/ColorPalette.d.ts +19 -0
  28. package/dist/ColorPalette.js +112 -13
  29. package/dist/ColorPalette.js.map +1 -1
  30. package/dist/ColorPaletteItem.d.ts +16 -0
  31. package/dist/ColorPaletteItem.js +10 -0
  32. package/dist/ColorPaletteItem.js.map +1 -1
  33. package/dist/ColorPalettePopover.d.ts +5 -0
  34. package/dist/ColorPalettePopover.js +15 -0
  35. package/dist/ColorPalettePopover.js.map +1 -1
  36. package/dist/ColorPicker.d.ts +13 -1
  37. package/dist/ColorPicker.js +10 -0
  38. package/dist/ColorPicker.js.map +1 -1
  39. package/dist/ComboBox.d.ts +23 -11
  40. package/dist/ComboBox.js +156 -58
  41. package/dist/ComboBox.js.map +1 -1
  42. package/dist/ComboBoxItem.d.ts +5 -5
  43. package/dist/ComboBoxItem.js +3 -7
  44. package/dist/ComboBoxItem.js.map +1 -1
  45. package/dist/{ComboBoxGroupItem.d.ts → ComboBoxItemGroup.d.ts} +11 -3
  46. package/dist/{ComboBoxGroupItem.js → ComboBoxItemGroup.js} +24 -9
  47. package/dist/ComboBoxItemGroup.js.map +1 -0
  48. package/dist/CustomListItem.d.ts +7 -0
  49. package/dist/CustomListItem.js +7 -2
  50. package/dist/CustomListItem.js.map +1 -1
  51. package/dist/DatePicker.d.ts +9 -18
  52. package/dist/DatePicker.js +19 -15
  53. package/dist/DatePicker.js.map +1 -1
  54. package/dist/DateRangePicker.d.ts +5 -1
  55. package/dist/DateRangePicker.js +21 -0
  56. package/dist/DateRangePicker.js.map +1 -1
  57. package/dist/DateTimePicker.d.ts +4 -1
  58. package/dist/DateTimePicker.js +14 -0
  59. package/dist/DateTimePicker.js.map +1 -1
  60. package/dist/DayPicker.js +6 -4
  61. package/dist/DayPicker.js.map +1 -1
  62. package/dist/Dialog.d.ts +0 -16
  63. package/dist/Dialog.js +0 -21
  64. package/dist/Dialog.js.map +1 -1
  65. package/dist/FileUploader.d.ts +6 -23
  66. package/dist/FileUploader.js +15 -46
  67. package/dist/FileUploader.js.map +1 -1
  68. package/dist/Form.d.ts +198 -0
  69. package/dist/Form.js +358 -0
  70. package/dist/Form.js.map +1 -0
  71. package/dist/FormGroup.d.ts +63 -0
  72. package/dist/FormGroup.js +86 -0
  73. package/dist/FormGroup.js.map +1 -0
  74. package/dist/FormItem.d.ts +62 -0
  75. package/dist/FormItem.js +76 -0
  76. package/dist/FormItem.js.map +1 -0
  77. package/dist/Input.d.ts +17 -30
  78. package/dist/Input.js +46 -48
  79. package/dist/Input.js.map +1 -1
  80. package/dist/Label.d.ts +1 -1
  81. package/dist/Label.js +1 -1
  82. package/dist/Label.js.map +1 -1
  83. package/dist/Link.d.ts +4 -3
  84. package/dist/Link.js +2 -1
  85. package/dist/Link.js.map +1 -1
  86. package/dist/List.d.ts +3 -2
  87. package/dist/List.js +45 -0
  88. package/dist/List.js.map +1 -1
  89. package/dist/ListItem.d.ts +8 -15
  90. package/dist/ListItem.js +25 -34
  91. package/dist/ListItem.js.map +1 -1
  92. package/dist/ListItemBase.d.ts +24 -2
  93. package/dist/ListItemBase.js +48 -13
  94. package/dist/ListItemBase.js.map +1 -1
  95. package/dist/ListItemGroup.d.ts +6 -1
  96. package/dist/ListItemGroup.js +4 -1
  97. package/dist/ListItemGroup.js.map +1 -1
  98. package/dist/ListItemGroupHeader.d.ts +2 -0
  99. package/dist/ListItemGroupHeader.js +9 -0
  100. package/dist/ListItemGroupHeader.js.map +1 -1
  101. package/dist/Menu.d.ts +11 -90
  102. package/dist/Menu.js +62 -324
  103. package/dist/Menu.js.map +1 -1
  104. package/dist/MenuItem.d.ts +57 -22
  105. package/dist/MenuItem.js +106 -24
  106. package/dist/MenuItem.js.map +1 -1
  107. package/dist/MonthPicker.d.ts +1 -0
  108. package/dist/MonthPicker.js +10 -6
  109. package/dist/MonthPicker.js.map +1 -1
  110. package/dist/MultiComboBox.d.ts +17 -3
  111. package/dist/MultiComboBox.js +63 -25
  112. package/dist/MultiComboBox.js.map +1 -1
  113. package/dist/MultiInput.d.ts +18 -4
  114. package/dist/MultiInput.js +56 -31
  115. package/dist/MultiInput.js.map +1 -1
  116. package/dist/NavigationMenu.d.ts +1 -6
  117. package/dist/NavigationMenu.js +3 -47
  118. package/dist/NavigationMenu.js.map +1 -1
  119. package/dist/NavigationMenuItem.d.ts +22 -3
  120. package/dist/NavigationMenuItem.js +29 -4
  121. package/dist/NavigationMenuItem.js.map +1 -1
  122. package/dist/Option.d.ts +20 -33
  123. package/dist/Option.js +31 -19
  124. package/dist/Option.js.map +1 -1
  125. package/dist/OptionCustom.d.ts +51 -0
  126. package/dist/OptionCustom.js +63 -0
  127. package/dist/OptionCustom.js.map +1 -0
  128. package/dist/Panel.d.ts +1 -1
  129. package/dist/Popover.d.ts +8 -21
  130. package/dist/Popover.js +32 -44
  131. package/dist/Popover.js.map +1 -1
  132. package/dist/Popup.d.ts +20 -23
  133. package/dist/Popup.js +53 -57
  134. package/dist/Popup.js.map +1 -1
  135. package/dist/RadioButton.d.ts +16 -27
  136. package/dist/RadioButton.js +19 -31
  137. package/dist/RadioButton.js.map +1 -1
  138. package/dist/RadioButtonGroup.js +6 -5
  139. package/dist/RadioButtonGroup.js.map +1 -1
  140. package/dist/RangeSlider.d.ts +3 -1
  141. package/dist/RangeSlider.js +7 -0
  142. package/dist/RangeSlider.js.map +1 -1
  143. package/dist/ResponsivePopover.d.ts +4 -16
  144. package/dist/ResponsivePopover.js +17 -30
  145. package/dist/ResponsivePopover.js.map +1 -1
  146. package/dist/SegmentedButtonItem.d.ts +6 -1
  147. package/dist/SegmentedButtonItem.js +7 -4
  148. package/dist/SegmentedButtonItem.js.map +1 -1
  149. package/dist/Select.d.ts +27 -82
  150. package/dist/Select.js +83 -231
  151. package/dist/Select.js.map +1 -1
  152. package/dist/Slider.d.ts +3 -1
  153. package/dist/Slider.js +4 -0
  154. package/dist/Slider.js.map +1 -1
  155. package/dist/SliderBase.d.ts +11 -1
  156. package/dist/SliderBase.js +6 -0
  157. package/dist/SliderBase.js.map +1 -1
  158. package/dist/StandardListItem.d.ts +7 -0
  159. package/dist/StandardListItem.js +3 -0
  160. package/dist/StandardListItem.js.map +1 -1
  161. package/dist/StepInput.d.ts +6 -15
  162. package/dist/StepInput.js +7 -11
  163. package/dist/StepInput.js.map +1 -1
  164. package/dist/Switch.d.ts +8 -17
  165. package/dist/Switch.js +13 -21
  166. package/dist/Switch.js.map +1 -1
  167. package/dist/TabContainer.js +11 -5
  168. package/dist/TabContainer.js.map +1 -1
  169. package/dist/Tag.d.ts +1 -1
  170. package/dist/Tag.js.map +1 -1
  171. package/dist/TextArea.d.ts +9 -18
  172. package/dist/TextArea.js +22 -15
  173. package/dist/TextArea.js.map +1 -1
  174. package/dist/TimePicker.d.ts +24 -24
  175. package/dist/TimePicker.js +32 -59
  176. package/dist/TimePicker.js.map +1 -1
  177. package/dist/TimeSelectionClocks.js +2 -0
  178. package/dist/TimeSelectionClocks.js.map +1 -1
  179. package/dist/TimeSelectionInputs.js +2 -0
  180. package/dist/TimeSelectionInputs.js.map +1 -1
  181. package/dist/Toast.d.ts +1 -1
  182. package/dist/Toast.js +2 -2
  183. package/dist/Toast.js.map +1 -1
  184. package/dist/ToggleSpinButton.d.ts +1 -1
  185. package/dist/ToggleSpinButton.js +1 -1
  186. package/dist/ToggleSpinButton.js.map +1 -1
  187. package/dist/Token.d.ts +5 -0
  188. package/dist/Token.js +3 -0
  189. package/dist/Token.js.map +1 -1
  190. package/dist/Tokenizer.d.ts +11 -5
  191. package/dist/Tokenizer.js +93 -71
  192. package/dist/Tokenizer.js.map +1 -1
  193. package/dist/Toolbar.d.ts +5 -0
  194. package/dist/Toolbar.js +16 -4
  195. package/dist/Toolbar.js.map +1 -1
  196. package/dist/ToolbarButton.d.ts +11 -3
  197. package/dist/ToolbarButton.js +2 -2
  198. package/dist/ToolbarButton.js.map +1 -1
  199. package/dist/TreeItemBase.d.ts +8 -1
  200. package/dist/TreeItemBase.js +3 -1
  201. package/dist/TreeItemBase.js.map +1 -1
  202. package/dist/TreeItemCustom.js +4 -2
  203. package/dist/TreeItemCustom.js.map +1 -1
  204. package/dist/bundle.esm.d.ts +0 -1
  205. package/dist/bundle.esm.js +5 -3
  206. package/dist/bundle.esm.js.map +1 -1
  207. package/dist/css/themes/Avatar.css +1 -1
  208. package/dist/css/themes/AvatarGroup.css +1 -1
  209. package/dist/css/themes/Bar.css +1 -1
  210. package/dist/css/themes/Breadcrumbs.css +1 -1
  211. package/dist/css/themes/BusyIndicator.css +1 -1
  212. package/dist/css/themes/Button.css +1 -1
  213. package/dist/css/themes/Calendar.css +1 -1
  214. package/dist/css/themes/CalendarHeader.css +1 -1
  215. package/dist/css/themes/CalendarLegend.css +1 -1
  216. package/dist/css/themes/CalendarLegendItem.css +1 -1
  217. package/dist/css/themes/Card.css +1 -1
  218. package/dist/css/themes/CardHeader.css +1 -1
  219. package/dist/css/themes/Carousel.css +1 -1
  220. package/dist/css/themes/CheckBox.css +1 -1
  221. package/dist/css/themes/ColorPalette.css +1 -1
  222. package/dist/css/themes/ColorPaletteItem.css +1 -1
  223. package/dist/css/themes/ColorPalettePopover.css +1 -1
  224. package/dist/css/themes/ColorPicker.css +1 -1
  225. package/dist/css/themes/ComboBox.css +1 -1
  226. package/dist/css/themes/CustomListItem.css +1 -1
  227. package/dist/css/themes/DatePicker.css +1 -1
  228. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  229. package/dist/css/themes/DayPicker.css +1 -1
  230. package/dist/css/themes/Dialog.css +1 -1
  231. package/dist/css/themes/FileUploader.css +1 -1
  232. package/dist/css/themes/Form.css +1 -0
  233. package/dist/css/themes/FormItem.css +1 -0
  234. package/dist/css/themes/FormLabelSpan.css +1 -0
  235. package/dist/css/themes/FormLayout.css +1 -0
  236. package/dist/css/themes/GrowingButton.css +1 -1
  237. package/dist/css/themes/Icon.css +1 -1
  238. package/dist/css/themes/Input.css +1 -1
  239. package/dist/css/themes/InputIcon.css +1 -1
  240. package/dist/css/themes/InputSharedStyles.css +1 -1
  241. package/dist/css/themes/Label.css +1 -1
  242. package/dist/css/themes/Link.css +1 -1
  243. package/dist/css/themes/List.css +1 -1
  244. package/dist/css/themes/ListItem.css +1 -1
  245. package/dist/css/themes/ListItemAdditionalText.css +1 -0
  246. package/dist/css/themes/ListItemBase.css +1 -1
  247. package/dist/css/themes/ListItemGroup.css +1 -1
  248. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  249. package/dist/css/themes/ListItemIcon.css +1 -0
  250. package/dist/css/themes/Menu.css +1 -1
  251. package/dist/css/themes/MenuItem.css +1 -0
  252. package/dist/css/themes/MessageStrip.css +1 -1
  253. package/dist/css/themes/MonthPicker.css +1 -1
  254. package/dist/css/themes/MultiComboBox.css +1 -1
  255. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  256. package/dist/css/themes/MultiInput.css +1 -1
  257. package/dist/css/themes/NavigationMenu.css +1 -1
  258. package/dist/css/themes/NavigationMenuItem.css +1 -0
  259. package/dist/css/themes/OptionBase.css +1 -0
  260. package/dist/css/themes/Panel.css +1 -1
  261. package/dist/css/themes/Popover.css +1 -1
  262. package/dist/css/themes/Popup.css +1 -1
  263. package/dist/css/themes/PopupsCommon.css +1 -1
  264. package/dist/css/themes/ProgressIndicator.css +1 -1
  265. package/dist/css/themes/RadioButton.css +1 -1
  266. package/dist/css/themes/RangeSlider.css +1 -1
  267. package/dist/css/themes/RatingIndicator.css +1 -1
  268. package/dist/css/themes/ResponsivePopover.css +1 -1
  269. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  270. package/dist/css/themes/SegmentedButton.css +1 -1
  271. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  272. package/dist/css/themes/Select.css +1 -1
  273. package/dist/css/themes/SelectPopover.css +1 -1
  274. package/dist/css/themes/SliderBase.css +1 -1
  275. package/dist/css/themes/SplitButton.css +1 -1
  276. package/dist/css/themes/StepInput.css +1 -1
  277. package/dist/css/themes/Switch.css +1 -1
  278. package/dist/css/themes/TabContainer.css +1 -1
  279. package/dist/css/themes/TabInOverflow.css +1 -1
  280. package/dist/css/themes/TabInStrip.css +1 -1
  281. package/dist/css/themes/TabSemanticIcon.css +1 -1
  282. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  283. package/dist/css/themes/Tag.css +1 -1
  284. package/dist/css/themes/Text.css +1 -1
  285. package/dist/css/themes/TextArea.css +1 -1
  286. package/dist/css/themes/TimePicker.css +1 -1
  287. package/dist/css/themes/Toast.css +1 -1
  288. package/dist/css/themes/ToggleButton.css +1 -1
  289. package/dist/css/themes/Token.css +1 -1
  290. package/dist/css/themes/Tokenizer.css +1 -1
  291. package/dist/css/themes/TokenizerPopover.css +1 -1
  292. package/dist/css/themes/Toolbar.css +1 -1
  293. package/dist/css/themes/ToolbarPopover.css +1 -1
  294. package/dist/css/themes/TreeItem.css +1 -1
  295. package/dist/css/themes/ValueStateMessage.css +1 -1
  296. package/dist/css/themes/YearPicker.css +1 -1
  297. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  298. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  299. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  301. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  302. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  303. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  305. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  306. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  307. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  308. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  309. package/dist/custom-elements-internal.json +2414 -1795
  310. package/dist/custom-elements.json +1979 -1523
  311. package/dist/features/InputSuggestions.js +3 -1
  312. package/dist/features/InputSuggestions.js.map +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  315. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  316. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  317. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  318. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  319. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  320. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  321. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  322. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  323. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  324. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  325. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  326. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  327. package/dist/generated/i18n/i18n-defaults.d.ts +6 -2
  328. package/dist/generated/i18n/i18n-defaults.js +6 -2
  329. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  330. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +2 -2
  331. package/dist/generated/templates/BusyIndicatorTemplate.lit.js.map +1 -1
  332. package/dist/generated/templates/ButtonTemplate.lit.js +3 -2
  333. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  334. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  335. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  336. package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
  337. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  338. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +2 -2
  339. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
  340. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  341. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  342. package/dist/generated/templates/ColorPaletteTemplate.lit.js +1 -1
  343. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  344. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +12 -9
  345. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  346. package/dist/generated/templates/ComboBoxTemplate.lit.js +14 -11
  347. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  348. package/dist/generated/templates/DatePickerInputTemplate.lit.js +2 -2
  349. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  350. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  351. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  352. package/dist/generated/templates/DatePickerTemplate.lit.js +2 -2
  353. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  354. package/dist/generated/templates/DateRangePickerTemplate.lit.d.ts +4 -0
  355. package/dist/generated/templates/DateRangePickerTemplate.lit.js +9 -0
  356. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -0
  357. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  358. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  359. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  360. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  361. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
  362. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -1
  363. package/dist/generated/templates/FileUploaderTemplate.lit.js +5 -7
  364. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  365. package/dist/generated/templates/FormItemTemplate.lit.d.ts +4 -0
  366. package/dist/generated/templates/FormItemTemplate.lit.js +6 -0
  367. package/dist/generated/templates/FormItemTemplate.lit.js.map +1 -0
  368. package/dist/generated/templates/FormTemplate.lit.d.ts +4 -0
  369. package/dist/generated/templates/FormTemplate.lit.js +13 -0
  370. package/dist/generated/templates/FormTemplate.lit.js.map +1 -0
  371. package/dist/generated/templates/InputPopoverTemplate.lit.js +2 -2
  372. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  373. package/dist/generated/templates/InputTemplate.lit.js +4 -4
  374. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  375. package/dist/generated/templates/{MenuListItemTemplate.lit.d.ts → ListItemBaseTemplate.lit.d.ts} +2 -2
  376. package/dist/generated/templates/ListItemBaseTemplate.lit.js +5 -0
  377. package/dist/generated/templates/ListItemBaseTemplate.lit.js.map +1 -0
  378. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js +1 -1
  379. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js.map +1 -1
  380. package/dist/generated/templates/ListItemGroupTemplate.lit.js +1 -1
  381. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -1
  382. package/dist/generated/templates/MenuItemTemplate.lit.d.ts +4 -0
  383. package/dist/generated/templates/{MenuListItemTemplate.lit.js → MenuItemTemplate.lit.js} +21 -15
  384. package/dist/generated/templates/MenuItemTemplate.lit.js.map +1 -0
  385. package/dist/generated/templates/MenuTemplate.lit.js +6 -8
  386. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  388. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -4
  390. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/MultiInputTemplate.lit.js +28 -27
  392. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/NavigationMenuItemTemplate.lit.d.ts +4 -0
  394. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js +57 -0
  395. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js.map +1 -0
  396. package/dist/generated/templates/NavigationMenuTemplate.lit.js +6 -19
  397. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  398. package/dist/generated/templates/OptionCustomTemplate.lit.d.ts +4 -0
  399. package/dist/generated/templates/OptionCustomTemplate.lit.js +5 -0
  400. package/dist/generated/templates/OptionCustomTemplate.lit.js.map +1 -0
  401. package/dist/generated/templates/OptionTemplate.lit.d.ts +4 -0
  402. package/dist/generated/templates/OptionTemplate.lit.js +7 -0
  403. package/dist/generated/templates/OptionTemplate.lit.js.map +1 -0
  404. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  405. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
  407. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  409. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/SelectPopoverTemplate.lit.js +6 -7
  411. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/SelectTemplate.lit.js +8 -9
  413. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/StepInputTemplate.lit.js +3 -3
  415. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  416. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  417. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  418. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  419. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  420. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  421. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -1
  422. package/dist/generated/templates/TextAreaTemplate.lit.js +2 -2
  423. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  424. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +2 -2
  425. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  426. package/dist/generated/templates/TimePickerTemplate.lit.js +3 -3
  427. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  428. package/dist/generated/templates/ToggleButtonTemplate.lit.js +3 -2
  429. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  430. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +3 -2
  431. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  432. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +4 -3
  433. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  434. package/dist/generated/templates/TokenizerTemplate.lit.js +4 -3
  435. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  436. package/dist/generated/templates/ToolbarButtonTemplate.lit.js +1 -1
  437. package/dist/generated/templates/ToolbarButtonTemplate.lit.js.map +1 -1
  438. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js +1 -1
  439. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js.map +1 -1
  440. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js +1 -1
  441. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js.map +1 -1
  442. package/dist/generated/templates/ToolbarTemplate.lit.js +1 -1
  443. package/dist/generated/templates/ToolbarTemplate.lit.js.map +1 -1
  444. package/dist/generated/themes/Avatar.css.js +1 -1
  445. package/dist/generated/themes/Avatar.css.js.map +1 -1
  446. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  447. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  448. package/dist/generated/themes/Bar.css.js +1 -1
  449. package/dist/generated/themes/Bar.css.js.map +1 -1
  450. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  451. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  452. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  453. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  454. package/dist/generated/themes/Button.css.js +1 -1
  455. package/dist/generated/themes/Button.css.js.map +1 -1
  456. package/dist/generated/themes/Calendar.css.js +1 -1
  457. package/dist/generated/themes/Calendar.css.js.map +1 -1
  458. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  459. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  460. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  461. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  462. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  463. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  464. package/dist/generated/themes/Card.css.js +1 -1
  465. package/dist/generated/themes/Card.css.js.map +1 -1
  466. package/dist/generated/themes/CardHeader.css.js +1 -1
  467. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  468. package/dist/generated/themes/Carousel.css.js +1 -1
  469. package/dist/generated/themes/Carousel.css.js.map +1 -1
  470. package/dist/generated/themes/CheckBox.css.js +1 -1
  471. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  472. package/dist/generated/themes/ColorPalette.css.js +1 -1
  473. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  474. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  475. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  476. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  477. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  478. package/dist/generated/themes/ColorPicker.css.js +1 -1
  479. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  480. package/dist/generated/themes/ComboBox.css.js +1 -1
  481. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  482. package/dist/generated/themes/CustomListItem.css.js +1 -1
  483. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  484. package/dist/generated/themes/DatePicker.css.js +1 -1
  485. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  486. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  487. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  488. package/dist/generated/themes/DayPicker.css.js +1 -1
  489. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  490. package/dist/generated/themes/Dialog.css.js +1 -1
  491. package/dist/generated/themes/Dialog.css.js.map +1 -1
  492. package/dist/generated/themes/FileUploader.css.js +1 -1
  493. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  494. package/dist/generated/themes/Form.css.js +9 -0
  495. package/dist/generated/themes/Form.css.js.map +1 -0
  496. package/dist/generated/themes/FormItem.css.js +9 -0
  497. package/dist/generated/themes/FormItem.css.js.map +1 -0
  498. package/dist/generated/themes/FormLabelSpan.css.js +9 -0
  499. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -0
  500. package/dist/generated/themes/FormLayout.css.d.ts +3 -0
  501. package/dist/generated/themes/FormLayout.css.js +9 -0
  502. package/dist/generated/themes/FormLayout.css.js.map +1 -0
  503. package/dist/generated/themes/GrowingButton.css.js +1 -1
  504. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  505. package/dist/generated/themes/Icon.css.js +1 -1
  506. package/dist/generated/themes/Icon.css.js.map +1 -1
  507. package/dist/generated/themes/Input.css.js +1 -1
  508. package/dist/generated/themes/Input.css.js.map +1 -1
  509. package/dist/generated/themes/InputIcon.css.js +1 -1
  510. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  511. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  512. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  513. package/dist/generated/themes/Label.css.js +1 -1
  514. package/dist/generated/themes/Label.css.js.map +1 -1
  515. package/dist/generated/themes/Link.css.js +1 -1
  516. package/dist/generated/themes/Link.css.js.map +1 -1
  517. package/dist/generated/themes/List.css.js +1 -1
  518. package/dist/generated/themes/List.css.js.map +1 -1
  519. package/dist/generated/themes/ListItem.css.js +1 -1
  520. package/dist/generated/themes/ListItem.css.js.map +1 -1
  521. package/dist/generated/themes/ListItemAdditionalText.css.d.ts +3 -0
  522. package/dist/generated/themes/{SelectMenu.css.js → ListItemAdditionalText.css.js} +2 -2
  523. package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -0
  524. package/dist/generated/themes/ListItemBase.css.js +1 -1
  525. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  526. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  527. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  528. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  529. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  530. package/dist/generated/themes/ListItemIcon.css.d.ts +3 -0
  531. package/dist/generated/themes/ListItemIcon.css.js +9 -0
  532. package/dist/generated/themes/ListItemIcon.css.js.map +1 -0
  533. package/dist/generated/themes/Menu.css.js +1 -1
  534. package/dist/generated/themes/Menu.css.js.map +1 -1
  535. package/dist/generated/themes/MenuItem.css.d.ts +3 -0
  536. package/dist/generated/themes/MenuItem.css.js +9 -0
  537. package/dist/generated/themes/MenuItem.css.js.map +1 -0
  538. package/dist/generated/themes/MessageStrip.css.js +1 -1
  539. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  540. package/dist/generated/themes/MonthPicker.css.js +1 -1
  541. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  542. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  543. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  544. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  545. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  546. package/dist/generated/themes/MultiInput.css.js +1 -1
  547. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  548. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  549. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  550. package/dist/generated/themes/NavigationMenuItem.css.d.ts +3 -0
  551. package/dist/generated/themes/NavigationMenuItem.css.js +9 -0
  552. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -0
  553. package/dist/generated/themes/OptionBase.css.d.ts +3 -0
  554. package/dist/generated/themes/{SelectMenuOption.css.js → OptionBase.css.js} +3 -2
  555. package/dist/generated/themes/{SelectMenu.css.js.map → OptionBase.css.js.map} +1 -1
  556. package/dist/generated/themes/Panel.css.js +1 -1
  557. package/dist/generated/themes/Panel.css.js.map +1 -1
  558. package/dist/generated/themes/Popover.css.js +1 -1
  559. package/dist/generated/themes/Popover.css.js.map +1 -1
  560. package/dist/generated/themes/Popup.css.js +1 -1
  561. package/dist/generated/themes/Popup.css.js.map +1 -1
  562. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  563. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  564. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  565. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  566. package/dist/generated/themes/RadioButton.css.js +1 -1
  567. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  568. package/dist/generated/themes/RangeSlider.css.js +1 -1
  569. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  570. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  571. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  572. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  573. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  574. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  575. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  576. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  577. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  578. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  579. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  580. package/dist/generated/themes/Select.css.js +1 -1
  581. package/dist/generated/themes/Select.css.js.map +1 -1
  582. package/dist/generated/themes/SelectPopover.css.js +1 -1
  583. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  584. package/dist/generated/themes/SliderBase.css.js +1 -1
  585. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  586. package/dist/generated/themes/SplitButton.css.js +1 -1
  587. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  588. package/dist/generated/themes/StepInput.css.js +1 -1
  589. package/dist/generated/themes/StepInput.css.js.map +1 -1
  590. package/dist/generated/themes/Switch.css.js +1 -1
  591. package/dist/generated/themes/Switch.css.js.map +1 -1
  592. package/dist/generated/themes/TabContainer.css.js +1 -1
  593. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  594. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  595. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  596. package/dist/generated/themes/TabInStrip.css.js +1 -1
  597. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  598. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  599. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  600. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  601. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  602. package/dist/generated/themes/Tag.css.js +1 -1
  603. package/dist/generated/themes/Tag.css.js.map +1 -1
  604. package/dist/generated/themes/Text.css.js +1 -1
  605. package/dist/generated/themes/Text.css.js.map +1 -1
  606. package/dist/generated/themes/TextArea.css.js +1 -1
  607. package/dist/generated/themes/TextArea.css.js.map +1 -1
  608. package/dist/generated/themes/TimePicker.css.js +1 -1
  609. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  610. package/dist/generated/themes/Toast.css.js +1 -1
  611. package/dist/generated/themes/Toast.css.js.map +1 -1
  612. package/dist/generated/themes/ToggleButton.css.js +1 -1
  613. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  614. package/dist/generated/themes/Token.css.js +1 -1
  615. package/dist/generated/themes/Token.css.js.map +1 -1
  616. package/dist/generated/themes/Tokenizer.css.js +1 -1
  617. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  618. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  619. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  620. package/dist/generated/themes/Toolbar.css.js +1 -1
  621. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  622. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  623. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  624. package/dist/generated/themes/TreeItem.css.js +1 -1
  625. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  626. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  627. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  628. package/dist/generated/themes/YearPicker.css.js +1 -1
  629. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  630. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  631. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  632. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  633. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  634. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  635. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  636. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  637. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  638. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  639. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  640. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  641. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  642. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  643. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  644. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  645. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  646. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  647. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  648. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  649. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  650. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  651. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  652. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  653. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  654. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  655. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  656. package/dist/popup-utils/PopoverRegistry.js +5 -4
  657. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  658. package/dist/styles/Icon.css +33 -0
  659. package/dist/styles/Icon.module.css +33 -0
  660. package/dist/types/FormItemSpacing.d.ts +19 -0
  661. package/dist/types/FormItemSpacing.js +21 -0
  662. package/dist/types/FormItemSpacing.js.map +1 -0
  663. package/dist/types/{HighlightTypes.d.ts → Highlight.d.ts} +3 -3
  664. package/dist/types/Highlight.js +30 -0
  665. package/dist/types/Highlight.js.map +1 -0
  666. package/dist/types/InputType.d.ts +7 -1
  667. package/dist/types/InputType.js +6 -0
  668. package/dist/types/InputType.js.map +1 -1
  669. package/dist/types/LinkAccessibleRole.d.ts +19 -0
  670. package/dist/types/LinkAccessibleRole.js +21 -0
  671. package/dist/types/LinkAccessibleRole.js.map +1 -0
  672. package/dist/vscode.html-custom-data.json +306 -157
  673. package/dist/web-types.json +698 -364
  674. package/package.json +10 -10
  675. package/src/BusyIndicator.hbs +1 -1
  676. package/src/Button.hbs +10 -1
  677. package/src/Calendar.hbs +2 -2
  678. package/src/CheckBox.hbs +0 -2
  679. package/src/ColorPalette.hbs +3 -1
  680. package/src/ColorPaletteItem.hbs +1 -1
  681. package/src/ColorPalettePopover.hbs +2 -1
  682. package/src/ComboBox.hbs +2 -2
  683. package/src/ComboBoxPopover.hbs +15 -4
  684. package/src/DatePickerInput.hbs +1 -3
  685. package/src/DatePickerPopover.hbs +3 -3
  686. package/src/DateRangePicker.hbs +23 -0
  687. package/src/DateTimePickerPopover.hbs +2 -2
  688. package/src/FileUploader.hbs +10 -16
  689. package/src/FileUploaderPopover.hbs +1 -1
  690. package/src/Form.hbs +37 -0
  691. package/src/FormItem.hbs +14 -0
  692. package/src/Input.hbs +1 -3
  693. package/src/InputPopover.hbs +5 -5
  694. package/src/ListItemBase.hbs +21 -0
  695. package/src/ListItemGroup.hbs +12 -12
  696. package/src/ListItemGroupHeader.hbs +0 -1
  697. package/src/Menu.hbs +17 -49
  698. package/src/MenuItem.hbs +109 -0
  699. package/src/MonthPicker.hbs +1 -1
  700. package/src/MultiComboBox.hbs +2 -2
  701. package/src/MultiComboBoxPopover.hbs +4 -4
  702. package/src/MultiInput.hbs +4 -2
  703. package/src/NavigationMenu.hbs +14 -101
  704. package/src/NavigationMenuItem.hbs +124 -0
  705. package/src/Option.hbs +15 -0
  706. package/src/OptionCustom.hbs +5 -0
  707. package/src/RadioButton.hbs +0 -1
  708. package/src/ResponsivePopover.hbs +6 -5
  709. package/src/SegmentedButtonItem.hbs +1 -1
  710. package/src/Select.hbs +2 -3
  711. package/src/SelectPopover.hbs +7 -20
  712. package/src/StepInput.hbs +2 -4
  713. package/src/Switch.hbs +0 -1
  714. package/src/TabContainer.hbs +4 -4
  715. package/src/TextArea.hbs +0 -2
  716. package/src/TextAreaPopover.hbs +1 -1
  717. package/src/TimePicker.hbs +4 -5
  718. package/src/TimePickerPopover.hbs +6 -5
  719. package/src/TokenizerPopover.hbs +9 -7
  720. package/src/ToolbarButton.hbs +1 -1
  721. package/src/ToolbarPopover.hbs +2 -2
  722. package/src/ToolbarPopoverButton.hbs +1 -1
  723. package/src/i18n/messagebundle.properties +11 -3
  724. package/src/i18n/messagebundle_en.properties +13 -3
  725. package/src/i18n/messagebundle_en_US_saprigi.properties +13 -3
  726. package/src/styles/Icon.module.css +1 -0
  727. package/src/themes/Button.css +7 -10
  728. package/src/themes/Calendar.css +1 -0
  729. package/src/themes/CalendarLegendItem.css +4 -1
  730. package/src/themes/ColorPalette.css +11 -6
  731. package/src/themes/ColorPaletteItem.css +55 -27
  732. package/src/themes/Form.css +50 -0
  733. package/src/themes/FormItem.css +65 -0
  734. package/src/themes/FormLabelSpan.css +267 -0
  735. package/src/themes/FormLayout.css +159 -0
  736. package/src/themes/GrowingButton.css +1 -1
  737. package/src/themes/Input.css +20 -20
  738. package/src/themes/InputIcon.css +6 -13
  739. package/src/themes/InputSharedStyles.css +15 -16
  740. package/src/themes/Label.css +7 -4
  741. package/src/themes/ListItem.css +6 -57
  742. package/src/themes/ListItemAdditionalText.css +10 -0
  743. package/src/themes/ListItemBase.css +61 -46
  744. package/src/themes/ListItemIcon.css +6 -0
  745. package/src/themes/Menu.css +0 -10
  746. package/src/themes/{MenuListItem.css → MenuItem.css} +12 -0
  747. package/src/themes/MonthPicker.css +23 -0
  748. package/src/themes/NavigationMenu.css +7 -65
  749. package/src/themes/NavigationMenuItem.css +54 -0
  750. package/src/themes/OptionBase.css +3 -0
  751. package/src/themes/Popover.css +1 -1
  752. package/src/themes/Popup.css +1 -1
  753. package/src/themes/ResponsivePopover.css +3 -3
  754. package/src/themes/ResponsivePopoverCommon.css +3 -3
  755. package/src/themes/SegmentedButton.css +2 -3
  756. package/src/themes/SegmentedButtonItem.css +0 -8
  757. package/src/themes/SelectPopover.css +1 -9
  758. package/src/themes/TimePicker.css +1 -24
  759. package/src/themes/base/ColorPalette-parameters.css +10 -4
  760. package/src/themes/base/Form-parameters.css +20 -0
  761. package/src/themes/base/sizes-parameters.css +25 -7
  762. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -2
  763. package/src/themes/sap_fiori_3/sizes-parameters.css +6 -0
  764. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -2
  765. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +6 -0
  766. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +102 -0
  767. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +102 -0
  768. package/src/themes/sap_horizon/ColorPalette-parameters.css +7 -4
  769. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  770. package/src/themes/sap_horizon/sizes-parameters.css +4 -2
  771. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +7 -4
  772. package/src/themes/sap_horizon_dark/sizes-parameters.css +4 -2
  773. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +5 -4
  774. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +1 -2
  775. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +5 -4
  776. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  777. package/src/themes/sap_horizon_exp/sizes-parameters.css +1 -2
  778. package/src/themes/sap_horizon_hcb/ColorPalette-parameters.css +8 -0
  779. package/src/themes/sap_horizon_hcb/Tag-parameters.css +9 -9
  780. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  781. package/src/themes/sap_horizon_hcw/ColorPalette-parameters.css +8 -0
  782. package/src/themes/sap_horizon_hcw/Tag-parameters.css +9 -9
  783. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  784. package/dist/ComboBoxGroupItem.js.map +0 -1
  785. package/dist/MenuListItem.d.ts +0 -61
  786. package/dist/MenuListItem.js +0 -71
  787. package/dist/MenuListItem.js.map +0 -1
  788. package/dist/SelectMenu.d.ts +0 -102
  789. package/dist/SelectMenu.js +0 -237
  790. package/dist/SelectMenu.js.map +0 -1
  791. package/dist/SelectMenuOption.d.ts +0 -94
  792. package/dist/SelectMenuOption.js +0 -78
  793. package/dist/SelectMenuOption.js.map +0 -1
  794. package/dist/css/themes/MenuListItem.css +0 -1
  795. package/dist/css/themes/SelectMenu.css +0 -1
  796. package/dist/css/themes/SelectMenuOption.css +0 -0
  797. package/dist/features/InputElementsFormSupport.d.ts +0 -41
  798. package/dist/features/InputElementsFormSupport.js +0 -134
  799. package/dist/features/InputElementsFormSupport.js.map +0 -1
  800. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +0 -1
  801. package/dist/generated/templates/SelectMenuTemplate.lit.d.ts +0 -4
  802. package/dist/generated/templates/SelectMenuTemplate.lit.js +0 -15
  803. package/dist/generated/templates/SelectMenuTemplate.lit.js.map +0 -1
  804. package/dist/generated/themes/MenuListItem.css.js +0 -9
  805. package/dist/generated/themes/MenuListItem.css.js.map +0 -1
  806. package/dist/generated/themes/SelectMenuOption.css.js.map +0 -1
  807. package/dist/styles/Input.css +0 -0
  808. package/dist/styles/Input.module.css +0 -0
  809. package/dist/types/HighlightTypes.js +0 -30
  810. package/dist/types/HighlightTypes.js.map +0 -1
  811. package/src/MenuListItem.hbs +0 -35
  812. package/src/SelectMenu.hbs +0 -57
  813. package/src/styles/Input.module.css +0 -0
  814. package/src/themes/SelectMenu.css +0 -16
  815. package/src/themes/SelectMenuOption.css +0 -0
  816. /package/dist/generated/themes/{MenuListItem.css.d.ts → Form.css.d.ts} +0 -0
  817. /package/dist/generated/themes/{SelectMenu.css.d.ts → FormItem.css.d.ts} +0 -0
  818. /package/dist/generated/themes/{SelectMenuOption.css.d.ts → FormLabelSpan.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * **Note: ** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * **Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tplacement!: `${PopoverPlacement}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Defines whether the block layer will be shown if modal property is set to true.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.10\n\t */\n\t@property({ type: Boolean })\n\thideBackdrop!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tactualPlacement!: `${PopoverPlacement}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\tset opener(value: HTMLElement) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tlet opener;\n\n\t\tif (this.opener instanceof HTMLElement) {\n\t\t\topener = this.opener;\n\t\t} else if (typeof this.opener === \"string\") {\n\t\t\tconst rootNode = this.getRootNode();\n\t\t\tif (rootNode instanceof Document) {\n\t\t\t\topener = rootNode.getElementById(this.opener);\n\t\t\t}\n\n\t\t\tif (!opener) {\n\t\t\t\topener = document.getElementById(this.opener);\n\t\t\t}\n\t\t}\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.showAt(opener);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Shows the popover.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] prevents applying the focus inside the popover\n\t * @public\n\t * @returns Resolved when the popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise<void> {\n\t\tif (!opener || this._isOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = opener;\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst closedPopupParent = getClosedPopupParent(this._opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif ((closedPopupParent as Popover).showAt) {\n\t\t\tconst contentRect = (closedPopupParent as Popover).contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\n\t\tif (!this._isOpened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this._opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget shouldHideBackdrop() { // Required by Popup.js\n\t\treturn this.hideBackdrop;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"showAt\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * **Note: ** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * **Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tplacement!: `${PopoverPlacement}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tactualPlacement!: `${PopoverPlacement}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement | string;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element at which the popover is shown.\n\t * When using this attribute in a declarative way, you must only use the `id` (as a string) of the element at which you want to show the popover.\n\t * You can only set the `opener` attribute to a DOM Reference when using JavaScript.\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\tset opener(value: HTMLElement | string) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | string | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tawait renderFinished();\n\t\t\tthis.open = false;\n\t\t\tthis.fireEvent(\"close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super.openPopup();\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tgetOpenerHTMLElement(opener: HTMLElement | string | undefined): HTMLElement | null | undefined {\n\t\tif (opener === undefined || opener instanceof HTMLElement) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tconst rootNode = this.getRootNode();\n\n\t\tif (rootNode instanceof Document) {\n\t\t\treturn rootNode.getElementById(opener);\n\t\t}\n\t\treturn document.getElementById(opener);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst opener = this.getOpenerHTMLElement(this.opener);\n\t\tconst closedPopupParent = getClosedPopupParent(opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif (closedPopupParent instanceof Popover) {\n\t\t\tconst contentRect = closedPopupParent.contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\tasync _show() {\n\t\tsuper._show();\n\n\t\tif (!this._opened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.open) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this.getOpenerHTMLElement(this.opener)!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\tawait this._waitForDomRef();\n\t\t\treturn this.closePopup();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"opener\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
package/dist/Popup.d.ts CHANGED
@@ -20,7 +20,7 @@ type PopupBeforeCloseEventDetail = {
20
20
  * 1. The Popup class handles modality:
21
21
  * - The "isModal" getter can be overridden by derivatives to provide their own conditions when they are modal or not
22
22
  * - Derivatives may call the "blockPageScrolling" and "unblockPageScrolling" static methods to temporarily remove scrollbars on the html element
23
- * - Derivatives may call the "open" and "close" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer
23
+ * - Derivatives may call the "openPopup" and "closePopup" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer
24
24
  *
25
25
  * 2. Provides blocking layer (relevant for modal popups only):
26
26
  * - It is in the static area
@@ -81,9 +81,12 @@ declare abstract class Popup extends UI5Element {
81
81
  */
82
82
  mediaRange: string;
83
83
  /**
84
- * @private
84
+ * Indicates whether initial focus should be prevented.
85
+ * @public
86
+ * @default false
87
+ * @since 2.0.0
85
88
  */
86
- _disableInitialFocus: boolean;
89
+ preventInitialFocus: boolean;
87
90
  /**
88
91
  * Indicates if the element is the top modal popup
89
92
  *
@@ -97,12 +100,21 @@ declare abstract class Popup extends UI5Element {
97
100
  * @public
98
101
  */
99
102
  content: Array<HTMLElement>;
103
+ /**
104
+ * @private
105
+ */
106
+ onPhone: boolean;
107
+ /**
108
+ * @private
109
+ */
110
+ onDesktop: boolean;
100
111
  _resizeHandler: ResizeObserverCallback;
101
112
  _shouldFocusRoot?: boolean;
102
113
  _focusedElementBeforeOpen?: HTMLElement | null;
103
- _isOpened: boolean;
104
114
  _opened: boolean;
115
+ _open: boolean;
105
116
  constructor();
117
+ onBeforeRendering(): void;
106
118
  onAfterRendering(): void;
107
119
  onEnterDOM(): void;
108
120
  onExitDOM(): void;
@@ -146,10 +158,11 @@ declare abstract class Popup extends UI5Element {
146
158
  */
147
159
  forwardToLast(): Promise<void>;
148
160
  /**
149
- * Use this method to focus the element denoted by "initialFocus", if provided, or the first focusable element otherwise.
161
+ * Use this method to focus the element denoted by "initialFocus", if provided,
162
+ * or the first focusable element otherwise.
150
163
  * @protected
151
164
  */
152
- applyInitialFocus(preventInitialFocus: boolean): Promise<void>;
165
+ applyInitialFocus(): Promise<void>;
153
166
  /**
154
167
  * Focuses the element denoted by `initialFocus`, if provided,
155
168
  * or the first focusable element otherwise.
@@ -157,17 +170,7 @@ declare abstract class Popup extends UI5Element {
157
170
  * @returns Promise that resolves when the focus is applied
158
171
  */
159
172
  applyFocus(): Promise<void>;
160
- /**
161
- * Tells if the component is opened
162
- * @public
163
- */
164
- isOpen(): boolean;
165
173
  isFocusWithin(): boolean;
166
- /**
167
- * Shows the block layer (for modal popups only) and sets the correct z-index for the purpose of popup stacking
168
- * @protected
169
- */
170
- _open(preventInitialFocus: boolean): Promise<void>;
171
174
  _updateMediaRange(): void;
172
175
  /**
173
176
  * Adds the popup to the "opened popups registry"
@@ -176,9 +179,8 @@ declare abstract class Popup extends UI5Element {
176
179
  _addOpenedPopup(): void;
177
180
  /**
178
181
  * Closes the popup.
179
- * @public
180
182
  */
181
- close(escPressed?: boolean, preventRegistryUpdate?: boolean, preventFocusRestore?: boolean): void;
183
+ closePopup(escPressed?: boolean, preventRegistryUpdate?: boolean, preventFocusRestore?: boolean): void;
182
184
  /**
183
185
  * Removes the popup from the "opened popups registry"
184
186
  * @protected
@@ -204,11 +206,6 @@ declare abstract class Popup extends UI5Element {
204
206
  * @protected
205
207
  */
206
208
  abstract get isModal(): boolean;
207
- /**
208
- * Implement this getter with relevant logic in order to hide the block layer (f.e. based on a public property)
209
- * @protected
210
- */
211
- abstract get shouldHideBackdrop(): boolean;
212
209
  /**
213
210
  * Return the ID of an element in the shadow DOM that is going to label this popup
214
211
  * @protected
package/dist/Popup.js CHANGED
@@ -12,7 +12,7 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
13
13
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
14
14
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
15
- import { isChrome, isSafari, isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
15
+ import { isChrome, isSafari, isDesktop, isPhone, } from "@ui5/webcomponents-base/dist/Device.js";
16
16
  import { getFirstFocusableElement, getLastFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
17
17
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
18
18
  import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js";
@@ -46,7 +46,7 @@ const pageScrollingBlockers = new Set();
46
46
  * 1. The Popup class handles modality:
47
47
  * - The "isModal" getter can be overridden by derivatives to provide their own conditions when they are modal or not
48
48
  * - Derivatives may call the "blockPageScrolling" and "unblockPageScrolling" static methods to temporarily remove scrollbars on the html element
49
- * - Derivatives may call the "open" and "close" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer
49
+ * - Derivatives may call the "openPopup" and "closePopup" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer
50
50
  *
51
51
  * 2. Provides blocking layer (relevant for modal popups only):
52
52
  * - It is in the static area
@@ -73,6 +73,10 @@ let Popup = Popup_1 = class Popup extends UI5Element {
73
73
  return this.shadowRoot.querySelector("[root-element]");
74
74
  };
75
75
  }
76
+ onBeforeRendering() {
77
+ this.onPhone = isPhone();
78
+ this.onDesktop = isDesktop();
79
+ }
76
80
  onAfterRendering() {
77
81
  renderFinished().then(() => {
78
82
  this._updateMediaRange();
@@ -86,7 +90,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
86
90
  }
87
91
  }
88
92
  onExitDOM() {
89
- if (this.isOpen()) {
93
+ if (this._opened) {
90
94
  Popup_1.unblockPageScrolling(this);
91
95
  this._removeOpenedPopup();
92
96
  }
@@ -99,22 +103,45 @@ let Popup = Popup_1 = class Popup extends UI5Element {
99
103
  * @since 1.2.0
100
104
  */
101
105
  set open(value) {
102
- if (this._opened === value) {
106
+ if (this._open === value) {
103
107
  return;
104
108
  }
105
- this._opened = value;
109
+ this._open = value;
106
110
  if (value) {
107
111
  this.openPopup();
108
112
  }
109
113
  else {
110
- this.close();
114
+ this.closePopup();
111
115
  }
112
116
  }
113
117
  get open() {
114
- return this._opened;
118
+ return this._open;
115
119
  }
116
120
  async openPopup() {
117
- await this._open(false);
121
+ if (this._opened) {
122
+ return;
123
+ }
124
+ const prevented = !this.fireEvent("before-open", {}, true, false);
125
+ if (prevented || this._opened) {
126
+ return;
127
+ }
128
+ this._opened = true;
129
+ if (this.isModal) {
130
+ Popup_1.blockPageScrolling(this);
131
+ }
132
+ this._focusedElementBeforeOpen = getFocusedElement();
133
+ this._show();
134
+ if (this.getDomRef()) {
135
+ this._updateMediaRange();
136
+ }
137
+ this._addOpenedPopup();
138
+ this.open = true;
139
+ // initial focus, if focused element is statically created
140
+ await this.applyInitialFocus();
141
+ await renderFinished();
142
+ // initial focus, if focused element is dynamically created
143
+ await this.applyInitialFocus();
144
+ this.fireEvent("open", {}, false, false);
118
145
  }
119
146
  _resize() {
120
147
  this._updateMediaRange();
@@ -156,7 +183,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
156
183
  _onkeydown(e) {
157
184
  const isTabOutAttempt = e.target === this._root && isTabPrevious(e);
158
185
  // if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element
159
- const isEnterOnClosedPopupChild = isEnter(e) && !this.isOpen();
186
+ const isEnterOnClosedPopupChild = isEnter(e) && !this.open;
160
187
  if (isTabOutAttempt || isEnterOnClosedPopupChild) {
161
188
  e.preventDefault();
162
189
  }
@@ -217,11 +244,12 @@ let Popup = Popup_1 = class Popup extends UI5Element {
217
244
  }
218
245
  }
219
246
  /**
220
- * Use this method to focus the element denoted by "initialFocus", if provided, or the first focusable element otherwise.
247
+ * Use this method to focus the element denoted by "initialFocus", if provided,
248
+ * or the first focusable element otherwise.
221
249
  * @protected
222
250
  */
223
- async applyInitialFocus(preventInitialFocus) {
224
- if (!this._disableInitialFocus && !preventInitialFocus) {
251
+ async applyInitialFocus() {
252
+ if (!this.preventInitialFocus) {
225
253
  await this.applyFocus();
226
254
  }
227
255
  }
@@ -249,46 +277,9 @@ let Popup = Popup_1 = class Popup extends UI5Element {
249
277
  element.focus();
250
278
  }
251
279
  }
252
- /**
253
- * Tells if the component is opened
254
- * @public
255
- */
256
- isOpen() {
257
- return this.open;
258
- }
259
280
  isFocusWithin() {
260
281
  return isFocusedElementWithinNode(this._root);
261
282
  }
262
- /**
263
- * Shows the block layer (for modal popups only) and sets the correct z-index for the purpose of popup stacking
264
- * @protected
265
- */
266
- async _open(preventInitialFocus) {
267
- if (this._isOpened) {
268
- return;
269
- }
270
- const prevented = !this.fireEvent("before-open", {}, true, false);
271
- if (prevented || this._isOpened) {
272
- return;
273
- }
274
- this._isOpened = true;
275
- if (this.isModal && !this.shouldHideBackdrop) {
276
- Popup_1.blockPageScrolling(this);
277
- }
278
- this._focusedElementBeforeOpen = getFocusedElement();
279
- this._show();
280
- if (this.getDomRef()) {
281
- this._updateMediaRange();
282
- }
283
- this._addOpenedPopup();
284
- this.open = true;
285
- // initial focus, if focused element is statically created
286
- await this.applyInitialFocus(preventInitialFocus);
287
- await renderFinished();
288
- // initial focus, if focused element is dynamically created
289
- await this.applyInitialFocus(preventInitialFocus);
290
- this.fireEvent("after-open", {}, false, false);
291
- }
292
283
  _updateMediaRange() {
293
284
  this.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef().offsetWidth);
294
285
  }
@@ -301,17 +292,16 @@ let Popup = Popup_1 = class Popup extends UI5Element {
301
292
  }
302
293
  /**
303
294
  * Closes the popup.
304
- * @public
305
295
  */
306
- close(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {
307
- if (!this._isOpened) {
296
+ closePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {
297
+ if (!this._opened) {
308
298
  return;
309
299
  }
310
300
  const prevented = !this.fireEvent("before-close", { escPressed }, true, false);
311
301
  if (prevented) {
312
302
  return;
313
303
  }
314
- this._isOpened = false;
304
+ this._opened = false;
315
305
  if (this.isModal) {
316
306
  Popup_1.unblockPageScrolling(this);
317
307
  }
@@ -323,7 +313,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
323
313
  if (!this.preventFocusRestore && !preventFocusRestore) {
324
314
  this.resetFocus();
325
315
  }
326
- this.fireEvent("after-close", {}, false, false);
316
+ this.fireEvent("close", {}, false, false);
327
317
  }
328
318
  /**
329
319
  * Removes the popup from the "opened popups registry"
@@ -417,13 +407,19 @@ __decorate([
417
407
  ], Popup.prototype, "mediaRange", void 0);
418
408
  __decorate([
419
409
  property({ type: Boolean })
420
- ], Popup.prototype, "_disableInitialFocus", void 0);
410
+ ], Popup.prototype, "preventInitialFocus", void 0);
421
411
  __decorate([
422
412
  property({ type: Boolean, noAttribute: true })
423
413
  ], Popup.prototype, "isTopModalPopup", void 0);
424
414
  __decorate([
425
415
  slot({ type: HTMLElement, "default": true })
426
416
  ], Popup.prototype, "content", void 0);
417
+ __decorate([
418
+ property({ type: Boolean })
419
+ ], Popup.prototype, "onPhone", void 0);
420
+ __decorate([
421
+ property({ type: Boolean })
422
+ ], Popup.prototype, "onDesktop", void 0);
427
423
  __decorate([
428
424
  property({ type: Boolean })
429
425
  ], Popup.prototype, "open", null);
@@ -445,7 +441,7 @@ Popup = Popup_1 = __decorate([
445
441
  * @public
446
442
  */
447
443
  ,
448
- event("after-open")
444
+ event("open")
449
445
  /**
450
446
  * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. **This event does not bubble.**
451
447
  * @public
@@ -468,7 +464,7 @@ Popup = Popup_1 = __decorate([
468
464
  * @public
469
465
  */
470
466
  ,
471
- event("after-close")
467
+ event("close")
472
468
  /**
473
469
  * Fired whenever the popup content area is scrolled
474
470
  * @private