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

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 (927) hide show
  1. package/.env.testing +4 -0
  2. package/CHANGELOG.md +273 -0
  3. package/README.md +1 -34
  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 +27 -13
  11. package/dist/Button.js +38 -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.map +1 -1
  18. package/dist/CalendarDateRange.d.ts +31 -0
  19. package/dist/CalendarDateRange.js +36 -0
  20. package/dist/CalendarDateRange.js.map +1 -0
  21. package/dist/CalendarHeader.js +8 -8
  22. package/dist/CalendarHeader.js.map +1 -1
  23. package/dist/CheckBox.d.ts +8 -17
  24. package/dist/CheckBox.js +14 -22
  25. package/dist/CheckBox.js.map +1 -1
  26. package/dist/ColorPalette.d.ts +19 -0
  27. package/dist/ColorPalette.js +112 -13
  28. package/dist/ColorPalette.js.map +1 -1
  29. package/dist/ColorPaletteItem.d.ts +16 -0
  30. package/dist/ColorPaletteItem.js +10 -0
  31. package/dist/ColorPaletteItem.js.map +1 -1
  32. package/dist/ColorPalettePopover.d.ts +5 -0
  33. package/dist/ColorPalettePopover.js +15 -0
  34. package/dist/ColorPalettePopover.js.map +1 -1
  35. package/dist/ColorPicker.d.ts +13 -1
  36. package/dist/ColorPicker.js +10 -0
  37. package/dist/ColorPicker.js.map +1 -1
  38. package/dist/ComboBox.d.ts +23 -11
  39. package/dist/ComboBox.js +156 -58
  40. package/dist/ComboBox.js.map +1 -1
  41. package/dist/ComboBoxItem.d.ts +5 -5
  42. package/dist/ComboBoxItem.js +3 -7
  43. package/dist/ComboBoxItem.js.map +1 -1
  44. package/dist/{ComboBoxGroupItem.d.ts → ComboBoxItemGroup.d.ts} +11 -3
  45. package/dist/{ComboBoxGroupItem.js → ComboBoxItemGroup.js} +24 -9
  46. package/dist/ComboBoxItemGroup.js.map +1 -0
  47. package/dist/CustomListItem.d.ts +7 -0
  48. package/dist/CustomListItem.js +7 -2
  49. package/dist/CustomListItem.js.map +1 -1
  50. package/dist/DatePicker.d.ts +9 -18
  51. package/dist/DatePicker.js +19 -15
  52. package/dist/DatePicker.js.map +1 -1
  53. package/dist/DateRangePicker.d.ts +5 -1
  54. package/dist/DateRangePicker.js +21 -0
  55. package/dist/DateRangePicker.js.map +1 -1
  56. package/dist/DateTimePicker.d.ts +4 -1
  57. package/dist/DateTimePicker.js +14 -0
  58. package/dist/DateTimePicker.js.map +1 -1
  59. package/dist/DayPicker.js +6 -4
  60. package/dist/DayPicker.js.map +1 -1
  61. package/dist/Dialog.d.ts +0 -16
  62. package/dist/Dialog.js +0 -21
  63. package/dist/Dialog.js.map +1 -1
  64. package/dist/FileUploader.d.ts +6 -23
  65. package/dist/FileUploader.js +15 -46
  66. package/dist/FileUploader.js.map +1 -1
  67. package/dist/Form.d.ts +199 -0
  68. package/dist/Form.js +359 -0
  69. package/dist/Form.js.map +1 -0
  70. package/dist/FormGroup.d.ts +64 -0
  71. package/dist/FormGroup.js +87 -0
  72. package/dist/FormGroup.js.map +1 -0
  73. package/dist/FormItem.d.ts +63 -0
  74. package/dist/FormItem.js +77 -0
  75. package/dist/FormItem.js.map +1 -0
  76. package/dist/Input.d.ts +17 -30
  77. package/dist/Input.js +46 -48
  78. package/dist/Input.js.map +1 -1
  79. package/dist/Label.d.ts +1 -1
  80. package/dist/Label.js +1 -1
  81. package/dist/Label.js.map +1 -1
  82. package/dist/Link.d.ts +6 -5
  83. package/dist/Link.js +3 -2
  84. package/dist/Link.js.map +1 -1
  85. package/dist/List.d.ts +3 -2
  86. package/dist/List.js +45 -0
  87. package/dist/List.js.map +1 -1
  88. package/dist/ListItem.d.ts +8 -15
  89. package/dist/ListItem.js +25 -34
  90. package/dist/ListItem.js.map +1 -1
  91. package/dist/ListItemBase.d.ts +24 -2
  92. package/dist/ListItemBase.js +54 -13
  93. package/dist/ListItemBase.js.map +1 -1
  94. package/dist/ListItemGroup.d.ts +6 -1
  95. package/dist/ListItemGroup.js +4 -1
  96. package/dist/ListItemGroup.js.map +1 -1
  97. package/dist/ListItemGroupHeader.d.ts +2 -0
  98. package/dist/ListItemGroupHeader.js +9 -0
  99. package/dist/ListItemGroupHeader.js.map +1 -1
  100. package/dist/Menu.d.ts +11 -90
  101. package/dist/Menu.js +65 -324
  102. package/dist/Menu.js.map +1 -1
  103. package/dist/MenuItem.d.ts +88 -23
  104. package/dist/MenuItem.js +111 -23
  105. package/dist/MenuItem.js.map +1 -1
  106. package/dist/MonthPicker.d.ts +1 -0
  107. package/dist/MonthPicker.js +10 -6
  108. package/dist/MonthPicker.js.map +1 -1
  109. package/dist/MultiComboBox.d.ts +17 -3
  110. package/dist/MultiComboBox.js +63 -25
  111. package/dist/MultiComboBox.js.map +1 -1
  112. package/dist/MultiInput.d.ts +18 -4
  113. package/dist/MultiInput.js +56 -31
  114. package/dist/MultiInput.js.map +1 -1
  115. package/dist/NavigationMenu.d.ts +1 -6
  116. package/dist/NavigationMenu.js +3 -47
  117. package/dist/NavigationMenu.js.map +1 -1
  118. package/dist/NavigationMenuItem.d.ts +22 -3
  119. package/dist/NavigationMenuItem.js +29 -4
  120. package/dist/NavigationMenuItem.js.map +1 -1
  121. package/dist/Option.d.ts +21 -33
  122. package/dist/Option.js +41 -19
  123. package/dist/Option.js.map +1 -1
  124. package/dist/OptionCustom.d.ts +52 -0
  125. package/dist/OptionCustom.js +69 -0
  126. package/dist/OptionCustom.js.map +1 -0
  127. package/dist/Panel.d.ts +1 -1
  128. package/dist/Popover.d.ts +8 -21
  129. package/dist/Popover.js +32 -44
  130. package/dist/Popover.js.map +1 -1
  131. package/dist/Popup.d.ts +23 -23
  132. package/dist/Popup.js +58 -66
  133. package/dist/Popup.js.map +1 -1
  134. package/dist/RadioButton.d.ts +17 -28
  135. package/dist/RadioButton.js +20 -32
  136. package/dist/RadioButton.js.map +1 -1
  137. package/dist/RadioButtonGroup.js +6 -5
  138. package/dist/RadioButtonGroup.js.map +1 -1
  139. package/dist/RangeSlider.d.ts +3 -1
  140. package/dist/RangeSlider.js +7 -0
  141. package/dist/RangeSlider.js.map +1 -1
  142. package/dist/ResponsivePopover.d.ts +4 -16
  143. package/dist/ResponsivePopover.js +17 -30
  144. package/dist/ResponsivePopover.js.map +1 -1
  145. package/dist/SegmentedButtonItem.d.ts +6 -1
  146. package/dist/SegmentedButtonItem.js +7 -4
  147. package/dist/SegmentedButtonItem.js.map +1 -1
  148. package/dist/Select.d.ts +28 -82
  149. package/dist/Select.js +84 -231
  150. package/dist/Select.js.map +1 -1
  151. package/dist/Slider.d.ts +3 -1
  152. package/dist/Slider.js +4 -0
  153. package/dist/Slider.js.map +1 -1
  154. package/dist/SliderBase.d.ts +11 -1
  155. package/dist/SliderBase.js +6 -0
  156. package/dist/SliderBase.js.map +1 -1
  157. package/dist/StandardListItem.d.ts +7 -0
  158. package/dist/StandardListItem.js +3 -0
  159. package/dist/StandardListItem.js.map +1 -1
  160. package/dist/StepInput.d.ts +6 -15
  161. package/dist/StepInput.js +7 -11
  162. package/dist/StepInput.js.map +1 -1
  163. package/dist/Switch.d.ts +8 -17
  164. package/dist/Switch.js +13 -21
  165. package/dist/Switch.js.map +1 -1
  166. package/dist/TabContainer.js +11 -5
  167. package/dist/TabContainer.js.map +1 -1
  168. package/dist/Tag.d.ts +1 -1
  169. package/dist/Tag.js.map +1 -1
  170. package/dist/TextArea.d.ts +9 -18
  171. package/dist/TextArea.js +22 -15
  172. package/dist/TextArea.js.map +1 -1
  173. package/dist/TimePicker.d.ts +24 -23
  174. package/dist/TimePicker.js +48 -57
  175. package/dist/TimePicker.js.map +1 -1
  176. package/dist/TimeSelectionClocks.js +2 -0
  177. package/dist/TimeSelectionClocks.js.map +1 -1
  178. package/dist/TimeSelectionInputs.js +2 -0
  179. package/dist/TimeSelectionInputs.js.map +1 -1
  180. package/dist/Toast.d.ts +1 -1
  181. package/dist/Toast.js +2 -2
  182. package/dist/Toast.js.map +1 -1
  183. package/dist/ToggleSpinButton.d.ts +1 -1
  184. package/dist/ToggleSpinButton.js +1 -1
  185. package/dist/ToggleSpinButton.js.map +1 -1
  186. package/dist/Token.d.ts +5 -0
  187. package/dist/Token.js +3 -0
  188. package/dist/Token.js.map +1 -1
  189. package/dist/Tokenizer.d.ts +11 -5
  190. package/dist/Tokenizer.js +93 -71
  191. package/dist/Tokenizer.js.map +1 -1
  192. package/dist/Toolbar.d.ts +5 -0
  193. package/dist/Toolbar.js +16 -4
  194. package/dist/Toolbar.js.map +1 -1
  195. package/dist/ToolbarButton.d.ts +11 -3
  196. package/dist/ToolbarButton.js +2 -2
  197. package/dist/ToolbarButton.js.map +1 -1
  198. package/dist/TreeItemBase.d.ts +8 -1
  199. package/dist/TreeItemBase.js +3 -1
  200. package/dist/TreeItemBase.js.map +1 -1
  201. package/dist/TreeItemCustom.js +4 -2
  202. package/dist/TreeItemCustom.js.map +1 -1
  203. package/dist/bundle.esm.d.ts +0 -1
  204. package/dist/bundle.esm.js +5 -3
  205. package/dist/bundle.esm.js.map +1 -1
  206. package/dist/css/themes/Avatar.css +1 -1
  207. package/dist/css/themes/AvatarGroup.css +1 -1
  208. package/dist/css/themes/Bar.css +1 -1
  209. package/dist/css/themes/Breadcrumbs.css +1 -1
  210. package/dist/css/themes/BusyIndicator.css +1 -1
  211. package/dist/css/themes/Button.css +1 -1
  212. package/dist/css/themes/Calendar.css +1 -1
  213. package/dist/css/themes/CalendarHeader.css +1 -1
  214. package/dist/css/themes/CalendarLegend.css +1 -1
  215. package/dist/css/themes/CalendarLegendItem.css +1 -1
  216. package/dist/css/themes/Card.css +1 -1
  217. package/dist/css/themes/CardHeader.css +1 -1
  218. package/dist/css/themes/Carousel.css +1 -1
  219. package/dist/css/themes/CheckBox.css +1 -1
  220. package/dist/css/themes/ColorPalette.css +1 -1
  221. package/dist/css/themes/ColorPaletteItem.css +1 -1
  222. package/dist/css/themes/ColorPalettePopover.css +1 -1
  223. package/dist/css/themes/ColorPicker.css +1 -1
  224. package/dist/css/themes/ComboBox.css +1 -1
  225. package/dist/css/themes/CustomListItem.css +1 -1
  226. package/dist/css/themes/DatePicker.css +1 -1
  227. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  228. package/dist/css/themes/DayPicker.css +1 -1
  229. package/dist/css/themes/Dialog.css +1 -1
  230. package/dist/css/themes/FileUploader.css +1 -1
  231. package/dist/css/themes/Form.css +1 -0
  232. package/dist/css/themes/FormItem.css +1 -0
  233. package/dist/css/themes/FormLabelSpan.css +1 -0
  234. package/dist/css/themes/FormLayout.css +1 -0
  235. package/dist/css/themes/GrowingButton.css +1 -1
  236. package/dist/css/themes/Icon.css +1 -1
  237. package/dist/css/themes/Input.css +1 -1
  238. package/dist/css/themes/InputIcon.css +1 -1
  239. package/dist/css/themes/InputSharedStyles.css +1 -1
  240. package/dist/css/themes/Label.css +1 -1
  241. package/dist/css/themes/Link.css +1 -1
  242. package/dist/css/themes/List.css +1 -1
  243. package/dist/css/themes/ListItem.css +1 -1
  244. package/dist/css/themes/ListItemAdditionalText.css +1 -0
  245. package/dist/css/themes/ListItemBase.css +1 -1
  246. package/dist/css/themes/ListItemGroup.css +1 -1
  247. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  248. package/dist/css/themes/ListItemIcon.css +1 -0
  249. package/dist/css/themes/Menu.css +1 -1
  250. package/dist/css/themes/MenuItem.css +1 -0
  251. package/dist/css/themes/MessageStrip.css +1 -1
  252. package/dist/css/themes/MonthPicker.css +1 -1
  253. package/dist/css/themes/MultiComboBox.css +1 -1
  254. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  255. package/dist/css/themes/MultiInput.css +1 -1
  256. package/dist/css/themes/NavigationMenu.css +1 -1
  257. package/dist/css/themes/NavigationMenuItem.css +1 -0
  258. package/dist/css/themes/OptionBase.css +1 -0
  259. package/dist/css/themes/Panel.css +1 -1
  260. package/dist/css/themes/Popover.css +1 -1
  261. package/dist/css/themes/Popup.css +1 -1
  262. package/dist/css/themes/PopupsCommon.css +1 -1
  263. package/dist/css/themes/ProgressIndicator.css +1 -1
  264. package/dist/css/themes/RadioButton.css +1 -1
  265. package/dist/css/themes/RangeSlider.css +1 -1
  266. package/dist/css/themes/RatingIndicator.css +1 -1
  267. package/dist/css/themes/ResponsivePopover.css +1 -1
  268. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  269. package/dist/css/themes/SegmentedButton.css +1 -1
  270. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  271. package/dist/css/themes/Select.css +1 -1
  272. package/dist/css/themes/SelectPopover.css +1 -1
  273. package/dist/css/themes/SliderBase.css +1 -1
  274. package/dist/css/themes/SplitButton.css +1 -1
  275. package/dist/css/themes/StepInput.css +1 -1
  276. package/dist/css/themes/Switch.css +1 -1
  277. package/dist/css/themes/TabContainer.css +1 -1
  278. package/dist/css/themes/TabInOverflow.css +1 -1
  279. package/dist/css/themes/TabInStrip.css +1 -1
  280. package/dist/css/themes/TabSemanticIcon.css +1 -1
  281. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  282. package/dist/css/themes/Tag.css +1 -1
  283. package/dist/css/themes/Text.css +1 -1
  284. package/dist/css/themes/TextArea.css +1 -1
  285. package/dist/css/themes/TimePicker.css +1 -1
  286. package/dist/css/themes/Toast.css +1 -1
  287. package/dist/css/themes/ToggleButton.css +1 -1
  288. package/dist/css/themes/Token.css +1 -1
  289. package/dist/css/themes/Tokenizer.css +1 -1
  290. package/dist/css/themes/TokenizerPopover.css +1 -1
  291. package/dist/css/themes/Toolbar.css +1 -1
  292. package/dist/css/themes/ToolbarPopover.css +1 -1
  293. package/dist/css/themes/TreeItem.css +1 -1
  294. package/dist/css/themes/ValueStateMessage.css +1 -1
  295. package/dist/css/themes/YearPicker.css +1 -1
  296. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  297. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  298. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  299. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  300. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  301. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  302. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  303. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  304. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  305. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  306. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  307. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  308. package/dist/custom-elements-internal.json +2425 -1770
  309. package/dist/custom-elements.json +1994 -1511
  310. package/dist/features/InputSuggestions.js +3 -1
  311. package/dist/features/InputSuggestions.js.map +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  331. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  332. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  333. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  334. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  335. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  336. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  337. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  338. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  339. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  340. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  341. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  342. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  343. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  344. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  345. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  346. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  347. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  348. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  349. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  350. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  351. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  352. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  353. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  354. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  355. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  356. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  357. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  358. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  359. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  360. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  361. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  362. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  363. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  364. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  365. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  366. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  367. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  368. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  369. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  370. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  371. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  372. package/dist/generated/i18n/i18n-defaults.d.ts +6 -2
  373. package/dist/generated/i18n/i18n-defaults.js +6 -2
  374. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  375. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +2 -2
  376. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  377. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +2 -2
  378. package/dist/generated/templates/BusyIndicatorTemplate.lit.js.map +1 -1
  379. package/dist/generated/templates/ButtonTemplate.lit.js +3 -2
  380. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  381. package/dist/generated/templates/CalendarTemplate.lit.js +1 -1
  382. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -1
  383. package/dist/generated/templates/CheckBoxTemplate.lit.js +1 -1
  384. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -1
  385. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +2 -2
  386. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -1
  387. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  388. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  389. package/dist/generated/templates/ColorPaletteTemplate.lit.js +1 -1
  390. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -1
  391. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +12 -9
  392. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  393. package/dist/generated/templates/ComboBoxTemplate.lit.js +14 -11
  394. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  395. package/dist/generated/templates/DatePickerInputTemplate.lit.js +2 -2
  396. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  397. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +1 -1
  398. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  399. package/dist/generated/templates/DatePickerTemplate.lit.js +2 -2
  400. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  401. package/dist/generated/templates/DateRangePickerTemplate.lit.d.ts +4 -0
  402. package/dist/generated/templates/DateRangePickerTemplate.lit.js +9 -0
  403. package/dist/generated/templates/DateRangePickerTemplate.lit.js.map +1 -0
  404. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  405. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  407. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/DialogTemplate.lit.js +1 -1
  409. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
  411. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/FileUploaderTemplate.lit.js +5 -7
  413. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/FormItemTemplate.lit.d.ts +4 -0
  415. package/dist/generated/templates/FormItemTemplate.lit.js +6 -0
  416. package/dist/generated/templates/FormItemTemplate.lit.js.map +1 -0
  417. package/dist/generated/templates/FormTemplate.lit.d.ts +4 -0
  418. package/dist/generated/templates/FormTemplate.lit.js +13 -0
  419. package/dist/generated/templates/FormTemplate.lit.js.map +1 -0
  420. package/dist/generated/templates/InputPopoverTemplate.lit.js +2 -2
  421. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  422. package/dist/generated/templates/InputTemplate.lit.js +4 -4
  423. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  424. package/dist/generated/templates/{MenuListItemTemplate.lit.d.ts → ListItemBaseTemplate.lit.d.ts} +2 -2
  425. package/dist/generated/templates/ListItemBaseTemplate.lit.js +5 -0
  426. package/dist/generated/templates/ListItemBaseTemplate.lit.js.map +1 -0
  427. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js +1 -1
  428. package/dist/generated/templates/ListItemGroupHeaderTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/ListItemGroupTemplate.lit.js +1 -1
  430. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/MenuItemTemplate.lit.d.ts +4 -0
  432. package/dist/generated/templates/{MenuListItemTemplate.lit.js → MenuItemTemplate.lit.js} +23 -15
  433. package/dist/generated/templates/MenuItemTemplate.lit.js.map +1 -0
  434. package/dist/generated/templates/MenuTemplate.lit.js +6 -8
  435. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  436. package/dist/generated/templates/MonthPickerTemplate.lit.js +1 -1
  437. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -1
  438. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  439. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  440. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -4
  441. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  442. package/dist/generated/templates/MultiInputTemplate.lit.js +28 -27
  443. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  444. package/dist/generated/templates/NavigationMenuItemTemplate.lit.d.ts +4 -0
  445. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js +57 -0
  446. package/dist/generated/templates/NavigationMenuItemTemplate.lit.js.map +1 -0
  447. package/dist/generated/templates/NavigationMenuTemplate.lit.js +6 -19
  448. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  449. package/dist/generated/templates/OptionCustomTemplate.lit.d.ts +4 -0
  450. package/dist/generated/templates/OptionCustomTemplate.lit.js +5 -0
  451. package/dist/generated/templates/OptionCustomTemplate.lit.js.map +1 -0
  452. package/dist/generated/templates/OptionTemplate.lit.d.ts +4 -0
  453. package/dist/generated/templates/OptionTemplate.lit.js +7 -0
  454. package/dist/generated/templates/OptionTemplate.lit.js.map +1 -0
  455. package/dist/generated/templates/PopoverTemplate.lit.js +1 -1
  456. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -1
  457. package/dist/generated/templates/PopupTemplate.lit.js +1 -1
  458. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -1
  459. package/dist/generated/templates/RadioButtonTemplate.lit.js +1 -1
  460. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -1
  461. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +3 -3
  462. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  463. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  464. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  465. package/dist/generated/templates/SelectPopoverTemplate.lit.js +6 -7
  466. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  467. package/dist/generated/templates/SelectTemplate.lit.js +8 -9
  468. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  469. package/dist/generated/templates/StepInputTemplate.lit.js +3 -3
  470. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  471. package/dist/generated/templates/SwitchTemplate.lit.js +1 -1
  472. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -1
  473. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  474. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  475. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  476. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -1
  477. package/dist/generated/templates/TextAreaTemplate.lit.js +2 -2
  478. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  479. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +2 -2
  480. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -1
  481. package/dist/generated/templates/TimePickerTemplate.lit.js +3 -3
  482. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -1
  483. package/dist/generated/templates/ToggleButtonTemplate.lit.js +3 -2
  484. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  485. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +3 -2
  486. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  487. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +4 -3
  488. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  489. package/dist/generated/templates/TokenizerTemplate.lit.js +4 -3
  490. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  491. package/dist/generated/templates/ToolbarButtonTemplate.lit.js +1 -1
  492. package/dist/generated/templates/ToolbarButtonTemplate.lit.js.map +1 -1
  493. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js +1 -1
  494. package/dist/generated/templates/ToolbarPopoverButtonTemplate.lit.js.map +1 -1
  495. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js +1 -1
  496. package/dist/generated/templates/ToolbarPopoverTemplate.lit.js.map +1 -1
  497. package/dist/generated/templates/ToolbarTemplate.lit.js +1 -1
  498. package/dist/generated/templates/ToolbarTemplate.lit.js.map +1 -1
  499. package/dist/generated/templates/YearPickerTemplate.lit.js +1 -1
  500. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -1
  501. package/dist/generated/themes/Avatar.css.js +1 -1
  502. package/dist/generated/themes/Avatar.css.js.map +1 -1
  503. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  504. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  505. package/dist/generated/themes/Bar.css.js +1 -1
  506. package/dist/generated/themes/Bar.css.js.map +1 -1
  507. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  508. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  509. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  510. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  511. package/dist/generated/themes/Button.css.js +1 -1
  512. package/dist/generated/themes/Button.css.js.map +1 -1
  513. package/dist/generated/themes/Calendar.css.js +1 -1
  514. package/dist/generated/themes/Calendar.css.js.map +1 -1
  515. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  516. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  517. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  518. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  519. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  520. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  521. package/dist/generated/themes/Card.css.js +1 -1
  522. package/dist/generated/themes/Card.css.js.map +1 -1
  523. package/dist/generated/themes/CardHeader.css.js +1 -1
  524. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  525. package/dist/generated/themes/Carousel.css.js +1 -1
  526. package/dist/generated/themes/Carousel.css.js.map +1 -1
  527. package/dist/generated/themes/CheckBox.css.js +1 -1
  528. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  529. package/dist/generated/themes/ColorPalette.css.js +1 -1
  530. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  531. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  532. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  533. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  534. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  535. package/dist/generated/themes/ColorPicker.css.js +1 -1
  536. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  537. package/dist/generated/themes/ComboBox.css.js +1 -1
  538. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  539. package/dist/generated/themes/CustomListItem.css.js +1 -1
  540. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  541. package/dist/generated/themes/DatePicker.css.js +1 -1
  542. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  543. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  544. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  545. package/dist/generated/themes/DayPicker.css.js +1 -1
  546. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  547. package/dist/generated/themes/Dialog.css.js +1 -1
  548. package/dist/generated/themes/Dialog.css.js.map +1 -1
  549. package/dist/generated/themes/FileUploader.css.js +1 -1
  550. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  551. package/dist/generated/themes/Form.css.js +9 -0
  552. package/dist/generated/themes/Form.css.js.map +1 -0
  553. package/dist/generated/themes/FormItem.css.js +9 -0
  554. package/dist/generated/themes/FormItem.css.js.map +1 -0
  555. package/dist/generated/themes/FormLabelSpan.css.js +9 -0
  556. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -0
  557. package/dist/generated/themes/FormLayout.css.d.ts +3 -0
  558. package/dist/generated/themes/FormLayout.css.js +9 -0
  559. package/dist/generated/themes/FormLayout.css.js.map +1 -0
  560. package/dist/generated/themes/GrowingButton.css.js +1 -1
  561. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  562. package/dist/generated/themes/Icon.css.js +1 -1
  563. package/dist/generated/themes/Icon.css.js.map +1 -1
  564. package/dist/generated/themes/Input.css.js +1 -1
  565. package/dist/generated/themes/Input.css.js.map +1 -1
  566. package/dist/generated/themes/InputIcon.css.js +1 -1
  567. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  568. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  569. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  570. package/dist/generated/themes/Label.css.js +1 -1
  571. package/dist/generated/themes/Label.css.js.map +1 -1
  572. package/dist/generated/themes/Link.css.js +1 -1
  573. package/dist/generated/themes/Link.css.js.map +1 -1
  574. package/dist/generated/themes/List.css.js +1 -1
  575. package/dist/generated/themes/List.css.js.map +1 -1
  576. package/dist/generated/themes/ListItem.css.js +1 -1
  577. package/dist/generated/themes/ListItem.css.js.map +1 -1
  578. package/dist/generated/themes/ListItemAdditionalText.css.d.ts +3 -0
  579. package/dist/generated/themes/{SelectMenu.css.js → ListItemAdditionalText.css.js} +2 -2
  580. package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -0
  581. package/dist/generated/themes/ListItemBase.css.js +1 -1
  582. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  583. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  584. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  585. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  586. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  587. package/dist/generated/themes/ListItemIcon.css.d.ts +3 -0
  588. package/dist/generated/themes/ListItemIcon.css.js +9 -0
  589. package/dist/generated/themes/ListItemIcon.css.js.map +1 -0
  590. package/dist/generated/themes/Menu.css.js +1 -1
  591. package/dist/generated/themes/Menu.css.js.map +1 -1
  592. package/dist/generated/themes/MenuItem.css.d.ts +3 -0
  593. package/dist/generated/themes/MenuItem.css.js +9 -0
  594. package/dist/generated/themes/MenuItem.css.js.map +1 -0
  595. package/dist/generated/themes/MessageStrip.css.js +1 -1
  596. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  597. package/dist/generated/themes/MonthPicker.css.js +1 -1
  598. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  599. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  600. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  601. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  602. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  603. package/dist/generated/themes/MultiInput.css.js +1 -1
  604. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  605. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  606. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  607. package/dist/generated/themes/NavigationMenuItem.css.d.ts +3 -0
  608. package/dist/generated/themes/NavigationMenuItem.css.js +9 -0
  609. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -0
  610. package/dist/generated/themes/OptionBase.css.d.ts +3 -0
  611. package/dist/generated/themes/{SelectMenuOption.css.js → OptionBase.css.js} +3 -2
  612. package/dist/generated/themes/{SelectMenu.css.js.map → OptionBase.css.js.map} +1 -1
  613. package/dist/generated/themes/Panel.css.js +1 -1
  614. package/dist/generated/themes/Panel.css.js.map +1 -1
  615. package/dist/generated/themes/Popover.css.js +1 -1
  616. package/dist/generated/themes/Popover.css.js.map +1 -1
  617. package/dist/generated/themes/Popup.css.js +1 -1
  618. package/dist/generated/themes/Popup.css.js.map +1 -1
  619. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  620. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  621. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  622. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  623. package/dist/generated/themes/RadioButton.css.js +1 -1
  624. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  625. package/dist/generated/themes/RangeSlider.css.js +1 -1
  626. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  627. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  628. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  629. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  630. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  631. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  632. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  633. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  634. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  635. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  636. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  637. package/dist/generated/themes/Select.css.js +1 -1
  638. package/dist/generated/themes/Select.css.js.map +1 -1
  639. package/dist/generated/themes/SelectPopover.css.js +1 -1
  640. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  641. package/dist/generated/themes/SliderBase.css.js +1 -1
  642. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  643. package/dist/generated/themes/SplitButton.css.js +1 -1
  644. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  645. package/dist/generated/themes/StepInput.css.js +1 -1
  646. package/dist/generated/themes/StepInput.css.js.map +1 -1
  647. package/dist/generated/themes/Switch.css.js +1 -1
  648. package/dist/generated/themes/Switch.css.js.map +1 -1
  649. package/dist/generated/themes/TabContainer.css.js +1 -1
  650. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  651. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  652. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  653. package/dist/generated/themes/TabInStrip.css.js +1 -1
  654. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  655. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  656. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  657. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  658. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  659. package/dist/generated/themes/Tag.css.js +1 -1
  660. package/dist/generated/themes/Tag.css.js.map +1 -1
  661. package/dist/generated/themes/Text.css.js +1 -1
  662. package/dist/generated/themes/Text.css.js.map +1 -1
  663. package/dist/generated/themes/TextArea.css.js +1 -1
  664. package/dist/generated/themes/TextArea.css.js.map +1 -1
  665. package/dist/generated/themes/TimePicker.css.js +1 -1
  666. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  667. package/dist/generated/themes/Toast.css.js +1 -1
  668. package/dist/generated/themes/Toast.css.js.map +1 -1
  669. package/dist/generated/themes/ToggleButton.css.js +1 -1
  670. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  671. package/dist/generated/themes/Token.css.js +1 -1
  672. package/dist/generated/themes/Token.css.js.map +1 -1
  673. package/dist/generated/themes/Tokenizer.css.js +1 -1
  674. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  675. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  676. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  677. package/dist/generated/themes/Toolbar.css.js +1 -1
  678. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  679. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  680. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  681. package/dist/generated/themes/TreeItem.css.js +1 -1
  682. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  683. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  684. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  685. package/dist/generated/themes/YearPicker.css.js +1 -1
  686. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  687. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  688. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  689. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  690. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  691. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  692. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  693. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  694. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  695. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  696. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  697. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  698. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  699. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  700. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  701. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  702. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  703. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  704. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  705. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  706. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  707. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  708. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  709. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  710. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  711. package/dist/popup-utils/OpenedPopupsRegistry.js +1 -1
  712. package/dist/popup-utils/OpenedPopupsRegistry.js.map +1 -1
  713. package/dist/popup-utils/PopoverRegistry.js +5 -4
  714. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  715. package/dist/styles/Icon.css +33 -0
  716. package/dist/styles/Icon.module.css +33 -0
  717. package/dist/types/FormItemSpacing.d.ts +19 -0
  718. package/dist/types/FormItemSpacing.js +21 -0
  719. package/dist/types/FormItemSpacing.js.map +1 -0
  720. package/dist/types/{HighlightTypes.d.ts → Highlight.d.ts} +3 -3
  721. package/dist/types/Highlight.js +30 -0
  722. package/dist/types/Highlight.js.map +1 -0
  723. package/dist/types/InputType.d.ts +7 -1
  724. package/dist/types/InputType.js +6 -0
  725. package/dist/types/InputType.js.map +1 -1
  726. package/dist/types/LinkAccessibleRole.d.ts +19 -0
  727. package/dist/types/LinkAccessibleRole.js +21 -0
  728. package/dist/types/LinkAccessibleRole.js.map +1 -0
  729. package/dist/vscode.html-custom-data.json +312 -163
  730. package/dist/web-types.json +736 -378
  731. package/package.json +10 -10
  732. package/src/Breadcrumbs.hbs +4 -2
  733. package/src/BusyIndicator.hbs +1 -1
  734. package/src/Button.hbs +12 -2
  735. package/src/Calendar.hbs +2 -2
  736. package/src/CheckBox.hbs +0 -2
  737. package/src/ColorPalette.hbs +3 -1
  738. package/src/ColorPaletteItem.hbs +1 -1
  739. package/src/ColorPalettePopover.hbs +2 -1
  740. package/src/ComboBox.hbs +3 -2
  741. package/src/ComboBoxPopover.hbs +15 -4
  742. package/src/DatePickerInput.hbs +1 -3
  743. package/src/DatePickerPopover.hbs +3 -3
  744. package/src/DateRangePicker.hbs +23 -0
  745. package/src/DateTimePickerPopover.hbs +2 -2
  746. package/src/FileUploader.hbs +10 -16
  747. package/src/FileUploaderPopover.hbs +1 -1
  748. package/src/Form.hbs +37 -0
  749. package/src/FormItem.hbs +14 -0
  750. package/src/Input.hbs +2 -3
  751. package/src/InputPopover.hbs +5 -5
  752. package/src/ListItemBase.hbs +21 -0
  753. package/src/ListItemGroup.hbs +12 -12
  754. package/src/ListItemGroupHeader.hbs +0 -1
  755. package/src/Menu.hbs +17 -49
  756. package/src/MenuItem.hbs +111 -0
  757. package/src/MonthPicker.hbs +2 -2
  758. package/src/MultiComboBox.hbs +3 -2
  759. package/src/MultiComboBoxPopover.hbs +4 -4
  760. package/src/MultiInput.hbs +4 -2
  761. package/src/NavigationMenu.hbs +14 -101
  762. package/src/NavigationMenuItem.hbs +124 -0
  763. package/src/Option.hbs +15 -0
  764. package/src/OptionCustom.hbs +5 -0
  765. package/src/Popup.hbs +1 -0
  766. package/src/RadioButton.hbs +0 -1
  767. package/src/ResponsivePopover.hbs +6 -5
  768. package/src/SegmentedButtonItem.hbs +1 -1
  769. package/src/Select.hbs +2 -3
  770. package/src/SelectPopover.hbs +9 -20
  771. package/src/StepInput.hbs +2 -4
  772. package/src/Switch.hbs +0 -1
  773. package/src/TabContainer.hbs +4 -4
  774. package/src/TextArea.hbs +0 -2
  775. package/src/TextAreaPopover.hbs +1 -1
  776. package/src/TimePicker.hbs +4 -5
  777. package/src/TimePickerPopover.hbs +7 -5
  778. package/src/TokenizerPopover.hbs +9 -7
  779. package/src/ToolbarButton.hbs +1 -1
  780. package/src/ToolbarPopover.hbs +2 -2
  781. package/src/ToolbarPopoverButton.hbs +1 -1
  782. package/src/YearPicker.hbs +1 -1
  783. package/src/i18n/messagebundle.properties +11 -3
  784. package/src/i18n/messagebundle_ar.properties +13 -3
  785. package/src/i18n/messagebundle_bg.properties +13 -3
  786. package/src/i18n/messagebundle_ca.properties +13 -3
  787. package/src/i18n/messagebundle_cnr.properties +13 -3
  788. package/src/i18n/messagebundle_cs.properties +13 -3
  789. package/src/i18n/messagebundle_cy.properties +13 -3
  790. package/src/i18n/messagebundle_da.properties +13 -3
  791. package/src/i18n/messagebundle_de.properties +13 -3
  792. package/src/i18n/messagebundle_el.properties +13 -3
  793. package/src/i18n/messagebundle_en.properties +13 -3
  794. package/src/i18n/messagebundle_en_GB.properties +13 -3
  795. package/src/i18n/messagebundle_en_US_saprigi.properties +13 -3
  796. package/src/i18n/messagebundle_es.properties +13 -3
  797. package/src/i18n/messagebundle_es_MX.properties +13 -3
  798. package/src/i18n/messagebundle_et.properties +13 -3
  799. package/src/i18n/messagebundle_fi.properties +13 -3
  800. package/src/i18n/messagebundle_fr.properties +13 -3
  801. package/src/i18n/messagebundle_fr_CA.properties +13 -3
  802. package/src/i18n/messagebundle_hi.properties +13 -3
  803. package/src/i18n/messagebundle_hr.properties +13 -3
  804. package/src/i18n/messagebundle_hu.properties +13 -3
  805. package/src/i18n/messagebundle_id.properties +13 -3
  806. package/src/i18n/messagebundle_it.properties +14 -4
  807. package/src/i18n/messagebundle_iw.properties +13 -3
  808. package/src/i18n/messagebundle_ja.properties +13 -3
  809. package/src/i18n/messagebundle_kk.properties +13 -3
  810. package/src/i18n/messagebundle_ko.properties +13 -3
  811. package/src/i18n/messagebundle_lt.properties +13 -3
  812. package/src/i18n/messagebundle_lv.properties +13 -3
  813. package/src/i18n/messagebundle_mk.properties +13 -3
  814. package/src/i18n/messagebundle_ms.properties +13 -3
  815. package/src/i18n/messagebundle_nl.properties +13 -3
  816. package/src/i18n/messagebundle_no.properties +13 -3
  817. package/src/i18n/messagebundle_pl.properties +13 -3
  818. package/src/i18n/messagebundle_pt.properties +13 -3
  819. package/src/i18n/messagebundle_pt_PT.properties +13 -3
  820. package/src/i18n/messagebundle_ro.properties +13 -3
  821. package/src/i18n/messagebundle_ru.properties +13 -3
  822. package/src/i18n/messagebundle_sh.properties +13 -3
  823. package/src/i18n/messagebundle_sk.properties +13 -3
  824. package/src/i18n/messagebundle_sl.properties +13 -3
  825. package/src/i18n/messagebundle_sr.properties +13 -3
  826. package/src/i18n/messagebundle_sv.properties +13 -3
  827. package/src/i18n/messagebundle_th.properties +13 -3
  828. package/src/i18n/messagebundle_tr.properties +13 -3
  829. package/src/i18n/messagebundle_uk.properties +17 -7
  830. package/src/i18n/messagebundle_vi.properties +13 -3
  831. package/src/i18n/messagebundle_zh_CN.properties +13 -3
  832. package/src/i18n/messagebundle_zh_TW.properties +13 -3
  833. package/src/styles/Icon.module.css +1 -0
  834. package/src/themes/Button.css +7 -10
  835. package/src/themes/Calendar.css +1 -0
  836. package/src/themes/CalendarLegendItem.css +4 -1
  837. package/src/themes/ColorPalette.css +11 -6
  838. package/src/themes/ColorPaletteItem.css +55 -27
  839. package/src/themes/Form.css +50 -0
  840. package/src/themes/FormItem.css +65 -0
  841. package/src/themes/FormLabelSpan.css +267 -0
  842. package/src/themes/FormLayout.css +159 -0
  843. package/src/themes/GrowingButton.css +1 -1
  844. package/src/themes/Input.css +20 -20
  845. package/src/themes/InputIcon.css +6 -13
  846. package/src/themes/InputSharedStyles.css +15 -16
  847. package/src/themes/Label.css +7 -4
  848. package/src/themes/Link.css +5 -5
  849. package/src/themes/ListItem.css +6 -57
  850. package/src/themes/ListItemAdditionalText.css +10 -0
  851. package/src/themes/ListItemBase.css +61 -46
  852. package/src/themes/ListItemIcon.css +6 -0
  853. package/src/themes/Menu.css +0 -10
  854. package/src/themes/{MenuListItem.css → MenuItem.css} +13 -1
  855. package/src/themes/MonthPicker.css +23 -0
  856. package/src/themes/NavigationMenu.css +7 -65
  857. package/src/themes/NavigationMenuItem.css +54 -0
  858. package/src/themes/OptionBase.css +3 -0
  859. package/src/themes/Popover.css +1 -1
  860. package/src/themes/Popup.css +1 -1
  861. package/src/themes/RadioButton.css +8 -8
  862. package/src/themes/ResponsivePopover.css +3 -3
  863. package/src/themes/ResponsivePopoverCommon.css +3 -3
  864. package/src/themes/SegmentedButton.css +2 -3
  865. package/src/themes/SegmentedButtonItem.css +0 -8
  866. package/src/themes/SelectPopover.css +1 -9
  867. package/src/themes/TimePicker.css +1 -24
  868. package/src/themes/base/ColorPalette-parameters.css +10 -4
  869. package/src/themes/base/Form-parameters.css +20 -0
  870. package/src/themes/base/sizes-parameters.css +25 -7
  871. package/src/themes/sap_fiori_3/parameters-bundle.css +2 -2
  872. package/src/themes/sap_fiori_3/sizes-parameters.css +6 -0
  873. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -2
  874. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +6 -0
  875. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +102 -0
  876. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +102 -0
  877. package/src/themes/sap_horizon/ColorPalette-parameters.css +7 -4
  878. package/src/themes/sap_horizon/parameters-bundle.css +1 -0
  879. package/src/themes/sap_horizon/sizes-parameters.css +4 -2
  880. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +7 -4
  881. package/src/themes/sap_horizon_dark/sizes-parameters.css +4 -2
  882. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +5 -4
  883. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +1 -2
  884. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +5 -4
  885. package/src/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  886. package/src/themes/sap_horizon_exp/sizes-parameters.css +1 -2
  887. package/src/themes/sap_horizon_hcb/ColorPalette-parameters.css +8 -0
  888. package/src/themes/sap_horizon_hcb/Tag-parameters.css +9 -9
  889. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  890. package/src/themes/sap_horizon_hcw/ColorPalette-parameters.css +8 -0
  891. package/src/themes/sap_horizon_hcw/Tag-parameters.css +9 -9
  892. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  893. package/dist/ComboBoxGroupItem.js.map +0 -1
  894. package/dist/MenuListItem.d.ts +0 -61
  895. package/dist/MenuListItem.js +0 -71
  896. package/dist/MenuListItem.js.map +0 -1
  897. package/dist/SelectMenu.d.ts +0 -102
  898. package/dist/SelectMenu.js +0 -237
  899. package/dist/SelectMenu.js.map +0 -1
  900. package/dist/SelectMenuOption.d.ts +0 -94
  901. package/dist/SelectMenuOption.js +0 -78
  902. package/dist/SelectMenuOption.js.map +0 -1
  903. package/dist/css/themes/MenuListItem.css +0 -1
  904. package/dist/css/themes/SelectMenu.css +0 -1
  905. package/dist/css/themes/SelectMenuOption.css +0 -0
  906. package/dist/features/InputElementsFormSupport.d.ts +0 -41
  907. package/dist/features/InputElementsFormSupport.js +0 -134
  908. package/dist/features/InputElementsFormSupport.js.map +0 -1
  909. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +0 -1
  910. package/dist/generated/templates/SelectMenuTemplate.lit.d.ts +0 -4
  911. package/dist/generated/templates/SelectMenuTemplate.lit.js +0 -15
  912. package/dist/generated/templates/SelectMenuTemplate.lit.js.map +0 -1
  913. package/dist/generated/themes/MenuListItem.css.js +0 -9
  914. package/dist/generated/themes/MenuListItem.css.js.map +0 -1
  915. package/dist/generated/themes/SelectMenuOption.css.js.map +0 -1
  916. package/dist/styles/Input.css +0 -0
  917. package/dist/styles/Input.module.css +0 -0
  918. package/dist/types/HighlightTypes.js +0 -30
  919. package/dist/types/HighlightTypes.js.map +0 -1
  920. package/src/MenuListItem.hbs +0 -35
  921. package/src/SelectMenu.hbs +0 -57
  922. package/src/styles/Input.module.css +0 -0
  923. package/src/themes/SelectMenu.css +0 -16
  924. package/src/themes/SelectMenuOption.css +0 -0
  925. /package/dist/generated/themes/{MenuListItem.css.d.ts → Form.css.d.ts} +0 -0
  926. /package/dist/generated/themes/{SelectMenu.css.d.ts → FormItem.css.d.ts} +0 -0
  927. /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
