@ui5/webcomponents 2.18.1 → 2.19.0-rc.1

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 (616) hide show
  1. package/CHANGELOG.md +35 -3
  2. package/README.md +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Calendar.js +1 -1
  5. package/dist/Calendar.js.map +1 -1
  6. package/dist/ColorPicker.d.ts +2 -0
  7. package/dist/ColorPicker.js +25 -1
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/DateTimePicker.js +4 -3
  10. package/dist/DateTimePicker.js.map +1 -1
  11. package/dist/Icon.d.ts +13 -0
  12. package/dist/Icon.js +28 -2
  13. package/dist/Icon.js.map +1 -1
  14. package/dist/List.d.ts +9 -0
  15. package/dist/List.js +12 -0
  16. package/dist/List.js.map +1 -1
  17. package/dist/ListBoxItemGroupTemplate.js +1 -1
  18. package/dist/ListBoxItemGroupTemplate.js.map +1 -1
  19. package/dist/ListItemGroup.d.ts +2 -1
  20. package/dist/ListItemGroup.js +2 -0
  21. package/dist/ListItemGroup.js.map +1 -1
  22. package/dist/ListTemplate.js +6 -6
  23. package/dist/ListTemplate.js.map +1 -1
  24. package/dist/Menu.d.ts +1 -1
  25. package/dist/Menu.js +3 -3
  26. package/dist/Menu.js.map +1 -1
  27. package/dist/MenuItem.d.ts +1 -1
  28. package/dist/MenuItem.js +3 -3
  29. package/dist/MenuItem.js.map +1 -1
  30. package/dist/MenuItemTemplate.js +1 -2
  31. package/dist/MenuItemTemplate.js.map +1 -1
  32. package/dist/MenuTemplate.js +3 -3
  33. package/dist/MenuTemplate.js.map +1 -1
  34. package/dist/MultiInput.d.ts +2 -2
  35. package/dist/MultiInput.js +13 -15
  36. package/dist/MultiInput.js.map +1 -1
  37. package/dist/Popover.d.ts +23 -2
  38. package/dist/Popover.js +77 -12
  39. package/dist/Popover.js.map +1 -1
  40. package/dist/PopoverResize.d.ts +62 -0
  41. package/dist/PopoverResize.js +276 -0
  42. package/dist/PopoverResize.js.map +1 -0
  43. package/dist/PopoverTemplate.js +5 -2
  44. package/dist/PopoverTemplate.js.map +1 -1
  45. package/dist/bundle.common.bootstrap.d.ts +0 -1
  46. package/dist/bundle.common.bootstrap.js +2 -1
  47. package/dist/bundle.common.bootstrap.js.map +1 -1
  48. package/dist/css/themes/Avatar.css +1 -1
  49. package/dist/css/themes/AvatarGroup.css +1 -1
  50. package/dist/css/themes/Bar.css +1 -1
  51. package/dist/css/themes/Breadcrumbs.css +1 -1
  52. package/dist/css/themes/BusyIndicator.css +1 -1
  53. package/dist/css/themes/Button.css +1 -1
  54. package/dist/css/themes/ButtonBadge.css +1 -1
  55. package/dist/css/themes/Calendar.css +1 -1
  56. package/dist/css/themes/CalendarHeader.css +1 -1
  57. package/dist/css/themes/CalendarLegend.css +1 -1
  58. package/dist/css/themes/CalendarLegendItem.css +1 -1
  59. package/dist/css/themes/Card.css +1 -1
  60. package/dist/css/themes/CardHeader.css +1 -1
  61. package/dist/css/themes/Carousel.css +1 -1
  62. package/dist/css/themes/CheckBox.css +1 -1
  63. package/dist/css/themes/ColorPalette.css +1 -1
  64. package/dist/css/themes/ColorPaletteItem.css +1 -1
  65. package/dist/css/themes/ColorPalettePopover.css +1 -1
  66. package/dist/css/themes/ColorPicker.css +1 -1
  67. package/dist/css/themes/ComboBox.css +1 -1
  68. package/dist/css/themes/ComboBoxItem.css +1 -1
  69. package/dist/css/themes/DatePicker.css +1 -1
  70. package/dist/css/themes/DatePickerPopover.css +1 -1
  71. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  72. package/dist/css/themes/DayPicker.css +1 -1
  73. package/dist/css/themes/Dialog.css +1 -1
  74. package/dist/css/themes/DynamicDateRange.css +1 -1
  75. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  76. package/dist/css/themes/FileUploader.css +1 -1
  77. package/dist/css/themes/Form.css +1 -1
  78. package/dist/css/themes/FormItem.css +1 -1
  79. package/dist/css/themes/FormItemSpan.css +1 -1
  80. package/dist/css/themes/GrowingButton.css +1 -1
  81. package/dist/css/themes/Icon.css +1 -1
  82. package/dist/css/themes/Input.css +1 -1
  83. package/dist/css/themes/InputIcon.css +1 -1
  84. package/dist/css/themes/InputSharedStyles.css +1 -1
  85. package/dist/css/themes/Link.css +1 -1
  86. package/dist/css/themes/List.css +1 -1
  87. package/dist/css/themes/ListItem.css +1 -1
  88. package/dist/css/themes/ListItemBase.css +1 -1
  89. package/dist/css/themes/ListItemCustom.css +1 -1
  90. package/dist/css/themes/ListItemGroup.css +1 -1
  91. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  92. package/dist/css/themes/ListItemIcon.css +1 -1
  93. package/dist/css/themes/Menu.css +1 -1
  94. package/dist/css/themes/MenuItem.css +1 -1
  95. package/dist/css/themes/MessageStrip.css +1 -1
  96. package/dist/css/themes/MonthPicker.css +1 -1
  97. package/dist/css/themes/MultiComboBox.css +1 -1
  98. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  99. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  100. package/dist/css/themes/MultiInput.css +1 -1
  101. package/dist/css/themes/OptionBase.css +1 -1
  102. package/dist/css/themes/Panel.css +1 -1
  103. package/dist/css/themes/Popover.css +1 -1
  104. package/dist/css/themes/PopupsCommon.css +1 -1
  105. package/dist/css/themes/ProgressIndicator.css +1 -1
  106. package/dist/css/themes/RadioButton.css +1 -1
  107. package/dist/css/themes/RangeSlider.css +1 -1
  108. package/dist/css/themes/RatingIndicator.css +1 -1
  109. package/dist/css/themes/ResponsivePopover.css +1 -1
  110. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  111. package/dist/css/themes/SegmentedButton.css +1 -1
  112. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  113. package/dist/css/themes/Select.css +1 -1
  114. package/dist/css/themes/SliderBase.css +1 -1
  115. package/dist/css/themes/SplitButton.css +1 -1
  116. package/dist/css/themes/StepInput.css +1 -1
  117. package/dist/css/themes/SuggestionItem.css +1 -1
  118. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  119. package/dist/css/themes/Switch.css +1 -1
  120. package/dist/css/themes/TabContainer.css +1 -1
  121. package/dist/css/themes/TabInOverflow.css +1 -1
  122. package/dist/css/themes/TabInStrip.css +1 -1
  123. package/dist/css/themes/TabSemanticIcon.css +1 -1
  124. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  125. package/dist/css/themes/TableCellBase.css +1 -1
  126. package/dist/css/themes/TableHeaderRow.css +1 -1
  127. package/dist/css/themes/TableRow.css +1 -1
  128. package/dist/css/themes/TableRowActionBase.css +1 -1
  129. package/dist/css/themes/TableRowBase.css +1 -1
  130. package/dist/css/themes/Tag.css +1 -1
  131. package/dist/css/themes/Text.css +1 -1
  132. package/dist/css/themes/TextArea.css +1 -1
  133. package/dist/css/themes/TimePicker.css +1 -1
  134. package/dist/css/themes/Toast.css +1 -1
  135. package/dist/css/themes/ToggleButton.css +1 -1
  136. package/dist/css/themes/Token.css +1 -1
  137. package/dist/css/themes/Tokenizer.css +1 -1
  138. package/dist/css/themes/TokenizerPopover.css +1 -1
  139. package/dist/css/themes/Toolbar.css +1 -1
  140. package/dist/css/themes/ToolbarButton.css +1 -1
  141. package/dist/css/themes/ToolbarPopover.css +1 -1
  142. package/dist/css/themes/ToolbarSeparator.css +1 -1
  143. package/dist/css/themes/TreeItem.css +1 -1
  144. package/dist/css/themes/ValueStateMessage.css +1 -1
  145. package/dist/css/themes/ValueStateVariables.css +1 -1
  146. package/dist/css/themes/YearPicker.css +1 -1
  147. package/dist/css/themes/YearRangePicker.css +1 -1
  148. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  149. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  150. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  151. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  152. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  156. package/dist/custom-elements-internal.json +87 -4
  157. package/dist/custom-elements.json +84 -4
  158. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  159. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  160. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  161. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  162. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  163. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  164. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  165. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  166. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  167. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  168. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  169. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  170. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  171. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  172. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  173. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  174. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  175. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  176. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  177. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  178. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  179. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  180. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  181. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  209. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  210. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  211. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  212. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  213. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  214. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  215. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  216. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  217. package/dist/generated/i18n/i18n-defaults.d.ts +6 -2
  218. package/dist/generated/i18n/i18n-defaults.js +8 -4
  219. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  220. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  221. package/dist/generated/themes/Avatar.css.js +1 -1
  222. package/dist/generated/themes/Avatar.css.js.map +1 -1
  223. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  224. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  225. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  226. package/dist/generated/themes/Bar.css.d.ts +1 -1
  227. package/dist/generated/themes/Bar.css.js +1 -1
  228. package/dist/generated/themes/Bar.css.js.map +1 -1
  229. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  230. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  231. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  232. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  233. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  234. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  235. package/dist/generated/themes/Button.css.d.ts +1 -1
  236. package/dist/generated/themes/Button.css.js +1 -1
  237. package/dist/generated/themes/Button.css.js.map +1 -1
  238. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  239. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  240. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  241. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  242. package/dist/generated/themes/Calendar.css.js +1 -1
  243. package/dist/generated/themes/Calendar.css.js.map +1 -1
  244. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  245. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  246. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  247. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  248. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  249. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  250. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  251. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  252. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  253. package/dist/generated/themes/Card.css.d.ts +1 -1
  254. package/dist/generated/themes/Card.css.js +1 -1
  255. package/dist/generated/themes/Card.css.js.map +1 -1
  256. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  257. package/dist/generated/themes/CardHeader.css.js +1 -1
  258. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  259. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  260. package/dist/generated/themes/Carousel.css.js +1 -1
  261. package/dist/generated/themes/Carousel.css.js.map +1 -1
  262. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  263. package/dist/generated/themes/CheckBox.css.js +1 -1
  264. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  265. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  266. package/dist/generated/themes/ColorPalette.css.js +1 -1
  267. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  268. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  269. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  270. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  271. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  272. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  273. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  274. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  275. package/dist/generated/themes/ColorPicker.css.js +1 -1
  276. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  277. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  278. package/dist/generated/themes/ComboBox.css.js +1 -1
  279. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  280. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  281. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  282. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  283. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  284. package/dist/generated/themes/DatePicker.css.js +1 -1
  285. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  286. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  287. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  288. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  289. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  290. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  291. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  292. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  293. package/dist/generated/themes/DayPicker.css.js +1 -1
  294. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  295. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  296. package/dist/generated/themes/Dialog.css.js +1 -1
  297. package/dist/generated/themes/Dialog.css.js.map +1 -1
  298. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  299. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  300. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  301. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  302. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  303. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  304. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  305. package/dist/generated/themes/FileUploader.css.js +1 -1
  306. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  307. package/dist/generated/themes/Form.css.d.ts +1 -1
  308. package/dist/generated/themes/Form.css.js +1 -1
  309. package/dist/generated/themes/Form.css.js.map +1 -1
  310. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  311. package/dist/generated/themes/FormItem.css.js +1 -1
  312. package/dist/generated/themes/FormItem.css.js.map +1 -1
  313. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  314. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  315. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  316. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  317. package/dist/generated/themes/GrowingButton.css.js +1 -1
  318. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  319. package/dist/generated/themes/Icon.css.d.ts +1 -1
  320. package/dist/generated/themes/Icon.css.js +1 -1
  321. package/dist/generated/themes/Icon.css.js.map +1 -1
  322. package/dist/generated/themes/Input.css.d.ts +1 -1
  323. package/dist/generated/themes/Input.css.js +1 -1
  324. package/dist/generated/themes/Input.css.js.map +1 -1
  325. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  326. package/dist/generated/themes/InputIcon.css.js +1 -1
  327. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  328. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  329. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  330. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  331. package/dist/generated/themes/Link.css.d.ts +1 -1
  332. package/dist/generated/themes/Link.css.js +1 -1
  333. package/dist/generated/themes/Link.css.js.map +1 -1
  334. package/dist/generated/themes/List.css.d.ts +1 -1
  335. package/dist/generated/themes/List.css.js +1 -1
  336. package/dist/generated/themes/List.css.js.map +1 -1
  337. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  338. package/dist/generated/themes/ListItem.css.js +1 -1
  339. package/dist/generated/themes/ListItem.css.js.map +1 -1
  340. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  341. package/dist/generated/themes/ListItemBase.css.js +1 -1
  342. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  343. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  344. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  345. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  346. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  347. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  348. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  349. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  350. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  351. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  352. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  353. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  354. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  355. package/dist/generated/themes/Menu.css.d.ts +1 -1
  356. package/dist/generated/themes/Menu.css.js +1 -1
  357. package/dist/generated/themes/Menu.css.js.map +1 -1
  358. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  359. package/dist/generated/themes/MenuItem.css.js +1 -1
  360. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  361. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  362. package/dist/generated/themes/MessageStrip.css.js +1 -1
  363. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  364. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  365. package/dist/generated/themes/MonthPicker.css.js +1 -1
  366. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  367. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  368. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  369. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  370. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  371. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  372. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  373. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  374. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  375. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  376. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  377. package/dist/generated/themes/MultiInput.css.js +1 -1
  378. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  379. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  380. package/dist/generated/themes/OptionBase.css.js +1 -1
  381. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  382. package/dist/generated/themes/Panel.css.d.ts +1 -1
  383. package/dist/generated/themes/Panel.css.js +1 -1
  384. package/dist/generated/themes/Panel.css.js.map +1 -1
  385. package/dist/generated/themes/Popover.css.d.ts +1 -1
  386. package/dist/generated/themes/Popover.css.js +1 -1
  387. package/dist/generated/themes/Popover.css.js.map +1 -1
  388. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  389. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  390. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  391. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  392. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  393. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  394. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  395. package/dist/generated/themes/RadioButton.css.js +1 -1
  396. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  397. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  398. package/dist/generated/themes/RangeSlider.css.js +1 -1
  399. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  400. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  401. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  402. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  403. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  404. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  405. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  406. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  407. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  408. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  409. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  410. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  411. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  412. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  413. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  414. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  415. package/dist/generated/themes/Select.css.d.ts +1 -1
  416. package/dist/generated/themes/Select.css.js +1 -1
  417. package/dist/generated/themes/Select.css.js.map +1 -1
  418. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  419. package/dist/generated/themes/SliderBase.css.js +1 -1
  420. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  421. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  422. package/dist/generated/themes/SplitButton.css.js +1 -1
  423. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  424. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  425. package/dist/generated/themes/StepInput.css.js +1 -1
  426. package/dist/generated/themes/StepInput.css.js.map +1 -1
  427. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  428. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  429. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  430. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  431. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  432. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  433. package/dist/generated/themes/Switch.css.d.ts +1 -1
  434. package/dist/generated/themes/Switch.css.js +1 -1
  435. package/dist/generated/themes/Switch.css.js.map +1 -1
  436. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  437. package/dist/generated/themes/TabContainer.css.js +1 -1
  438. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  439. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  440. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  441. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  442. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  443. package/dist/generated/themes/TabInStrip.css.js +1 -1
  444. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  445. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  446. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  447. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  448. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  449. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  450. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  451. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  452. package/dist/generated/themes/TableCellBase.css.js +1 -1
  453. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  454. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  455. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  456. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  457. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  458. package/dist/generated/themes/TableRow.css.js +1 -1
  459. package/dist/generated/themes/TableRow.css.js.map +1 -1
  460. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  461. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  462. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  463. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  464. package/dist/generated/themes/TableRowBase.css.js +1 -1
  465. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  466. package/dist/generated/themes/Tag.css.d.ts +1 -1
  467. package/dist/generated/themes/Tag.css.js +1 -1
  468. package/dist/generated/themes/Tag.css.js.map +1 -1
  469. package/dist/generated/themes/Text.css.d.ts +1 -1
  470. package/dist/generated/themes/Text.css.js +1 -1
  471. package/dist/generated/themes/Text.css.js.map +1 -1
  472. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  473. package/dist/generated/themes/TextArea.css.js +1 -1
  474. package/dist/generated/themes/TextArea.css.js.map +1 -1
  475. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  476. package/dist/generated/themes/TimePicker.css.js +1 -1
  477. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  478. package/dist/generated/themes/Toast.css.d.ts +1 -1
  479. package/dist/generated/themes/Toast.css.js +1 -1
  480. package/dist/generated/themes/Toast.css.js.map +1 -1
  481. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  482. package/dist/generated/themes/ToggleButton.css.js +1 -1
  483. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  484. package/dist/generated/themes/Token.css.d.ts +1 -1
  485. package/dist/generated/themes/Token.css.js +1 -1
  486. package/dist/generated/themes/Token.css.js.map +1 -1
  487. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  488. package/dist/generated/themes/Tokenizer.css.js +1 -1
  489. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  490. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  491. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  492. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  493. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  494. package/dist/generated/themes/Toolbar.css.js +1 -1
  495. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  496. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  497. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  498. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  499. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  500. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  501. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  502. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  503. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  504. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  505. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  506. package/dist/generated/themes/TreeItem.css.js +1 -1
  507. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  508. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  509. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  510. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  511. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  512. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  513. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  514. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  515. package/dist/generated/themes/YearPicker.css.js +1 -1
  516. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  517. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  518. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  519. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  520. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  521. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  522. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  523. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  524. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  525. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  526. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  527. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  528. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  529. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  530. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  531. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  532. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  533. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  534. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  535. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  536. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  537. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  538. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  539. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  540. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  541. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  542. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  543. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  544. package/dist/popup-utils/PopoverRegistry.js +6 -4
  545. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  546. package/dist/vscode.html-custom-data.json +17 -2
  547. package/dist/web-types.json +35 -5
  548. package/package.json +9 -9
  549. package/src/ListBoxItemGroupTemplate.tsx +1 -1
  550. package/src/ListTemplate.tsx +32 -31
  551. package/src/MenuItemTemplate.tsx +12 -7
  552. package/src/MenuTemplate.tsx +10 -7
  553. package/src/PopoverTemplate.tsx +10 -0
  554. package/src/i18n/messagebundle.properties +14 -2
  555. package/src/i18n/messagebundle_ar.properties +56 -2
  556. package/src/i18n/messagebundle_bg.properties +56 -2
  557. package/src/i18n/messagebundle_ca.properties +56 -2
  558. package/src/i18n/messagebundle_cnr.properties +56 -2
  559. package/src/i18n/messagebundle_cs.properties +56 -2
  560. package/src/i18n/messagebundle_cy.properties +57 -3
  561. package/src/i18n/messagebundle_da.properties +56 -2
  562. package/src/i18n/messagebundle_de.properties +77 -23
  563. package/src/i18n/messagebundle_el.properties +60 -6
  564. package/src/i18n/messagebundle_en.properties +56 -2
  565. package/src/i18n/messagebundle_en_GB.properties +56 -2
  566. package/src/i18n/messagebundle_en_US_sappsd.properties +54 -2
  567. package/src/i18n/messagebundle_en_US_saprigi.properties +54 -2
  568. package/src/i18n/messagebundle_en_US_saptrc.properties +54 -2
  569. package/src/i18n/messagebundle_es.properties +56 -2
  570. package/src/i18n/messagebundle_es_MX.properties +66 -12
  571. package/src/i18n/messagebundle_et.properties +54 -0
  572. package/src/i18n/messagebundle_fi.properties +56 -2
  573. package/src/i18n/messagebundle_fr.properties +57 -3
  574. package/src/i18n/messagebundle_fr_CA.properties +57 -3
  575. package/src/i18n/messagebundle_hi.properties +56 -2
  576. package/src/i18n/messagebundle_hr.properties +56 -2
  577. package/src/i18n/messagebundle_hu.properties +57 -3
  578. package/src/i18n/messagebundle_id.properties +58 -4
  579. package/src/i18n/messagebundle_it.properties +57 -3
  580. package/src/i18n/messagebundle_iw.properties +56 -2
  581. package/src/i18n/messagebundle_ja.properties +56 -2
  582. package/src/i18n/messagebundle_kk.properties +60 -6
  583. package/src/i18n/messagebundle_ko.properties +56 -2
  584. package/src/i18n/messagebundle_lt.properties +58 -4
  585. package/src/i18n/messagebundle_lv.properties +55 -1
  586. package/src/i18n/messagebundle_mk.properties +59 -5
  587. package/src/i18n/messagebundle_ms.properties +57 -3
  588. package/src/i18n/messagebundle_nl.properties +56 -2
  589. package/src/i18n/messagebundle_no.properties +56 -2
  590. package/src/i18n/messagebundle_pl.properties +56 -2
  591. package/src/i18n/messagebundle_pt.properties +56 -2
  592. package/src/i18n/messagebundle_pt_PT.properties +56 -2
  593. package/src/i18n/messagebundle_ro.properties +56 -2
  594. package/src/i18n/messagebundle_ru.properties +59 -5
  595. package/src/i18n/messagebundle_sh.properties +56 -2
  596. package/src/i18n/messagebundle_sk.properties +56 -2
  597. package/src/i18n/messagebundle_sl.properties +56 -2
  598. package/src/i18n/messagebundle_sr.properties +56 -2
  599. package/src/i18n/messagebundle_sv.properties +57 -3
  600. package/src/i18n/messagebundle_th.properties +59 -5
  601. package/src/i18n/messagebundle_tr.properties +56 -2
  602. package/src/i18n/messagebundle_uk.properties +56 -2
  603. package/src/i18n/messagebundle_vi.properties +56 -2
  604. package/src/i18n/messagebundle_zh_CN.properties +56 -2
  605. package/src/i18n/messagebundle_zh_TW.properties +56 -2
  606. package/src/themes/Button.css +3 -2
  607. package/src/themes/Dialog.css +0 -16
  608. package/src/themes/Form.css +1 -1
  609. package/src/themes/FormItem.css +0 -1
  610. package/src/themes/FormItemSpan.css +2 -2
  611. package/src/themes/List.css +9 -1
  612. package/src/themes/Menu.css +9 -0
  613. package/src/themes/MenuItem.css +1 -0
  614. package/src/themes/Popover.css +77 -0
  615. package/src/themes/PopupsCommon.css +16 -0
  616. package/src/themes/base/sizes-parameters.css +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n\tisEnter,\n\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tMULTIINPUT_ROLEDESCRIPTION_TEXT,\n\tMULTIINPUT_VALUE_HELP_LABEL,\n\tMULTIINPUT_VALUE_HELP,\n\tFORM_MIXED_TEXTFIELD_REQUIRED,\n\tMULTIINPUT_FILTER_BUTTON_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport type Icon from \"./Icon.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends UI5Element, ITabbable {\n\ttext?: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon = false;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable = 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 * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdeclare name?: string;\n\n\t/**\n\t * Indicates whether to show tokens in suggestions popover\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_showTokensInSuggestions = false;\n\n\t/**\n\t * Tracks whether user has explicitly toggled the show tokens state\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_userToggledShowTokens = false;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tget formValidityMessage() {\n\t\treturn MultiInput.i18nBundle.getText(FORM_MIXED_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length && this.name) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, (tokens[i].text || \"\"));\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireDecoratorEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\tthis.tokenizer.expanded = true;\n\t\tthis.focused = true;\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_showMoreItemsPress() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t!this._isComposing && super._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isEnter(e) && !!this._internals.form) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst selectionEnd = this.getDomRef()!.querySelector(`input`)!.selectionEnd;\n\t\tconst isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\t\t}\n\n\t\t// Reset toggle state if there are tokens and dialog is about to open\n\t\tif (this.tokens.length > 0 && !this._userToggledShowTokens) {\n\t\t\tthis._showTokensInSuggestions = true;\n\t\t}\n\t}\n\n\t/**\n\t * Override the _handlePickerAfterOpen method to reset toggle state when dialog opens with tokens\n\t */\n\t_handlePickerAfterOpen() {\n\t\tif (this.tokens.length > 0) {\n\t\t\tthis._showTokensInSuggestions = true;\n\t\t\tthis._userToggledShowTokens = false;\n\t\t}\n\n\t\tsuper._handlePickerAfterOpen();\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _filterButtonAccessibleName() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_FILTER_BUTTON_LABEL);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n\n\t/**\n\t * Computes the effective state for showing tokens in suggestions.\n\t * Defaults to true when tokens exist, but respects explicit user toggle.\n\t */\n\tget _effectiveShowTokensInSuggestions() {\n\t\t// If no tokens exist, always false\n\t\tif (this.tokens.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// If user has never interacted with the toggle, default to true when tokens exist\n\t\tif (!this._userToggledShowTokens) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// If user has interacted, respect their choice\n\t\treturn this._showTokensInSuggestions;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\n\tisEnter,\n\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScope.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport {\n\tMULTIINPUT_ROLEDESCRIPTION_TEXT,\n\tMULTIINPUT_VALUE_HELP_LABEL,\n\tMULTIINPUT_VALUE_HELP,\n\tFORM_MIXED_TEXTFIELD_REQUIRED,\n\tMULTIINPUT_FILTER_BUTTON_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./MultiInputTemplate.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport type Token from \"./Token.js\";\nimport type Tokenizer from \"./Tokenizer.js\";\nimport { getTokensCountText } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport type Icon from \"./Icon.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends UI5Element, ITabbable {\n\ttext?: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttokens: Token[];\n}\n\n/**\n * @class\n * ### Overview\n * A `ui5-multi-input` field allows the user to enter multiple values, which are displayed as `ui5-token`.\n *\n * User can choose interaction for creating tokens.\n * Fiori Guidelines say that user should create tokens when:\n *\n * - Type a value in the input and press enter or focus out the input field (`change` event is fired)\n * - Move between suggestion items (`selection-change` event is fired)\n * - Clicking on a suggestion item (`selection-change` event is fired if the clicked item is different than the current value. Also `change` event is fired )\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/MultiInput.js\";`\n * @constructor\n * @extends Input\n * @since 1.0.0-rc.9\n * @public\n */\n@customElement({\n\ttag: \"ui5-multi-input\",\n\trenderer: jsxRenderer,\n\tformAssociated: true,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n})\n/**\n * Fired when the value help icon is pressed\n * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used.\n * @public\n */\n@event(\"value-help-trigger\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when tokens are being deleted.\n * @param {Array} tokens An array containing the deleted tokens.\n * @public\n */\n@event(\"token-delete\", {\n\tbubbles: true,\n})\n\nclass MultiInput extends Input implements IFormInputElement {\n\teventDetails!: Input[\"eventDetails\"] & {\n\t\t\"value-help-trigger\": void,\n\t\t\"token-delete\": MultiInputTokenDeleteEventDetail,\n\t}\n\t/**\n\t * Determines whether a value help icon will be visualized in the end of the input.\n\t * Pressing the icon will fire `value-help-trigger` event.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowValueHelpIcon = false;\n\n\t/**\n\t * Indicates whether the tokenizer has tokens\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ttokenizerAvailable = 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 * **Note:** When the component is used inside a form element,\n\t * the value is sent as the first element in the form data, even if it's empty.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tdeclare name?: string;\n\n\t/**\n\t * Indicates whether to show tokens in suggestions popover\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_showTokensInSuggestions = false;\n\n\t/**\n\t * Tracks whether user has explicitly toggled the show tokens state\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_userToggledShowTokens = false;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\n\n\tget formValidityMessage() {\n\t\treturn MultiInput.i18nBundle.getText(FORM_MIXED_TEXTFIELD_REQUIRED);\n\t}\n\n\tget formValidity(): ValidityStateFlags {\n\t\tconst tokens = (this.tokens || []);\n\n\t\treturn { valueMissing: this.required && !this.value && !tokens.length };\n\t}\n\n\tget formFormattedValue(): FormData | string | null {\n\t\tconst tokens = (this.tokens || []);\n\n\t\tif (tokens.length && this.name) {\n\t\t\tconst formData = new FormData();\n\n\t\t\tformData.append(this.name, this.value);\n\n\t\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\t\tformData.append(this.name, (tokens[i].text || \"\"));\n\t\t\t}\n\n\t\t\treturn formData;\n\t\t}\n\n\t\treturn this.value;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\t// Prevent suggestions' opening.\n\t\tthis._skipOpenSuggestions = false;\n\t\tthis._valueHelpIconPressed = false;\n\t}\n\n\tvalueHelpPress() {\n\t\tthis.closeValueStatePopover();\n\t\tthis.fireDecoratorEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst deletedTokens = e.detail.tokens;\n\t\tconst selectedTokens = this.tokens.filter(token => token.selected);\n\t\tconst shouldFocusInput = this.tokens.length - 1 === 0 || this.tokens.length === selectedTokens.length;\n\n\t\tif (this._readonly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (deletedTokens) {\n\t\t\tthis.fireDecoratorEvent(\"token-delete\", { tokens: deletedTokens });\n\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closeValueStatePopover();\n\t\tthis.tokenizer.open = false;\n\t\tthis._valueHelpIconPressed = true;\n\t\ttarget.focus();\n\t}\n\n\t_tokenizerFocusOut(e: FocusEvent) {\n\t\tif (!this.contains(e.relatedTarget as HTMLElement) && !this.shadowRoot!.contains(e.relatedTarget as HTMLElement)) {\n\t\t\tthis.tokenizer._tokens.forEach(token => { token.selected = false; });\n\t\t}\n\t}\n\n\tvalueHelpMouseUp() {\n\t\tsetTimeout(() => {\n\t\t\tthis._valueHelpIconPressed = false;\n\t\t}, 0);\n\t}\n\n\tinnerFocusIn() {\n\t\tthis.focused = true;\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_showMoreItemsPress() {\n\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\t!this._isComposing && super._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\n\t\tif (isHomeInBeginning) {\n\t\t\tthis._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens\n\t\t\treturn this._focusFirstToken(e);\n\t\t}\n\n\t\tif (isEnter(e) && !!this._internals.form) {\n\t\t\te.preventDefault();\n\t\t}\n\n\t\tif (isLeft(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(e);\n\t\t}\n\n\t\tif (isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleBackspace(e);\n\t\t}\n\n\t\tthis._skipOpenSuggestions = false;\n\n\t\tif (isShow(e)) {\n\t\t\tthis.valueHelpPress();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tif (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {\n\t\t\te.preventDefault();\n\t\t\tconst lastTokenIndex = this.tokens.length - 1;\n\n\t\t\tif (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\t_handleLeft(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_handleBackspace(e: KeyboardEvent) {\n\t\tconst cursorPosition = this.getDomRef()!.querySelector(`input`)!.selectionStart;\n\t\tconst selectionEnd = this.getDomRef()!.querySelector(`input`)!.selectionEnd;\n\t\tconst isValueSelected = cursorPosition === 0 && selectionEnd === this.value.length;\n\t\tconst tokens = this.tokens;\n\t\tconst lastToken = tokens.length && tokens[tokens.length - 1];\n\n\t\t// selectionStart property applies only to inputs of types text, search, URL, tel, and password\n\t\tif ((!this.value || (this.value && cursorPosition === 0 && !isValueSelected)) && lastToken) {\n\t\t\te.preventDefault();\n\t\t\tlastToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(lastToken);\n\t\t}\n\t}\n\n\t_focusFirstToken(e: KeyboardEvent) {\n\t\tconst tokens = this.tokens;\n\t\tconst firstToken = tokens.length && tokens[0];\n\n\t\tif (firstToken) {\n\t\t\te.preventDefault();\n\n\t\t\tfirstToken.focus();\n\t\t\tthis.tokenizer._itemNav.setCurrentItem(firstToken);\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\tsuper._onfocusout(e);\n\t\tconst relatedTarget = e.relatedTarget as HTMLElement;\n\t\tconst insideDOM = this.contains(relatedTarget);\n\t\tconst insideShadowDom = this.shadowRoot!.contains(relatedTarget);\n\n\t\tif (!insideDOM && !insideShadowDom) {\n\t\t\tthis.tokenizer.expanded = false;\n\t\t}\n\n\t\tif (this.contains(relatedTarget) && relatedTarget.hasAttribute(\"ui5-token\")) {\n\t\t\tthis.focused = false;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tsuper._onfocusin(e);\n\t\t}\n\t}\n\n\tonBeforeRendering() {\n\t\tsuper.onBeforeRendering();\n\n\t\tthis.style.setProperty(getScopedVarName(\"--_ui5-input-icons-count\"), `${this.iconsCount}`);\n\t\tthis.tokenizerAvailable = this.tokens && this.tokens.length > 0;\n\n\t\tif (this.tokenizer) {\n\t\t\tthis.tokenizer.readonly = this.readonly;\n\t\t}\n\t}\n\n\t/**\n\t * Override the _handlePickerAfterOpen method to handle token display based on device type\n\t */\n\t_handlePickerAfterOpen() {\n\t\tif (this.tokens.length > 0) {\n\t\t\t// On mobile: show tokens by default (for filter dialog feature)\n\t\t\t// On desktop: keep showing suggestions (default behavior)\n\t\t\tif (isPhone()) {\n\t\t\t\tthis._showTokensInSuggestions = true;\n\t\t\t}\n\t\t\tthis._userToggledShowTokens = false;\n\n\t\t\t// Expand tokenizer to show all tokens and prevent cut-off\n\t\t\tthis.tokenizer._scrollToEndOnExpand = true;\n\t\t\tthis.tokenizer.expanded = true;\n\t\t}\n\n\t\tsuper._handlePickerAfterOpen();\n\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\t}\n\n\tget iconsCount() {\n\t\treturn super.iconsCount + (this.showValueHelpIcon ? 1 : 0);\n\t}\n\n\tget tokenizer() {\n\t\treturn this.shadowRoot!.querySelector<Tokenizer>(\"[ui5-tokenizer]\")!;\n\t}\n\n\tget tokenizerExpanded() {\n\t\treturn this.tokenizer && this.tokenizer.expanded;\n\t}\n\n\tget _tokensCountText() {\n\t\treturn getTokensCountText(this.tokens.length);\n\t}\n\n\tget _valueHelpText() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP);\n\t}\n\n\tget _filterButtonAccessibleName() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_FILTER_BUTTON_LABEL);\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\n\t}\n\n\tget _valueHelpTextId() {\n\t\treturn this.showValueHelpIcon ? `hiddenText-value-help` : \"\";\n\t}\n\n\t/**\n\t * Returns the placeholder value when there are no tokens.\n\t * @protected\n\t */\n\tget _placeholder() {\n\t\tif (this.tokens.length) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\treturn this.placeholder;\n\t}\n\n\tget accInfo() {\n\t\tconst ariaDescribedBy = `${this._tokensCountTextId} ${this.suggestionsTextId} ${this.valueStateTextId} ${this._valueStateLinksShortcutsTextAccId} ${this._valueHelpTextId}`.trim();\n\t\treturn {\n\t\t\t...super.accInfo,\n\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t};\n\t}\n\n\tget valueHelpLabel() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_VALUE_HELP_LABEL);\n\t}\n\n\tget ariaRoleDescription() {\n\t\treturn MultiInput.i18nBundle.getText(MULTIINPUT_ROLEDESCRIPTION_TEXT);\n\t}\n\n\tget morePopoverOpener(): HTMLElement {\n\t\tif (this.tokens.length === 1 && this.tokens[0].isTruncatable) {\n\t\t\treturn this.tokens[0];\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tget shouldDisplayOnlyValueStateMessage() {\n\t\treturn this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;\n\t}\n\n\t/**\n\t * Computes the effective state for showing tokens in suggestions.\n\t * Returns false (show suggestions) by default, true only when explicitly set.\n\t */\n\tget _effectiveShowTokensInSuggestions() {\n\t\t// If no tokens exist, always show suggestions\n\t\tif (this.tokens.length === 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Return the current state (will be true on mobile after picker opens, false otherwise)\n\t\treturn this._showTokensInSuggestions;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
