@ui5/webcomponents 2.6.2 → 2.7.0-rc.0

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 (783) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/cypress/specs/Table.cy.ts +32 -2
  4. package/cypress/specs/TableRowActions.cy.ts +212 -0
  5. package/cypress/specs/Toolbar.cy.ts +26 -0
  6. package/dist/.tsbuildinfo +1 -1
  7. package/dist/ColorPalette.d.ts +1 -0
  8. package/dist/ColorPalette.js +1 -0
  9. package/dist/ColorPalette.js.map +1 -1
  10. package/dist/DialogTemplate.js +1 -1
  11. package/dist/DialogTemplate.js.map +1 -1
  12. package/dist/Form.d.ts +0 -2
  13. package/dist/Form.js +0 -1
  14. package/dist/Form.js.map +1 -1
  15. package/dist/FormGroup.d.ts +0 -1
  16. package/dist/FormGroup.js +0 -1
  17. package/dist/FormGroup.js.map +1 -1
  18. package/dist/FormItem.d.ts +0 -1
  19. package/dist/FormItem.js +0 -1
  20. package/dist/FormItem.js.map +1 -1
  21. package/dist/Menu.d.ts +2 -2
  22. package/dist/Menu.js +34 -19
  23. package/dist/Menu.js.map +1 -1
  24. package/dist/MenuItem.d.ts +9 -2
  25. package/dist/MenuItem.js +50 -6
  26. package/dist/MenuItem.js.map +1 -1
  27. package/dist/NavigationMenuTemplate.js +1 -1
  28. package/dist/NavigationMenuTemplate.js.map +1 -1
  29. package/dist/Popover.d.ts +1 -1
  30. package/dist/Popover.js +7 -6
  31. package/dist/Popover.js.map +1 -1
  32. package/dist/Select.d.ts +1 -3
  33. package/dist/Select.js +4 -6
  34. package/dist/Select.js.map +1 -1
  35. package/dist/SelectPopoverTemplate.d.ts +2 -0
  36. package/dist/SelectPopoverTemplate.js +28 -0
  37. package/dist/SelectPopoverTemplate.js.map +1 -0
  38. package/dist/SelectTemplate.d.ts +2 -0
  39. package/dist/SelectTemplate.js +19 -0
  40. package/dist/SelectTemplate.js.map +1 -0
  41. package/dist/SliderBaseTemplate.js +2 -2
  42. package/dist/SliderBaseTemplate.js.map +1 -1
  43. package/dist/SuggestionListItem.d.ts +1 -1
  44. package/dist/SuggestionListItem.js +1 -1
  45. package/dist/SuggestionListItem.js.map +1 -1
  46. package/dist/SwitchTemplate.js +1 -1
  47. package/dist/SwitchTemplate.js.map +1 -1
  48. package/dist/Table.d.ts +31 -7
  49. package/dist/Table.js +43 -8
  50. package/dist/Table.js.map +1 -1
  51. package/dist/TableCell.d.ts +2 -0
  52. package/dist/TableCell.js +9 -4
  53. package/dist/TableCell.js.map +1 -1
  54. package/dist/TableCellBase.d.ts +2 -2
  55. package/dist/TableCellBase.js +3 -3
  56. package/dist/TableCellBase.js.map +1 -1
  57. package/dist/TableExtension.d.ts +1 -1
  58. package/dist/TableExtension.js +1 -1
  59. package/dist/TableExtension.js.map +1 -1
  60. package/dist/TableHeaderCell.d.ts +8 -0
  61. package/dist/TableHeaderCell.js +7 -2
  62. package/dist/TableHeaderCell.js.map +1 -1
  63. package/dist/TableHeaderRow.d.ts +2 -0
  64. package/dist/TableHeaderRow.js +7 -1
  65. package/dist/TableHeaderRow.js.map +1 -1
  66. package/dist/TableRow.d.ts +18 -1
  67. package/dist/TableRow.js +64 -5
  68. package/dist/TableRow.js.map +1 -1
  69. package/dist/TableRowAction.d.ts +45 -0
  70. package/dist/TableRowAction.js +72 -0
  71. package/dist/TableRowAction.js.map +1 -0
  72. package/dist/TableRowActionBase.d.ts +38 -0
  73. package/dist/TableRowActionBase.js +104 -0
  74. package/dist/TableRowActionBase.js.map +1 -0
  75. package/dist/TableRowActionNavigation.d.ts +27 -0
  76. package/dist/TableRowActionNavigation.js +53 -0
  77. package/dist/TableRowActionNavigation.js.map +1 -0
  78. package/dist/TableRowBase.d.ts +1 -0
  79. package/dist/TableRowBase.js +4 -0
  80. package/dist/TableRowBase.js.map +1 -1
  81. package/dist/TableVirtualizer.d.ts +2 -2
  82. package/dist/TableVirtualizer.js +2 -2
  83. package/dist/TableVirtualizer.js.map +1 -1
  84. package/dist/ToastTemplate.js +3 -2
  85. package/dist/ToastTemplate.js.map +1 -1
  86. package/dist/Token.d.ts +0 -5
  87. package/dist/Token.js +0 -8
  88. package/dist/Token.js.map +1 -1
  89. package/dist/Tokenizer.d.ts +0 -1
  90. package/dist/Tokenizer.js +0 -23
  91. package/dist/Tokenizer.js.map +1 -1
  92. package/dist/TokenizerPopoverTemplate.js +0 -1
  93. package/dist/TokenizerPopoverTemplate.js.map +1 -1
  94. package/dist/Toolbar.js +3 -0
  95. package/dist/Toolbar.js.map +1 -1
  96. package/dist/TreeItemBase.d.ts +1 -1
  97. package/dist/TreeItemTemplate.js +1 -1
  98. package/dist/TreeItemTemplate.js.map +1 -1
  99. package/dist/bundle.esm.js +2 -0
  100. package/dist/bundle.esm.js.map +1 -1
  101. package/dist/css/themes/Avatar.css +1 -1
  102. package/dist/css/themes/AvatarGroup.css +1 -1
  103. package/dist/css/themes/Bar.css +1 -1
  104. package/dist/css/themes/Breadcrumbs.css +1 -1
  105. package/dist/css/themes/BusyIndicator.css +1 -1
  106. package/dist/css/themes/Button.css +1 -1
  107. package/dist/css/themes/Calendar.css +1 -1
  108. package/dist/css/themes/CalendarHeader.css +1 -1
  109. package/dist/css/themes/CalendarLegend.css +1 -1
  110. package/dist/css/themes/CalendarLegendItem.css +1 -1
  111. package/dist/css/themes/Card.css +1 -1
  112. package/dist/css/themes/CardHeader.css +1 -1
  113. package/dist/css/themes/Carousel.css +1 -1
  114. package/dist/css/themes/CheckBox.css +1 -1
  115. package/dist/css/themes/ColorPalette.css +1 -1
  116. package/dist/css/themes/ColorPaletteItem.css +1 -1
  117. package/dist/css/themes/ColorPalettePopover.css +1 -1
  118. package/dist/css/themes/ColorPicker.css +1 -1
  119. package/dist/css/themes/ComboBox.css +1 -1
  120. package/dist/css/themes/ComboBoxItem.css +1 -1
  121. package/dist/css/themes/DatePicker.css +1 -1
  122. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  123. package/dist/css/themes/DayPicker.css +1 -1
  124. package/dist/css/themes/Dialog.css +1 -1
  125. package/dist/css/themes/FileUploader.css +1 -1
  126. package/dist/css/themes/Form.css +1 -1
  127. package/dist/css/themes/FormItem.css +1 -1
  128. package/dist/css/themes/FormItemSpan.css +1 -1
  129. package/dist/css/themes/GrowingButton.css +1 -1
  130. package/dist/css/themes/Icon.css +1 -1
  131. package/dist/css/themes/Input.css +1 -1
  132. package/dist/css/themes/InputIcon.css +1 -1
  133. package/dist/css/themes/InputSharedStyles.css +1 -1
  134. package/dist/css/themes/Label.css +1 -1
  135. package/dist/css/themes/Link.css +1 -1
  136. package/dist/css/themes/List.css +1 -1
  137. package/dist/css/themes/ListItem.css +1 -1
  138. package/dist/css/themes/ListItemBase.css +1 -1
  139. package/dist/css/themes/ListItemCustom.css +1 -1
  140. package/dist/css/themes/ListItemGroup.css +1 -1
  141. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  142. package/dist/css/themes/ListItemIcon.css +1 -1
  143. package/dist/css/themes/Menu.css +1 -1
  144. package/dist/css/themes/MenuItem.css +1 -1
  145. package/dist/css/themes/MessageStrip.css +1 -1
  146. package/dist/css/themes/MonthPicker.css +1 -1
  147. package/dist/css/themes/MultiComboBox.css +1 -1
  148. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  149. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  150. package/dist/css/themes/MultiInput.css +1 -1
  151. package/dist/css/themes/NavigationMenu.css +1 -1
  152. package/dist/css/themes/NavigationMenuItem.css +1 -1
  153. package/dist/css/themes/OptionBase.css +1 -1
  154. package/dist/css/themes/Panel.css +1 -1
  155. package/dist/css/themes/Popover.css +1 -1
  156. package/dist/css/themes/PopupsCommon.css +1 -1
  157. package/dist/css/themes/ProgressIndicator.css +1 -1
  158. package/dist/css/themes/RadioButton.css +1 -1
  159. package/dist/css/themes/RangeSlider.css +1 -1
  160. package/dist/css/themes/RatingIndicator.css +1 -1
  161. package/dist/css/themes/ResponsivePopover.css +1 -1
  162. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  163. package/dist/css/themes/SegmentedButton.css +1 -1
  164. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  165. package/dist/css/themes/Select.css +1 -1
  166. package/dist/css/themes/SliderBase.css +1 -1
  167. package/dist/css/themes/SplitButton.css +1 -1
  168. package/dist/css/themes/StepInput.css +1 -1
  169. package/dist/css/themes/SuggestionItem.css +1 -1
  170. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  171. package/dist/css/themes/Switch.css +1 -1
  172. package/dist/css/themes/TabContainer.css +1 -1
  173. package/dist/css/themes/TabInOverflow.css +1 -1
  174. package/dist/css/themes/TabInStrip.css +1 -1
  175. package/dist/css/themes/TabSemanticIcon.css +1 -1
  176. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  177. package/dist/css/themes/Table.css +1 -1
  178. package/dist/css/themes/TableCellBase.css +1 -1
  179. package/dist/css/themes/TableHeaderRow.css +1 -1
  180. package/dist/css/themes/TableRow.css +1 -1
  181. package/dist/css/themes/TableRowActionBase.css +1 -0
  182. package/dist/css/themes/TableRowBase.css +1 -1
  183. package/dist/css/themes/Tag.css +1 -1
  184. package/dist/css/themes/Text.css +1 -1
  185. package/dist/css/themes/TextArea.css +1 -1
  186. package/dist/css/themes/TimePicker.css +1 -1
  187. package/dist/css/themes/Toast.css +1 -1
  188. package/dist/css/themes/ToggleButton.css +1 -1
  189. package/dist/css/themes/Token.css +1 -1
  190. package/dist/css/themes/Tokenizer.css +1 -1
  191. package/dist/css/themes/TokenizerPopover.css +1 -1
  192. package/dist/css/themes/Toolbar.css +1 -1
  193. package/dist/css/themes/ToolbarPopover.css +1 -1
  194. package/dist/css/themes/TreeItem.css +1 -1
  195. package/dist/css/themes/ValueStateMessage.css +1 -1
  196. package/dist/css/themes/YearPicker.css +1 -1
  197. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  198. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  199. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  200. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  201. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  202. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  203. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  204. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  205. package/dist/custom-elements-internal.json +489 -53
  206. package/dist/custom-elements.json +392 -34
  207. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  208. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  209. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  210. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  211. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  212. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  213. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  215. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  216. package/dist/generated/i18n/i18n-defaults.js +3 -1
  217. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  218. package/dist/generated/json-imports/Themes-fetch.js +1 -5
  219. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  220. package/dist/generated/json-imports/Themes.js +1 -5
  221. package/dist/generated/json-imports/Themes.js.map +1 -1
  222. package/dist/generated/templates/TableCellTemplate.lit.js +6 -4
  223. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -1
  224. package/dist/generated/templates/TableHeaderRowTemplate.lit.js +3 -2
  225. package/dist/generated/templates/TableHeaderRowTemplate.lit.js.map +1 -1
  226. package/dist/generated/templates/TableRowActionBaseTemplate.lit.d.ts +3 -0
  227. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js +11 -0
  228. package/dist/generated/templates/TableRowActionBaseTemplate.lit.js.map +1 -0
  229. package/dist/generated/templates/TableRowTemplate.lit.js +8 -4
  230. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -1
  231. package/dist/generated/templates/TableTemplate.lit.js +1 -1
  232. package/dist/generated/templates/TableTemplate.lit.js.map +1 -1
  233. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  234. package/dist/generated/themes/Avatar.css.js +1 -1
  235. package/dist/generated/themes/Avatar.css.js.map +1 -1
  236. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  237. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  238. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  239. package/dist/generated/themes/Bar.css.d.ts +1 -1
  240. package/dist/generated/themes/Bar.css.js +1 -1
  241. package/dist/generated/themes/Bar.css.js.map +1 -1
  242. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  243. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  244. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  245. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  246. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  247. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  248. package/dist/generated/themes/Button.css.d.ts +1 -1
  249. package/dist/generated/themes/Button.css.js +1 -1
  250. package/dist/generated/themes/Button.css.js.map +1 -1
  251. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  252. package/dist/generated/themes/Calendar.css.js +1 -1
  253. package/dist/generated/themes/Calendar.css.js.map +1 -1
  254. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  255. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  256. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  257. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  258. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  259. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  260. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  261. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  262. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  263. package/dist/generated/themes/Card.css.d.ts +1 -1
  264. package/dist/generated/themes/Card.css.js +1 -1
  265. package/dist/generated/themes/Card.css.js.map +1 -1
  266. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  267. package/dist/generated/themes/CardHeader.css.js +1 -1
  268. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  269. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  270. package/dist/generated/themes/Carousel.css.js +1 -1
  271. package/dist/generated/themes/Carousel.css.js.map +1 -1
  272. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  273. package/dist/generated/themes/CheckBox.css.js +1 -1
  274. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  275. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  276. package/dist/generated/themes/ColorPalette.css.js +1 -1
  277. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  278. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  279. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  280. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  281. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  282. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  283. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  284. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  285. package/dist/generated/themes/ColorPicker.css.js +1 -1
  286. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  287. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  288. package/dist/generated/themes/ComboBox.css.js +1 -1
  289. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  290. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  291. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  292. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  293. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  294. package/dist/generated/themes/DatePicker.css.js +1 -1
  295. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  296. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  297. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  298. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  299. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  300. package/dist/generated/themes/DayPicker.css.js +1 -1
  301. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  302. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  303. package/dist/generated/themes/Dialog.css.js +1 -1
  304. package/dist/generated/themes/Dialog.css.js.map +1 -1
  305. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  306. package/dist/generated/themes/FileUploader.css.js +1 -1
  307. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  308. package/dist/generated/themes/Form.css.d.ts +1 -1
  309. package/dist/generated/themes/Form.css.js +1 -1
  310. package/dist/generated/themes/Form.css.js.map +1 -1
  311. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  312. package/dist/generated/themes/FormItem.css.js +1 -1
  313. package/dist/generated/themes/FormItem.css.js.map +1 -1
  314. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  315. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  316. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  317. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  318. package/dist/generated/themes/GrowingButton.css.js +1 -1
  319. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  320. package/dist/generated/themes/Icon.css.d.ts +1 -1
  321. package/dist/generated/themes/Icon.css.js +1 -1
  322. package/dist/generated/themes/Icon.css.js.map +1 -1
  323. package/dist/generated/themes/Input.css.d.ts +1 -1
  324. package/dist/generated/themes/Input.css.js +1 -1
  325. package/dist/generated/themes/Input.css.js.map +1 -1
  326. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  327. package/dist/generated/themes/InputIcon.css.js +1 -1
  328. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  329. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  330. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  331. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  332. package/dist/generated/themes/Label.css.d.ts +1 -1
  333. package/dist/generated/themes/Label.css.js +1 -1
  334. package/dist/generated/themes/Label.css.js.map +1 -1
  335. package/dist/generated/themes/Link.css.d.ts +1 -1
  336. package/dist/generated/themes/Link.css.js +1 -1
  337. package/dist/generated/themes/Link.css.js.map +1 -1
  338. package/dist/generated/themes/List.css.d.ts +1 -1
  339. package/dist/generated/themes/List.css.js +1 -1
  340. package/dist/generated/themes/List.css.js.map +1 -1
  341. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  342. package/dist/generated/themes/ListItem.css.js +1 -1
  343. package/dist/generated/themes/ListItem.css.js.map +1 -1
  344. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  345. package/dist/generated/themes/ListItemBase.css.js +1 -1
  346. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  347. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  348. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  349. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  350. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  351. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  352. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  353. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  354. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  355. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  356. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  357. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  358. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  359. package/dist/generated/themes/Menu.css.d.ts +1 -1
  360. package/dist/generated/themes/Menu.css.js +1 -1
  361. package/dist/generated/themes/Menu.css.js.map +1 -1
  362. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  363. package/dist/generated/themes/MenuItem.css.js +1 -1
  364. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  365. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  366. package/dist/generated/themes/MessageStrip.css.js +1 -1
  367. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  368. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  369. package/dist/generated/themes/MonthPicker.css.js +1 -1
  370. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  371. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  372. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  373. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  374. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  375. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  376. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  377. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  378. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  379. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  380. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  381. package/dist/generated/themes/MultiInput.css.js +1 -1
  382. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  383. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  384. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  385. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  386. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  387. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  388. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  389. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  390. package/dist/generated/themes/OptionBase.css.js +1 -1
  391. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  392. package/dist/generated/themes/Panel.css.d.ts +1 -1
  393. package/dist/generated/themes/Panel.css.js +1 -1
  394. package/dist/generated/themes/Panel.css.js.map +1 -1
  395. package/dist/generated/themes/Popover.css.d.ts +1 -1
  396. package/dist/generated/themes/Popover.css.js +1 -1
  397. package/dist/generated/themes/Popover.css.js.map +1 -1
  398. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  399. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  400. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  401. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  402. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  403. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  404. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  405. package/dist/generated/themes/RadioButton.css.js +1 -1
  406. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  407. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  408. package/dist/generated/themes/RangeSlider.css.js +1 -1
  409. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  410. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  411. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  412. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  413. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  414. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  415. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  416. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  417. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  418. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  419. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  420. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  421. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  422. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  423. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  424. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  425. package/dist/generated/themes/Select.css.d.ts +1 -1
  426. package/dist/generated/themes/Select.css.js +1 -1
  427. package/dist/generated/themes/Select.css.js.map +1 -1
  428. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  429. package/dist/generated/themes/SliderBase.css.js +1 -1
  430. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  431. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  432. package/dist/generated/themes/SplitButton.css.js +1 -1
  433. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  434. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  435. package/dist/generated/themes/StepInput.css.js +1 -1
  436. package/dist/generated/themes/StepInput.css.js.map +1 -1
  437. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  438. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  439. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  440. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  441. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  442. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  443. package/dist/generated/themes/Switch.css.d.ts +1 -1
  444. package/dist/generated/themes/Switch.css.js +1 -1
  445. package/dist/generated/themes/Switch.css.js.map +1 -1
  446. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  447. package/dist/generated/themes/TabContainer.css.js +1 -1
  448. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  449. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  450. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  451. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  452. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  453. package/dist/generated/themes/TabInStrip.css.js +1 -1
  454. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  455. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  456. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  457. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  458. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  459. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  460. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  461. package/dist/generated/themes/Table.css.d.ts +1 -1
  462. package/dist/generated/themes/Table.css.js +1 -1
  463. package/dist/generated/themes/Table.css.js.map +1 -1
  464. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  465. package/dist/generated/themes/TableCellBase.css.js +1 -1
  466. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  467. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  468. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  469. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  470. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  471. package/dist/generated/themes/TableRow.css.js +1 -1
  472. package/dist/generated/themes/TableRow.css.js.map +1 -1
  473. package/dist/generated/themes/TableRowActionBase.css.d.ts +2 -0
  474. package/dist/generated/themes/TableRowActionBase.css.js +8 -0
  475. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -0
  476. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  477. package/dist/generated/themes/TableRowBase.css.js +1 -1
  478. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  479. package/dist/generated/themes/Tag.css.d.ts +1 -1
  480. package/dist/generated/themes/Tag.css.js +1 -1
  481. package/dist/generated/themes/Tag.css.js.map +1 -1
  482. package/dist/generated/themes/Text.css.d.ts +1 -1
  483. package/dist/generated/themes/Text.css.js +1 -1
  484. package/dist/generated/themes/Text.css.js.map +1 -1
  485. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  486. package/dist/generated/themes/TextArea.css.js +1 -1
  487. package/dist/generated/themes/TextArea.css.js.map +1 -1
  488. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  489. package/dist/generated/themes/TimePicker.css.js +1 -1
  490. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  491. package/dist/generated/themes/Toast.css.d.ts +1 -1
  492. package/dist/generated/themes/Toast.css.js +1 -1
  493. package/dist/generated/themes/Toast.css.js.map +1 -1
  494. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  495. package/dist/generated/themes/ToggleButton.css.js +1 -1
  496. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  497. package/dist/generated/themes/Token.css.d.ts +1 -1
  498. package/dist/generated/themes/Token.css.js +1 -1
  499. package/dist/generated/themes/Token.css.js.map +1 -1
  500. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  501. package/dist/generated/themes/Tokenizer.css.js +1 -1
  502. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  503. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  504. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  505. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  506. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  507. package/dist/generated/themes/Toolbar.css.js +1 -1
  508. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  509. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  510. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  511. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  512. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  513. package/dist/generated/themes/TreeItem.css.js +1 -1
  514. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  515. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  516. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  517. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  518. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  519. package/dist/generated/themes/YearPicker.css.js +1 -1
  520. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  521. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  522. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  523. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  524. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  525. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  526. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  527. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  528. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  529. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  530. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  531. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  532. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  533. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  534. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  535. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  536. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  537. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  538. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  539. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  540. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  541. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  542. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  543. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  544. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  545. package/dist/vscode.html-custom-data.json +77 -11
  546. package/dist/web-types.json +177 -27
  547. package/package.json +9 -9
  548. package/src/DialogTemplate.tsx +1 -1
  549. package/src/NavigationMenuTemplate.tsx +1 -0
  550. package/src/SelectPopoverTemplate.tsx +106 -0
  551. package/src/SelectTemplate.tsx +68 -0
  552. package/src/SliderBaseTemplate.tsx +2 -2
  553. package/src/SwitchTemplate.tsx +1 -7
  554. package/src/Table.hbs +1 -1
  555. package/src/TableCell.hbs +6 -5
  556. package/src/TableHeaderRow.hbs +4 -0
  557. package/src/TableRow.hbs +22 -3
  558. package/src/TableRowActionBase.hbs +17 -0
  559. package/src/ToastTemplate.tsx +6 -4
  560. package/src/TokenizerPopoverTemplate.tsx +0 -1
  561. package/src/TreeItemTemplate.tsx +1 -1
  562. package/src/i18n/messagebundle.properties +5 -1
  563. package/src/themes/FormItem.css +4 -5
  564. package/src/themes/Label.css +1 -1
  565. package/src/themes/NavigationMenuItem.css +3 -1
  566. package/src/themes/Switch.css +0 -9
  567. package/src/themes/TableCellBase.css +1 -1
  568. package/src/themes/TableRow.css +96 -73
  569. package/src/themes/TableRowActionBase.css +13 -0
  570. package/src/themes/TableRowBase.css +14 -6
  571. package/src/themes/Toolbar.css +13 -1
  572. package/src/themes/base/Switch-parameters.css +0 -1
  573. package/src/themes/base/Table-parameters.css +3 -9
  574. package/src/themes/base/Toolbar-parameters.css +2 -1
  575. package/src/themes/base/sizes-parameters.css +0 -6
  576. package/src/themes/sap_horizon/RadioButton-parameters.css +5 -1
  577. package/src/themes/sap_horizon_dark/RadioButton-parameters.css +5 -1
  578. package/src/themes/sap_horizon_dark/parameters-bundle.css +1 -0
  579. package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +5 -5
  580. package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +5 -5
  581. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -1
  582. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +0 -1
  583. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -1
  584. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -1
  585. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +0 -1
  586. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +0 -1
  587. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +0 -1
  588. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +0 -1
  589. package/dist/generated/templates/SelectPopoverTemplate.lit.d.ts +0 -3
  590. package/dist/generated/templates/SelectPopoverTemplate.lit.js +0 -19
  591. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +0 -1
  592. package/dist/generated/templates/SelectTemplate.lit.d.ts +0 -3
  593. package/dist/generated/templates/SelectTemplate.lit.js +0 -24
  594. package/dist/generated/templates/SelectTemplate.lit.js.map +0 -1
  595. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.d.ts +0 -2
  596. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +0 -3
  597. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +0 -1
  598. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.d.ts +0 -2
  599. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +0 -3
  600. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +0 -1
  601. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.d.ts +0 -2
  602. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +0 -3
  603. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +0 -1
  604. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.d.ts +0 -2
  605. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +0 -3
  606. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +0 -1
  607. package/src/Select.hbs +0 -51
  608. package/src/SelectPopover.hbs +0 -78
  609. package/src/themes/sap_horizon_dark_exp/Avatar-parameters.css +0 -54
  610. package/src/themes/sap_horizon_dark_exp/Breadcrumbs-parameters.css +0 -3
  611. package/src/themes/sap_horizon_dark_exp/Button-parameters.css +0 -17
  612. package/src/themes/sap_horizon_dark_exp/CalendarHeader-parameters.css +0 -19
  613. package/src/themes/sap_horizon_dark_exp/CalendarLegendItem-parameters.css +0 -6
  614. package/src/themes/sap_horizon_dark_exp/Card-parameters.css +0 -15
  615. package/src/themes/sap_horizon_dark_exp/Carousel-parameters.css +0 -5
  616. package/src/themes/sap_horizon_dark_exp/CheckBox-parameters.css +0 -44
  617. package/src/themes/sap_horizon_dark_exp/ColorPalette-parameters.css +0 -25
  618. package/src/themes/sap_horizon_dark_exp/ColorPicker-parameters.css +0 -12
  619. package/src/themes/sap_horizon_dark_exp/DatePicker-parameters.css +0 -6
  620. package/src/themes/sap_horizon_dark_exp/DayPicker-parameters.css +0 -68
  621. package/src/themes/sap_horizon_dark_exp/Dialog-parameters.css +0 -9
  622. package/src/themes/sap_horizon_dark_exp/FileUploader-parameters.css +0 -5
  623. package/src/themes/sap_horizon_dark_exp/GrowingButton-parameters.css +0 -6
  624. package/src/themes/sap_horizon_dark_exp/Icon-parameters.css +0 -3
  625. package/src/themes/sap_horizon_dark_exp/Input-parameters.css +0 -34
  626. package/src/themes/sap_horizon_dark_exp/InputIcon-parameters.css +0 -24
  627. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +0 -15
  628. package/src/themes/sap_horizon_dark_exp/List-parameters.css +0 -5
  629. package/src/themes/sap_horizon_dark_exp/ListItemBase-parameters.css +0 -5
  630. package/src/themes/sap_horizon_dark_exp/Menu-parameters.css +0 -5
  631. package/src/themes/sap_horizon_dark_exp/MessageStrip-parameters.css +0 -5
  632. package/src/themes/sap_horizon_dark_exp/MonthPicker-parameters.css +0 -16
  633. package/src/themes/sap_horizon_dark_exp/MultiComboBox-parameters.css +0 -5
  634. package/src/themes/sap_horizon_dark_exp/Panel-parameters.css +0 -14
  635. package/src/themes/sap_horizon_dark_exp/PopupsCommon-parameters.css +0 -5
  636. package/src/themes/sap_horizon_dark_exp/RadioButton-parameters.css +0 -23
  637. package/src/themes/sap_horizon_dark_exp/RatingIndicator-parameters.css +0 -17
  638. package/src/themes/sap_horizon_dark_exp/SegmentedButtton-parameters.css +0 -13
  639. package/src/themes/sap_horizon_dark_exp/Select-parameters.css +0 -5
  640. package/src/themes/sap_horizon_dark_exp/SelectPopover-parameters.css +0 -4
  641. package/src/themes/sap_horizon_dark_exp/SliderBase-parameters.css +0 -72
  642. package/src/themes/sap_horizon_dark_exp/SplitButton-parameters.css +0 -31
  643. package/src/themes/sap_horizon_dark_exp/StepInput-parameters.css +0 -25
  644. package/src/themes/sap_horizon_dark_exp/Switch-parameters.css +0 -148
  645. package/src/themes/sap_horizon_dark_exp/TabContainer-parameters.css +0 -38
  646. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +0 -1
  647. package/src/themes/sap_horizon_dark_exp/TextArea-parameters.css +0 -45
  648. package/src/themes/sap_horizon_dark_exp/TimePicker-parameters.css +0 -6
  649. package/src/themes/sap_horizon_dark_exp/ToggleButton-parameters.css +0 -1
  650. package/src/themes/sap_horizon_dark_exp/Token-parameters.css +0 -28
  651. package/src/themes/sap_horizon_dark_exp/Tokenizer-parameters.css +0 -5
  652. package/src/themes/sap_horizon_dark_exp/ValueStateMessage-parameters.css +0 -12
  653. package/src/themes/sap_horizon_dark_exp/YearPicker-parameters.css +0 -15
  654. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +0 -57
  655. package/src/themes/sap_horizon_dark_exp/rtl-parameters.css +0 -6
  656. package/src/themes/sap_horizon_dark_exp/sizes-parameters.css +0 -52
  657. package/src/themes/sap_horizon_exp/Avatar-parameters.css +0 -54
  658. package/src/themes/sap_horizon_exp/AvatarGroup-parameters.css +0 -5
  659. package/src/themes/sap_horizon_exp/Breadcrumbs-parameters.css +0 -3
  660. package/src/themes/sap_horizon_exp/Button-parameters.css +0 -17
  661. package/src/themes/sap_horizon_exp/CalendarHeader-parameters.css +0 -19
  662. package/src/themes/sap_horizon_exp/Card-parameters.css +0 -15
  663. package/src/themes/sap_horizon_exp/Carousel-parameters.css +0 -5
  664. package/src/themes/sap_horizon_exp/CheckBox-parameters.css +0 -44
  665. package/src/themes/sap_horizon_exp/ColorPalette-parameters.css +0 -25
  666. package/src/themes/sap_horizon_exp/ColorPicker-parameters.css +0 -12
  667. package/src/themes/sap_horizon_exp/DatePicker-parameters.css +0 -6
  668. package/src/themes/sap_horizon_exp/DayPicker-parameters.css +0 -71
  669. package/src/themes/sap_horizon_exp/Dialog-parameters.css +0 -9
  670. package/src/themes/sap_horizon_exp/FileUploader-parameters.css +0 -5
  671. package/src/themes/sap_horizon_exp/GrowingButton-parameters.css +0 -6
  672. package/src/themes/sap_horizon_exp/Icon-parameters.css +0 -3
  673. package/src/themes/sap_horizon_exp/Input-parameters.css +0 -34
  674. package/src/themes/sap_horizon_exp/InputIcon-parameters.css +0 -24
  675. package/src/themes/sap_horizon_exp/Link-parameters.css +0 -15
  676. package/src/themes/sap_horizon_exp/List-parameters.css +0 -5
  677. package/src/themes/sap_horizon_exp/ListItemBase-parameters.css +0 -5
  678. package/src/themes/sap_horizon_exp/Menu-parameters.css +0 -5
  679. package/src/themes/sap_horizon_exp/MessageStrip-parameters.css +0 -5
  680. package/src/themes/sap_horizon_exp/MonthPicker-parameters.css +0 -16
  681. package/src/themes/sap_horizon_exp/MultiComboBox-parameters.css +0 -5
  682. package/src/themes/sap_horizon_exp/Panel-parameters.css +0 -14
  683. package/src/themes/sap_horizon_exp/PopupsCommon-parameters.css +0 -5
  684. package/src/themes/sap_horizon_exp/ProgressIndicator-parameters.css +0 -32
  685. package/src/themes/sap_horizon_exp/ProgressIndicatorLayout-parameters.css +0 -40
  686. package/src/themes/sap_horizon_exp/RadioButton-parameters.css +0 -23
  687. package/src/themes/sap_horizon_exp/RatingIndicator-parameters.css +0 -17
  688. package/src/themes/sap_horizon_exp/SegmentedButtton-parameters.css +0 -13
  689. package/src/themes/sap_horizon_exp/Select-parameters.css +0 -5
  690. package/src/themes/sap_horizon_exp/SelectPopover-parameters.css +0 -4
  691. package/src/themes/sap_horizon_exp/SliderBase-parameters.css +0 -71
  692. package/src/themes/sap_horizon_exp/SplitButton-parameters.css +0 -31
  693. package/src/themes/sap_horizon_exp/StepInput-parameters.css +0 -25
  694. package/src/themes/sap_horizon_exp/Switch-parameters.css +0 -150
  695. package/src/themes/sap_horizon_exp/TabContainer-parameters.css +0 -38
  696. package/src/themes/sap_horizon_exp/Tag-parameters.css +0 -1
  697. package/src/themes/sap_horizon_exp/TextArea-parameters.css +0 -45
  698. package/src/themes/sap_horizon_exp/TimePicker-parameters.css +0 -6
  699. package/src/themes/sap_horizon_exp/ToggleButton-parameters.css +0 -1
  700. package/src/themes/sap_horizon_exp/Token-parameters.css +0 -28
  701. package/src/themes/sap_horizon_exp/Tokenizer-parameters.css +0 -5
  702. package/src/themes/sap_horizon_exp/ValueStateMessage-parameters.css +0 -12
  703. package/src/themes/sap_horizon_exp/YearPicker-parameters.css +0 -15
  704. package/src/themes/sap_horizon_exp/parameters-bundle.css +0 -57
  705. package/src/themes/sap_horizon_exp/rtl-parameters.css +0 -6
  706. package/src/themes/sap_horizon_exp/sizes-parameters.css +0 -51
  707. package/src/themes/sap_horizon_hcb_exp/Avatar-parameters.css +0 -54
  708. package/src/themes/sap_horizon_hcb_exp/BusyIndicator-parameters.css +0 -5
  709. package/src/themes/sap_horizon_hcb_exp/Button-parameters.css +0 -9
  710. package/src/themes/sap_horizon_hcb_exp/CalendarHeader-parameters.css +0 -11
  711. package/src/themes/sap_horizon_hcb_exp/Card-parameters.css +0 -11
  712. package/src/themes/sap_horizon_hcb_exp/Carousel-parameters.css +0 -9
  713. package/src/themes/sap_horizon_hcb_exp/CheckBox-parameters.css +0 -45
  714. package/src/themes/sap_horizon_hcb_exp/ColorPicker-parameters.css +0 -10
  715. package/src/themes/sap_horizon_hcb_exp/DatePicker-parameters.css +0 -5
  716. package/src/themes/sap_horizon_hcb_exp/DayPicker-parameters.css +0 -70
  717. package/src/themes/sap_horizon_hcb_exp/FileUploader-parameters.css +0 -6
  718. package/src/themes/sap_horizon_hcb_exp/GrowingButton-parameters.css +0 -8
  719. package/src/themes/sap_horizon_hcb_exp/Input-parameters.css +0 -32
  720. package/src/themes/sap_horizon_hcb_exp/InputIcon-parameters.css +0 -11
  721. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +0 -11
  722. package/src/themes/sap_horizon_hcb_exp/ListItem-parameters.css +0 -3
  723. package/src/themes/sap_horizon_hcb_exp/Menu-parameters.css +0 -5
  724. package/src/themes/sap_horizon_hcb_exp/MessageStrip-parameters.css +0 -10
  725. package/src/themes/sap_horizon_hcb_exp/MonthPicker-parameters.css +0 -12
  726. package/src/themes/sap_horizon_hcb_exp/Panel-parameters.css +0 -10
  727. package/src/themes/sap_horizon_hcb_exp/PopupsCommon-parameters.css +0 -5
  728. package/src/themes/sap_horizon_hcb_exp/ProgressIndicator-parameters.css +0 -15
  729. package/src/themes/sap_horizon_hcb_exp/RadioButton-parameters.css +0 -26
  730. package/src/themes/sap_horizon_hcb_exp/RatingIndicator-parameters.css +0 -16
  731. package/src/themes/sap_horizon_hcb_exp/SegmentedButtton-parameters.css +0 -8
  732. package/src/themes/sap_horizon_hcb_exp/Select-parameters.css +0 -10
  733. package/src/themes/sap_horizon_hcb_exp/SliderBase-parameters.css +0 -78
  734. package/src/themes/sap_horizon_hcb_exp/SplitButton-parameters.css +0 -34
  735. package/src/themes/sap_horizon_hcb_exp/Switch-parameters.css +0 -144
  736. package/src/themes/sap_horizon_hcb_exp/TabContainer-parameters.css +0 -49
  737. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +0 -1
  738. package/src/themes/sap_horizon_hcb_exp/TextArea-parameters.css +0 -42
  739. package/src/themes/sap_horizon_hcb_exp/TimePicker-parameters.css +0 -5
  740. package/src/themes/sap_horizon_hcb_exp/ToggleButton-parameters.css +0 -1
  741. package/src/themes/sap_horizon_hcb_exp/Token-parameters.css +0 -17
  742. package/src/themes/sap_horizon_hcb_exp/ValueStateMessage-parameters.css +0 -13
  743. package/src/themes/sap_horizon_hcb_exp/YearPicker-parameters.css +0 -12
  744. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +0 -52
  745. package/src/themes/sap_horizon_hcb_exp/sizes-parameters.css +0 -16
  746. package/src/themes/sap_horizon_hcw_exp/Avatar-parameters.css +0 -54
  747. package/src/themes/sap_horizon_hcw_exp/BusyIndicator-parameters.css +0 -5
  748. package/src/themes/sap_horizon_hcw_exp/Button-parameters.css +0 -9
  749. package/src/themes/sap_horizon_hcw_exp/CalendarHeader-parameters.css +0 -11
  750. package/src/themes/sap_horizon_hcw_exp/Card-parameters.css +0 -11
  751. package/src/themes/sap_horizon_hcw_exp/Carousel-parameters.css +0 -9
  752. package/src/themes/sap_horizon_hcw_exp/CheckBox-parameters.css +0 -45
  753. package/src/themes/sap_horizon_hcw_exp/ColorPicker-parameters.css +0 -10
  754. package/src/themes/sap_horizon_hcw_exp/DatePicker-parameters.css +0 -5
  755. package/src/themes/sap_horizon_hcw_exp/DayPicker-parameters.css +0 -69
  756. package/src/themes/sap_horizon_hcw_exp/FileUploader-parameters.css +0 -6
  757. package/src/themes/sap_horizon_hcw_exp/GrowingButton-parameters.css +0 -8
  758. package/src/themes/sap_horizon_hcw_exp/Input-parameters.css +0 -32
  759. package/src/themes/sap_horizon_hcw_exp/InputIcon-parameters.css +0 -11
  760. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +0 -11
  761. package/src/themes/sap_horizon_hcw_exp/ListItem-parameters.css +0 -3
  762. package/src/themes/sap_horizon_hcw_exp/Menu-parameters.css +0 -5
  763. package/src/themes/sap_horizon_hcw_exp/MessageStrip-parameters.css +0 -10
  764. package/src/themes/sap_horizon_hcw_exp/MonthPicker-parameters.css +0 -12
  765. package/src/themes/sap_horizon_hcw_exp/Panel-parameters.css +0 -11
  766. package/src/themes/sap_horizon_hcw_exp/PopupsCommon-parameters.css +0 -5
  767. package/src/themes/sap_horizon_hcw_exp/RadioButton-parameters.css +0 -30
  768. package/src/themes/sap_horizon_hcw_exp/RatingIndicator-parameters.css +0 -16
  769. package/src/themes/sap_horizon_hcw_exp/SegmentedButtton-parameters.css +0 -8
  770. package/src/themes/sap_horizon_hcw_exp/Select-parameters.css +0 -10
  771. package/src/themes/sap_horizon_hcw_exp/SliderBase-parameters.css +0 -78
  772. package/src/themes/sap_horizon_hcw_exp/SplitButton-parameters.css +0 -34
  773. package/src/themes/sap_horizon_hcw_exp/Switch-parameters.css +0 -149
  774. package/src/themes/sap_horizon_hcw_exp/TabContainer-parameters.css +0 -49
  775. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +0 -1
  776. package/src/themes/sap_horizon_hcw_exp/TextArea-parameters.css +0 -42
  777. package/src/themes/sap_horizon_hcw_exp/TimePicker-parameters.css +0 -5
  778. package/src/themes/sap_horizon_hcw_exp/ToggleButton-parameters.css +0 -1
  779. package/src/themes/sap_horizon_hcw_exp/Token-parameters.css +0 -17
  780. package/src/themes/sap_horizon_hcw_exp/ValueStateMessage-parameters.css +0 -13
  781. package/src/themes/sap_horizon_hcw_exp/YearPicker-parameters.css +0 -12
  782. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +0 -52
  783. package/src/themes/sap_horizon_hcw_exp/sizes-parameters.css +0 -16