@@ -42,6 +42,9 @@ type PopupBeforeCloseEventDetail = {
42
42
  declare abstract class Popup extends UI5Element {
43
43
  /**
44
44
  * Defines the ID of the HTML Element, which will get the initial focus.
45
+ *
46
+ * **Note:** If an element with `autofocus` attribute is added inside the component,
47
+ * `initialFocus` won't take effect.
45
48
  * @default ""
46
49
  * @public
47
50
  */
@@ -81,9 +84,12 @@ declare abstract class Popup extends UI5Element {
81
84
  */
82
85
  mediaRange: string;
83
86
  /**
84
- * @private
87
+ * Indicates whether initial focus should be prevented.
88
+ * @public
89
+ * @default false
90
+ * @since 2.0.0
85
91
  */
86
- _disableInitialFocus: boolean;
92
+ preventInitialFocus: boolean;
87
93
  /**
88
94
  * Indicates if the element is the top modal popup
89
95
  *
@@ -97,12 +103,21 @@ declare abstract class Popup extends UI5Element {
97
103
  * @public
98
104
  */
99
105
  content: Array<HTMLElement>;
106
+ /**
107
+ * @private
108
+ */
109
+ onPhone: boolean;
110
+ /**
111
+ * @private
112
+ */
113
+ onDesktop: boolean;
100
114
  _resizeHandler: ResizeObserverCallback;
101
115
  _shouldFocusRoot?: boolean;
102
116
  _focusedElementBeforeOpen?: HTMLElement | null;
103
- _isOpened: boolean;
104
117
  _opened: boolean;
118
+ _open: boolean;
105
119
  constructor();
120
+ onBeforeRendering(): void;
106
121
  onAfterRendering(): void;
107
122
  onEnterDOM(): void;
108
123
  onExitDOM(): void;
@@ -146,10 +161,11 @@ declare abstract class Popup extends UI5Element {
146
161
  */
147
162
  forwardToLast(): Promise<void>;
148
163
  /**
149
- * Use this method to focus the element denoted by "initialFocus", if provided, or the first focusable element otherwise.
164
+ * Use this method to focus the element denoted by "initialFocus", if provided,
165
+ * or the first focusable element otherwise.
150
166
  * @protected
151
167
  */
152
- applyInitialFocus(preventInitialFocus: boolean): Promise<void>;
168
+ applyInitialFocus(): Promise<void>;
153
169
  /**
154
170
  * Focuses the element denoted by `initialFocus`, if provided,
155
171
  * or the first focusable element otherwise.
@@ -157,17 +173,7 @@ declare abstract class Popup extends UI5Element {
157
173
  * @returns Promise that resolves when the focus is applied
158
174
  */
159
175
  applyFocus(): Promise<void>;
160
- /**
161
- * Tells if the component is opened
162
- * @public
163
- */
164
- isOpen(): boolean;
165
176
  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
177
  _updateMediaRange(): void;
172
178
  /**
173
179
  * Adds the popup to the "opened popups registry"
@@ -176,9 +182,8 @@ declare abstract class Popup extends UI5Element {
176
182
  _addOpenedPopup(): void;
177
183
  /**
178
184
  * Closes the popup.
179
- * @public
180
185
  */
181
- close(escPressed?: boolean, preventRegistryUpdate?: boolean, preventFocusRestore?: boolean): void;
186
+ closePopup(escPressed?: boolean, preventRegistryUpdate?: boolean, preventFocusRestore?: boolean): void;
182
187
  /**
183
188
  * Removes the popup from the "opened popups registry"
184
189
  * @protected
@@ -204,11 +209,6 @@ declare abstract class Popup extends UI5Element {
204
209
  * @protected
205
210
  */
206
211
  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
212
  /**
213
213
  * Return the ID of an element in the shadow DOM that is going to label this popup
214
214
  * @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, 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();
@@ -84,9 +88,10 @@ let Popup = Popup_1 = class Popup extends UI5Element {
84
88
  if (isDesktop()) {
85
89
  this.setAttribute("desktop", "");
86
90
  }
91
+ this.tabIndex = -1;
87
92
  }
88
93
  onExitDOM() {
89
- if (this.isOpen()) {
94
+ if (this._opened) {
90
95
  Popup_1.unblockPageScrolling(this);
91
96
  this._removeOpenedPopup();
92
97
  }
@@ -99,22 +104,45 @@ let Popup = Popup_1 = class Popup extends UI5Element {
99
104
  * @since 1.2.0
100
105
  */
101
106
  set open(value) {
102
- if (this._opened === value) {
107
+ if (this._open === value) {
103
108
  return;
104
109
  }
105
- this._opened = value;
110
+ this._open = value;
106
111
  if (value) {
107
112
  this.openPopup();
108
113
  }
109
114
  else {
110
- this.close();
115
+ this.closePopup();
111
116
  }
112
117
  }
113
118
  get open() {
114
- return this._opened;
119
+ return this._open;
115
120
  }
116
121
  async openPopup() {
117
- await this._open(false);
122
+ if (this._opened) {
123
+ return;
124
+ }
125
+ const prevented = !this.fireEvent("before-open", {}, true, false);
126
+ if (prevented || this._opened) {
127
+ return;
128
+ }
129
+ this._opened = true;
130
+ if (this.isModal) {
131
+ Popup_1.blockPageScrolling(this);
132
+ }
133
+ this._focusedElementBeforeOpen = getFocusedElement();
134
+ this._show();
135
+ if (this.getDomRef()) {
136
+ this._updateMediaRange();
137
+ }
138
+ this._addOpenedPopup();
139
+ this.open = true;
140
+ // initial focus, if focused element is statically created
141
+ await this.applyInitialFocus();
142
+ await renderFinished();
143
+ // initial focus, if focused element is dynamically created
144
+ await this.applyInitialFocus();
145
+ this.fireEvent("open", {}, false, false);
118
146
  }
119
147
  _resize() {
120
148
  this._updateMediaRange();
@@ -156,7 +184,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
156
184
  _onkeydown(e) {
157
185
  const isTabOutAttempt = e.target === this._root && isTabPrevious(e);
158
186
  // 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();
187
+ const isEnterOnClosedPopupChild = isEnter(e) && !this.open;
160
188
  if (isTabOutAttempt || isEnterOnClosedPopupChild) {
161
189
  e.preventDefault();
162
190
  }
@@ -169,9 +197,6 @@ let Popup = Popup_1 = class Popup extends UI5Element {
169
197
  }
170
198
  }
171
199
  _onmousedown(e) {
172
- if (!isSafari()) { // Remove when adopting native dialog
173
- this._root.removeAttribute("tabindex");
174
- }
175
200
  if (this.shadowRoot.contains(e.target)) {
176
201
  this._shouldFocusRoot = true;
177
202
  }
@@ -180,9 +205,6 @@ let Popup = Popup_1 = class Popup extends UI5Element {
180
205
  }
181
206
  }
182
207
  _onmouseup() {
183
- if (!isSafari()) { // Remove when adopting native dialog
184
- this._root.tabIndex = -1;
185
- }
186
208
  if (this._shouldFocusRoot) {
187
209
  if (isChrome()) {
188
210
  this._root.focus();
@@ -217,11 +239,12 @@ let Popup = Popup_1 = class Popup extends UI5Element {
217
239
  }
218
240
  }
219
241
  /**
220
- * Use this method to focus the element denoted by "initialFocus", if provided, or the first focusable element otherwise.
242
+ * Use this method to focus the element denoted by "initialFocus", if provided,
243
+ * or the first focusable element otherwise.
221
244
  * @protected
222
245
  */
223
- async applyInitialFocus(preventInitialFocus) {
224
- if (!this._disableInitialFocus && !preventInitialFocus) {
246
+ async applyInitialFocus() {
247
+ if (!this.preventInitialFocus) {
225
248
  await this.applyFocus();
226
249
  }
227
250
  }
@@ -232,6 +255,10 @@ let Popup = Popup_1 = class Popup extends UI5Element {
232
255
  * @returns Promise that resolves when the focus is applied
233
256
  */
234
257
  async applyFocus() {
258
+ // do nothing if the standard HTML autofocus is used
259
+ if (this.querySelector("[autofocus]")) {
260
+ return;
261
+ }
235
262
  await this._waitForDomRef();
236
263
  if (this.getRootNode() === this) {
237
264
  return;
@@ -243,52 +270,12 @@ let Popup = Popup_1 = class Popup extends UI5Element {
243
270
  }
244
271
  element = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root
245
272
  if (element) {
246
- if (element === this._root) {
247
- element.tabIndex = -1;
248
- }
249
273
  element.focus();
250
274
  }
251
275
  }
252
- /**
253
- * Tells if the component is opened
254
- * @public
255
- */
256
- isOpen() {
257
- return this.open;
258
- }
259
276
  isFocusWithin() {
260
277
  return isFocusedElementWithinNode(this._root);
261
278
  }
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
279
  _updateMediaRange() {
293
280
  this.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef().offsetWidth);
294
281
  }
@@ -301,17 +288,16 @@ let Popup = Popup_1 = class Popup extends UI5Element {
301
288
  }
302
289
  /**
303
290
  * Closes the popup.
304
- * @public
305
291
  */
306
- close(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {
307
- if (!this._isOpened) {
292
+ closePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {
293
+ if (!this._opened) {
308
294
  return;
309
295
  }
310
296
  const prevented = !this.fireEvent("before-close", { escPressed }, true, false);
311
297
  if (prevented) {
312
298
  return;
313
299
  }
314
- this._isOpened = false;
300
+ this._opened = false;
315
301
  if (this.isModal) {
316
302
  Popup_1.unblockPageScrolling(this);
317
303
  }
@@ -323,7 +309,7 @@ let Popup = Popup_1 = class Popup extends UI5Element {
323
309
  if (!this.preventFocusRestore && !preventFocusRestore) {
324
310
  this.resetFocus();
325
311
  }
326
- this.fireEvent("after-close", {}, false, false);
312
+ this.fireEvent("close", {}, false, false);
327
313
  }
328
314
  /**
329
315
  * Removes the popup from the "opened popups registry"
@@ -417,13 +403,19 @@ __decorate([
417
403
  ], Popup.prototype, "mediaRange", void 0);
418
404
  __decorate([
419
405
  property({ type: Boolean })
420
- ], Popup.prototype, "_disableInitialFocus", void 0);
406
+ ], Popup.prototype, "preventInitialFocus", void 0);
421
407
  __decorate([
422
408
  property({ type: Boolean, noAttribute: true })
423
409
  ], Popup.prototype, "isTopModalPopup", void 0);
424
410
  __decorate([
425
411
  slot({ type: HTMLElement, "default": true })
426
412
  ], Popup.prototype, "content", void 0);
413
+ __decorate([
414
+ property({ type: Boolean })
415
+ ], Popup.prototype, "onPhone", void 0);
416
+ __decorate([
417
+ property({ type: Boolean })
418
+ ], Popup.prototype, "onDesktop", void 0);
427
419
  __decorate([
428
420
  property({ type: Boolean })
429
421
  ], Popup.prototype, "open", null);
@@ -445,7 +437,7 @@ Popup = Popup_1 = __decorate([
445
437
  * @public
446
438
  */
447
439
  ,
448
- event("after-open")
440
+ event("open")
449
441
  /**
450
442
  * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. **This event does not bubble.**
451
443
  * @public
@@ -468,7 +460,7 @@ Popup = Popup_1 = __decorate([
468
460
  * @public
469
461
  */
470
462
  ,
471
- event("after-close")
463
+ event("close")
472
464
  /**
473
465
  * Fired whenever the popup content area is scrolled
474
466
  * @private