package/dist/Popover.d.ts CHANGED
@@ -3,6 +3,8 @@ import Popup from "./Popup.js";
3
3
  import PopoverPlacement from "./types/PopoverPlacement.js";
4
4
  import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
5
5
  import PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js";
6
+ import PopoverResize from "./PopoverResize.js";
7
+ import type { ResizeHandlePlacement } from "./PopoverResize.js";
6
8
  type PopoverSize = {
7
9
  width: number;
8
10
  height: number;
@@ -94,7 +96,7 @@ declare class Popover extends Popup {
94
96
  verticalAlign: `${PopoverVerticalAlign}`;
95
97
  /**
96
98
  * Defines whether the component should close when
97
- * clicking/tapping outside of the popover.
99
+ * clicking/tapping outside the popover.
98
100
  * If enabled, it blocks any interaction with the background.
99
101
  * @default false
100
102
  * @public
@@ -114,6 +116,14 @@ declare class Popover extends Popup {
114
116
  * @public
115
117
  */
116
118
  allowTargetOverlap: boolean;
119
+ /**
120
+ * Determines whether the component is resizable.
121
+ * **Note:** This property is effective only on desktop devices.
122
+ * @default false
123
+ * @public
124
+ * @since 2.19.0
125
+ */
126
+ resizable: boolean;
117
127
  /**
118
128
  * Sets the X translation of the arrow
119
129
  * @private
@@ -131,6 +141,7 @@ declare class Popover extends Popup {
131
141
  actualPlacement: `${PopoverActualPlacement}`;
132
142
  _maxHeight?: number;
133
143
  _maxWidth?: number;
144
+ _resizeHandlePlacement?: `${ResizeHandlePlacement}`;
134
145
  /**
135
146
  * Defines the header HTML Element.
136
147
  * @public
@@ -149,6 +160,9 @@ declare class Popover extends Popup {
149
160
  _oldPlacement?: CalculatedPlacement;
150
161
  _width?: string;
151
162
  _height?: string;
163
+ _popoverResize: PopoverResize;
164
+ _initialWidth?: string;
165
+ _initialHeight?: string;
152
166
  static get VIEWPORT_MARGIN(): number;
153
167
  constructor();
154
168
  /**
@@ -162,7 +176,9 @@ declare class Popover extends Popup {
162
176
  set opener(value: HTMLElement | string | null);
163
177
  get opener(): HTMLElement | string | null | undefined;
164
178
  openPopup(): Promise<void>;
179
+ closePopup(escPressed?: boolean, preventRegistryUpdate?: boolean, preventFocusRestore?: boolean): void;
165
180
  isOpenerClicked(e: MouseEvent): boolean;
181
+ isClicked(e: MouseEvent): boolean;
166
182
  /**
167
183
  * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)
168
184
  * @private
@@ -181,6 +197,7 @@ declare class Popover extends Popup {
181
197
  * @override
182
198
  */
183
199
  _resize(): void;
200
+ get _viewportMargin(): number;
184
201
  reposition(): void;
185
202
  _show(): Promise<void>;
186
203
  /**
@@ -203,6 +220,7 @@ declare class Popover extends Popup {
203
220
  * @private
204
221
  */
205
222
  calcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement;
223
+ get isVertical(): boolean;
206
224
  getRTLCorrectionLeft(): number;
207
225
  /**
208
226
  * Calculates the position for the arrow.
@@ -247,7 +265,10 @@ declare class Popover extends Popup {
247
265
  get _displayFooter(): boolean;
248
266
  get isRtl(): boolean;
249
267
  get _actualHorizontalAlign(): PopoverActualHorizontalAlign;
268
+ get _showResizeHandle(): boolean;
269
+ get resizeHandlePlacement(): "TopLeft" | "TopRight" | "BottomLeft" | "BottomRight" | undefined;
270
+ _onResizeMouseDown(e: MouseEvent): void;
250
271
  }
251
272
  declare const instanceOfPopover: (object: any) => object is Popover;
252
273
  export default Popover;
253
- export { instanceOfPopover };
274
+ export { instanceOfPopover, PopoverActualPlacement, PopoverActualHorizontalAlign };
package/dist/Popover.js CHANGED
@@ -10,7 +10,7 @@ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
12
  import { isIOS } from "@ui5/webcomponents-base/dist/Device.js";
13
- import { getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
13
+ import { isClickInRect, getClosedPopupParent } from "@ui5/webcomponents-base/dist/util/PopupUtils.js";
14
14
  import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
15
15
  import DOMReferenceConverter from "@ui5/webcomponents-base/dist/converters/DOMReference.js";
16
16
  import { renderFinished } from "@ui5/webcomponents-base/dist/Render.js";
@@ -19,6 +19,7 @@ import PopoverPlacement from "./types/PopoverPlacement.js";
19
19
  import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
20
20
  import PopoverHorizontalAlign from "./types/PopoverHorizontalAlign.js";
21
21
  import { addOpenedPopover, removeOpenedPopover } from "./popup-utils/PopoverRegistry.js";
22
+ import PopoverResize from "./PopoverResize.js";
22
23
  // Template
23
24
  import PopoverTemplate from "./PopoverTemplate.js";
24
25
  // Styles
@@ -100,7 +101,7 @@ let Popover = Popover_1 = class Popover extends Popup {
100
101
  this.verticalAlign = "Center";
101
102
  /**
102
103
  * Defines whether the component should close when
103
- * clicking/tapping outside of the popover.
104
+ * clicking/tapping outside the popover.
104
105
  * If enabled, it blocks any interaction with the background.
105
106
  * @default false
106
107
  * @public
@@ -120,6 +121,14 @@ let Popover = Popover_1 = class Popover extends Popup {
120
121
  * @public
121
122
  */
122
123
  this.allowTargetOverlap = false;
124
+ /**
125
+ * Determines whether the component is resizable.
126
+ * **Note:** This property is effective only on desktop devices.
127
+ * @default false
128
+ * @public
129
+ * @since 2.19.0
130
+ */
131
+ this.resizable = false;
123
132
  /**
124
133
  * Sets the X translation of the arrow
125
134
  * @private
@@ -135,6 +144,7 @@ let Popover = Popover_1 = class Popover extends Popup {
135
144
  * @private
136
145
  */
137
146
  this.actualPlacement = "Right";
147
+ this._popoverResize = new PopoverResize(this);
138
148
  }
139
149
  /**
140
150
  * Defines the ID or DOM Reference of the element at which the popover is shown.
@@ -170,9 +180,20 @@ let Popover = Popover_1 = class Popover extends Popup {
170
180
  this.fireDecoratorEvent("close");
171
181
  return;
172
182
  }
183
+ this._initialWidth = this.style.width;
184
+ this._initialHeight = this.style.height;
173
185
  this._openerRect = opener.getBoundingClientRect();
174
186
  await super.openPopup();
175
187
  }
188
+ closePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {
189
+ Object.assign(this.style, {
190
+ width: this._initialWidth,
191
+ height: this._initialHeight,
192
+ });
193
+ this._popoverResize.reset();
194
+ delete this._resizeHandlePlacement;
195
+ super.closePopup(escPressed, preventRegistryUpdate, preventFocusRestore);
196
+ }
176
197
  isOpenerClicked(e) {
177
198
  const target = e.target;
178
199
  const opener = this.getOpenerHTMLElement(this.opener);
@@ -187,6 +208,15 @@ let Popover = Popover_1 = class Popover extends Popup {
187
208
  }
188
209
  return e.composedPath().indexOf(opener) > -1;
189
210
  }
211
+ isClicked(e) {
212
+ if (this._showResizeHandle) {
213
+ const resizeHandle = this.shadowRoot.querySelector(".ui5-popover-resize-handle");
214
+ if (resizeHandle === e.composedPath()[0]) {
215
+ return true;
216
+ }
217
+ }
218
+ return isClickInRect(e, this.getBoundingClientRect());
219
+ }
190
220
  /**
191
221
  * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)
192
222
  * @private
@@ -261,8 +291,14 @@ let Popover = Popover_1 = class Popover extends Popup {
261
291
  this.reposition();
262
292
  }
263
293
  }
294
+ get _viewportMargin() {
295
+ return Popover_1.VIEWPORT_MARGIN;
296
+ }
264
297
  reposition() {
265
298
  this._show();
299
+ if (this.resizable) {
300
+ this._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();
301
+ }
266
302
  }
267
303
  async _show() {
268
304
  super._show();
@@ -319,6 +355,9 @@ let Popover = Popover_1 = class Popover extends Popup {
319
355
  top: `${top}px`,
320
356
  left: `${left}px`,
321
357
  });
358
+ if (this._popoverResize.isResized) {
359
+ return;
360
+ }
322
361
  if (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {
323
362
  this.style.width = this._width;
324
363
  }
@@ -391,13 +430,15 @@ let Popover = Popover_1 = class Popover extends Popup {
391
430
  this._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(actualPlacement, targetRect);
392
431
  const isVertical = actualPlacement === PopoverActualPlacement.Top
393
432
  || actualPlacement === PopoverActualPlacement.Bottom;
394
- if (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {
395
- popoverSize.width = targetRect.width;
396
- this._width = `${targetRect.width}px`;
397
- }
398
- else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {
399
- popoverSize.height = targetRect.height;
400
- this._height = `${targetRect.height}px`;
433
+ if (!this._popoverResize.isResized) {
434
+ if (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {
435
+ popoverSize.width = targetRect.width;
436
+ this._width = `${targetRect.width}px`;
437
+ }
438
+ else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {
439
+ popoverSize.height = targetRect.height;
440
+ this._height = `${targetRect.height}px`;
441
+ }
401
442
  }
402
443
  const arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;
403
444
  // calc popover positions
@@ -472,6 +513,9 @@ let Popover = Popover_1 = class Popover extends Popup {
472
513
  actualPlacement,
473
514
  };
474
515
  }
516
+ get isVertical() {
517
+ return this.placement === PopoverPlacement.Top || this.placement === PopoverPlacement.Bottom;
518
+ }
475
519
  getRTLCorrectionLeft() {
476
520
  return parseFloat(window.getComputedStyle(this).left) - this.getBoundingClientRect().left;
477
521
  }
@@ -534,7 +578,6 @@ let Popover = Popover_1 = class Popover extends Popup {
534
578
  }
535
579
  getActualPlacement(targetRect) {
536
580
  const placement = this.placement;
537
- const isVertical = placement === PopoverPlacement.Top || placement === PopoverPlacement.Bottom;
538
581
  const popoverSize = this.getPopoverSize(!this.allowTargetOverlap);
539
582
  let actualPlacement = PopoverActualPlacement.Right;
540
583
  switch (placement) {
@@ -554,7 +597,7 @@ let Popover = Popover_1 = class Popover extends Popup {
554
597
  const clientWidth = document.documentElement.clientWidth;
555
598
  let clientHeight = document.documentElement.clientHeight;
556
599
  let popoverHeight = popoverSize.height;
557
- if (isVertical) {
600
+ if (this.isVertical) {
558
601
  popoverHeight += this.hideArrow ? 0 : ARROW_SIZE;
559
602
  clientHeight -= Popover_1.VIEWPORT_MARGIN;
560
603
  }
@@ -591,6 +634,7 @@ let Popover = Popover_1 = class Popover extends Popup {
591
634
  case PopoverActualHorizontalAlign.Center:
592
635
  case PopoverActualHorizontalAlign.Stretch:
593
636
  left = targetRect.left - (popoverSize.width - targetRect.width) / 2;
637
+ left = this._popoverResize.getCorrectedLeft(left);
594
638
  break;
595
639
  case PopoverActualHorizontalAlign.Left:
596
640
  left = targetRect.left;
@@ -607,6 +651,7 @@ let Popover = Popover_1 = class Popover extends Popup {
607
651
  case PopoverVerticalAlign.Center:
608
652
  case PopoverVerticalAlign.Stretch:
609
653
  top = targetRect.top - (popoverSize.height - targetRect.height) / 2;
654
+ top = this._popoverResize.getCorrectedTop(top);
610
655
  break;
611
656
  case PopoverVerticalAlign.Top:
612
657
  top = targetRect.top;
@@ -641,6 +686,10 @@ let Popover = Popover_1 = class Popover extends Popup {
641
686
  get classes() {
642
687
  const allClasses = super.classes;
643
688
  allClasses.root["ui5-popover-root"] = true;
689
+ allClasses.root["ui5-popover-rtl"] = this.isRtl;
690
+ if (this.resizable) {
691
+ this._popoverResize.setCorrectResizeHandleClass(allClasses);
692
+ }
644
693
  return allClasses;
645
694
  }
646
695
  /**
@@ -671,6 +720,16 @@ let Popover = Popover_1 = class Popover extends Popup {
671
720
  return PopoverActualHorizontalAlign.Center;
672
721
  }
673
722
  }
723
+ get _showResizeHandle() {
724
+ return this.resizable && this.onDesktop;
725
+ }
726
+ get resizeHandlePlacement() {
727
+ return this._resizeHandlePlacement;
728
+ }
729
+ _onResizeMouseDown(e) {
730
+ this._popoverResize.onResizeMouseDown(e);
731
+ this._resizeHandlePlacement = this._popoverResize.getResizeHandlePlacement();
732
+ }
674
733
  };
675
734
  __decorate([
676
735
  property()
@@ -693,6 +752,9 @@ __decorate([
693
752
  __decorate([
694
753
  property({ type: Boolean })
695
754
  ], Popover.prototype, "allowTargetOverlap", void 0);
755
+ __decorate([
756
+ property({ type: Boolean })
757
+ ], Popover.prototype, "resizable", void 0);
696
758
  __decorate([
697
759
  property({ type: Number, noAttribute: true })
698
760
  ], Popover.prototype, "arrowTranslateX", void 0);
@@ -708,6 +770,9 @@ __decorate([
708
770
  __decorate([
709
771
  property({ type: Number, noAttribute: true })
710
772
  ], Popover.prototype, "_maxWidth", void 0);
773
+ __decorate([
774
+ property({ noAttribute: true })
775
+ ], Popover.prototype, "_resizeHandlePlacement", void 0);
711
776
  __decorate([
712
777
  slot({ type: HTMLElement })
713
778
  ], Popover.prototype, "header", void 0);
@@ -733,5 +798,5 @@ const instanceOfPopover = (object) => {
733
798
  };
734
799
  Popover.define();
735
800
  export default Popover;
736
- export { instanceOfPopover };
801
+ export { instanceOfPopover, PopoverActualPlacement, PopoverActualHorizontalAlign };
737
802
  //# sourceMappingURL=Popover.js.map