@@ -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 { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\n\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup 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 \"./PopoverTemplate.js\";\n// Styles\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 * @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\tPopupsCommonCss,\n\t\tPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\teventDetails!: Popup[\"eventDetails\"];\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 undefined\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()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\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 = false;\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 = false;\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 = false;\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 = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverPlacement}` = \"End\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, 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\t_height?: 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({ converter: DOMReferenceConverter })\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\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.fireDecoratorEvent(\"close\");\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) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tif (opener instanceof HTMLElement) {\n\t\t\treturn this._isUI5Element(opener) ? opener.getFocusDomRef() : opener;\n\t\t}\n\n\t\tlet rootNode = this.getRootNode();\n\n\t\tif (rootNode === this) {\n\t\t\trootNode = document;\n\t\t}\n\n\t\tlet openerHTMLElement = (rootNode as Document | ShadowRoot).getElementById(opener);\n\n\t\tif (rootNode instanceof ShadowRoot && !openerHTMLElement) {\n\t\t\topenerHTMLElement = document.getElementById(opener);\n\t\t}\n\n\t\tif (openerHTMLElement && this._isUI5Element(openerHTMLElement)) {\n\t\t\treturn openerHTMLElement.getFocusDomRef() || openerHTMLElement;\n\t\t}\n\n\t\treturn openerHTMLElement;\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\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && this._isUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\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 = opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\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\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\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\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\t_isUI5Element(el: HTMLElement): el is UI5Element {\n\t\treturn \"isUI5Element\" in el;\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\tthis._height = `${targetRect.height}px`;\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 < Popover.VIEWPORT_MARGIN) { // eslint-disable-line\n\t\t\t\ttop = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (top + popoverSize.height > clientHeight - Popover.VIEWPORT_MARGIN) {\n\t\t\t\ttop = clientHeight - Popover.VIEWPORT_MARGIN - popoverSize.height;\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\tthis._left += this.getRTLCorrectionLeft();\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\tgetRTLCorrectionLeft() {\n\t\treturn parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;\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"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import { instanceOfUI5Element } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport 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 { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport DOMReferenceConverter from \"@ui5/webcomponents-base/dist/converters/DOMReference.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport Popup 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 \"./PopoverTemplate.js\";\n// Styles\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 * @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\tPopupsCommonCss,\n\t\tPopoverCss,\n\t\tgetEffectiveScrollbarStyle(),\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\teventDetails!: Popup[\"eventDetails\"];\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 undefined\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()\n\tplacement: `${PopoverPlacement}` = \"End\";\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\thorizontalAlign: `${PopoverHorizontalAlign}` = \"Center\";\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property()\n\tverticalAlign: `${PopoverVerticalAlign}` = \"Center\";\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 = false;\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 = false;\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 = false;\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 = false;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateX = 0;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\tarrowTranslateY = 0;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property()\n\tactualPlacement: `${PopoverPlacement}` = \"End\";\n\n\t@property({ type: Number, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ type: Number, 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\t_height?: 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({ converter: DOMReferenceConverter })\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\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.fireDecoratorEvent(\"close\");\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) {\n\t\t\treturn opener;\n\t\t}\n\n\t\tif (opener instanceof HTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(opener) ? opener.getFocusDomRef() : opener;\n\t\t}\n\n\t\tlet rootNode = this.getRootNode();\n\n\t\tif (rootNode === this) {\n\t\t\trootNode = document;\n\t\t}\n\n\t\tlet openerHTMLElement = (rootNode as Document | ShadowRoot).getElementById(opener);\n\n\t\tif (rootNode instanceof ShadowRoot && !openerHTMLElement) {\n\t\t\topenerHTMLElement = document.getElementById(opener);\n\t\t}\n\n\t\tif (openerHTMLElement) {\n\t\t\treturn this._isUI5AbstractElement(openerHTMLElement) ? openerHTMLElement.getFocusDomRef() : openerHTMLElement;\n\t\t}\n\n\t\treturn openerHTMLElement;\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\tconst opener = this.getOpenerHTMLElement(this.opener);\n\n\t\tif (opener && instanceOfUI5Element(opener) && !opener.getDomRef()) {\n\t\t\treturn;\n\t\t}\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 = opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this._oldPlacement && this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin()) {\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\n\t\tif (this.verticalAlign === PopoverVerticalAlign.Stretch && this._height) {\n\t\t\tthis.style.height = this._height;\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\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\t_isUI5AbstractElement(el: HTMLElement): el is UI5Element {\n\t\treturn instanceOfUI5Element(el) && el.isUI5AbstractElement;\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\tthis._height = `${targetRect.height}px`;\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 < Popover.VIEWPORT_MARGIN) { // eslint-disable-line\n\t\t\t\ttop = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (top + popoverSize.height > clientHeight - Popover.VIEWPORT_MARGIN) {\n\t\t\t\ttop = clientHeight - Popover.VIEWPORT_MARGIN - popoverSize.height;\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\tthis._left += this.getRTLCorrectionLeft();\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\tgetRTLCorrectionLeft() {\n\t\treturn parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;\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"]}
package/dist/Select.d.ts CHANGED
@@ -1,12 +1,10 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
2
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
3
- import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
4
3
  import "@ui5/webcomponents-icons/dist/error.js";
5
4
  import "@ui5/webcomponents-icons/dist/alert.js";
6
5
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
7
6
  import "@ui5/webcomponents-icons/dist/information.js";
8
7
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
- import "@ui5/webcomponents-icons/dist/decline.js";
10
8
  import type { Timeout } from "@ui5/webcomponents-base/dist/types.js";
11
9
  import type { IFormInputElement } from "@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js";
12
10
  import type { ListItemClickEventDetail } from "./List.js";
@@ -284,7 +282,7 @@ declare class Select extends UI5Element implements IFormInputElement {
284
282
  get isDisabled(): true | undefined;
285
283
  get _headerTitleText(): string;
286
284
  get _currentlySelectedOption(): IOption;
287
- get _effectiveTabIndex(): "0" | "-1";
285
+ get _effectiveTabIndex(): 0 | -1;
288
286
  /**
289
287
  * This method is relevant for sap_horizon theme only
290
288
  */
package/dist/Select.js CHANGED
@@ -10,19 +10,17 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
12
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
13
- import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
13
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
14
14
  import { isSpace, isUp, isDown, isEnter, isEscape, isHome, isEnd, isShow, isTabNext, isTabPrevious, } from "@ui5/webcomponents-base/dist/Keys.js";
15
15
  import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
16
16
  import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
17
17
  import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
18
- import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
19
18
  import "@ui5/webcomponents-icons/dist/error.js";
20
19
  import "@ui5/webcomponents-icons/dist/alert.js";
21
20
  import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
22
21
  import "@ui5/webcomponents-icons/dist/information.js";
23
22
  import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
24
23
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
25
- import "@ui5/webcomponents-icons/dist/decline.js";
26
24
  import InvisibleMessageMode from "@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js";
27
25
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
28
26
  import List from "./List.js";
@@ -33,7 +31,7 @@ import Popover from "./Popover.js";
33
31
  import Icon from "./Icon.js";
34
32
  import Button from "./Button.js";
35
33
  // Templates
36
- import SelectTemplate from "./generated/templates/SelectTemplate.lit.js";
34
+ import SelectTemplate from "./SelectTemplate.js";
37
35
  // Styles
38
36
  import selectCss from "./generated/themes/Select.css.js";
39
37
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
@@ -524,7 +522,7 @@ let Select = Select_1 = class Select extends UI5Element {
524
522
  get _effectiveTabIndex() {
525
523
  return this.disabled
526
524
  || (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened
527
- && this.responsivePopover.open) ? "-1" : "0";
525
+ && this.responsivePopover.open) ? -1 : 0;
528
526
  }
529
527
  /**
530
528
  * This method is relevant for sap_horizon theme only
@@ -675,7 +673,7 @@ Select = Select_1 = __decorate([
675
673
  tag: "ui5-select",
676
674
  languageAware: true,
677
675
  formAssociated: true,
678
- renderer: litRender,
676
+ renderer: jsxRenderer,
679
677
  template: SelectTemplate,
680
678
  styles: [
681
679
  selectCss,
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../src/Select.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport \"@ui5/webcomponents-icons/dist/decline.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n\tFORM_SELECTABLE_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\n\n// Templates\nimport SelectTemplate from \"./generated/templates/SelectTemplate.lit.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-select` as options\n * @public\n */\ninterface IOption extends ListItemBase {\n\ttooltip?: string,\n\ticon?: string,\n\tvalue?: string,\n\tadditionalText?: string,\n\tfocused: boolean,\n\teffectiveDisplayText: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`.\n *\n * 1. With Option (`ui5-option`) web component:\n *\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2. With OptionCustom (`ui5-option-custom`) web component.\n *\n * Options with custom content are defined by using the OptionCustom component\n * The OptionCustom component comes with no predefined layout and it expects consumers to define it.\n *\n * ### Keyboard Handling\n * The `ui5-select` provides advanced keyboard handling.\n *\n * - [F4] / [Alt] + [Up] / [Alt] + [Down] / [Space] or [Enter] - Opens/closes the drop-down.\n * - [Up] or [Down] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * - [Space], [Enter] - If the drop-down is opened - selects the focused option.\n * - [Escape] - Closes the drop-down without changing the selection.\n * - [Home] - Navigates to first option\n * - [End] - Navigates to the last option\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Select\";`\n *\n * `import \"@ui5/webcomponents/dist/Option\";`\n * `import \"@ui5/webcomponents/dist/OptionCustom\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart popover - Used to style the popover element\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: litRender,\n\ttemplate: SelectTemplate,\n\tstyles: [\n\t\tselectCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event(\"live-change\", {\n\tbubbles: true,\n})\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired to make Angular two way data binding work properly.\n * @private\n */\n@event(\"selected-item-changed\", {\n\tbubbles: true,\n})\n\n/**\n * Fired to make Vue.js two way data binding work properly.\n * @private\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n\nclass Select extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": SelectChangeEventDetail,\n\t\t\"live-change\": SelectLiveChangeEventDetail,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t\t\"selected-item-changed\": void,\n\t\t\"input\": void,\n\t}\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_listWidth = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t_selectedIndexBeforeOpen = -1;\n\t_escapePressed = false;\n\t_lastSelectedOption: IOption | null = null;;\n\t_typedChars = \"\";\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tvalueStatePopover?: Popover;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<IOption>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Critical` or `Negative` value state.\n\t *\n\t * **Note:** If the component has `suggestionItems`,\n\t * the `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *\n\t * **Note:** If not specified and `ui5-option-custom` is used,\n\t * either the option's `display-text` or its textContent will be displayed.\n\t *\n\t * **Note:** If not specified and `ui5-option` is used,\n\t * the option's textContent will be displayed.\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\tget formValidityMessage() {\n\t\treturn Select.i18nBundle.getText(FORM_SELECTABLE_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst selectedOption = this.selectedOption;\n\n\t\treturn { valueMissing: this.required && (selectedOption && selectedOption.getAttribute(\"value\") === \"\") };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\tconst selectedOption = this.selectedOption;\n\n\t\tif (selectedOption) {\n\t\t\treturn selectedOption.hasAttribute(\"value\") ? selectedOption.value! : selectedOption.textContent;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._ensureSingleSelection();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\t}\n\n\t_ensureSingleSelection() {\n\t\t// if no item is selected => select the first one\n\t\t// if multiple items are selected => select the last selected one\n\t\tlet selectedIndex = this.options.findLastIndex(option => option.selected);\n\t\tselectedIndex = selectedIndex === -1 ? 0 : selectedIndex;\n\t\tfor (let i = 0; i < this.options.length; i++) {\n\t\t\tthis.options[i].selected = selectedIndex === i;\n\t\t\tif (selectedIndex === i) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\treturn !!this.responsivePopover && this.responsivePopover.open;\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.\n\t *\n\t * - when set - selects the option with matching `value` property or text content.\n\t *\n\t * **Note:** If the given value does not match any existing option,\n\t * the first option will get selected.\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\t@property({ noAttribute: true })\n\tset value(newValue: string) {\n\t\tconst options = Array.from(this.children) as Array<IOption>;\n\n\t\toptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\tget _selectedIndex() {\n\t\treturn this.options.findIndex(option => option.selected);\n\t}\n\n\t/**\n\t * Currently selected `ui5-option` element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.options.find(option => option.selected);\n\t}\n\n\tget text() {\n\t\treturn this.selectedOption?.effectiveDisplayText;\n\t}\n\n\t_toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tthis.responsivePopover = this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.open = false;\n\t\t} else {\n\t\t\tthis.responsivePopover.opener = this;\n\t\t\tthis.responsivePopover.open = true;\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tthis.responsivePopover.open = false;\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.options.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t\tthis._scrollSelectedItem();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.options.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => option.effectiveDisplayText.toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.options.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getItemIndex(item: IOption) {\n\t\treturn this.options.indexOf(item);\n\t}\n\n\t_select(index: number) {\n\t\tconst selectedIndex = this._selectedIndex;\n\t\tif (index < 0 || index >= this.options.length || this.options.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.options[selectedIndex]) {\n\t\t\tthis.options[selectedIndex].selected = false;\n\t\t}\n\n\t\tif (selectedIndex !== index) {\n\t\t\tthis.fireDecoratorEvent(\"live-change\", { selectedOption: this.options[index] });\n\t\t}\n\n\t\tthis.options[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst listItem = e.detail.item;\n\t\tconst selectedItemIndex = this._getItemIndex(listItem as IOption);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._typedChars = \"\";\n\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array<IOption> = this.options;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tconst nextOption = options[newIndex];\n\n\t\tif (previousOption === nextOption) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis.fireDecoratorEvent(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.options[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireDecoratorEvent(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t\tthis._applyFocusToSelectedItem();\n\t}\n\n\t_applyFocusToSelectedItem() {\n\t\tthis.options.forEach(option => {\n\t\t\toption.focused = option.selected;\n\t\t});\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.options[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.options[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.options[this._selectedIndex];\n\t\t}\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireDecoratorEvent(\"change\", { selectedOption });\n\n\t\t// Angular two way data binding\n\t\tthis.fireDecoratorEvent(\"selected-item-changed\");\n\n\t\t// Fire input event for Vue.js two-way binding\n\t\tthis.fireDecoratorEvent(\"input\");\n\n\t\tif (changePrevented) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Positive]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Negative]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Positive]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Negative]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Critical]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessage.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.options[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.open) ? \"-1\" : \"0\";\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this.options.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this.options.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.options.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\topenValueStatePopover() {\n\t\tthis.valueStatePopover = this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.opener = this;\n\t\t\tthis.valueStatePopover.open = true;\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && (this.valueStatePopover.open = false);\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tIOption,\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../src/Select.ts"],"names":[],"mappings":"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","sourcesContent":["import 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 event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisSpace,\n\tisUp,\n\tisDown,\n\tisEnter,\n\tisEscape,\n\tisHome,\n\tisEnd,\n\tisShow,\n\tisTabNext,\n\tisTabPrevious,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport \"@ui5/webcomponents-icons/dist/information.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type { Timeout } from \"@ui5/webcomponents-base/dist/types.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport List from \"./List.js\";\nimport type { ListItemClickEventDetail } from \"./List.js\";\nimport {\n\tVALUE_STATE_SUCCESS,\n\tVALUE_STATE_INFORMATION,\n\tVALUE_STATE_ERROR,\n\tVALUE_STATE_WARNING,\n\tVALUE_STATE_TYPE_SUCCESS,\n\tVALUE_STATE_TYPE_INFORMATION,\n\tVALUE_STATE_TYPE_ERROR,\n\tVALUE_STATE_TYPE_WARNING,\n\tINPUT_SUGGESTIONS_TITLE,\n\tLIST_ITEM_POSITION,\n\tSELECT_ROLE_DESCRIPTION,\n\tFORM_SELECTABLE_REQUIRED,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Label from \"./Label.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport type ListItemBase from \"./ListItemBase.js\";\n\n// Templates\nimport SelectTemplate from \"./SelectTemplate.js\";\n\n// Styles\nimport selectCss from \"./generated/themes/Select.css.js\";\nimport ResponsivePopoverCommonCss from \"./generated/themes/ResponsivePopoverCommon.css.js\";\nimport ValueStateMessageCss from \"./generated/themes/ValueStateMessage.css.js\";\nimport SelectPopoverCss from \"./generated/themes/SelectPopover.css.js\";\n\n/**\n * Interface for components that may be slotted inside `ui5-select` as options\n * @public\n */\ninterface IOption extends ListItemBase {\n\ttooltip?: string,\n\ticon?: string,\n\tvalue?: string,\n\tadditionalText?: string,\n\tfocused: boolean,\n\teffectiveDisplayText: string,\n}\n\ntype SelectChangeEventDetail = {\n\tselectedOption: IOption,\n}\ntype SelectLiveChangeEventDetail = {\n\tselectedOption: IOption,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-select` component is used to create a drop-down list.\n *\n * ### Usage\n *\n * There are two main usages of the `ui5-select>`.\n *\n * 1. With Option (`ui5-option`) web component:\n *\n * The available options of the Select are defined by using the Option component.\n * The Option comes with predefined design and layout, including `icon`, `text` and `additional-text`.\n *\n * 2. With OptionCustom (`ui5-option-custom`) web component.\n *\n * Options with custom content are defined by using the OptionCustom component\n * The OptionCustom component comes with no predefined layout and it expects consumers to define it.\n *\n * ### Keyboard Handling\n * The `ui5-select` provides advanced keyboard handling.\n *\n * - [F4] / [Alt] + [Up] / [Alt] + [Down] / [Space] or [Enter] - Opens/closes the drop-down.\n * - [Up] or [Down] - If the drop-down is closed - changes selection to the next or the previous option. If the drop-down is opened - moves focus to the next or the previous option.\n * - [Space], [Enter] - If the drop-down is opened - selects the focused option.\n * - [Escape] - Closes the drop-down without changing the selection.\n * - [Home] - Navigates to first option\n * - [End] - Navigates to the last option\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents/dist/Select\";`\n *\n * `import \"@ui5/webcomponents/dist/Option\";`\n * `import \"@ui5/webcomponents/dist/OptionCustom\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart popover - Used to style the popover element\n * @since 0.8.0\n */\n@customElement({\n\ttag: \"ui5-select\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\trenderer: jsxRenderer,\n\ttemplate: SelectTemplate,\n\tstyles: [\n\t\tselectCss,\n\t\tResponsivePopoverCommonCss,\n\t\tValueStateMessageCss,\n\t\tSelectPopoverCss,\n\t],\n\tdependencies: [\n\t\tLabel,\n\t\tResponsivePopover,\n\t\tPopover,\n\t\tList,\n\t\tIcon,\n\t\tButton,\n\t],\n})\n/**\n * Fired when the selected option changes.\n * @param {IOption} selectedOption the selected option.\n * @public\n */\n@event(\"change\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n/**\n * Fired when the user navigates through the options, but the selection is not finalized,\n * or when pressing the ESC key to revert the current selection.\n * @param {IOption} selectedOption the selected option.\n * @public\n * @since 1.17.0\n */\n@event(\"live-change\", {\n\tbubbles: true,\n})\n/**\n * Fired after the component's dropdown menu opens.\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n\n/**\n * Fired after the component's dropdown menu closes.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired to make Angular two way data binding work properly.\n * @private\n */\n@event(\"selected-item-changed\", {\n\tbubbles: true,\n})\n\n/**\n * Fired to make Vue.js two way data binding work properly.\n * @private\n */\n@event(\"input\", {\n\tbubbles: true,\n})\n\nclass Select extends UI5Element implements IFormInputElement {\n\teventDetails!: {\n\t\t\"change\": SelectChangeEventDetail,\n\t\t\"live-change\": SelectLiveChangeEventDetail,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t\t\"selected-item-changed\": void,\n\t\t\"input\": void,\n\t}\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t/**\n\t * Defines whether the component is in disabled state.\n\t *\n\t * **Note:** A disabled component is noninteractive.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines the name by which the component will be identified upon submission in an HTML form.\n\t *\n\t * **Note:** This property is only applicable within the context of an HTML Form element.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tname?: string;\n\n\t/**\n\t * Defines the value state of the component.\n\t * @default \"None\"\n\t * @public\n\t */\n\t@property()\n\tvalueState: `${ValueState}` = \"None\";\n\n\t/**\n\t * Defines whether the component is required.\n\t * @since 1.0.0-rc.9\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\trequired = false;\n\n\t/**\n\t * Defines whether the component is read-only.\n\t *\n\t * **Note:** A read-only component is not editable,\n\t * but still provides visual feedback upon user interaction.\n\t * @default false\n\t * @since 1.21.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\treadonly = false;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @since 1.0.0-rc.9\n\t * @public\n\t * @default undefined\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the select.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_iconPressed = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\topened = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number, noAttribute: true })\n\t_listWidth = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused = false;\n\n\t_selectedIndexBeforeOpen = -1;\n\t_escapePressed = false;\n\t_lastSelectedOption: IOption | null = null;;\n\t_typedChars = \"\";\n\t_typingTimeoutID?: Timeout | number;\n\tresponsivePopover!: ResponsivePopover;\n\tvalueStatePopover?: Popover;\n\n\t/**\n\t * Defines the component options.\n\t *\n\t * **Note:** Only one selected option is allowed.\n\t * If more than one option is defined as selected, the last one would be considered as the selected one.\n\t *\n\t * **Note:** Use the `ui5-option` component to define the desired options.\n\t * @public\n\t */\n\t@slot({ \"default\": true, type: HTMLElement, invalidateOnChildChange: true })\n\toptions!: Array<IOption>;\n\n\t/**\n\t * Defines the value state message that will be displayed as pop up under the component.\n\t *\n\t * **Note:** If not specified, a default text (in the respective language) will be displayed.\n\t *\n\t * **Note:** The `valueStateMessage` would be displayed,\n\t * when the component is in `Information`, `Critical` or `Negative` value state.\n\t *\n\t * **Note:** If the component has `suggestionItems`,\n\t * the `valueStateMessage` would be displayed as part of the same popover, if used on desktop, or dialog - on phone.\n\t * @public\n\t*/\n\t@slot()\n\tvalueStateMessage!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the HTML element that will be displayed in the component input part,\n\t * representing the selected option.\n\t *\n\t * **Note:** If not specified and `ui5-option-custom` is used,\n\t * either the option's `display-text` or its textContent will be displayed.\n\t *\n\t * **Note:** If not specified and `ui5-option` is used,\n\t * the option's textContent will be displayed.\n\t * @public\n\t * @since 1.17.0\n\t*/\n\t@slot()\n\tlabel!: Array<HTMLElement>;\n\n\tget formValidityMessage() {\n\t\treturn Select.i18nBundle.getText(FORM_SELECTABLE_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst selectedOption = this.selectedOption;\n\n\t\treturn { valueMissing: this.required && (selectedOption && selectedOption.getAttribute(\"value\") === \"\") };\n\t}\n\n\tasync formElementAnchor() {\n\t\treturn this.getFocusDomRefAsync();\n\t}\n\n\tget formFormattedValue() {\n\t\tconst selectedOption = this.selectedOption;\n\n\t\tif (selectedOption) {\n\t\t\treturn selectedOption.hasAttribute(\"value\") ? selectedOption.value! : selectedOption.textContent;\n\t\t}\n\n\t\treturn \"\";\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._ensureSingleSelection();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t}\n\n\tonAfterRendering() {\n\t\tthis.toggleValueStatePopover(this.shouldOpenValueStateMessagePopover);\n\n\t\tif (this._isPickerOpen) {\n\t\t\tif (!this._listWidth) {\n\t\t\t\tthis._listWidth = this.responsivePopover.offsetWidth;\n\t\t\t}\n\t\t}\n\t}\n\n\t_ensureSingleSelection() {\n\t\t// if no item is selected => select the first one\n\t\t// if multiple items are selected => select the last selected one\n\t\tlet selectedIndex = this.options.findLastIndex(option => option.selected);\n\t\tselectedIndex = selectedIndex === -1 ? 0 : selectedIndex;\n\t\tfor (let i = 0; i < this.options.length; i++) {\n\t\t\tthis.options[i].selected = selectedIndex === i;\n\t\t\tif (selectedIndex === i) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\tthis.focused = true;\n\t}\n\n\t_onfocusout() {\n\t\tthis.focused = false;\n\t}\n\n\tget _isPickerOpen() {\n\t\treturn !!this.responsivePopover && this.responsivePopover.open;\n\t}\n\n\t_respPopover() {\n\t\treturn this.shadowRoot!.querySelector<ResponsivePopover>(\"[ui5-responsive-popover]\")!;\n\t}\n\n\t/**\n\t * Defines the value of the component:\n\t *\n\t * - when get - returns the value of the component, e.g. the `value` property of the selected option or its text content.\n\t *\n\t * - when set - selects the option with matching `value` property or text content.\n\t *\n\t * **Note:** If the given value does not match any existing option,\n\t * the first option will get selected.\n\t * @public\n\t * @default \"\"\n\t * @since 1.20.0\n\t * @formProperty\n\t * @formEvents change liveChange\n\t */\n\t@property({ noAttribute: true })\n\tset value(newValue: string) {\n\t\tconst options = Array.from(this.children) as Array<IOption>;\n\n\t\toptions.forEach(option => {\n\t\t\toption.selected = !!((option.getAttribute(\"value\") || option.textContent) === newValue);\n\t\t});\n\t}\n\n\tget value(): string {\n\t\treturn this.selectedOption?.value || this.selectedOption?.textContent || \"\";\n\t}\n\n\tget _selectedIndex() {\n\t\treturn this.options.findIndex(option => option.selected);\n\t}\n\n\t/**\n\t * Currently selected `ui5-option` element.\n\t * @public\n\t * @default undefined\n\t */\n\tget selectedOption(): IOption | undefined {\n\t\treturn this.options.find(option => option.selected);\n\t}\n\n\tget text() {\n\t\treturn this.selectedOption?.effectiveDisplayText;\n\t}\n\n\t_toggleRespPopover() {\n\t\tif (this.disabled || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._iconPressed = true;\n\n\t\tthis.responsivePopover = this._respPopover();\n\t\tif (this._isPickerOpen) {\n\t\t\tthis.responsivePopover.open = false;\n\t\t} else {\n\t\t\tthis.responsivePopover.opener = this;\n\t\t\tthis.responsivePopover.open = true;\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTab = (isTabNext(e) || isTabPrevious(e));\n\n\t\tif (isTab && this._isPickerOpen) {\n\t\t\tthis.responsivePopover.open = false;\n\t\t} else if (isShow(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._toggleRespPopover();\n\t\t} else if (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t} else if (isEscape(e) && this._isPickerOpen) {\n\t\t\tthis._escapePressed = true;\n\t\t} else if (isHome(e)) {\n\t\t\tthis._handleHomeKey(e);\n\t\t} else if (isEnd(e)) {\n\t\t\tthis._handleEndKey(e);\n\t\t} else if (isEnter(e)) {\n\t\t\tthis._handleSelectionChange();\n\t\t} else if (isUp(e) || isDown(e)) {\n\t\t\tthis._handleArrowNavigation(e);\n\t\t}\n\t}\n\n\t_handleKeyboardNavigation(e: KeyboardEvent) {\n\t\tif (isEnter(e) || this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst typedCharacter = e.key.toLowerCase();\n\n\t\tthis._typedChars += typedCharacter;\n\n\t\t// We check if we have more than one characters and they are all duplicate, we set the\n\t\t// text to be the last input character (typedCharacter). If not, we set the text to be\n\t\t// the whole input string.\n\n\t\tconst text = (/^(.)\\1+$/i).test(this._typedChars) ? typedCharacter : this._typedChars;\n\n\t\tclearTimeout(this._typingTimeoutID);\n\n\t\tthis._typingTimeoutID = setTimeout(() => {\n\t\t\tthis._typedChars = \"\";\n\t\t\tthis._typingTimeoutID = -1;\n\t\t}, 1000);\n\n\t\tthis._selectTypedItem(text);\n\t}\n\n\t_selectTypedItem(text: string) {\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst itemToSelect = this._searchNextItemByText(text);\n\n\t\tif (itemToSelect) {\n\t\t\tconst nextIndex = this.options.indexOf(itemToSelect);\n\n\t\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t\tthis.itemSelectionAnnounce();\n\t\t\t\tthis._scrollSelectedItem();\n\t\t\t}\n\t\t}\n\t}\n\n\t_searchNextItemByText(text: string) {\n\t\tlet orderedOptions = this.options.slice(0);\n\t\tconst optionsAfterSelected = orderedOptions.splice(this._selectedIndex + 1, orderedOptions.length - this._selectedIndex);\n\t\tconst optionsBeforeSelected = orderedOptions.splice(0, orderedOptions.length - 1);\n\n\t\torderedOptions = optionsAfterSelected.concat(optionsBeforeSelected);\n\n\t\treturn orderedOptions.find(option => option.effectiveDisplayText.toLowerCase().startsWith(text));\n\t}\n\n\t_handleHomeKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, 0);\n\t}\n\n\t_handleEndKey(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst lastIndex = this.options.length - 1;\n\t\tthis._changeSelectedItem(this._selectedIndex, lastIndex);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tif (this._isPickerOpen) {\n\t\t\t\tthis._handleSelectionChange();\n\t\t\t} else {\n\t\t\t\tthis._toggleRespPopover();\n\t\t\t}\n\t\t}\n\t}\n\n\t_getItemIndex(item: IOption) {\n\t\treturn this.options.indexOf(item);\n\t}\n\n\t_select(index: number) {\n\t\tconst selectedIndex = this._selectedIndex;\n\t\tif (index < 0 || index >= this.options.length || this.options.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.options[selectedIndex]) {\n\t\t\tthis.options[selectedIndex].selected = false;\n\t\t}\n\n\t\tif (selectedIndex !== index) {\n\t\t\tthis.fireDecoratorEvent(\"live-change\", { selectedOption: this.options[index] });\n\t\t}\n\n\t\tthis.options[index].selected = true;\n\t}\n\n\t/**\n\t * The user clicked on an item from the list\n\t * @private\n\t */\n\t_handleItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst listItem = e.detail.item;\n\t\tconst selectedItemIndex = this._getItemIndex(listItem as IOption);\n\n\t\tthis._handleSelectionChange(selectedItemIndex);\n\t}\n\n\t_itemMousedown(e: MouseEvent) {\n\t\t// prevent actual focus of items\n\t\te.preventDefault();\n\t}\n\n\t_onclick() {\n\t\tthis.getFocusDomRef()!.focus();\n\t\tthis._toggleRespPopover();\n\t}\n\n\t/**\n\t * The user selected an item with Enter or Space\n\t * @private\n\t */\n\t_handleSelectionChange(index = this._selectedIndex) {\n\t\tthis._typedChars = \"\";\n\n\t\tthis._select(index);\n\n\t\tthis._toggleRespPopover();\n\t}\n\n\t_scrollSelectedItem() {\n\t\tif (this._isPickerOpen) {\n\t\t\tconst itemRef = this._currentlySelectedOption?.getDomRef();\n\t\t\tif (itemRef) {\n\t\t\t\titemRef.scrollIntoView({\n\t\t\t\t\tbehavior: \"auto\",\n\t\t\t\t\tblock: \"nearest\",\n\t\t\t\t\tinline: \"nearest\",\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleArrowNavigation(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tif (this.readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet nextIndex = -1;\n\t\tconst currentIndex = this._selectedIndex;\n\t\tconst isDownKey = isDown(e);\n\n\t\tif (isDownKey) {\n\t\t\tnextIndex = this._getNextOptionIndex();\n\t\t} else {\n\t\t\tnextIndex = this._getPreviousOptionIndex();\n\t\t}\n\n\t\tthis._changeSelectedItem(this._selectedIndex, nextIndex);\n\n\t\tif (currentIndex !== this._selectedIndex) {\n\t\t\t// Announce new item even if picker is opened.\n\t\t\t// The aria-activedescendents attribute can't be used,\n\t\t\t// because listitem elements are in different shadow dom\n\t\t\tthis.itemSelectionAnnounce();\n\t\t\tthis._scrollSelectedItem();\n\t\t}\n\t}\n\n\t_changeSelectedItem(oldIndex: number, newIndex: number) {\n\t\tconst options: Array<IOption> = this.options;\n\n\t\tconst previousOption = options[oldIndex];\n\t\tconst nextOption = options[newIndex];\n\n\t\tif (previousOption === nextOption) {\n\t\t\treturn;\n\t\t}\n\n\t\tpreviousOption.selected = false;\n\t\tpreviousOption.focused = false;\n\n\t\tnextOption.selected = true;\n\t\tnextOption.focused = true;\n\n\t\tthis.fireDecoratorEvent(\"live-change\", { selectedOption: nextOption });\n\n\t\tif (!this._isPickerOpen) {\n\t\t\t// arrow pressed on closed picker - do selection change\n\t\t\tthis._fireChangeEvent(nextOption);\n\t\t}\n\t}\n\n\t_getNextOptionIndex() {\n\t\treturn this._selectedIndex === (this.options.length - 1) ? this._selectedIndex : (this._selectedIndex + 1);\n\t}\n\n\t_getPreviousOptionIndex() {\n\t\treturn this._selectedIndex === 0 ? this._selectedIndex : (this._selectedIndex - 1);\n\t}\n\n\t_beforeOpen() {\n\t\tthis._selectedIndexBeforeOpen = this._selectedIndex;\n\t\tthis._lastSelectedOption = this.options[this._selectedIndex];\n\t}\n\n\t_afterOpen() {\n\t\tthis.opened = true;\n\t\tthis.fireDecoratorEvent(\"open\");\n\t\tthis.itemSelectionAnnounce();\n\t\tthis._scrollSelectedItem();\n\t\tthis._applyFocusToSelectedItem();\n\t}\n\n\t_applyFocusToSelectedItem() {\n\t\tthis.options.forEach(option => {\n\t\t\toption.focused = option.selected;\n\t\t});\n\t}\n\n\t_afterClose() {\n\t\tthis.opened = false;\n\t\tthis._iconPressed = false;\n\t\tthis._listWidth = 0;\n\n\t\tif (this._escapePressed) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t\tthis._escapePressed = false;\n\t\t} else if (this._lastSelectedOption !== this.options[this._selectedIndex]) {\n\t\t\tthis._fireChangeEvent(this.options[this._selectedIndex]);\n\t\t\tthis._lastSelectedOption = this.options[this._selectedIndex];\n\t\t}\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\tget hasCustomLabel() {\n\t\treturn !!this.label.length;\n\t}\n\n\t_fireChangeEvent(selectedOption: IOption) {\n\t\tconst changePrevented = !this.fireDecoratorEvent(\"change\", { selectedOption });\n\n\t\t// Angular two way data binding\n\t\tthis.fireDecoratorEvent(\"selected-item-changed\");\n\n\t\t// Fire input event for Vue.js two-way binding\n\t\tthis.fireDecoratorEvent(\"input\");\n\n\t\tif (changePrevented) {\n\t\t\tthis._select(this._selectedIndexBeforeOpen);\n\t\t}\n\t}\n\n\tget valueStateTextMappings() {\n\t\treturn {\n\t\t\t[ValueState.Positive]: Select.i18nBundle.getText(VALUE_STATE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_INFORMATION),\n\t\t\t[ValueState.Negative]: Select.i18nBundle.getText(VALUE_STATE_ERROR),\n\t\t\t[ValueState.Critical]: Select.i18nBundle.getText(VALUE_STATE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateTypeMappings() {\n\t\treturn {\n\t\t\t[ValueState.Positive]: Select.i18nBundle.getText(VALUE_STATE_TYPE_SUCCESS),\n\t\t\t[ValueState.Information]: Select.i18nBundle.getText(VALUE_STATE_TYPE_INFORMATION),\n\t\t\t[ValueState.Negative]: Select.i18nBundle.getText(VALUE_STATE_TYPE_ERROR),\n\t\t\t[ValueState.Critical]: Select.i18nBundle.getText(VALUE_STATE_TYPE_WARNING),\n\t\t};\n\t}\n\n\tget valueStateText() {\n\t\tlet valueStateText;\n\n\t\tif (this.shouldDisplayDefaultValueStateMessage) {\n\t\t\tvalueStateText = this.valueStateDefaultText;\n\t\t} else {\n\t\t\tvalueStateText = this.valueStateMessage.map(el => el.textContent).join(\" \");\n\t\t}\n\n\t\treturn `${this.valueStateTypeText} ${valueStateText}`;\n\t}\n\n\tget valueStateDefaultText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTextMappings[this.valueState] : \"\";\n\t}\n\n\tget valueStateTypeText() {\n\t\treturn this.valueState !== ValueState.None ? this.valueStateTypeMappings[this.valueState] : \"\";\n\t}\n\n\tget hasValueState() {\n\t\treturn this.valueState !== ValueState.None;\n\t}\n\n\tget valueStateTextId() {\n\t\treturn this.hasValueState ? `${this._id}-valueStateDesc` : undefined;\n\t}\n\n\tget isDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _headerTitleText() {\n\t\treturn Select.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);\n\t}\n\n\tget _currentlySelectedOption() {\n\t\treturn this.options[this._selectedIndex];\n\t}\n\n\tget _effectiveTabIndex() {\n\t\treturn this.disabled\n\t\t|| (this.responsivePopover // Handles focus on Tab/Shift + Tab when the popover is opened\n\t\t&& this.responsivePopover.open) ? -1 : 0;\n\t}\n\n\t /**\n\t * This method is relevant for sap_horizon theme only\n\t */\n\tget _valueStateMessageInputIcon() {\n\t\tconst iconPerValueState = {\n\t\t\tNegative: \"error\",\n\t\t\tCritical: \"alert\",\n\t\t\tPositive: \"sys-enter-2\",\n\t\t\tInformation: \"information\",\n\t\t};\n\n\t\treturn this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : \"\";\n\t}\n\n\tget iconsCount(): number {\n\t\treturn this.selectedOptionIcon ? 2 : 1;\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\tpopoverValueState: {\n\t\t\t\t\"ui5-valuestatemessage-root\": true,\n\t\t\t\t\"ui5-valuestatemessage--success\": this.valueState === ValueState.Positive,\n\t\t\t\t\"ui5-valuestatemessage--error\": this.valueState === ValueState.Negative,\n\t\t\t\t\"ui5-valuestatemessage--warning\": this.valueState === ValueState.Critical,\n\t\t\t\t\"ui5-valuestatemessage--information\": this.valueState === ValueState.Information,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\t\"ui5-select-popover-valuestate\": this.hasValueState,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tpopoverHeader: {\n\t\t\t\t\"max-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopoverHeader: {\n\t\t\t\t\"display\": this.options.length && this._listWidth === 0 ? \"none\" : \"inline-block\",\n\t\t\t\t\"width\": `${this.options.length ? this._listWidth : this.offsetWidth}px`,\n\t\t\t},\n\t\t\tresponsivePopover: {\n\t\t\t\t\"min-width\": `${this.offsetWidth}px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget shouldDisplayDefaultValueStateMessage() {\n\t\treturn !this.valueStateMessage.length && this.hasValueStateText;\n\t}\n\n\tget hasValueStateText() {\n\t\treturn this.hasValueState && this.valueState !== ValueState.Positive;\n\t}\n\n\tget shouldOpenValueStateMessagePopover() {\n\t\treturn this.focused && this.hasValueStateText && !this._iconPressed\n\t\t\t&& !this._isPickerOpen && !this._isPhone;\n\t}\n\n\tget _ariaRoleDescription() {\n\t\treturn Select.i18nBundle.getText(SELECT_ROLE_DESCRIPTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\titemSelectionAnnounce() {\n\t\tlet text;\n\t\tconst optionsCount = this.options.length;\n\t\tconst itemPositionText = Select.i18nBundle.getText(LIST_ITEM_POSITION, this._selectedIndex + 1, optionsCount);\n\n\t\tif (this.focused && this._currentlySelectedOption) {\n\t\t\ttext = `${this._currentlySelectedOption.textContent as string} ${this._isPickerOpen ? itemPositionText : \"\"}`;\n\n\t\t\tannounce(text, InvisibleMessageMode.Polite);\n\t\t}\n\t}\n\n\topenValueStatePopover() {\n\t\tthis.valueStatePopover = this._getPopover() as Popover;\n\t\tif (this.valueStatePopover) {\n\t\t\tthis.valueStatePopover.opener = this;\n\t\t\tthis.valueStatePopover.open = true;\n\t\t}\n\t}\n\n\tcloseValueStatePopover() {\n\t\tthis.valueStatePopover && (this.valueStatePopover.open = false);\n\t}\n\n\ttoggleValueStatePopover(open: boolean) {\n\t\tif (open) {\n\t\t\tthis.openValueStatePopover();\n\t\t} else {\n\t\t\tthis.closeValueStatePopover();\n\t\t}\n\t}\n\n\tget selectedOptionIcon() {\n\t\treturn this.selectedOption && this.selectedOption.icon;\n\t}\n\n\t_getPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\"[ui5-popover]\");\n\t}\n}\n\nSelect.define();\n\nexport default Select;\nexport type {\n\tIOption,\n\tSelectChangeEventDetail,\n\tSelectLiveChangeEventDetail,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type Select from "./Select.js";
2
+ export default function SelectPopoverTemplate(this: Select): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import List from "./List.js";
3
+ import Button from "./Button.js";
4
+ import ResponsivePopover from "./ResponsivePopover.js";
5
+ import Popover from "./Popover.js";
6
+ import Icon from "./Icon.js";
7
+ import decline from "@ui5/webcomponents-icons/dist/decline.js";
8
+ export default function SelectPopoverTemplate() {
9
+ return (_jsxs(_Fragment, { children: [this.options.length > 0 &&
10
+ _jsxs(ResponsivePopover, { class: {
11
+ "ui5-select-popover": true,
12
+ ...this.classes.popover
13
+ }, part: "popover", style: this.styles.responsivePopover, placement: "Bottom", horizontalAlign: "Start", hideArrow: true, preventInitialFocus: true, onOpen: this._afterOpen, onBeforeOpen: this._beforeOpen, onClose: this._afterClose, onKeyDown: this._onkeydown, children: [this._isPhone &&
14
+ _jsxs("div", { slot: "header", class: "ui5-responsive-popover-header", children: [_jsxs("div", { class: "row", children: [_jsx("span", { children: this._headerTitleText }), _jsx(Button, { class: "ui5-responsive-popover-close-btn", icon: decline, design: "Transparent", onClick: this._toggleRespPopover })] }), this.hasValueStateText &&
15
+ _jsx("div", { class: {
16
+ "row": true,
17
+ "ui5-select-value-state-dialog-header": true,
18
+ ...this.classes.popoverValueState
19
+ }, children: valueStateMessage.call(this) })] }), !this._isPhone && this.hasValueStateText &&
20
+ _jsxs("div", { class: this.classes.popoverValueState, style: this.styles.responsivePopoverHeader, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: this._valueStateMessageInputIcon }), valueStateMessage.call(this)] }), _jsx(List, { separators: "None", onMouseDown: this._itemMousedown, onItemClick: this._handleItemPress, children: _jsx("slot", {}) })] }), this.shouldOpenValueStateMessagePopover &&
21
+ _jsx(Popover, { part: "popover", class: "ui5-valuestatemessage-popover", preventInitialFocus: true, preventFocusRestore: true, hideArrow: true, placement: "Bottom", horizontalAlign: "Start", children: _jsxs("div", { class: this.classes.popoverValueState, style: this.styles.popoverHeader, children: [_jsx(Icon, { class: "ui5-input-value-state-message-icon", name: this._valueStateMessageInputIcon }), valueStateMessage.call(this)] }) })] }));
22
+ }
23
+ function valueStateMessage() {
24
+ return (_jsx(_Fragment, { children: this.shouldDisplayDefaultValueStateMessage
25
+ ? this.valueStateText
26
+ : _jsx("slot", { name: "valueStateMessage" }) }));
27
+ }
28
+ //# sourceMappingURL=SelectPopoverTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectPopoverTemplate.js","sourceRoot":"","sources":["../src/SelectPopoverTemplate.tsx"],"names":[],"mappings":"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","sourcesContent":["import type Select from \"./Select.js\";\nimport List from \"./List.js\";\nimport Button from \"./Button.js\";\nimport ResponsivePopover from \"./ResponsivePopover.js\";\nimport Popover from \"./Popover.js\";\nimport Icon from \"./Icon.js\";\nimport decline from \"@ui5/webcomponents-icons/dist/decline.js\";\n\nexport default function SelectPopoverTemplate(this: Select) {\n\treturn (\n\t\t<>\n\t\t\t{this.options.length > 0 &&\n\t\t\t\t<ResponsivePopover\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t\"ui5-select-popover\": true,\n\t\t\t\t\t\t...this.classes.popover\n\t\t\t\t\t}}\n\t\t\t\t\tpart=\"popover\"\n\t\t\t\t\tstyle={this.styles.responsivePopover}\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\t\thideArrow={true}\n\t\t\t\t\tpreventInitialFocus={true}\n\t\t\t\t\tonOpen={this._afterOpen}\n\t\t\t\t\tonBeforeOpen={this._beforeOpen}\n\t\t\t\t\tonClose={this._afterClose}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t>\n\t\t\t\t\t{this._isPhone &&\n\t\t\t\t\t\t<div slot=\"header\" class=\"ui5-responsive-popover-header\">\n\t\t\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t\t\t<span>{this._headerTitleText}</span>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclass=\"ui5-responsive-popover-close-btn\"\n\t\t\t\t\t\t\t\t\ticon={decline}\n\t\t\t\t\t\t\t\t\tdesign=\"Transparent\"\n\t\t\t\t\t\t\t\t\tonClick={this._toggleRespPopover} />\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{this.hasValueStateText &&\n\t\t\t\t\t\t\t\t<div class={{\n\t\t\t\t\t\t\t\t\t\"row\": true,\n\t\t\t\t\t\t\t\t\t\"ui5-select-value-state-dialog-header\": true,\n\t\t\t\t\t\t\t\t\t...this.classes.popoverValueState\n\t\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\t\t{valueStateMessage.call(this)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\n\t\t\t\t\t{!this._isPhone && this.hasValueStateText &&\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={this.classes.popoverValueState}\n\t\t\t\t\t\t\tstyle={this.styles.responsivePopoverHeader}>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclass=\"ui5-input-value-state-message-icon\"\n\t\t\t\t\t\t\t\tname={this._valueStateMessageInputIcon} />\n\t\t\t\t\t\t\t{valueStateMessage.call(this)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\n\t\t\t\t\t<List\n\t\t\t\t\t\tseparators=\"None\"\n\t\t\t\t\t\tonMouseDown={this._itemMousedown}\n\t\t\t\t\t\tonItemClick={this._handleItemPress}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</List>\n\t\t\t\t</ResponsivePopover>\n\t\t\t}\n\n\t\t\t{this.shouldOpenValueStateMessagePopover &&\n\t\t\t\t<Popover\n\t\t\t\t\tpart=\"popover\"\n\t\t\t\t\tclass=\"ui5-valuestatemessage-popover\"\n\t\t\t\t\tpreventInitialFocus={true}\n\t\t\t\t\tpreventFocusRestore={true}\n\t\t\t\t\thideArrow={true}\n\t\t\t\t\tplacement=\"Bottom\"\n\t\t\t\t\thorizontalAlign=\"Start\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={this.classes.popoverValueState}\n\t\t\t\t\t\tstyle={this.styles.popoverHeader}>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclass=\"ui5-input-value-state-message-icon\"\n\t\t\t\t\t\t\tname={this._valueStateMessageInputIcon} />\n\t\t\t\t\t\t{valueStateMessage.call(this)}\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t}\n\t\t</>\n\t);\n}\n\nfunction valueStateMessage(this: Select) {\n\treturn (\n\t\t<>\n\t\t\t{this.shouldDisplayDefaultValueStateMessage\n\t\t\t\t? this.valueStateText\n\t\t\t\t: <slot name=\"valueStateMessage\"></slot>\n\t\t\t}\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type Select from "./Select.js";
2
+ export default function SelectTemplate(this: Select): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import Icon from "./Icon.js";
3
+ import slimArrowDown from "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
4
+ import SelectPopoverTemplate from "./SelectPopoverTemplate.js";
5
+ export default function SelectTemplate() {
6
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { class: {
7
+ "ui5-select-root": true,
8
+ "ui5-input-focusable-element": true,
9
+ }, id: `${this._id}-select`, onClick: this._onclick, children: [this.selectedOptionIcon &&
10
+ _jsx(Icon, { mode: "Decorative", class: "ui5-select-option-icon", name: this.selectedOptionIcon }), _jsx("div", { class: "ui5-select-label-root", "data-sap-focus-ref": true, tabindex: this._effectiveTabIndex, role: "combobox", "aria-haspopup": "listbox", "aria-label": this.ariaLabelText, "aria-describedby": this.valueStateTextId, "aria-disabled": this.isDisabled, "aria-required": this.required, "aria-readonly": this.readonly, "aria-expanded": this._isPickerOpen, "aria-roledescription": this._ariaRoleDescription, onKeyDown: this._onkeydown, onKeyPress: this._handleKeyboardNavigation, onKeyUp: this._onkeyup, onFocusIn: this._onfocusin, onFocusOut: this._onfocusout, children: this.hasCustomLabel
11
+ ? _jsx("slot", { name: "label" })
12
+ : this.text }), !this.readonly &&
13
+ _jsx(Icon, { name: slimArrowDown, class: {
14
+ "inputIcon": true,
15
+ "inputIcon--pressed": this._iconPressed,
16
+ } }), this.hasValueState &&
17
+ _jsx("span", { id: `${this._id}-valueStateDesc`, class: "ui5-hidden-text", children: this.valueStateText })] }), SelectPopoverTemplate.call(this)] }));
18
+ }
19
+ //# sourceMappingURL=SelectTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTemplate.js","sourceRoot":"","sources":["../src/SelectTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,kDAAkD,CAAC;AAC7E,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAE/D,MAAM,CAAC,OAAO,UAAU,cAAc;IACrC,OAAO,CACN,8BACC,eACC,KAAK,EAAE;oBACN,iBAAiB,EAAE,IAAI;oBACvB,6BAA6B,EAAE,IAAI;iBACnC,EACD,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,EACxB,OAAO,EAAE,IAAI,CAAC,QAAQ,aAErB,IAAI,CAAC,kBAAkB;wBACvB,KAAC,IAAI,IACJ,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,wBAAwB,EAC9B,IAAI,EAAE,IAAI,CAAC,kBAAkB,GAAI,EAGnC,cACC,KAAK,EAAC,uBAAuB,8BAE7B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,IAAI,EAAC,UAAU,mBACD,SAAS,gBACX,IAAI,CAAC,aAAa,sBACZ,IAAI,CAAC,gBAAgB,mBACxB,IAAI,CAAC,UAAU,mBACf,IAAI,CAAC,QAAQ,mBACb,IAAI,CAAC,QAAQ,mBACb,IAAI,CAAC,aAAa,0BACX,IAAI,CAAC,oBAAoB,EAC/C,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,yBAAyB,EAC1C,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,UAAU,EAAE,IAAI,CAAC,WAAW,YAE3B,IAAI,CAAC,cAAc;4BACnB,CAAC,CAAC,eAAM,IAAI,EAAC,OAAO,GAAQ;4BAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,GAEP,EAEL,CAAC,IAAI,CAAC,QAAQ;wBACd,KAAC,IAAI,IACJ,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE;gCACN,WAAW,EAAE,IAAI;gCACjB,oBAAoB,EAAE,IAAI,CAAC,YAAY;6BACvC,GAAI,EAGN,IAAI,CAAC,aAAa;wBAClB,eAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,iBAAiB,EAAE,KAAK,EAAC,iBAAiB,YAC7D,IAAI,CAAC,cAAc,GACd,IAEH,EAEL,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAC/B,CACH,CAAC;AACH,CAAC","sourcesContent":["import type Select from \"./Select.js\";\nimport Icon from \"./Icon.js\";\nimport slimArrowDown from \"@ui5/webcomponents-icons/dist/slim-arrow-down.js\";\nimport SelectPopoverTemplate from \"./SelectPopoverTemplate.js\";\n\nexport default function SelectTemplate(this: Select) {\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t\"ui5-select-root\": true,\n\t\t\t\t\t\"ui5-input-focusable-element\": true,\n\t\t\t\t}}\n\t\t\t\tid={`${this._id}-select`}\n\t\t\t\tonClick={this._onclick}\n\t\t\t>\n\t\t\t\t{this.selectedOptionIcon &&\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tmode=\"Decorative\"\n\t\t\t\t\t\tclass=\"ui5-select-option-icon\"\n\t\t\t\t\t\tname={this.selectedOptionIcon} />\n\t\t\t\t}\n\n\t\t\t\t<div\n\t\t\t\t\tclass=\"ui5-select-label-root\"\n\t\t\t\t\tdata-sap-focus-ref\n\t\t\t\t\ttabindex={this._effectiveTabIndex}\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\taria-label={this.ariaLabelText}\n\t\t\t\t\taria-describedby={this.valueStateTextId}\n\t\t\t\t\taria-disabled={this.isDisabled}\n\t\t\t\t\taria-required={this.required}\n\t\t\t\t\taria-readonly={this.readonly}\n\t\t\t\t\taria-expanded={this._isPickerOpen}\n\t\t\t\t\taria-roledescription={this._ariaRoleDescription}\n\t\t\t\t\tonKeyDown={this._onkeydown}\n\t\t\t\t\tonKeyPress={this._handleKeyboardNavigation}\n\t\t\t\t\tonKeyUp={this._onkeyup}\n\t\t\t\t\tonFocusIn={this._onfocusin}\n\t\t\t\t\tonFocusOut={this._onfocusout}\n\t\t\t\t>\n\t\t\t\t\t{this.hasCustomLabel\n\t\t\t\t\t\t? <slot name=\"label\"></slot>\n\t\t\t\t\t\t: this.text\n\t\t\t\t\t}\n\t\t\t\t</div>\n\n\t\t\t\t{!this.readonly &&\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tname={slimArrowDown}\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\"inputIcon\": true,\n\t\t\t\t\t\t\t\"inputIcon--pressed\": this._iconPressed,\n\t\t\t\t\t\t}} />\n\t\t\t\t}\n\n\t\t\t\t{this.hasValueState &&\n\t\t\t\t\t<span id={`${this._id}-valueStateDesc`} class=\"ui5-hidden-text\">\n\t\t\t\t\t\t{this.valueStateText}\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t</div>\n\n\t\t\t{SelectPopoverTemplate.call(this)}\n\t\t</>\n\t);\n}\n"]}