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

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 (1111) hide show
  1. package/CHANGELOG.md +657 -0
  2. package/README.md +3 -8
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Avatar.d.ts +16 -7
  5. package/dist/Avatar.js +5 -4
  6. package/dist/Avatar.js.map +1 -1
  7. package/dist/AvatarGroup.d.ts +15 -10
  8. package/dist/AvatarGroup.js +3 -6
  9. package/dist/AvatarGroup.js.map +1 -1
  10. package/dist/Breadcrumbs.d.ts +2 -1
  11. package/dist/Breadcrumbs.js +4 -5
  12. package/dist/Breadcrumbs.js.map +1 -1
  13. package/dist/Button.d.ts +15 -24
  14. package/dist/Button.js +4 -4
  15. package/dist/Button.js.map +1 -1
  16. package/dist/CalendarLegend.js +1 -1
  17. package/dist/CalendarLegend.js.map +1 -1
  18. package/dist/Carousel.d.ts +11 -16
  19. package/dist/Carousel.js +29 -16
  20. package/dist/Carousel.js.map +1 -1
  21. package/dist/CheckBox.d.ts +3 -3
  22. package/dist/CheckBox.js +3 -3
  23. package/dist/CheckBox.js.map +1 -1
  24. package/dist/ComboBox.d.ts +3 -2
  25. package/dist/ComboBox.js +20 -16
  26. package/dist/ComboBox.js.map +1 -1
  27. package/dist/ComboBoxGroupItem.d.ts +1 -0
  28. package/dist/ComboBoxGroupItem.js +3 -0
  29. package/dist/ComboBoxGroupItem.js.map +1 -1
  30. package/dist/ComboBoxItem.d.ts +1 -0
  31. package/dist/ComboBoxItem.js +3 -0
  32. package/dist/ComboBoxItem.js.map +1 -1
  33. package/dist/DatePicker.d.ts +12 -21
  34. package/dist/DatePicker.js +24 -50
  35. package/dist/DatePicker.js.map +1 -1
  36. package/dist/DateRangePicker.js +1 -1
  37. package/dist/DateRangePicker.js.map +1 -1
  38. package/dist/DateTimePicker.d.ts +3 -6
  39. package/dist/DateTimePicker.js +12 -13
  40. package/dist/DateTimePicker.js.map +1 -1
  41. package/dist/Dialog.d.ts +1 -1
  42. package/dist/Dialog.js +4 -4
  43. package/dist/Dialog.js.map +1 -1
  44. package/dist/FileUploader.d.ts +2 -0
  45. package/dist/FileUploader.js +26 -10
  46. package/dist/FileUploader.js.map +1 -1
  47. package/dist/Icon.d.ts +8 -22
  48. package/dist/Icon.js +15 -29
  49. package/dist/Icon.js.map +1 -1
  50. package/dist/Input.d.ts +45 -53
  51. package/dist/Input.js +133 -188
  52. package/dist/Input.js.map +1 -1
  53. package/dist/Link.d.ts +13 -21
  54. package/dist/Link.js +1 -2
  55. package/dist/Link.js.map +1 -1
  56. package/dist/List.d.ts +22 -13
  57. package/dist/List.js +59 -8
  58. package/dist/List.js.map +1 -1
  59. package/dist/ListItem.d.ts +17 -49
  60. package/dist/ListItem.js +8 -17
  61. package/dist/ListItem.js.map +1 -1
  62. package/dist/ListItemBase.d.ts +1 -1
  63. package/dist/ListItemBase.js +1 -1
  64. package/dist/ListItemBase.js.map +1 -1
  65. package/dist/ListItemGroup.d.ts +51 -0
  66. package/dist/ListItemGroup.js +80 -0
  67. package/dist/ListItemGroup.js.map +1 -0
  68. package/dist/{GroupHeaderListItem.d.ts → ListItemGroupHeader.d.ts} +4 -5
  69. package/dist/{GroupHeaderListItem.js → ListItemGroupHeader.js} +17 -17
  70. package/dist/ListItemGroupHeader.js.map +1 -0
  71. package/dist/Menu.d.ts +4 -4
  72. package/dist/Menu.js +10 -10
  73. package/dist/Menu.js.map +1 -1
  74. package/dist/MenuItem.d.ts +4 -4
  75. package/dist/MenuItem.js +3 -3
  76. package/dist/MenuItem.js.map +1 -1
  77. package/dist/MenuListItem.js +3 -3
  78. package/dist/MenuListItem.js.map +1 -1
  79. package/dist/MessageStrip.d.ts +4 -4
  80. package/dist/MessageStrip.js +4 -4
  81. package/dist/MessageStrip.js.map +1 -1
  82. package/dist/MultiComboBox.js +39 -48
  83. package/dist/MultiComboBox.js.map +1 -1
  84. package/dist/MultiComboBoxItem.d.ts +3 -1
  85. package/dist/MultiComboBoxItem.js +6 -2
  86. package/dist/MultiComboBoxItem.js.map +1 -1
  87. package/dist/MultiInput.d.ts +7 -11
  88. package/dist/MultiInput.js +32 -60
  89. package/dist/MultiInput.js.map +1 -1
  90. package/dist/Option.d.ts +4 -4
  91. package/dist/Option.js +1 -1
  92. package/dist/Option.js.map +1 -1
  93. package/dist/Popover.js +4 -0
  94. package/dist/Popover.js.map +1 -1
  95. package/dist/ProgressIndicator.js +6 -6
  96. package/dist/ProgressIndicator.js.map +1 -1
  97. package/dist/RadioButton.js +3 -3
  98. package/dist/RadioButton.js.map +1 -1
  99. package/dist/ResponsivePopover.js +1 -1
  100. package/dist/ResponsivePopover.js.map +1 -1
  101. package/dist/SegmentedButton.d.ts +4 -14
  102. package/dist/SegmentedButton.js +12 -31
  103. package/dist/SegmentedButton.js.map +1 -1
  104. package/dist/SegmentedButtonItem.d.ts +62 -26
  105. package/dist/SegmentedButtonItem.js +71 -20
  106. package/dist/SegmentedButtonItem.js.map +1 -1
  107. package/dist/Select.d.ts +7 -7
  108. package/dist/Select.js +14 -14
  109. package/dist/Select.js.map +1 -1
  110. package/dist/SelectMenu.js +6 -6
  111. package/dist/SelectMenu.js.map +1 -1
  112. package/dist/SelectMenuOption.d.ts +3 -2
  113. package/dist/SelectMenuOption.js.map +1 -1
  114. package/dist/SplitButton.d.ts +0 -20
  115. package/dist/SplitButton.js +0 -15
  116. package/dist/SplitButton.js.map +1 -1
  117. package/dist/StandardListItem.d.ts +1 -1
  118. package/dist/StandardListItem.js.map +1 -1
  119. package/dist/StepInput.d.ts +6 -1
  120. package/dist/StepInput.js +55 -14
  121. package/dist/StepInput.js.map +1 -1
  122. package/dist/SuggestionGroupItem.js +2 -2
  123. package/dist/SuggestionGroupItem.js.map +1 -1
  124. package/dist/Tab.d.ts +5 -3
  125. package/dist/Tab.js +11 -8
  126. package/dist/Tab.js.map +1 -1
  127. package/dist/TabContainer.d.ts +5 -3
  128. package/dist/TabContainer.js +30 -25
  129. package/dist/TabContainer.js.map +1 -1
  130. package/dist/TabSeparator.d.ts +5 -1
  131. package/dist/TabSeparator.js.map +1 -1
  132. package/dist/{Badge.d.ts → Tag.d.ts} +23 -17
  133. package/dist/{Badge.js → Tag.js} +53 -49
  134. package/dist/Tag.js.map +1 -0
  135. package/dist/Text.d.ts +1 -1
  136. package/dist/Text.js +1 -1
  137. package/dist/Text.js.map +1 -1
  138. package/dist/TextArea.d.ts +6 -6
  139. package/dist/TextArea.js +13 -13
  140. package/dist/TextArea.js.map +1 -1
  141. package/dist/TimePicker.d.ts +171 -13
  142. package/dist/TimePicker.js +462 -20
  143. package/dist/TimePicker.js.map +1 -1
  144. package/dist/TimePickerInternals.d.ts +1 -1
  145. package/dist/TimePickerInternals.js +3 -3
  146. package/dist/TimePickerInternals.js.map +1 -1
  147. package/dist/TimeSelectionClocks.js +2 -4
  148. package/dist/TimeSelectionClocks.js.map +1 -1
  149. package/dist/TimeSelectionInputs.js +0 -2
  150. package/dist/TimeSelectionInputs.js.map +1 -1
  151. package/dist/Title.d.ts +1 -2
  152. package/dist/Title.js +7 -10
  153. package/dist/Title.js.map +1 -1
  154. package/dist/Toast.d.ts +11 -8
  155. package/dist/Toast.js +36 -30
  156. package/dist/Toast.js.map +1 -1
  157. package/dist/ToggleSpinButton.d.ts +4 -0
  158. package/dist/ToggleSpinButton.js +6 -0
  159. package/dist/ToggleSpinButton.js.map +1 -1
  160. package/dist/Token.d.ts +8 -8
  161. package/dist/Token.js +11 -11
  162. package/dist/Token.js.map +1 -1
  163. package/dist/Tokenizer.d.ts +128 -47
  164. package/dist/Tokenizer.js +356 -172
  165. package/dist/Tokenizer.js.map +1 -1
  166. package/dist/Toolbar.js +6 -5
  167. package/dist/Toolbar.js.map +1 -1
  168. package/dist/ToolbarButton.d.ts +14 -17
  169. package/dist/ToolbarButton.js.map +1 -1
  170. package/dist/Tree.d.ts +2 -8
  171. package/dist/Tree.js +2 -4
  172. package/dist/Tree.js.map +1 -1
  173. package/dist/TreeItemBase.d.ts +3 -3
  174. package/dist/TreeItemBase.js +2 -2
  175. package/dist/TreeItemBase.js.map +1 -1
  176. package/dist/bundle.common.bootstrap.js +3 -0
  177. package/dist/bundle.esm.d.ts +1 -0
  178. package/dist/bundle.esm.js +284 -0
  179. package/dist/bundle.esm.js.map +1 -1
  180. package/dist/bundle.scoped.esm.js +8 -0
  181. package/dist/css/themes/Avatar.css +1 -1
  182. package/dist/css/themes/AvatarGroup.css +1 -1
  183. package/dist/css/themes/Bar.css +1 -1
  184. package/dist/css/themes/Breadcrumbs.css +1 -1
  185. package/dist/css/themes/BusyIndicator.css +1 -1
  186. package/dist/css/themes/Button.css +1 -1
  187. package/dist/css/themes/Calendar.css +1 -1
  188. package/dist/css/themes/CalendarHeader.css +1 -1
  189. package/dist/css/themes/CalendarLegend.css +1 -1
  190. package/dist/css/themes/CalendarLegendItem.css +1 -1
  191. package/dist/css/themes/Card.css +1 -1
  192. package/dist/css/themes/CardHeader.css +1 -1
  193. package/dist/css/themes/Carousel.css +1 -1
  194. package/dist/css/themes/CheckBox.css +1 -1
  195. package/dist/css/themes/ColorPalette.css +1 -1
  196. package/dist/css/themes/ColorPaletteItem.css +1 -1
  197. package/dist/css/themes/ColorPalettePopover.css +1 -1
  198. package/dist/css/themes/ColorPicker.css +1 -1
  199. package/dist/css/themes/ComboBox.css +1 -1
  200. package/dist/css/themes/CustomListItem.css +1 -1
  201. package/dist/css/themes/DatePicker.css +1 -1
  202. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  203. package/dist/css/themes/DayPicker.css +1 -1
  204. package/dist/css/themes/Dialog.css +1 -1
  205. package/dist/css/themes/FileUploader.css +1 -1
  206. package/dist/css/themes/GrowingButton.css +1 -1
  207. package/dist/css/themes/Icon.css +1 -1
  208. package/dist/css/themes/Input.css +1 -1
  209. package/dist/css/themes/InputIcon.css +1 -1
  210. package/dist/css/themes/InputSharedStyles.css +1 -1
  211. package/dist/css/themes/Link.css +1 -1
  212. package/dist/css/themes/List.css +1 -1
  213. package/dist/css/themes/ListItem.css +1 -1
  214. package/dist/css/themes/ListItemBase.css +1 -1
  215. package/dist/css/themes/ListItemGroup.css +1 -0
  216. package/dist/css/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +1 -1
  217. package/dist/css/themes/Menu.css +1 -1
  218. package/dist/css/themes/MenuListItem.css +1 -1
  219. package/dist/css/themes/MessageStrip.css +1 -1
  220. package/dist/css/themes/MonthPicker.css +1 -1
  221. package/dist/css/themes/MultiComboBox.css +1 -1
  222. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  223. package/dist/css/themes/MultiInput.css +1 -1
  224. package/dist/css/themes/NavigationMenu.css +1 -1
  225. package/dist/css/themes/Panel.css +1 -1
  226. package/dist/css/themes/Popover.css +1 -1
  227. package/dist/css/themes/PopupsCommon.css +1 -1
  228. package/dist/css/themes/ProgressIndicator.css +1 -1
  229. package/dist/css/themes/RadioButton.css +1 -1
  230. package/dist/css/themes/RangeSlider.css +1 -1
  231. package/dist/css/themes/RatingIndicator.css +1 -1
  232. package/dist/css/themes/ResponsivePopover.css +1 -1
  233. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  234. package/dist/css/themes/SegmentedButton.css +1 -1
  235. package/dist/css/themes/SegmentedButtonItem.css +1 -0
  236. package/dist/css/themes/Select.css +1 -1
  237. package/dist/css/themes/SelectMenu.css +1 -1
  238. package/dist/css/themes/SelectPopover.css +1 -1
  239. package/dist/css/themes/SliderBase.css +1 -1
  240. package/dist/css/themes/SplitButton.css +1 -1
  241. package/dist/css/themes/StepInput.css +1 -1
  242. package/dist/css/themes/Switch.css +1 -1
  243. package/dist/css/themes/TabContainer.css +1 -1
  244. package/dist/css/themes/TabInOverflow.css +1 -1
  245. package/dist/css/themes/TabInStrip.css +1 -1
  246. package/dist/css/themes/TabSemanticIcon.css +1 -1
  247. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  248. package/dist/css/themes/Tag.css +1 -0
  249. package/dist/css/themes/Text.css +1 -1
  250. package/dist/css/themes/TextArea.css +1 -1
  251. package/dist/css/themes/TimePicker.css +1 -1
  252. package/dist/css/themes/Title.css +1 -1
  253. package/dist/css/themes/Toast.css +1 -1
  254. package/dist/css/themes/ToggleButton.css +1 -1
  255. package/dist/css/themes/Token.css +1 -1
  256. package/dist/css/themes/Tokenizer.css +1 -1
  257. package/dist/css/themes/TokenizerPopover.css +1 -1
  258. package/dist/css/themes/Toolbar.css +1 -1
  259. package/dist/css/themes/ToolbarPopover.css +1 -1
  260. package/dist/css/themes/TreeItem.css +1 -1
  261. package/dist/css/themes/ValueStateMessage.css +1 -1
  262. package/dist/css/themes/YearPicker.css +1 -1
  263. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  264. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  265. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  266. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  267. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  268. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  269. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  270. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  271. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  272. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  273. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  274. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  275. package/dist/custom-elements-internal.json +1918 -3358
  276. package/dist/custom-elements.json +1413 -2627
  277. package/dist/features/InputSuggestions.d.ts +14 -19
  278. package/dist/features/InputSuggestions.js +28 -72
  279. package/dist/features/InputSuggestions.js.map +1 -1
  280. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  281. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  282. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  283. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  284. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  285. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  286. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  287. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  288. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  289. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  290. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  291. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  292. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  293. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  294. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  295. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  296. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  297. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  298. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  299. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  300. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  301. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  302. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  303. package/dist/generated/assets/i18n/messagebundle_in.json +1 -1
  304. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  305. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  306. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  307. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  308. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  309. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  310. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  311. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  312. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  313. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  314. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  315. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  316. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  317. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  318. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  319. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  320. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  321. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  322. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  323. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  324. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  325. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  326. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  327. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  328. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  329. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  330. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  331. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  332. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  333. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  334. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  335. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  336. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  337. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  338. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  339. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  340. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  341. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  342. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  343. package/dist/generated/i18n/i18n-defaults.d.ts +9 -8
  344. package/dist/generated/i18n/i18n-defaults.js +11 -10
  345. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  346. package/dist/generated/json-imports/Themes.js +1 -4
  347. package/dist/generated/json-imports/Themes.js.map +1 -1
  348. package/dist/generated/templates/AvatarGroupTemplate.lit.js +1 -1
  349. package/dist/generated/templates/AvatarGroupTemplate.lit.js.map +1 -1
  350. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +1 -1
  351. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -1
  352. package/dist/generated/templates/ButtonTemplate.lit.js +1 -1
  353. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -1
  354. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +1 -1
  355. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -1
  356. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +2 -2
  357. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -1
  358. package/dist/generated/templates/ComboBoxTemplate.lit.js +2 -2
  359. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -1
  360. package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
  361. package/dist/generated/templates/CustomListItemTemplate.lit.js.map +1 -1
  362. package/dist/generated/templates/DatePickerInputTemplate.lit.js +1 -1
  363. package/dist/generated/templates/DatePickerInputTemplate.lit.js.map +1 -1
  364. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +2 -2
  365. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -1
  366. package/dist/generated/templates/DatePickerTemplate.lit.js +3 -3
  367. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  368. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +1 -1
  369. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -1
  370. package/dist/generated/templates/DateTimePickerTemplate.lit.js +2 -2
  371. package/dist/generated/templates/DateTimePickerTemplate.lit.js.map +1 -1
  372. package/dist/generated/templates/FileUploaderTemplate.lit.js +1 -1
  373. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -1
  374. package/dist/generated/templates/InputPopoverTemplate.lit.js +16 -16
  375. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -1
  376. package/dist/generated/templates/InputTemplate.lit.js +20 -20
  377. package/dist/generated/templates/InputTemplate.lit.js.map +1 -1
  378. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.d.ts → ListItemGroupHeaderTemplate.lit.d.ts} +2 -2
  379. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js → ListItemGroupHeaderTemplate.lit.js} +1 -1
  380. package/dist/generated/templates/{GroupHeaderListItemTemplate.lit.js.map → ListItemGroupHeaderTemplate.lit.js.map} +1 -1
  381. package/dist/generated/templates/{TimeSelectionTemplate.lit.d.ts → ListItemGroupTemplate.lit.d.ts} +2 -2
  382. package/dist/generated/templates/ListItemGroupTemplate.lit.js +8 -0
  383. package/dist/generated/templates/ListItemGroupTemplate.lit.js.map +1 -0
  384. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  385. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  386. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  387. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  388. package/dist/generated/templates/MenuListItemTemplate.lit.js +1 -1
  389. package/dist/generated/templates/MenuListItemTemplate.lit.js.map +1 -1
  390. package/dist/generated/templates/MenuTemplate.lit.js +6 -6
  391. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -1
  392. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +2 -2
  393. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -1
  394. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +3 -3
  395. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -1
  396. package/dist/generated/templates/MultiInputTemplate.lit.js +27 -30
  397. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -1
  398. package/dist/generated/templates/NavigationMenuTemplate.lit.js +7 -7
  399. package/dist/generated/templates/NavigationMenuTemplate.lit.js.map +1 -1
  400. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +2 -2
  401. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -1
  402. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +2 -2
  403. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  404. package/dist/generated/templates/SelectPopoverTemplate.lit.js +1 -1
  405. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -1
  406. package/dist/generated/templates/SelectTemplate.lit.js +2 -2
  407. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -1
  408. package/dist/generated/templates/SplitButtonTemplate.lit.js +1 -1
  409. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -1
  410. package/dist/generated/templates/StandardListItemTemplate.lit.js +3 -3
  411. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +1 -1
  412. package/dist/generated/templates/StepInputTemplate.lit.js +1 -1
  413. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -1
  414. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +3 -3
  415. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -1
  416. package/dist/generated/templates/TabContainerTemplate.lit.js +2 -2
  417. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -1
  418. package/dist/generated/templates/TabInStripTemplate.lit.js +1 -1
  419. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -1
  420. package/dist/generated/templates/TagTemplate.lit.d.ts +4 -0
  421. package/dist/generated/templates/TagTemplate.lit.js +11 -0
  422. package/dist/generated/templates/TagTemplate.lit.js.map +1 -0
  423. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js +1 -1
  424. package/dist/generated/templates/TimeSelectionClocksTemplate.lit.js.map +1 -1
  425. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js +1 -1
  426. package/dist/generated/templates/TimeSelectionInputsTemplate.lit.js.map +1 -1
  427. package/dist/generated/templates/ToggleButtonTemplate.lit.js +1 -1
  428. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -1
  429. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js +2 -2
  430. package/dist/generated/templates/ToggleSpinButtonTemplate.lit.js.map +1 -1
  431. package/dist/generated/templates/TokenTemplate.lit.js +2 -2
  432. package/dist/generated/templates/TokenTemplate.lit.js.map +1 -1
  433. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +5 -10
  434. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -1
  435. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -11
  436. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -1
  437. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +1 -1
  438. package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -1
  439. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +1 -1
  440. package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -1
  441. package/dist/generated/templates/TreeItemTemplate.lit.js +1 -1
  442. package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -1
  443. package/dist/generated/templates/TreeTemplate.lit.js +1 -1
  444. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -1
  445. package/dist/generated/themes/Avatar.css.js +1 -1
  446. package/dist/generated/themes/Avatar.css.js.map +1 -1
  447. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  448. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  449. package/dist/generated/themes/Bar.css.js +1 -1
  450. package/dist/generated/themes/Bar.css.js.map +1 -1
  451. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  452. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  453. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  454. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  455. package/dist/generated/themes/Button.css.js +1 -1
  456. package/dist/generated/themes/Button.css.js.map +1 -1
  457. package/dist/generated/themes/Calendar.css.js +1 -1
  458. package/dist/generated/themes/Calendar.css.js.map +1 -1
  459. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  460. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  461. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  462. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  463. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  464. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  465. package/dist/generated/themes/Card.css.js +1 -1
  466. package/dist/generated/themes/Card.css.js.map +1 -1
  467. package/dist/generated/themes/CardHeader.css.js +1 -1
  468. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  469. package/dist/generated/themes/Carousel.css.js +1 -1
  470. package/dist/generated/themes/Carousel.css.js.map +1 -1
  471. package/dist/generated/themes/CheckBox.css.js +1 -1
  472. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  473. package/dist/generated/themes/ColorPalette.css.js +1 -1
  474. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  475. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  476. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  477. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  478. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  479. package/dist/generated/themes/ColorPicker.css.js +1 -1
  480. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  481. package/dist/generated/themes/ComboBox.css.js +1 -1
  482. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  483. package/dist/generated/themes/CustomListItem.css.js +1 -1
  484. package/dist/generated/themes/CustomListItem.css.js.map +1 -1
  485. package/dist/generated/themes/DatePicker.css.js +1 -1
  486. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  487. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  488. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  489. package/dist/generated/themes/DayPicker.css.js +1 -1
  490. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  491. package/dist/generated/themes/Dialog.css.js +1 -1
  492. package/dist/generated/themes/Dialog.css.js.map +1 -1
  493. package/dist/generated/themes/FileUploader.css.js +1 -1
  494. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  495. package/dist/generated/themes/GrowingButton.css.js +1 -1
  496. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  497. package/dist/generated/themes/Icon.css.js +1 -1
  498. package/dist/generated/themes/Icon.css.js.map +1 -1
  499. package/dist/generated/themes/Input.css.js +1 -1
  500. package/dist/generated/themes/Input.css.js.map +1 -1
  501. package/dist/generated/themes/InputIcon.css.js +1 -1
  502. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  503. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  504. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  505. package/dist/generated/themes/Link.css.js +1 -1
  506. package/dist/generated/themes/Link.css.js.map +1 -1
  507. package/dist/generated/themes/List.css.js +1 -1
  508. package/dist/generated/themes/List.css.js.map +1 -1
  509. package/dist/generated/themes/ListItem.css.js +1 -1
  510. package/dist/generated/themes/ListItem.css.js.map +1 -1
  511. package/dist/generated/themes/ListItemBase.css.js +1 -1
  512. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  513. package/dist/generated/themes/{TableCell.css.js → ListItemGroup.css.js} +2 -2
  514. package/dist/generated/themes/{TimeSelection.css.js.map → ListItemGroup.css.js.map} +1 -1
  515. package/dist/generated/themes/{GroupHeaderListItem.css.js → ListItemGroupHeader.css.js} +2 -2
  516. package/dist/generated/themes/{GroupHeaderListItem.css.js.map → ListItemGroupHeader.css.js.map} +1 -1
  517. package/dist/generated/themes/Menu.css.js +1 -1
  518. package/dist/generated/themes/Menu.css.js.map +1 -1
  519. package/dist/generated/themes/MenuListItem.css.js +1 -1
  520. package/dist/generated/themes/MenuListItem.css.js.map +1 -1
  521. package/dist/generated/themes/MessageStrip.css.js +1 -1
  522. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  523. package/dist/generated/themes/MonthPicker.css.js +1 -1
  524. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  525. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  526. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  527. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  528. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  529. package/dist/generated/themes/MultiInput.css.js +1 -1
  530. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  531. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  532. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  533. package/dist/generated/themes/Panel.css.js +1 -1
  534. package/dist/generated/themes/Panel.css.js.map +1 -1
  535. package/dist/generated/themes/Popover.css.js +1 -1
  536. package/dist/generated/themes/Popover.css.js.map +1 -1
  537. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  538. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  539. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  540. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  541. package/dist/generated/themes/RadioButton.css.js +1 -1
  542. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  543. package/dist/generated/themes/RangeSlider.css.js +1 -1
  544. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  545. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  546. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  547. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  548. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  549. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  550. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  551. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  552. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  553. package/dist/generated/themes/SegmentedButtonItem.css.js +9 -0
  554. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -0
  555. package/dist/generated/themes/Select.css.js +1 -1
  556. package/dist/generated/themes/Select.css.js.map +1 -1
  557. package/dist/generated/themes/SelectMenu.css.js +1 -1
  558. package/dist/generated/themes/SelectMenu.css.js.map +1 -1
  559. package/dist/generated/themes/SelectPopover.css.js +1 -1
  560. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  561. package/dist/generated/themes/SliderBase.css.js +1 -1
  562. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  563. package/dist/generated/themes/SplitButton.css.js +1 -1
  564. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  565. package/dist/generated/themes/StepInput.css.js +1 -1
  566. package/dist/generated/themes/StepInput.css.js.map +1 -1
  567. package/dist/generated/themes/Switch.css.js +1 -1
  568. package/dist/generated/themes/Switch.css.js.map +1 -1
  569. package/dist/generated/themes/TabContainer.css.js +1 -1
  570. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  571. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  572. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  573. package/dist/generated/themes/TabInStrip.css.js +1 -1
  574. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  575. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  576. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  577. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  578. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  579. package/dist/generated/themes/Tag.css.js +9 -0
  580. package/dist/generated/themes/Tag.css.js.map +1 -0
  581. package/dist/generated/themes/Text.css.js +1 -1
  582. package/dist/generated/themes/Text.css.js.map +1 -1
  583. package/dist/generated/themes/TextArea.css.js +1 -1
  584. package/dist/generated/themes/TextArea.css.js.map +1 -1
  585. package/dist/generated/themes/TimePicker.css.js +1 -1
  586. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  587. package/dist/generated/themes/Title.css.js +1 -1
  588. package/dist/generated/themes/Title.css.js.map +1 -1
  589. package/dist/generated/themes/Toast.css.js +1 -1
  590. package/dist/generated/themes/Toast.css.js.map +1 -1
  591. package/dist/generated/themes/ToggleButton.css.js +1 -1
  592. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  593. package/dist/generated/themes/Token.css.js +1 -1
  594. package/dist/generated/themes/Token.css.js.map +1 -1
  595. package/dist/generated/themes/Tokenizer.css.js +1 -1
  596. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  597. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  598. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  599. package/dist/generated/themes/Toolbar.css.js +1 -1
  600. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  601. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  602. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  603. package/dist/generated/themes/TreeItem.css.js +1 -1
  604. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  605. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  606. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  607. package/dist/generated/themes/YearPicker.css.js +1 -1
  608. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  609. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  610. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  611. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  612. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  613. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  614. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  615. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  616. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  617. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  618. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  619. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  620. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  621. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  622. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  623. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  624. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  625. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  626. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  627. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  628. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  629. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  630. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  631. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  632. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  633. package/dist/types/HighlightTypes.d.ts +3 -3
  634. package/dist/types/HighlightTypes.js +3 -3
  635. package/dist/types/HighlightTypes.js.map +1 -1
  636. package/dist/types/IconMode.d.ts +28 -0
  637. package/dist/types/IconMode.js +30 -0
  638. package/dist/types/IconMode.js.map +1 -0
  639. package/dist/types/ListAccessibleRole.d.ts +28 -0
  640. package/dist/types/ListAccessibleRole.js +30 -0
  641. package/dist/types/ListAccessibleRole.js.map +1 -0
  642. package/dist/types/ListItemAccessibleRole.d.ts +33 -0
  643. package/dist/types/ListItemAccessibleRole.js +35 -0
  644. package/dist/types/ListItemAccessibleRole.js.map +1 -0
  645. package/dist/types/MessageStripDesign.d.ts +1 -1
  646. package/dist/types/MessageStripDesign.js +1 -1
  647. package/dist/types/MessageStripDesign.js.map +1 -1
  648. package/dist/types/{SegmentedButtonMode.d.ts → SegmentedButtonSelectionMode.d.ts} +5 -5
  649. package/dist/types/SegmentedButtonSelectionMode.js +19 -0
  650. package/dist/types/SegmentedButtonSelectionMode.js.map +1 -0
  651. package/dist/types/{BadgeDesign.d.ts → TagDesign.d.ts} +3 -3
  652. package/dist/types/{BadgeDesign.js → TagDesign.js} +14 -14
  653. package/dist/types/TagDesign.js.map +1 -0
  654. package/dist/types/TagSize.d.ts +17 -0
  655. package/dist/types/TagSize.js +19 -0
  656. package/dist/types/TagSize.js.map +1 -0
  657. package/dist/vscode.html-custom-data.json +300 -469
  658. package/dist/web-types.json +498 -815
  659. package/package.json +10 -10
  660. package/src/AvatarGroup.hbs +1 -1
  661. package/src/Breadcrumbs.hbs +2 -2
  662. package/src/Button.hbs +1 -1
  663. package/src/ColorPalettePopover.hbs +1 -0
  664. package/src/ComboBoxPopover.hbs +2 -1
  665. package/src/DatePickerInput.hbs +4 -4
  666. package/src/DatePickerPopover.hbs +4 -1
  667. package/src/FileUploader.hbs +2 -0
  668. package/src/Input.hbs +7 -6
  669. package/src/InputPopover.hbs +31 -11
  670. package/src/List.hbs +1 -2
  671. package/src/ListItem.hbs +0 -1
  672. package/src/ListItemGroup.hbs +12 -0
  673. package/src/Menu.hbs +10 -10
  674. package/src/MultiComboBox.hbs +2 -2
  675. package/src/MultiComboBoxPopover.hbs +2 -2
  676. package/src/MultiInput.hbs +4 -15
  677. package/src/NavigationMenu.hbs +11 -11
  678. package/src/ResponsivePopover.hbs +8 -2
  679. package/src/SegmentedButtonItem.hbs +5 -15
  680. package/src/Select.hbs +1 -1
  681. package/src/SelectPopover.hbs +1 -1
  682. package/src/SplitButton.hbs +1 -3
  683. package/src/StandardListItem.hbs +2 -2
  684. package/src/StepInput.hbs +1 -1
  685. package/src/TabContainer.hbs +2 -2
  686. package/src/TabInStrip.hbs +1 -1
  687. package/src/{Badge.hbs → Tag.hbs} +5 -5
  688. package/src/TimeSelectionClocks.hbs +1 -1
  689. package/src/TimeSelectionInputs.hbs +1 -1
  690. package/src/ToggleSpinButton.hbs +0 -1
  691. package/src/Token.hbs +3 -1
  692. package/src/Tokenizer.hbs +11 -6
  693. package/src/TokenizerPopover.hbs +25 -38
  694. package/src/Tree.hbs +0 -1
  695. package/src/i18n/messagebundle.properties +17 -14
  696. package/src/i18n/messagebundle_ar.properties +9 -7
  697. package/src/i18n/messagebundle_bg.properties +9 -7
  698. package/src/i18n/messagebundle_ca.properties +9 -7
  699. package/src/i18n/messagebundle_cnr.properties +9 -7
  700. package/src/i18n/messagebundle_cs.properties +9 -7
  701. package/src/i18n/messagebundle_cy.properties +9 -7
  702. package/src/i18n/messagebundle_da.properties +9 -7
  703. package/src/i18n/messagebundle_de.properties +9 -7
  704. package/src/i18n/messagebundle_el.properties +9 -7
  705. package/src/i18n/messagebundle_en.properties +9 -7
  706. package/src/i18n/messagebundle_en_GB.properties +9 -7
  707. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  708. package/src/i18n/messagebundle_en_US_saprigi.properties +9 -7
  709. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  710. package/src/i18n/messagebundle_es.properties +9 -7
  711. package/src/i18n/messagebundle_es_MX.properties +9 -7
  712. package/src/i18n/messagebundle_et.properties +9 -7
  713. package/src/i18n/messagebundle_fi.properties +9 -7
  714. package/src/i18n/messagebundle_fr.properties +9 -7
  715. package/src/i18n/messagebundle_fr_CA.properties +9 -7
  716. package/src/i18n/messagebundle_hi.properties +9 -7
  717. package/src/i18n/messagebundle_hr.properties +9 -7
  718. package/src/i18n/messagebundle_hu.properties +9 -7
  719. package/src/i18n/messagebundle_id.properties +9 -7
  720. package/src/i18n/messagebundle_in.properties +1 -1
  721. package/src/i18n/messagebundle_it.properties +9 -7
  722. package/src/i18n/messagebundle_iw.properties +9 -7
  723. package/src/i18n/messagebundle_ja.properties +9 -7
  724. package/src/i18n/messagebundle_kk.properties +9 -7
  725. package/src/i18n/messagebundle_ko.properties +9 -7
  726. package/src/i18n/messagebundle_lt.properties +9 -7
  727. package/src/i18n/messagebundle_lv.properties +9 -7
  728. package/src/i18n/messagebundle_mk.properties +9 -7
  729. package/src/i18n/messagebundle_ms.properties +9 -7
  730. package/src/i18n/messagebundle_nl.properties +9 -7
  731. package/src/i18n/messagebundle_no.properties +9 -7
  732. package/src/i18n/messagebundle_pl.properties +9 -7
  733. package/src/i18n/messagebundle_pt.properties +9 -7
  734. package/src/i18n/messagebundle_pt_PT.properties +9 -7
  735. package/src/i18n/messagebundle_ro.properties +9 -7
  736. package/src/i18n/messagebundle_ru.properties +9 -7
  737. package/src/i18n/messagebundle_sh.properties +32 -30
  738. package/src/i18n/messagebundle_sk.properties +9 -7
  739. package/src/i18n/messagebundle_sl.properties +9 -7
  740. package/src/i18n/messagebundle_sr.properties +9 -7
  741. package/src/i18n/messagebundle_sv.properties +9 -7
  742. package/src/i18n/messagebundle_th.properties +9 -7
  743. package/src/i18n/messagebundle_tr.properties +9 -7
  744. package/src/i18n/messagebundle_uk.properties +9 -7
  745. package/src/i18n/messagebundle_vi.properties +9 -7
  746. package/src/i18n/messagebundle_zh_CN.properties +9 -7
  747. package/src/i18n/messagebundle_zh_TW.properties +9 -7
  748. package/src/themes/Avatar.css +9 -9
  749. package/src/themes/CheckBox.css +12 -12
  750. package/src/themes/Dialog.css +11 -6
  751. package/src/themes/FileUploader.css +3 -3
  752. package/src/themes/Icon.css +3 -3
  753. package/src/themes/Input.css +51 -51
  754. package/src/themes/InputSharedStyles.css +14 -14
  755. package/src/themes/Link.css +2 -2
  756. package/src/themes/ListItem.css +6 -6
  757. package/src/themes/ListItemGroup.css +13 -0
  758. package/src/themes/{GroupHeaderListItem.css → ListItemGroupHeader.css} +4 -0
  759. package/src/themes/MessageStrip.css +2 -2
  760. package/src/themes/MultiComboBox.css +4 -0
  761. package/src/themes/PopupsCommon.css +1 -1
  762. package/src/themes/ProgressIndicator.css +18 -19
  763. package/src/themes/RadioButton.css +18 -18
  764. package/src/themes/ResponsivePopoverCommon.css +17 -17
  765. package/src/themes/SegmentedButton.css +2 -2
  766. package/src/themes/SegmentedButtonItem.css +158 -0
  767. package/src/themes/SplitButton.css +2 -1
  768. package/src/themes/StepInput.css +20 -20
  769. package/src/themes/Tag.css +616 -0
  770. package/src/themes/TextArea.css +34 -34
  771. package/src/themes/TimePicker.css +1 -1
  772. package/src/themes/Title.css +10 -3
  773. package/src/themes/Token.css +10 -15
  774. package/src/themes/Tokenizer.css +24 -10
  775. package/src/themes/TokenizerPopover.css +14 -2
  776. package/src/themes/base/Link-parameters.css +1 -2
  777. package/src/themes/base/SegmentedButtonItem-parameters.css +1 -0
  778. package/src/themes/base/Tag-parameters.css +170 -0
  779. package/src/themes/base/sizes-parameters.css +0 -24
  780. package/src/themes/sap_fiori_3/SegmentedButtonItem-parameters.css +1 -0
  781. package/src/themes/sap_fiori_3/parameters-bundle.css +3 -7
  782. package/src/themes/sap_fiori_3_dark/SegmentedButtonItem-parameters.css +1 -0
  783. package/src/themes/sap_fiori_3_dark/Tag-parameters.css +5 -0
  784. package/src/themes/sap_fiori_3_dark/parameters-bundle.css +3 -7
  785. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -2
  786. package/src/themes/sap_fiori_3_hcb/SegmentedButtonItem-parameters.css +1 -0
  787. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +46 -0
  788. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +3 -7
  789. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -2
  790. package/src/themes/sap_fiori_3_hcw/SegmentedButtonItem-parameters.css +1 -0
  791. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +46 -0
  792. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +3 -7
  793. package/src/themes/sap_horizon/Link-parameters.css +1 -2
  794. package/src/themes/sap_horizon/SegmentedButtonItem-parameters.css +1 -0
  795. package/src/themes/sap_horizon/Tag-parameters.css +46 -0
  796. package/src/themes/sap_horizon/parameters-bundle.css +3 -9
  797. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -2
  798. package/src/themes/sap_horizon_dark/SegmentedButtonItem-parameters.css +1 -0
  799. package/src/themes/sap_horizon_dark/Tag-parameters.css +46 -0
  800. package/src/themes/sap_horizon_dark/parameters-bundle.css +4 -10
  801. package/src/themes/sap_horizon_dark_exp/Link-parameters.css +1 -2
  802. package/src/themes/sap_horizon_dark_exp/Tag-parameters.css +43 -0
  803. package/src/themes/sap_horizon_dark_exp/parameters-bundle.css +2 -9
  804. package/src/themes/sap_horizon_exp/Link-parameters.css +1 -2
  805. package/src/themes/sap_horizon_exp/Tag-parameters.css +43 -0
  806. package/src/themes/sap_horizon_exp/parameters-bundle.css +2 -9
  807. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -2
  808. package/src/themes/sap_horizon_hcb/SegmentedButtonItem-parameters.css +1 -0
  809. package/src/themes/sap_horizon_hcb/Tag-parameters.css +151 -0
  810. package/src/themes/sap_horizon_hcb/parameters-bundle.css +3 -7
  811. package/src/themes/sap_horizon_hcb_exp/Link-parameters.css +1 -2
  812. package/src/themes/sap_horizon_hcb_exp/Tag-parameters.css +43 -0
  813. package/src/themes/sap_horizon_hcb_exp/parameters-bundle.css +2 -7
  814. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -2
  815. package/src/themes/sap_horizon_hcw/SegmentedButtonItem-parameters.css +1 -0
  816. package/src/themes/sap_horizon_hcw/Tag-parameters.css +154 -0
  817. package/src/themes/sap_horizon_hcw/parameters-bundle.css +3 -7
  818. package/src/themes/sap_horizon_hcw_exp/Link-parameters.css +1 -2
  819. package/src/themes/sap_horizon_hcw_exp/Tag-parameters.css +43 -0
  820. package/src/themes/sap_horizon_hcw_exp/parameters-bundle.css +2 -7
  821. package/.eslintrc.cjs +0 -3
  822. package/config/wdio.conf.cjs +0 -15
  823. package/customI18n.js +0 -50
  824. package/dist/Badge.js.map +0 -1
  825. package/dist/GroupHeaderListItem.js.map +0 -1
  826. package/dist/Table.d.ts +0 -362
  827. package/dist/Table.js +0 -868
  828. package/dist/Table.js.map +0 -1
  829. package/dist/TableCell.d.ts +0 -37
  830. package/dist/TableCell.js +0 -63
  831. package/dist/TableCell.js.map +0 -1
  832. package/dist/TableColumn.d.ts +0 -63
  833. package/dist/TableColumn.js +0 -59
  834. package/dist/TableColumn.js.map +0 -1
  835. package/dist/TableGroupRow.d.ts +0 -44
  836. package/dist/TableGroupRow.js +0 -102
  837. package/dist/TableGroupRow.js.map +0 -1
  838. package/dist/TableRow.d.ts +0 -120
  839. package/dist/TableRow.js +0 -323
  840. package/dist/TableRow.js.map +0 -1
  841. package/dist/TimePickerBase.d.ts +0 -174
  842. package/dist/TimePickerBase.js +0 -476
  843. package/dist/TimePickerBase.js.map +0 -1
  844. package/dist/TimeSelection.d.ts +0 -144
  845. package/dist/TimeSelection.js +0 -376
  846. package/dist/TimeSelection.js.map +0 -1
  847. package/dist/WheelSlider.d.ts +0 -101
  848. package/dist/WheelSlider.js +0 -338
  849. package/dist/WheelSlider.js.map +0 -1
  850. package/dist/css/themes/Badge.css +0 -1
  851. package/dist/css/themes/Table.css +0 -1
  852. package/dist/css/themes/TableCell.css +0 -1
  853. package/dist/css/themes/TableColumn.css +0 -1
  854. package/dist/css/themes/TableGroupRow.css +0 -1
  855. package/dist/css/themes/TableRow.css +0 -1
  856. package/dist/css/themes/TimeSelection.css +0 -1
  857. package/dist/css/themes/WheelSlider.css +0 -1
  858. package/dist/css/themes/sap_belize/parameters-bundle.css +0 -1
  859. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +0 -1
  860. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +0 -1
  861. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +0 -1
  862. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +0 -1
  863. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +0 -1
  864. package/dist/generated/templates/BadgeTemplate.lit.d.ts +0 -4
  865. package/dist/generated/templates/BadgeTemplate.lit.js +0 -11
  866. package/dist/generated/templates/BadgeTemplate.lit.js.map +0 -1
  867. package/dist/generated/templates/TableCellTemplate.lit.d.ts +0 -4
  868. package/dist/generated/templates/TableCellTemplate.lit.js +0 -5
  869. package/dist/generated/templates/TableCellTemplate.lit.js.map +0 -1
  870. package/dist/generated/templates/TableColumnTemplate.lit.d.ts +0 -4
  871. package/dist/generated/templates/TableColumnTemplate.lit.js +0 -5
  872. package/dist/generated/templates/TableColumnTemplate.lit.js.map +0 -1
  873. package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +0 -4
  874. package/dist/generated/templates/TableGroupRowTemplate.lit.js +0 -5
  875. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +0 -1
  876. package/dist/generated/templates/TableRowTemplate.lit.d.ts +0 -4
  877. package/dist/generated/templates/TableRowTemplate.lit.js +0 -16
  878. package/dist/generated/templates/TableRowTemplate.lit.js.map +0 -1
  879. package/dist/generated/templates/TableTemplate.lit.d.ts +0 -4
  880. package/dist/generated/templates/TableTemplate.lit.js +0 -15
  881. package/dist/generated/templates/TableTemplate.lit.js.map +0 -1
  882. package/dist/generated/templates/TimeSelectionTemplate.lit.js +0 -9
  883. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +0 -1
  884. package/dist/generated/templates/WheelSliderTemplate.lit.d.ts +0 -4
  885. package/dist/generated/templates/WheelSliderTemplate.lit.js +0 -8
  886. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +0 -1
  887. package/dist/generated/themes/Badge.css.js +0 -9
  888. package/dist/generated/themes/Badge.css.js.map +0 -1
  889. package/dist/generated/themes/Table.css.js +0 -9
  890. package/dist/generated/themes/Table.css.js.map +0 -1
  891. package/dist/generated/themes/TableCell.css.js.map +0 -1
  892. package/dist/generated/themes/TableColumn.css.d.ts +0 -3
  893. package/dist/generated/themes/TableColumn.css.js +0 -9
  894. package/dist/generated/themes/TableColumn.css.js.map +0 -1
  895. package/dist/generated/themes/TableGroupRow.css.d.ts +0 -3
  896. package/dist/generated/themes/TableGroupRow.css.js +0 -9
  897. package/dist/generated/themes/TableGroupRow.css.js.map +0 -1
  898. package/dist/generated/themes/TableRow.css.d.ts +0 -3
  899. package/dist/generated/themes/TableRow.css.js +0 -9
  900. package/dist/generated/themes/TableRow.css.js.map +0 -1
  901. package/dist/generated/themes/TimeSelection.css.d.ts +0 -3
  902. package/dist/generated/themes/TimeSelection.css.js +0 -9
  903. package/dist/generated/themes/WheelSlider.css.d.ts +0 -3
  904. package/dist/generated/themes/WheelSlider.css.js +0 -9
  905. package/dist/generated/themes/WheelSlider.css.js.map +0 -1
  906. package/dist/generated/themes/sap_belize/parameters-bundle.css.d.ts +0 -3
  907. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +0 -4
  908. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +0 -1
  909. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.d.ts +0 -3
  910. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +0 -4
  911. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +0 -1
  912. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.d.ts +0 -3
  913. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +0 -4
  914. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +0 -1
  915. package/dist/types/BadgeDesign.js.map +0 -1
  916. package/dist/types/HasPopup.d.ts +0 -32
  917. package/dist/types/HasPopup.js +0 -34
  918. package/dist/types/HasPopup.js.map +0 -1
  919. package/dist/types/SegmentedButtonMode.js +0 -19
  920. package/dist/types/SegmentedButtonMode.js.map +0 -1
  921. package/dist/types/TableColumnPopinDisplay.d.ts +0 -17
  922. package/dist/types/TableColumnPopinDisplay.js +0 -19
  923. package/dist/types/TableColumnPopinDisplay.js.map +0 -1
  924. package/dist/types/TableGrowingMode.d.ts +0 -23
  925. package/dist/types/TableGrowingMode.js +0 -25
  926. package/dist/types/TableGrowingMode.js.map +0 -1
  927. package/dist/types/TableMode.d.ts +0 -22
  928. package/dist/types/TableMode.js +0 -24
  929. package/dist/types/TableMode.js.map +0 -1
  930. package/dist/types/TableRowType.d.ts +0 -17
  931. package/dist/types/TableRowType.js +0 -19
  932. package/dist/types/TableRowType.js.map +0 -1
  933. package/src/Table.hbs +0 -121
  934. package/src/TableCell.hbs +0 -7
  935. package/src/TableColumn.hbs +0 -7
  936. package/src/TableGroupRow.hbs +0 -11
  937. package/src/TableRow.hbs +0 -85
  938. package/src/TimeSelection.hbs +0 -64
  939. package/src/WheelSlider.hbs +0 -49
  940. package/src/themes/Badge.css +0 -594
  941. package/src/themes/Table.css +0 -106
  942. package/src/themes/TableCell.css +0 -27
  943. package/src/themes/TableColumn.css +0 -25
  944. package/src/themes/TableGroupRow.css +0 -32
  945. package/src/themes/TableRow.css +0 -130
  946. package/src/themes/TimeSelection.css +0 -27
  947. package/src/themes/WheelSlider.css +0 -203
  948. package/src/themes/base/Badge-parameters.css +0 -160
  949. package/src/themes/base/Table-parameters.css +0 -10
  950. package/src/themes/base/TableColumn-parameters.css +0 -3
  951. package/src/themes/base/TableGroupRow-parameters.css +0 -4
  952. package/src/themes/base/TableRow-parameters.css +0 -4
  953. package/src/themes/base/WheelSlider-parameters.css +0 -15
  954. package/src/themes/sap_belize/BrowserScrollbar-parameters.css +0 -4
  955. package/src/themes/sap_belize/BusyIndicator-parameters.css +0 -5
  956. package/src/themes/sap_belize/Button-parameters.css +0 -9
  957. package/src/themes/sap_belize/Card-parameters.css +0 -5
  958. package/src/themes/sap_belize/Carousel-parameters.css +0 -9
  959. package/src/themes/sap_belize/DayPicker-parameters.css +0 -25
  960. package/src/themes/sap_belize/Dialog-parameters.css +0 -5
  961. package/src/themes/sap_belize/Input-parameters.css +0 -22
  962. package/src/themes/sap_belize/InputIcon-parameters.css +0 -5
  963. package/src/themes/sap_belize/Panel-parameters.css +0 -14
  964. package/src/themes/sap_belize/PopupsCommon-parameters.css +0 -8
  965. package/src/themes/sap_belize/ProgressIndicator-parameters.css +0 -8
  966. package/src/themes/sap_belize/SliderBase-parameters.css +0 -23
  967. package/src/themes/sap_belize/SplitButton-parameters.css +0 -6
  968. package/src/themes/sap_belize/TabContainer-parameters.css +0 -10
  969. package/src/themes/sap_belize/Table-parameters.css +0 -7
  970. package/src/themes/sap_belize/TableRow-parameters.css +0 -6
  971. package/src/themes/sap_belize/TextArea-parameters.css +0 -23
  972. package/src/themes/sap_belize/TimePicker-parameters.css +0 -5
  973. package/src/themes/sap_belize/ToggleButton-parameters.css +0 -5
  974. package/src/themes/sap_belize/Token-parameters.css +0 -8
  975. package/src/themes/sap_belize/Tokenizer-parameters.css +0 -5
  976. package/src/themes/sap_belize/WheelSlider-parameters.css +0 -17
  977. package/src/themes/sap_belize/parameters-bundle.css +0 -62
  978. package/src/themes/sap_belize/sizes-parameters.css +0 -17
  979. package/src/themes/sap_belize_hcb/Avatar-parameters.css +0 -20
  980. package/src/themes/sap_belize_hcb/Badge-parameters.css +0 -43
  981. package/src/themes/sap_belize_hcb/BrowserScrollbar-parameters.css +0 -4
  982. package/src/themes/sap_belize_hcb/Button-parameters.css +0 -12
  983. package/src/themes/sap_belize_hcb/CalendarHeader-parameters.css +0 -11
  984. package/src/themes/sap_belize_hcb/Card-parameters.css +0 -7
  985. package/src/themes/sap_belize_hcb/Carousel-parameters.css +0 -9
  986. package/src/themes/sap_belize_hcb/CheckBox-parameters.css +0 -12
  987. package/src/themes/sap_belize_hcb/DatePicker-parameters.css +0 -6
  988. package/src/themes/sap_belize_hcb/DayPicker-parameters.css +0 -23
  989. package/src/themes/sap_belize_hcb/FileUploader-parameters.css +0 -5
  990. package/src/themes/sap_belize_hcb/GrowingButton-parameters.css +0 -8
  991. package/src/themes/sap_belize_hcb/Input-parameters.css +0 -37
  992. package/src/themes/sap_belize_hcb/InputIcon-parameters.css +0 -5
  993. package/src/themes/sap_belize_hcb/Link-parameters.css +0 -8
  994. package/src/themes/sap_belize_hcb/MessageStrip-parameters.css +0 -31
  995. package/src/themes/sap_belize_hcb/MonthPicker-parameters.css +0 -10
  996. package/src/themes/sap_belize_hcb/Panel-parameters.css +0 -13
  997. package/src/themes/sap_belize_hcb/PopupsCommon-parameters.css +0 -5
  998. package/src/themes/sap_belize_hcb/ProgressIndicator-parameters.css +0 -11
  999. package/src/themes/sap_belize_hcb/RadioButton-parameters.css +0 -14
  1000. package/src/themes/sap_belize_hcb/Select-parameters.css +0 -10
  1001. package/src/themes/sap_belize_hcb/SliderBase-parameters.css +0 -17
  1002. package/src/themes/sap_belize_hcb/SplitButton-parameters.css +0 -13
  1003. package/src/themes/sap_belize_hcb/Switch-parameters.css +0 -16
  1004. package/src/themes/sap_belize_hcb/TabContainer-parameters.css +0 -44
  1005. package/src/themes/sap_belize_hcb/Table-parameters.css +0 -7
  1006. package/src/themes/sap_belize_hcb/TableRow-parameters.css +0 -7
  1007. package/src/themes/sap_belize_hcb/TextArea-parameters.css +0 -39
  1008. package/src/themes/sap_belize_hcb/ToggleButton-parameters.css +0 -7
  1009. package/src/themes/sap_belize_hcb/Token-parameters.css +0 -10
  1010. package/src/themes/sap_belize_hcb/ValueStateMessage-parameters.css +0 -10
  1011. package/src/themes/sap_belize_hcb/WheelSlider-parameters.css +0 -17
  1012. package/src/themes/sap_belize_hcb/YearPicker-parameters.css +0 -10
  1013. package/src/themes/sap_belize_hcb/parameters-bundle.css +0 -60
  1014. package/src/themes/sap_belize_hcb/sizes-parameters.css +0 -15
  1015. package/src/themes/sap_belize_hcw/Avatar-parameters.css +0 -20
  1016. package/src/themes/sap_belize_hcw/Badge-parameters.css +0 -43
  1017. package/src/themes/sap_belize_hcw/BrowserScrollbar-parameters.css +0 -4
  1018. package/src/themes/sap_belize_hcw/Button-parameters.css +0 -12
  1019. package/src/themes/sap_belize_hcw/CalendarHeader-parameters.css +0 -11
  1020. package/src/themes/sap_belize_hcw/Card-parameters.css +0 -7
  1021. package/src/themes/sap_belize_hcw/Carousel-parameters.css +0 -9
  1022. package/src/themes/sap_belize_hcw/CheckBox-parameters.css +0 -12
  1023. package/src/themes/sap_belize_hcw/DatePicker-parameters.css +0 -5
  1024. package/src/themes/sap_belize_hcw/DayPicker-parameters.css +0 -24
  1025. package/src/themes/sap_belize_hcw/FileUploader-parameters.css +0 -5
  1026. package/src/themes/sap_belize_hcw/GrowingButton-parameters.css +0 -8
  1027. package/src/themes/sap_belize_hcw/Input-parameters.css +0 -37
  1028. package/src/themes/sap_belize_hcw/InputIcon-parameters.css +0 -5
  1029. package/src/themes/sap_belize_hcw/Link-parameters.css +0 -8
  1030. package/src/themes/sap_belize_hcw/MessageStrip-parameters.css +0 -31
  1031. package/src/themes/sap_belize_hcw/MonthPicker-parameters.css +0 -10
  1032. package/src/themes/sap_belize_hcw/Panel-parameters.css +0 -13
  1033. package/src/themes/sap_belize_hcw/PopupsCommon-parameters.css +0 -5
  1034. package/src/themes/sap_belize_hcw/ProgressIndicator-parameters.css +0 -11
  1035. package/src/themes/sap_belize_hcw/RadioButton-parameters.css +0 -14
  1036. package/src/themes/sap_belize_hcw/Select-parameters.css +0 -10
  1037. package/src/themes/sap_belize_hcw/SliderBase-parameters.css +0 -17
  1038. package/src/themes/sap_belize_hcw/SplitButton-parameters.css +0 -13
  1039. package/src/themes/sap_belize_hcw/Switch-parameters.css +0 -16
  1040. package/src/themes/sap_belize_hcw/TabContainer-parameters.css +0 -44
  1041. package/src/themes/sap_belize_hcw/Table-parameters.css +0 -7
  1042. package/src/themes/sap_belize_hcw/TableRow-parameters.css +0 -7
  1043. package/src/themes/sap_belize_hcw/TextArea-parameters.css +0 -39
  1044. package/src/themes/sap_belize_hcw/ToggleButton-parameters.css +0 -6
  1045. package/src/themes/sap_belize_hcw/Token-parameters.css +0 -10
  1046. package/src/themes/sap_belize_hcw/ValueStateMessage-parameters.css +0 -10
  1047. package/src/themes/sap_belize_hcw/WheelSlider-parameters.css +0 -17
  1048. package/src/themes/sap_belize_hcw/YearPicker-parameters.css +0 -10
  1049. package/src/themes/sap_belize_hcw/parameters-bundle.css +0 -60
  1050. package/src/themes/sap_belize_hcw/sizes-parameters.css +0 -15
  1051. package/src/themes/sap_fiori_3/WheelSlider-parameters.css +0 -16
  1052. package/src/themes/sap_fiori_3_dark/Badge-parameters.css +0 -5
  1053. package/src/themes/sap_fiori_3_dark/WheelSlider-parameters.css +0 -15
  1054. package/src/themes/sap_fiori_3_hcb/Badge-parameters.css +0 -46
  1055. package/src/themes/sap_fiori_3_hcb/Table-parameters.css +0 -5
  1056. package/src/themes/sap_fiori_3_hcb/TableRow-parameters.css +0 -5
  1057. package/src/themes/sap_fiori_3_hcb/WheelSlider-parameters.css +0 -17
  1058. package/src/themes/sap_fiori_3_hcw/Badge-parameters.css +0 -46
  1059. package/src/themes/sap_fiori_3_hcw/Table-parameters.css +0 -5
  1060. package/src/themes/sap_fiori_3_hcw/TableRow-parameters.css +0 -5
  1061. package/src/themes/sap_fiori_3_hcw/WheelSlider-parameters.css +0 -17
  1062. package/src/themes/sap_horizon/Badge-parameters.css +0 -46
  1063. package/src/themes/sap_horizon/Table-parameters.css +0 -9
  1064. package/src/themes/sap_horizon/TableColumn-parameters.css +0 -5
  1065. package/src/themes/sap_horizon/TableGroupRow-parameters.css +0 -7
  1066. package/src/themes/sap_horizon/TableRow-parameters.css +0 -5
  1067. package/src/themes/sap_horizon/WheelSlider-parameters.css +0 -19
  1068. package/src/themes/sap_horizon_dark/Badge-parameters.css +0 -46
  1069. package/src/themes/sap_horizon_dark/Table-parameters.css +0 -9
  1070. package/src/themes/sap_horizon_dark/TableColumn-parameters.css +0 -5
  1071. package/src/themes/sap_horizon_dark/TableGroupRow-parameters.css +0 -7
  1072. package/src/themes/sap_horizon_dark/TableRow-parameters.css +0 -5
  1073. package/src/themes/sap_horizon_dark/WheelSlider-parameters.css +0 -19
  1074. package/src/themes/sap_horizon_dark_exp/Badge-parameters.css +0 -43
  1075. package/src/themes/sap_horizon_dark_exp/Table-parameters.css +0 -8
  1076. package/src/themes/sap_horizon_dark_exp/TableColumn-parameters.css +0 -5
  1077. package/src/themes/sap_horizon_dark_exp/TableGroupRow-parameters.css +0 -7
  1078. package/src/themes/sap_horizon_dark_exp/TableRow-parameters.css +0 -5
  1079. package/src/themes/sap_horizon_dark_exp/WheelSlider-parameters.css +0 -19
  1080. package/src/themes/sap_horizon_exp/Badge-parameters.css +0 -43
  1081. package/src/themes/sap_horizon_exp/Table-parameters.css +0 -8
  1082. package/src/themes/sap_horizon_exp/TableColumn-parameters.css +0 -5
  1083. package/src/themes/sap_horizon_exp/TableGroupRow-parameters.css +0 -7
  1084. package/src/themes/sap_horizon_exp/TableRow-parameters.css +0 -5
  1085. package/src/themes/sap_horizon_exp/WheelSlider-parameters.css +0 -19
  1086. package/src/themes/sap_horizon_hcb/Badge-parameters.css +0 -151
  1087. package/src/themes/sap_horizon_hcb/Table-parameters.css +0 -10
  1088. package/src/themes/sap_horizon_hcb/TableGroupRow-parameters.css +0 -7
  1089. package/src/themes/sap_horizon_hcb/TableRow-parameters.css +0 -5
  1090. package/src/themes/sap_horizon_hcb/WheelSlider-parameters.css +0 -17
  1091. package/src/themes/sap_horizon_hcb_exp/Badge-parameters.css +0 -43
  1092. package/src/themes/sap_horizon_hcb_exp/Table-parameters.css +0 -9
  1093. package/src/themes/sap_horizon_hcb_exp/TableGroupRow-parameters.css +0 -7
  1094. package/src/themes/sap_horizon_hcb_exp/TableRow-parameters.css +0 -5
  1095. package/src/themes/sap_horizon_hcb_exp/WheelSlider-parameters.css +0 -17
  1096. package/src/themes/sap_horizon_hcw/Badge-parameters.css +0 -154
  1097. package/src/themes/sap_horizon_hcw/Table-parameters.css +0 -10
  1098. package/src/themes/sap_horizon_hcw/TableGroupRow-parameters.css +0 -7
  1099. package/src/themes/sap_horizon_hcw/TableRow-parameters.css +0 -5
  1100. package/src/themes/sap_horizon_hcw/WheelSlider-parameters.css +0 -17
  1101. package/src/themes/sap_horizon_hcw_exp/Badge-parameters.css +0 -43
  1102. package/src/themes/sap_horizon_hcw_exp/Table-parameters.css +0 -9
  1103. package/src/themes/sap_horizon_hcw_exp/TableGroupRow-parameters.css +0 -7
  1104. package/src/themes/sap_horizon_hcw_exp/TableRow-parameters.css +0 -5
  1105. package/src/themes/sap_horizon_hcw_exp/WheelSlider-parameters.css +0 -17
  1106. /package/dist/generated/themes/{Badge.css.d.ts → ListItemGroup.css.d.ts} +0 -0
  1107. /package/dist/generated/themes/{GroupHeaderListItem.css.d.ts → ListItemGroupHeader.css.d.ts} +0 -0
  1108. /package/dist/generated/themes/{Table.css.d.ts → SegmentedButtonItem.css.d.ts} +0 -0
  1109. /package/dist/generated/themes/{TableCell.css.d.ts → Tag.css.d.ts} +0 -0
  1110. /package/src/{GroupHeaderListItem.hbs → ListItemGroupHeader.hbs} +0 -0
  1111. /package/src/themes/base/{GroupHeaderListItem-parameters.css → ListItemGroupHeader-parameters.css} +0 -0
@@ -10,14 +10,14 @@ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
10
10
  import event from "@ui5/webcomponents-base/dist/decorators/event.js";
11
11
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
12
12
  import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
13
- import { isShow, isBackSpace, isLeft, isRight, isRightCtrl, isHome, isEnd, } from "@ui5/webcomponents-base/dist/Keys.js";
13
+ import { isShow, isBackSpace, isLeft, isRight, isRightCtrl, isHome, isEnd, isDown, } from "@ui5/webcomponents-base/dist/Keys.js";
14
14
  import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
15
15
  import { MULTIINPUT_ROLEDESCRIPTION_TEXT } from "./generated/i18n/i18n-defaults.js";
16
16
  import Input from "./Input.js";
17
17
  import MultiInputTemplate from "./generated/templates/MultiInputTemplate.lit.js";
18
18
  import styles from "./generated/themes/MultiInput.css.js";
19
19
  import Token from "./Token.js";
20
- import Tokenizer, { ClipboardDataOperation } from "./Tokenizer.js";
20
+ import Tokenizer from "./Tokenizer.js";
21
21
  import Icon from "./Icon.js";
22
22
  import "@ui5/webcomponents-icons/dist/value-help.js";
23
23
  /**
@@ -29,7 +29,8 @@ import "@ui5/webcomponents-icons/dist/value-help.js";
29
29
  * Fiori Guidelines say that user should create tokens when:
30
30
  *
31
31
  * - Type a value in the input and press enter or focus out the input field (`change` event is fired)
32
- * - Select a value from the suggestion list (`suggestion-item-select` event is fired)
32
+ * - Move between suggestion items (`selection-change` event is fired)
33
+ * - 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 )
33
34
  *
34
35
  * ### ES6 Module Import
35
36
  *
@@ -47,13 +48,9 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
47
48
  this._valueHelpIconPressed = false;
48
49
  }
49
50
  valueHelpPress() {
50
- this.closePopover();
51
+ this.closeValueStatePopover();
51
52
  this.fireEvent("value-help-trigger");
52
53
  }
53
- showMorePress() {
54
- this.expandedTokenizer = false;
55
- this.focus();
56
- }
57
54
  tokenDelete(e) {
58
55
  const focusedToken = e.detail.ref;
59
56
  const selectedTokens = this.tokens.filter(token => token.selected);
@@ -77,8 +74,8 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
77
74
  }
78
75
  valueHelpMouseDown(e) {
79
76
  const target = e.target;
80
- this.closePopover();
81
- this.tokenizer.closeMorePopover();
77
+ this.closeValueStatePopover();
78
+ this.tokenizer.open = false;
82
79
  this._valueHelpIconPressed = true;
83
80
  target.focus();
84
81
  }
@@ -87,9 +84,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
87
84
  this.tokenizer._tokens.forEach(token => { token.selected = false; });
88
85
  this.tokenizer.scrollToStart();
89
86
  }
90
- if (e.relatedTarget === this.nativeInput) {
91
- this.tokenizer.closeMorePopover();
92
- }
93
87
  }
94
88
  valueHelpMouseUp() {
95
89
  setTimeout(() => {
@@ -97,10 +91,10 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
97
91
  }, 0);
98
92
  }
99
93
  innerFocusIn() {
100
- this.expandedTokenizer = true;
94
+ this.tokenizer.expanded = true;
101
95
  this.focused = true;
102
96
  this.tokenizer.scrollToEnd();
103
- this.tokenizer._getTokens().forEach(token => {
97
+ this.tokens.forEach(token => {
104
98
  token.selected = false;
105
99
  });
106
100
  }
@@ -108,8 +102,6 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
108
102
  super._onkeydown(e);
109
103
  const target = e.target;
110
104
  const isHomeInBeginning = isHome(e) && target.selectionStart === 0;
111
- const isCtrl = e.metaKey || e.ctrlKey;
112
- const tokens = this.tokens;
113
105
  if (isHomeInBeginning) {
114
106
  this._skipOpenSuggestions = true; // Prevent input focus when navigating through the tokens
115
107
  return this._focusFirstToken(e);
@@ -122,17 +114,10 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
122
114
  if (isShow(e)) {
123
115
  this.valueHelpPress();
124
116
  }
125
- if (isCtrl && e.key.toLowerCase() === "i" && tokens.length > 0) {
126
- e.preventDefault();
127
- this.closePopover();
128
- this.tokenizer.openMorePopover();
129
- }
130
117
  }
131
118
  _onTokenizerKeydown(e) {
132
119
  const rightCtrl = isRightCtrl(e);
133
- const isCtrl = !!(e.metaKey || e.ctrlKey);
134
- const tokens = this.tokens;
135
- if (isRight(e) || isEnd(e) || rightCtrl) {
120
+ if (isRight(e) || isDown(e) || isEnd(e) || rightCtrl) {
136
121
  e.preventDefault();
137
122
  const lastTokenIndex = this.tokens.length - 1;
138
123
  if (e.target === this.tokens[lastTokenIndex] && this.tokens[lastTokenIndex] === document.activeElement) {
@@ -140,35 +125,14 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
140
125
  this.focus();
141
126
  }, 0);
142
127
  }
143
- else if (rightCtrl) {
144
- e.preventDefault();
145
- return this.tokenizer._handleArrowCtrl(e, e.target, this.tokens, true);
146
- }
147
- }
148
- if (isCtrl && ["c", "x"].includes(e.key.toLowerCase())) {
149
- e.preventDefault();
150
- const isCut = e.key.toLowerCase() === "x";
151
- const selectedTokens = tokens.filter(token => token.selected);
152
- if (isCut) {
153
- const cutResult = this.tokenizer._fillClipboard(ClipboardDataOperation.cut, selectedTokens);
154
- selectedTokens.forEach(token => {
155
- this.fireEvent("token-delete", { token });
156
- });
157
- this.focus();
158
- return cutResult;
159
- }
160
- return this.tokenizer._fillClipboard(ClipboardDataOperation.copy, selectedTokens);
161
- }
162
- if (isCtrl && e.key.toLowerCase() === "i" && tokens.length > 0) {
163
- e.preventDefault();
164
- this.tokenizer.openMorePopover();
165
128
  }
166
129
  }
167
130
  _handleLeft(e) {
168
131
  const cursorPosition = this.getDomRef().querySelector(`input`).selectionStart;
169
132
  const tokens = this.tokens;
170
133
  const lastToken = tokens.length && tokens[tokens.length - 1];
171
- if (cursorPosition === 0 && lastToken) {
134
+ // selectionStart property applies only to inputs of types text, search, URL, tel, and password
135
+ if (((cursorPosition === null && !this.value) || cursorPosition === 0) && lastToken) {
172
136
  e.preventDefault();
173
137
  lastToken.focus();
174
138
  this.tokenizer._itemNav.setCurrentItem(lastToken);
@@ -189,18 +153,16 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
189
153
  const insideDOM = this.contains(relatedTarget);
190
154
  const insideShadowDom = this.shadowRoot.contains(relatedTarget);
191
155
  if (!insideDOM && !insideShadowDom) {
192
- this.expandedTokenizer = false;
193
- // we need to reset tabindex setting by tokenizer
194
- this.tokenizer._itemNav._currentIndex = -1;
156
+ this.tokenizer.expanded = false;
195
157
  }
196
158
  }
197
159
  /**
198
160
  * @override
199
161
  */
200
- async _onfocusin(e) {
201
- const inputDomRef = await this.getInputDOMRef();
162
+ _onfocusin(e) {
163
+ const inputDomRef = this.getInputDOMRef();
202
164
  if (e.target === inputDomRef) {
203
- await super._onfocusin(e);
165
+ super._onfocusin(e);
204
166
  }
205
167
  }
206
168
  lastItemDeleted() {
@@ -213,12 +175,25 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
213
175
  this.style.setProperty(getScopedVarName("--_ui5-input-icons-count"), `${this.iconsCount}`);
214
176
  this.tokenizerAvailable = this.tokens && this.tokens.length > 0;
215
177
  }
178
+ onAfterRendering() {
179
+ super.onAfterRendering();
180
+ this.tokenizer.preventInitialFocus = true;
181
+ if (this.tokenizer.expanded) {
182
+ this.tokenizer.scrollToEnd();
183
+ }
184
+ else {
185
+ this.tokenizer.scrollToStart();
186
+ }
187
+ }
216
188
  get iconsCount() {
217
189
  return super.iconsCount + (this.showValueHelpIcon ? 1 : 0);
218
190
  }
219
191
  get tokenizer() {
220
192
  return this.shadowRoot.querySelector("[ui5-tokenizer]");
221
193
  }
194
+ get tokenizerExpanded() {
195
+ return this.tokenizer && this.tokenizer.expanded;
196
+ }
222
197
  get _tokensCountText() {
223
198
  if (!this.tokenizer) {
224
199
  return;
@@ -226,14 +201,14 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
226
201
  return this.tokenizer._tokensCountText();
227
202
  }
228
203
  get _tokensCountTextId() {
229
- return `${this._id}-hiddenText-nMore`;
204
+ return `hiddenText-nMore`;
230
205
  }
231
206
  /**
232
207
  * Returns the placeholder value when there are no tokens.
233
208
  * @protected
234
209
  */
235
210
  get _placeholder() {
236
- if (this.tokenizer && this.tokenizer._tokens.length) {
211
+ if (this.tokens.length) {
237
212
  return "";
238
213
  }
239
214
  return this.placeholder;
@@ -258,15 +233,12 @@ let MultiInput = MultiInput_1 = class MultiInput extends Input {
258
233
  return this;
259
234
  }
260
235
  get shouldDisplayOnlyValueStateMessage() {
261
- return this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer._isOpen;
236
+ return this.hasValueStateMessage && !this.readonly && !this.open && this.focused && !this.tokenizer.open;
262
237
  }
263
238
  };
264
239
  __decorate([
265
240
  property({ type: Boolean })
266
241
  ], MultiInput.prototype, "showValueHelpIcon", void 0);
267
- __decorate([
268
- property({ type: Boolean })
269
- ], MultiInput.prototype, "expandedTokenizer", void 0);
270
242
  __decorate([
271
243
  property({ type: Boolean })
272
244
  ], MultiInput.prototype, "tokenizerAvailable", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import 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.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\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 { MULTIINPUT_ROLEDESCRIPTION_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./generated/templates/MultiInputTemplate.lit.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport Token from \"./Token.js\";\nimport Tokenizer, { ClipboardDataOperation } from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nimport type {\n\tInputSuggestionItemSelectEventDetail as MultiInputSuggestionItemSelectEventDetail,\n\tInputSuggestionItemPreviewEventDetail as MultiInputSuggestionItemPreviewEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends HTMLElement, ITabbable {\n\ttext: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttoken: IToken;\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 * - Select a value from the suggestion list (`suggestion-item-select` 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: litRender,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n\tdependencies: [\n\t\t...Input.dependencies,\n\t\tTokenizer,\n\t\tToken,\n\t\tIcon,\n\t],\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\n/**\n * Fired when a token is about to be deleted.\n * @param {HTMLElement} token deleted token.\n * @public\n */\n@event<MultiInputTokenDeleteEventDetail>(\"token-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttoken: { type: HTMLElement },\n\t},\n})\n\nclass MultiInput extends Input {\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!: boolean;\n\n\t/**\n\t * Indicates whether the tokenizer is expanded or collapsed(shows the n more label)\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\texpandedTokenizer!: boolean;\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!: boolean;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot()\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\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.closePopover();\n\t\tthis.fireEvent(\"value-help-trigger\");\n\t}\n\n\tshowMorePress() {\n\t\tthis.expandedTokenizer = false;\n\t\tthis.focus();\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst focusedToken = e.detail.ref;\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 (focusedToken) {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token: focusedToken });\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectedTokens.indexOf(focusedToken) === -1) {\n\t\t\tselectedTokens.push(focusedToken);\n\t\t}\n\n\t\tselectedTokens.forEach(token => {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\n\t\t});\n\t}\n\n\tvalueHelpMouseDown(e: MouseEvent) {\n\t\tconst target = e.target as Icon;\n\t\tthis.closePopover();\n\t\tthis.tokenizer.closeMorePopover();\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\tthis.tokenizer.scrollToStart();\n\t\t}\n\n\t\tif (e.relatedTarget === this.nativeInput) {\n\t\t\tthis.tokenizer.closeMorePopover();\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.expandedTokenizer = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokenizer._getTokens().forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._onkeydown(e);\n\n\t\tconst target = e.target as HTMLInputElement;\n\t\tconst isHomeInBeginning = isHome(e) && target.selectionStart === 0;\n\t\tconst isCtrl: boolean = e.metaKey || e.ctrlKey;\n\t\tconst tokens = this.tokens;\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 (isLeft(e) || isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(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\n\t\tif (isCtrl && e.key.toLowerCase() === \"i\" && tokens.length > 0) {\n\t\t\te.preventDefault();\n\t\t\tthis.closePopover();\n\t\t\tthis.tokenizer.openMorePopover();\n\t\t}\n\t}\n\n\t_onTokenizerKeydown(e: KeyboardEvent) {\n\t\tconst rightCtrl = isRightCtrl(e);\n\t\tconst isCtrl = !!(e.metaKey || e.ctrlKey);\n\t\tconst tokens = this.tokens;\n\n\t\tif (isRight(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} else if (rightCtrl) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn this.tokenizer._handleArrowCtrl(e, e.target as Token, this.tokens, true);\n\t\t\t}\n\t\t}\n\n\t\tif (isCtrl && [\"c\", \"x\"].includes(e.key.toLowerCase())) {\n\t\t\te.preventDefault();\n\n\t\t\tconst isCut = e.key.toLowerCase() === \"x\";\n\t\t\tconst selectedTokens = tokens.filter(token => token.selected);\n\n\t\t\tif (isCut) {\n\t\t\t\tconst cutResult = this.tokenizer._fillClipboard(ClipboardDataOperation.cut, selectedTokens);\n\n\t\t\t\tselectedTokens.forEach(token => {\n\t\t\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\n\t\t\t\t});\n\n\t\t\t\tthis.focus();\n\n\t\t\t\treturn cutResult;\n\t\t\t}\n\n\t\t\treturn this.tokenizer._fillClipboard(ClipboardDataOperation.copy, selectedTokens);\n\t\t}\n\n\t\tif (isCtrl && e.key.toLowerCase() === \"i\" && tokens.length > 0) {\n\t\t\te.preventDefault();\n\t\t\tthis.tokenizer.openMorePopover();\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\tif (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_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.expandedTokenizer = false;\n\n\t\t\t// we need to reset tabindex setting by tokenizer\n\t\t\tthis.tokenizer._itemNav._currentIndex = -1;\n\t\t}\n\t}\n\n\t/**\n\t * @override\n\t */\n\tasync _onfocusin(e: FocusEvent) {\n\t\tconst inputDomRef = await this.getInputDOMRef();\n\n\t\tif (e.target === inputDomRef) {\n\t\t\tawait super._onfocusin(e);\n\t\t}\n\t}\n\n\tlastItemDeleted() {\n\t\tsetTimeout(() => {\n\t\t\tthis.focus();\n\t\t}, 0);\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\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 _tokensCountText() {\n\t\tif (!this.tokenizer) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.tokenizer._tokensCountText();\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `${this._id}-hiddenText-nMore`;\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.tokenizer && this.tokenizer._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}`.trim();\n\t\treturn {\n\t\t\t\"input\": {\n\t\t\t\t...super.accInfo.input,\n\t\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t\t},\n\t\t};\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._isOpen;\n\t}\n}\n\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSuggestionItemSelectEventDetail,\n\tMultiInputSuggestionItemPreviewEventDetail,\n};\n"]}
1
+ {"version":3,"file":"MultiInput.js","sourceRoot":"","sources":["../src/MultiInput.ts"],"names":[],"mappings":"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","sourcesContent":["import 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.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport {\n\tisShow,\n\tisBackSpace,\n\tisLeft,\n\tisRight,\n\tisRightCtrl,\n\tisHome,\n\tisEnd,\n\tisDown,\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 { MULTIINPUT_ROLEDESCRIPTION_TEXT } from \"./generated/i18n/i18n-defaults.js\";\nimport Input from \"./Input.js\";\nimport MultiInputTemplate from \"./generated/templates/MultiInputTemplate.lit.js\";\nimport styles from \"./generated/themes/MultiInput.css.js\";\nimport Token from \"./Token.js\";\nimport Tokenizer from \"./Tokenizer.js\";\nimport type { TokenizerTokenDeleteEventDetail } from \"./Tokenizer.js\";\nimport Icon from \"./Icon.js\";\nimport \"@ui5/webcomponents-icons/dist/value-help.js\";\n\nimport type {\n\tInputSelectionChangeEventDetail as MultiInputSelectionChangeEventDetail,\n} from \"./Input.js\";\n\ninterface IToken extends HTMLElement, ITabbable {\n\ttext: string;\n\treadonly: boolean,\n\tselected: boolean,\n\tisTruncatable: boolean,\n}\n\ntype MultiInputTokenDeleteEventDetail = {\n\ttoken: IToken;\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: litRender,\n\ttemplate: MultiInputTemplate,\n\tstyles: [Input.styles, styles],\n\tdependencies: [\n\t\t...Input.dependencies,\n\t\tTokenizer,\n\t\tToken,\n\t\tIcon,\n\t],\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\n/**\n * Fired when a token is about to be deleted.\n * @param {HTMLElement} token deleted token.\n * @public\n */\n@event<MultiInputTokenDeleteEventDetail>(\"token-delete\", {\n\tdetail: {\n\t\t/**\n\t\t * @public\n\t\t */\n\t\ttoken: { type: HTMLElement },\n\t},\n})\n\nclass MultiInput extends Input {\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!: boolean;\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!: boolean;\n\n\t/**\n\t * Defines the component tokens.\n\t * @public\n\t */\n\t@slot()\n\ttokens!: Array<IToken>;\n\n\t_skipOpenSuggestions: boolean;\n\t_valueHelpIconPressed: boolean;\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.fireEvent(\"value-help-trigger\");\n\t}\n\n\ttokenDelete(e: CustomEvent<TokenizerTokenDeleteEventDetail>) {\n\t\tconst focusedToken = e.detail.ref;\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 (focusedToken) {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token: focusedToken });\n\t\t\tif (shouldFocusInput) {\n\t\t\t\tthis.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (selectedTokens.indexOf(focusedToken) === -1) {\n\t\t\tselectedTokens.push(focusedToken);\n\t\t}\n\n\t\tselectedTokens.forEach(token => {\n\t\t\tthis.fireEvent<MultiInputTokenDeleteEventDetail>(\"token-delete\", { token });\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\tthis.tokenizer.scrollToStart();\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.expanded = true;\n\t\tthis.focused = true;\n\t\tthis.tokenizer.scrollToEnd();\n\n\t\tthis.tokens.forEach(token => {\n\t\t\ttoken.selected = false;\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tsuper._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 (isLeft(e) || isBackSpace(e)) {\n\t\t\tthis._skipOpenSuggestions = true;\n\t\t\treturn this._handleLeft(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_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\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\tlastItemDeleted() {\n\t\tsetTimeout(() => {\n\t\t\tthis.focus();\n\t\t}, 0);\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\t}\n\n\tonAfterRendering() {\n\t\tsuper.onAfterRendering();\n\n\t\tthis.tokenizer.preventInitialFocus = true;\n\n\t\tif (this.tokenizer.expanded) {\n\t\t\tthis.tokenizer.scrollToEnd();\n\t\t} else {\n\t\t\tthis.tokenizer.scrollToStart();\n\t\t}\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\tif (!this.tokenizer) {\n\t\t\treturn;\n\t\t}\n\t\treturn this.tokenizer._tokensCountText();\n\t}\n\n\tget _tokensCountTextId() {\n\t\treturn `hiddenText-nMore`;\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}`.trim();\n\t\treturn {\n\t\t\t\"input\": {\n\t\t\t\t...super.accInfo.input,\n\t\t\t\t\"ariaRoledescription\": this.ariaRoleDescription,\n\t\t\t\t\"ariaDescribedBy\": ariaDescribedBy,\n\t\t\t},\n\t\t};\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\nMultiInput.define();\n\nexport default MultiInput;\nexport type {\n\tIToken,\n\tMultiInputTokenDeleteEventDetail,\n\tMultiInputSelectionChangeEventDetail,\n};\n"]}
package/dist/Option.d.ts CHANGED
@@ -24,12 +24,12 @@ declare class Option extends UI5Element implements IOption {
24
24
  */
25
25
  selected: boolean;
26
26
  /**
27
- * Defines the tooltip of the component.
27
+ * Defines the text of the tooltip that would be displayed for the option component.
28
28
  * @default ""
29
- * @private
30
- * @since 1.1.0
29
+ * @public
30
+ * @since 2.0.0
31
31
  */
32
- title: string;
32
+ tooltip: string;
33
33
  /**
34
34
  * Defines the `icon` source URI.
35
35
  *
package/dist/Option.js CHANGED
@@ -34,7 +34,7 @@ __decorate([
34
34
  ], Option.prototype, "selected", void 0);
35
35
  __decorate([
36
36
  property()
37
- ], Option.prototype, "title", void 0);
37
+ ], Option.prototype, "tooltip", void 0);
38
38
  __decorate([
39
39
  property({ defaultValue: null })
40
40
  ], Option.prototype, "icon", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"Option.js","sourceRoot":"","sources":["../src/Option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AAEH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAkE9B,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AA9DA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AASnB;IADC,QAAQ,EAAE;qCACI;AAYf;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;oCACZ;AASrB;IADC,QAAQ,EAAE;qCACI;AASf;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACV;AASlB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;oCAClD;AAhEd,MAAM;IADX,aAAa,CAAC,YAAY,CAAC;GACtB,MAAM,CAqEX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { IOption } from \"./Select.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-option` component defines the content of an option in the `ui5-select`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Option.js\";`\n * @constructor\n * @extends UI5Element\n * @implements {IOption}\n * @public\n * @abstract\n */\n@customElement(\"ui5-option\")\nclass Option extends UI5Element implements IOption {\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t * @default \"\"\n\t * @private\n\t * @since 1.1.0\n\t */\n\t@property()\n\ttitle!: string;\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:**\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default null\n\t * @public\n\t */\n\t@property({ defaultValue: null })\n\ticon?: string | null;\n\n\t/**\n\t * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the `name` property of `ui5-select`.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the additional text displayed at the end of the option element.\n\t * @default \"\"\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the focused state of the component.\n\t * @default false\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: Array<Node>;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nOption.define();\n\nexport default Option;\n"]}
1
+ {"version":3,"file":"Option.js","sourceRoot":"","sources":["../src/Option.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAE3E;;;;;;;;;;;;;;;GAeG;AAEH,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAkE9B,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;CACD,CAAA;AA9DA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wCACT;AASnB;IADC,QAAQ,EAAE;uCACM;AAYjB;IADC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;oCACZ;AASrB;IADC,QAAQ,EAAE;qCACI;AASf;IADC,QAAQ,EAAE;8CACa;AASxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACV;AASlB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;oCAClD;AAhEd,MAAM;IADX,aAAa,CAAC,YAAY,CAAC;GACtB,MAAM,CAqEX;AAED,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,MAAM,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { IOption } from \"./Select.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-option` component defines the content of an option in the `ui5-select`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Option.js\";`\n * @constructor\n * @extends UI5Element\n * @implements {IOption}\n * @public\n * @abstract\n */\n@customElement(\"ui5-option\")\nclass Option extends UI5Element implements IOption {\n\t/**\n\t * Defines the selected state of the component.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t/**\n\t * Defines the text of the tooltip that would be displayed for the option component.\n\t * @default \"\"\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\ttooltip!: string;\n\n\t/**\n\t * Defines the `icon` source URI.\n\t *\n\t * **Note:**\n\t * SAP-icons font provides numerous built-in icons. To find all the available icons, see the\n\t * [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default null\n\t * @public\n\t */\n\t@property({ defaultValue: null })\n\ticon?: string | null;\n\n\t/**\n\t * Defines the value of the `ui5-select` inside an HTML Form element when this component is selected.\n\t * For more information on HTML Form support, see the `name` property of `ui5-select`.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\tvalue!: string;\n\n\t/**\n\t * Defines the additional text displayed at the end of the option element.\n\t * @default \"\"\n\t * @public\n\t * @since 1.3.0\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the focused state of the component.\n\t * @default false\n\t * @since 1.0.0-rc.13\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfocused!: boolean;\n\n\t/**\n\t * Defines the text of the component.\n\t *\n\t * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true, invalidateOnChildChange: true })\n\ttext!: Array<Node>;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n}\n\nOption.define();\n\nexport default Option;\n"]}
package/dist/Popover.js CHANGED
@@ -111,6 +111,10 @@ let Popover = Popover_1 = class Popover extends Popup {
111
111
  console.warn("Valid opener id is required. It must be defined before opening the popover."); // eslint-disable-line
112
112
  return;
113
113
  }
114
+ if (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {
115
+ this.fireEvent("after-close", {}, false, false);
116
+ return;
117
+ }
114
118
  await this.showAt(opener);
115
119
  }
116
120
  isOpenerClicked(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":";;;;;;;AACA,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,OAAO,MAAM,+CAA+C,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,KAAK,MAAM,4CAA4C,CAAC;AAC/D,OAAO,wBAAwB,MAAM,+DAA+D,CAAC;AACrG,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AACrF,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,WAAW;AACX,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,SAAS;AACT,OAAO,mBAAmB,MAAM,4CAA4C,CAAC;AAC7E,OAAO,eAAe,MAAM,wCAAwC,CAAC;AACrE,OAAO,UAAU,MAAM,mCAAmC,CAAC;AAE3D,MAAM,UAAU,GAAG,CAAC,CAAC;AAmBrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAWH,IAAM,OAAO,eAAb,MAAM,OAAQ,SAAQ,KAAK;IAiI1B,MAAM,KAAK,eAAe;QACzB,OAAO,EAAE,CAAC,CAAC,KAAK;IACjB,CAAC;IAED;QACC,KAAK,EAAE,CAAC;IACT,CAAC;IAED;;;;;OAKG;IAEH,IAAI,MAAM,CAAC,KAAkB;QAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC3B,OAAO;SACP;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;SACjB;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS;QACd,IAAI,MAAM,CAAC;QAEX,IAAI,IAAI,CAAC,MAAM,YAAY,WAAW,EAAE;YACvC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACrB;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,QAAQ,YAAY,QAAQ,EAAE;gBACjC,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,MAAM,EAAE;gBACZ,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9C;SACD;QAED,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC,CAAC,sBAAsB;YACnH,OAAO;SACP;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe,CAAC,CAAa;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE;YAC5B,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,gBAAgB,GAAG,MAAoB,CAAC;QAE9C,IAAI,gBAAgB,CAAC,cAAc,IAAI,gBAAgB,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE;YAC1F,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,MAAmB,EAAE,mBAAmB,GAAG,KAAK;QAC5D,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9B,OAAO;SACP;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAElD,MAAM,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,eAAe;QACd,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACjB,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,wBAAwB,CAAC,SAAgC,EAAE,UAAmB;QAC7E,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG;YACd,OAAO,EAAE,UAAU,CAAC,KAAK;YACzB,KAAK,EAAE,UAAU,CAAC,IAAI;YACtB,KAAK,EAAE,UAAU,CAAC,GAAG;YACrB,QAAQ,EAAE,UAAU,CAAC,MAAM;SAC3B,CAAC;QAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAQ,CAAC,CAAC;QAC9D,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAK,iBAA6B,CAAC,MAAM,EAAE;YAC1C,MAAM,WAAW,GAAI,iBAA6B,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACtF,eAAe,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1E,YAAY,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;SACtE;QAED,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,GAAI,iBAAuC,CAAC,WAAW,CAAC,CAAC,IAAI,eAAe,IAAI,YAAY,CAAC;IAC7J,CAAC;IAED,wBAAwB,CAAC,UAAmB;QAC3C,OAAO,UAAU,CAAC,GAAG,KAAK,CAAC;eACvB,UAAU,CAAC,MAAM,KAAK,CAAC;eACvB,UAAU,CAAC,IAAI,KAAK,CAAC;eACrB,UAAU,CAAC,KAAK,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,uBAAuB,CAAC,UAAmB;QAC1C,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;eACxB,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW;eACnC,UAAU,CAAC,KAAK,GAAG,CAAC;eACpB,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACN,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;SAClB;IACF,CAAC;IAED,UAAU;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAED,KAAK;QACJ,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC5B;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC;QAEd,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YACxD,oGAAoG;YACpG,OAAO;SACP;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAClB,uEAAuE;YACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAQ,CAAC,qBAAqB,EAAE,CAAC;SACzD;QAED,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAY,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;YACnG,0DAA0D;YAC1D,mDAAmD;YACnD,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;SAC/B;aAAM;YACN,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAY,EAAE,WAAW,CAAC,CAAC;SAC/D;QAED,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAY,CAAC,EAAE;YACvF,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;QAE3C,IAAI,IAAI,GAAG,KAAK,CACf,IAAI,CAAC,KAAM,EACX,SAAO,CAAC,eAAe,EACvB,QAAQ,CAAC,eAAe,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,GAAG,SAAO,CAAC,eAAe,CAClF,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,KAAK,gBAAgB,CAAC,GAAG,EAAE;YAClD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC;SACnC;QAED,IAAI,GAAG,GAAG,KAAK,CACd,IAAI,CAAC,IAAK,EACV,SAAO,CAAC,eAAe,EACvB,QAAQ,CAAC,eAAe,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,SAAO,CAAC,eAAe,CACpF,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,KAAK,gBAAgB,CAAC,MAAM,EAAE;YACrD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAK,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEzC,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACzB,GAAG,EAAE,GAAG,GAAG,IAAI;YACf,IAAI,EAAE,GAAG,IAAI,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3E,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;SAC/B;IACF,CAAC;IAED;;;;;;OAMG;IACH,qBAAqB,CAAC,GAAW;QAChC,IAAI,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,GAAG,CAAC;SACX;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;QAE9D,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,iCAAiC;QAChC,IAAI,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE3C,OAAO,aAAa,EAAE;YACrB,IAAI,wBAAwB,CAAC,aAAa,CAAC,EAAE;gBAC5C,OAAO,aAAa,CAAC,qBAAqB,EAAE,CAAC;aAC7C;YAED,aAAa,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;SAChD;QAED,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED,cAAc;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,EACxC,KAAK,GAAG,IAAI,CAAC,KAAK,EAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACzB,GAAG,EAAE,UAAU;YACf,IAAI,EAAE,UAAU;SAChB,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAAmB,EAAE,WAAwB;QAC1D,IAAI,IAAI,GAAG,SAAO,CAAC,eAAe,CAAC;QACnC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAEnD,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;QAE3D,IAAI,SAAS,GAAG,YAAY,CAAC;QAC7B,IAAI,QAAQ,GAAG,WAAW,CAAC;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEpI,MAAM,UAAU,GAAG,SAAS,KAAK,gBAAgB,CAAC,GAAG;eACjD,SAAS,KAAK,gBAAgB,CAAC,MAAM,CAAC;QAE1C,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,OAAO,IAAI,UAAU,EAAE;YAC1E,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC;SACtC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,oBAAoB,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE;YAC9E,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;SACvC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAEpD,yBAAyB;QACzB,QAAQ,SAAS,EAAE;YACnB,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACrD,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;gBAErE,IAAI,CAAC,kBAAkB,EAAE;oBACxB,SAAS,GAAG,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC;iBACzC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACrD,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;gBAEtC,IAAI,kBAAkB,EAAE;oBACvB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpE;qBAAM;oBACN,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;iBAC3D;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;gBACtE,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAErD,IAAI,CAAC,kBAAkB,EAAE;oBACxB,QAAQ,GAAG,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC;iBACzC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;gBACxD,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAErD,IAAI,kBAAkB,EAAE;oBACvB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpE;qBAAM;oBACN,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC;iBACxD;gBACD,MAAM;SACN;QAED,4BAA4B;QAC5B,IAAI,UAAU,EAAE;YACf,IAAI,WAAW,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,GAAG,SAAO,CAAC,eAAe,EAAE;gBACtE,IAAI,GAAG,SAAO,CAAC,eAAe,CAAC;aAC/B;iBAAM,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,GAAG,SAAO,CAAC,eAAe,EAAE;gBAC5E,IAAI,GAAG,WAAW,GAAG,SAAO,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC;aACjE;SACD;aAAM;YACN,IAAI,WAAW,CAAC,MAAM,GAAG,YAAY,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,sBAAsB;gBACzE,GAAG,GAAG,CAAC,CAAC;aACR;iBAAM,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,EAAE;gBACnD,GAAG,IAAI,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC;aAC/C;SACD;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAO,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAO,CAAC,eAAe,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;YAClE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;YAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC5B;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAErG,OAAO;YACN,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,SAAS;SACT,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,UAAmB,EAAE,WAAwB,EAAE,IAAY,EAAE,GAAW,EAAE,UAAmB,EAAE,YAAoB;QACnI,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACpD,IAAI,cAAc,GAAG,eAAe,KAAK,sBAAsB,CAAC,MAAM,IAAI,eAAe,KAAK,sBAAsB,CAAC,OAAO,CAAC;QAE7H,IAAI,eAAe,KAAK,sBAAsB,CAAC,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE;YAC9E,cAAc,GAAG,IAAI,CAAC;SACtB;QAED,IAAI,eAAe,KAAK,sBAAsB,CAAC,KAAK,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE;YACvH,cAAc,GAAG,IAAI,CAAC;SACtB;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,UAAU,IAAI,cAAc,EAAE;YACjC,eAAe,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC;SACxF;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE;YAChB,eAAe,GAAG,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SACxF;QAED,8DAA8D;QAC9D,sEAAsE;QACtE,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;QAClF,eAAe,GAAG,KAAK,CACtB,eAAe,EACf,CAAC,kBAAkB,EACnB,kBAAkB,CAClB,CAAC;QAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;QACjF,eAAe,GAAG,KAAK,CACtB,eAAe,EACf,CAAC,kBAAkB,EACnB,kBAAkB,CAClB,CAAC;QAEF,OAAO;YACN,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YAC9B,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;SAC9B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,WAAmB,EAAE,YAAoB,EAAE,UAAmB,EAAE,WAAwB;QACzG,IAAI,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE;YACxC,OAAO,gBAAgB,CAAC,KAAK,CAAC;SAC9B;QAED,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE;YACrD,OAAO,gBAAgB,CAAC,GAAG,CAAC;SAC5B;QAED,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE;YAC1D,OAAO,gBAAgB,CAAC,MAAM,CAAC;SAC/B;QAED,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YACtD,OAAO,gBAAgB,CAAC,GAAG,CAAC;SAC5B;IACF,CAAC;IAED,kBAAkB,CAAC,UAAmB,EAAE,WAAwB;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,eAAe,GAAG,SAAS,CAAC;QAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;QAE3D,QAAQ,SAAS,EAAE;YACnB,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,UAAU,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM;uBACnC,UAAU,CAAC,GAAG,GAAG,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE;oBACtD,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC;iBAC1C;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,MAAM;gBAC3B,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM;uBACrD,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtD,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC;iBACvC;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,KAAK;gBAC1B,IAAI,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE;oBACxC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC;iBAC1G;gBACD,MAAM;YACP,KAAK,gBAAgB,CAAC,GAAG;gBACxB,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE;oBACvD,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC;iBAC1G;gBACD,MAAM;SACN;QAED,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,UAAmB,EAAE,WAAwB;QAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACpD,IAAI,IAAI,GAAG,SAAO,CAAC,eAAe,CAAC;QAEnC,QAAQ,eAAe,EAAE;YACzB,KAAK,sBAAsB,CAAC,MAAM,CAAC;YACnC,KAAK,sBAAsB,CAAC,OAAO;gBAClC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,sBAAsB,CAAC,KAAK;gBAChC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvB,MAAM;YACP,KAAK,sBAAsB,CAAC,GAAG;gBAC9B,IAAI,GAAG,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC5C,MAAM;SACN;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gBAAgB,CAAC,UAAmB,EAAE,WAAwB;QAC7D,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,QAAQ,IAAI,CAAC,aAAa,EAAE;YAC5B,KAAK,oBAAoB,CAAC,MAAM,CAAC;YACjC,KAAK,oBAAoB,CAAC,OAAO;gBAChC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpE,MAAM;YACP,KAAK,oBAAoB,CAAC,GAAG;gBAC5B,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,oBAAoB,CAAC,MAAM;gBAC/B,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC7C,MAAM;SACN;QAED,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAC5C,OAAO,kBAAkB,CAAC;SAC1B;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,MAAM;QACT,OAAO;YACN,GAAG,KAAK,CAAC,MAAM;YACf,IAAI,EAAE;gBACL,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC3D,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;aACxD;YACD,KAAK,EAAE;gBACN,SAAS,EAAE,aAAa,IAAI,CAAC,eAAe,OAAO,IAAI,CAAC,eAAe,KAAK;aAC5E;SACD,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACV,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;QAE3C,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,sBAAsB;QACzB,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;YAChC,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,KAAK,EAAE;gBAC1D,OAAO,sBAAsB,CAAC,GAAG,CAAC;aAClC;YAED,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,CAAC,GAAG,EAAE;gBACxD,OAAO,sBAAsB,CAAC,KAAK,CAAC;aACpC;SACD;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;CACD,CAAA;AA5sBA;IADC,QAAQ,EAAE;2CACS;AAQpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAC;0CACvC;AAQlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,sBAAsB,CAAC,MAAM,EAAE,CAAC;gDAC1C;AAQ9C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,CAAC,MAAM,EAAE,CAAC;8CAC1C;AAU1C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sCACZ;AAShB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;6CACL;AASvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACR;AASpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACC;AAQ7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACD;AAO3B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC5C;AAOzB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gDAC5C;AAOzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAC;gDACjC;AAGxC;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;2CAChC;AAGpB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0CACjC;AAOnB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;uCACA;AAO5B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;uCACA;AAyB5B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;qCAWrC;AA1JI,OAAO;IAVZ,aAAa,CAAC;QACd,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE;YACP,KAAK,CAAC,MAAM;YACZ,mBAAmB;YACnB,eAAe;YACf,UAAU;SACV;QACD,QAAQ,EAAE,eAAe;KACzB,CAAC;GACI,OAAO,CAqtBZ;AAED,MAAM,iBAAiB,GAAG,CAAC,MAAW,EAAqB,EAAE;IAC5D,OAAO,QAAQ,IAAI,MAAM,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,CAAC,MAAM,EAAE,CAAC;AAEjB,eAAe,OAAO,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * **Note: ** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * **Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tplacement!: `${PopoverPlacement}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Defines whether the block layer will be shown if modal property is set to true.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.10\n\t */\n\t@property({ type: Boolean })\n\thideBackdrop!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tactualPlacement!: `${PopoverPlacement}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\tset opener(value: HTMLElement) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tlet opener;\n\n\t\tif (this.opener instanceof HTMLElement) {\n\t\t\topener = this.opener;\n\t\t} else if (typeof this.opener === \"string\") {\n\t\t\tconst rootNode = this.getRootNode();\n\t\t\tif (rootNode instanceof Document) {\n\t\t\t\topener = rootNode.getElementById(this.opener);\n\t\t\t}\n\n\t\t\tif (!opener) {\n\t\t\t\topener = document.getElementById(this.opener);\n\t\t\t}\n\t\t}\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.showAt(opener);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Shows the popover.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] prevents applying the focus inside the popover\n\t * @public\n\t * @returns Resolved when the popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise<void> {\n\t\tif (!opener || this._isOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = opener;\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst closedPopupParent = getClosedPopupParent(this._opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif ((closedPopupParent as Popover).showAt) {\n\t\t\tconst contentRect = (closedPopupParent as Popover).contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\n\t\tif (!this._isOpened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this._opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget shouldHideBackdrop() { // Required by Popup.js\n\t\treturn this.hideBackdrop;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"showAt\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Popover.js","sourceRoot":"","sources":["../src/Popover.ts"],"names":[],"mappings":"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","sourcesContent":["import type UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport { isIOS } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport DOMReference from \"@ui5/webcomponents-base/dist/types/DOMReference.js\";\nimport { getClosedPopupParent } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport isElementContainingBlock from \"@ui5/webcomponents-base/dist/util/isElementContainingBlock.js\";\nimport getParentElement from \"@ui5/webcomponents-base/dist/util/getParentElement.js\";\nimport Popup from \"./Popup.js\";\nimport type { PopupBeforeCloseEventDetail as PopoverBeforeCloseEventDetail } from \"./Popup.js\";\nimport PopoverPlacement from \"./types/PopoverPlacement.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\nimport PopoverHorizontalAlign from \"./types/PopoverHorizontalAlign.js\";\nimport { addOpenedPopover, removeOpenedPopover } from \"./popup-utils/PopoverRegistry.js\";\n\n// Template\nimport PopoverTemplate from \"./generated/templates/PopoverTemplate.lit.js\";\n// Styles\nimport browserScrollbarCSS from \"./generated/themes/BrowserScrollbar.css.js\";\nimport PopupsCommonCss from \"./generated/themes/PopupsCommon.css.js\";\nimport PopoverCss from \"./generated/themes/Popover.css.js\";\n\nconst ARROW_SIZE = 8;\n\ntype PopoverSize = {\n\twidth: number;\n\theight: number;\n}\n\ntype ArrowPosition = {\n\tx: number;\n\ty: number;\n}\n\ntype CalculatedPlacement = {\n\tarrow: ArrowPosition,\n\ttop: number,\n\tleft: number,\n\tplacement: `${PopoverPlacement}`,\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-popover` component displays additional information for an object\n * in a compact way and without leaving the page.\n * The Popover can contain various UI elements, such as fields, tables, images, and charts.\n * It can also include actions in the footer.\n *\n * ### Structure\n *\n * The popover has three main areas:\n *\n * - Header (optional)\n * - Content\n * - Footer (optional)\n *\n * **Note:** The `ui5-popover` is closed when the user clicks\n * or taps outside the popover\n * or selects an action within the popover. You can prevent this with the\n * `modal` property.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/Popover.js\";`\n *\n * **Note: ** We recommend placing popup-like components (`ui5-dialog` and `ui5-popover`)\n * outside any other components. Preferably, the popup-like components should be placed\n * in an upper level HTML element. Otherwise, in some cases the parent HTML elements can break\n * the position and/or z-index management of the popup-like components.\n *\n * **Note:** We don't recommend nesting popup-like components (`ui5-dialog`, `ui5-popover`).\n * @constructor\n * @extends Popup\n * @since 1.0.0-rc.6\n * @public\n * @csspart header - Used to style the header of the component\n * @csspart content - Used to style the content of the component\n * @csspart footer - Used to style the footer of the component\n */\n@customElement({\n\ttag: \"ui5-popover\",\n\tstyles: [\n\t\tPopup.styles,\n\t\tbrowserScrollbarCSS,\n\t\tPopupsCommonCss,\n\t\tPopoverCss,\n\t],\n\ttemplate: PopoverTemplate,\n})\nclass Popover extends Popup {\n\t/**\n\t * Defines the header text.\n\t *\n\t * **Note:** If `header` slot is provided, the `headerText` is ignored.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property()\n\theaderText!: string;\n\n\t/**\n\t * Determines on which side the component is placed at.\n\t * @default \"End\"\n\t * @public\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tplacement!: `${PopoverPlacement}`;\n\n\t/**\n\t * Determines the horizontal alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverHorizontalAlign, defaultValue: PopoverHorizontalAlign.Center })\n\thorizontalAlign!: `${PopoverHorizontalAlign}`;\n\n\t/**\n\t * Determines the vertical alignment of the component.\n\t * @default \"Center\"\n\t * @public\n\t */\n\t@property({ type: PopoverVerticalAlign, defaultValue: PopoverVerticalAlign.Center })\n\tverticalAlign!: `${PopoverVerticalAlign}`;\n\n\t/**\n\t * Defines whether the component should close when\n\t * clicking/tapping outside of the popover.\n\t * If enabled, it blocks any interaction with the background.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tmodal!: boolean;\n\n\t/**\n\t * Defines whether the block layer will be shown if modal property is set to true.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.10\n\t */\n\t@property({ type: Boolean })\n\thideBackdrop!: boolean;\n\n\t/**\n\t * Determines whether the component arrow is hidden.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ type: Boolean })\n\thideArrow!: boolean;\n\n\t/**\n\t * Determines if there is no enough space, the component can be placed\n\t * over the target.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tallowTargetOverlap!: boolean;\n\n\t/**\n\t * Defines whether the content is scrollable.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tdisableScrolling!: boolean;\n\n\t/**\n\t * Sets the X translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateX!: number;\n\n\t/**\n\t * Sets the Y translation of the arrow\n\t * @private\n\t */\n\t@property({ validator: Integer, defaultValue: 0, noAttribute: true })\n\tarrowTranslateY!: number;\n\n\t/**\n\t * Returns the calculated placement depending on the free space\n\t * @private\n\t */\n\t@property({ type: PopoverPlacement, defaultValue: PopoverPlacement.End })\n\tactualPlacement!: `${PopoverPlacement}`;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxHeight?: number;\n\n\t@property({ validator: Integer, noAttribute: true })\n\t_maxWidth?: number;\n\n\t/**\n\t * Defines the header HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\theader!: Array<HTMLElement>;\n\n\t/**\n\t * Defines the footer HTML Element.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tfooter!: Array<HTMLElement>;\n\n\t_opener?: HTMLElement;\n\t_openerRect?: DOMRect;\n\t_preventRepositionAndClose?: boolean;\n\t_top?: number;\n\t_left?: number;\n\t_oldPlacement?: CalculatedPlacement;\n\t_width?: string;\n\n\tstatic get VIEWPORT_MARGIN() {\n\t\treturn 10; // px\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * Defines the ID or DOM Reference of the element that the popover is shown at\n\t * @public\n\t * @default undefined\n\t * @since 1.2.0\n\t */\n\t@property({ validator: DOMReference })\n\tset opener(value: HTMLElement) {\n\t\tif (this._opener === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = value;\n\n\t\tif (value && this.open) {\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tget opener(): HTMLElement | undefined {\n\t\treturn this._opener;\n\t}\n\n\tasync openPopup() {\n\t\tlet opener;\n\n\t\tif (this.opener instanceof HTMLElement) {\n\t\t\topener = this.opener;\n\t\t} else if (typeof this.opener === \"string\") {\n\t\t\tconst rootNode = this.getRootNode();\n\t\t\tif (rootNode instanceof Document) {\n\t\t\t\topener = rootNode.getElementById(this.opener);\n\t\t\t}\n\n\t\t\tif (!opener) {\n\t\t\t\topener = document.getElementById(this.opener);\n\t\t\t}\n\t\t}\n\n\t\tif (!opener) {\n\t\t\tconsole.warn(\"Valid opener id is required. It must be defined before opening the popover.\"); // eslint-disable-line\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpenerOutsideViewport(opener.getBoundingClientRect())) {\n\t\t\tthis.fireEvent(\"after-close\", {}, false, false);\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.showAt(opener);\n\t}\n\n\tisOpenerClicked(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst ui5ElementTarget = target as UI5Element;\n\n\t\tif (ui5ElementTarget.getFocusDomRef && ui5ElementTarget.getFocusDomRef() === this._opener) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn e.composedPath().indexOf(this._opener as EventTarget) > -1;\n\t}\n\n\t/**\n\t * Shows the popover.\n\t * @param opener the element that the popover is shown at\n\t * @param [preventInitialFocus=false] prevents applying the focus inside the popover\n\t * @public\n\t * @returns Resolved when the popover is open\n\t */\n\tasync showAt(opener: HTMLElement, preventInitialFocus = false): Promise<void> {\n\t\tif (!opener || this._isOpened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opener = opener;\n\t\tthis._openerRect = opener.getBoundingClientRect();\n\n\t\tawait super._open(preventInitialFocus);\n\t}\n\n\t/**\n\t * Override for the _addOpenedPopup hook, which would otherwise just call addOpenedPopup(this)\n\t * @private\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopover(this);\n\t}\n\n\t/**\n\t * Override for the _removeOpenedPopup hook, which would otherwise just call removeOpenedPopup(this)\n\t * @private\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopover(this);\n\t}\n\n\tshouldCloseDueToOverflow(placement: `${PopoverPlacement}`, openerRect: DOMRect): boolean {\n\t\tconst threshold = 32;\n\t\tconst limits = {\n\t\t\t\"Start\": openerRect.right,\n\t\t\t\"End\": openerRect.left,\n\t\t\t\"Top\": openerRect.top,\n\t\t\t\"Bottom\": openerRect.bottom,\n\t\t};\n\n\t\tconst closedPopupParent = getClosedPopupParent(this._opener!);\n\t\tlet overflowsBottom = false;\n\t\tlet overflowsTop = false;\n\n\t\tif ((closedPopupParent as Popover).showAt) {\n\t\t\tconst contentRect = (closedPopupParent as Popover).contentDOM.getBoundingClientRect();\n\t\t\toverflowsBottom = openerRect.top > (contentRect.top + contentRect.height);\n\t\t\toverflowsTop = (openerRect.top + openerRect.height) < contentRect.top;\n\t\t}\n\n\t\treturn (limits[placement] < 0 || (limits[placement] + threshold > (closedPopupParent as unknown as Window).innerHeight)) || overflowsBottom || overflowsTop;\n\t}\n\n\tshouldCloseDueToNoOpener(openerRect: DOMRect): boolean {\n\t\treturn openerRect.top === 0\n\t\t\t&& openerRect.bottom === 0\n\t\t\t&& openerRect.left === 0\n\t\t\t&& openerRect.right === 0;\n\t}\n\n\tisOpenerOutsideViewport(openerRect: DOMRect): boolean {\n\t\treturn openerRect.bottom < 0\n\t\t\t|| openerRect.top > window.innerHeight\n\t\t\t|| openerRect.right < 0\n\t\t\t|| openerRect.left > window.innerWidth;\n\t}\n\n\t/**\n\t * @override\n\t */\n\t_resize() {\n\t\tsuper._resize();\n\n\t\tif (this.open) {\n\t\t\tthis.reposition();\n\t\t}\n\t}\n\n\treposition() {\n\t\tthis._show();\n\t}\n\n\t_show() {\n\t\tsuper._show();\n\n\t\tif (!this._isOpened) {\n\t\t\tthis._showOutsideViewport();\n\t\t}\n\n\t\tconst popoverSize = this.getPopoverSize();\n\t\tlet placement;\n\n\t\tif (popoverSize.width === 0 || popoverSize.height === 0) {\n\t\t\t// size can not be determined properly at this point, popover will be shown with the next reposition\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isOpen()) {\n\t\t\t// update opener rect if it was changed during the popover being opened\n\t\t\tthis._openerRect = this._opener!.getBoundingClientRect();\n\t\t}\n\n\t\tif (this.shouldCloseDueToNoOpener(this._openerRect!) && this.isFocusWithin() && this._oldPlacement) {\n\t\t\t// reuse the old placement as the opener is not available,\n\t\t\t// but keep the popover open as the focus is within\n\t\t\tplacement = this._oldPlacement;\n\t\t} else {\n\t\t\tplacement = this.calcPlacement(this._openerRect!, popoverSize);\n\t\t}\n\n\t\tif (this._preventRepositionAndClose || this.isOpenerOutsideViewport(this._openerRect!)) {\n\t\t\treturn this.close();\n\t\t}\n\n\t\tthis._oldPlacement = placement;\n\t\tthis.actualPlacement = placement.placement;\n\n\t\tlet left = clamp(\n\t\t\tthis._left!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientWidth - popoverSize.width - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.End) {\n\t\t\tleft = Math.max(left, this._left!);\n\t\t}\n\n\t\tlet top = clamp(\n\t\t\tthis._top!,\n\t\t\tPopover.VIEWPORT_MARGIN,\n\t\t\tdocument.documentElement.clientHeight - popoverSize.height - Popover.VIEWPORT_MARGIN,\n\t\t);\n\n\t\tif (this.actualPlacement === PopoverPlacement.Bottom) {\n\t\t\ttop = Math.max(top, this._top!);\n\t\t}\n\n\t\tthis.arrowTranslateX = placement.arrow.x;\n\t\tthis.arrowTranslateY = placement.arrow.y;\n\n\t\ttop = this._adjustForIOSKeyboard(top);\n\n\t\tObject.assign(this.style, {\n\t\t\ttop: `${top}px`,\n\t\t\tleft: `${left}px`,\n\t\t});\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && this._width) {\n\t\t\tthis.style.width = this._width;\n\t\t}\n\t}\n\n\t/**\n\t * Adjust the desired top position to compensate for shift of the screen\n\t * caused by opened keyboard on iOS which affects all elements with position:fixed.\n\t * @private\n\t * @param top The target top in px.\n\t * @returns The adjusted top in px.\n\t */\n\t_adjustForIOSKeyboard(top: number): number {\n\t\tif (!isIOS()) {\n\t\t\treturn top;\n\t\t}\n\n\t\tconst actualTop = Math.ceil(this.getBoundingClientRect().top);\n\n\t\treturn top + (Number.parseInt(this.style.top || \"0\") - actualTop);\n\t}\n\n\t_getContainingBlockClientLocation() {\n\t\tlet parentElement = getParentElement(this);\n\n\t\twhile (parentElement) {\n\t\t\tif (isElementContainingBlock(parentElement)) {\n\t\t\t\treturn parentElement.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tparentElement = getParentElement(parentElement);\n\t\t}\n\n\t\treturn { left: 0, top: 0 };\n\t}\n\n\tgetPopoverSize(): PopoverSize {\n\t\tconst rect = this.getBoundingClientRect(),\n\t\t\twidth = rect.width,\n\t\t\theight = rect.height;\n\n\t\treturn { width, height };\n\t}\n\n\t_showOutsideViewport() {\n\t\tObject.assign(this.style, {\n\t\t\ttop: \"-10000px\",\n\t\t\tleft: \"-10000px\",\n\t\t});\n\t}\n\n\tget arrowDOM() {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popover-arrow\")!;\n\t}\n\n\t/**\n\t * @private\n\t */\n\tcalcPlacement(targetRect: DOMRect, popoverSize: PopoverSize): CalculatedPlacement {\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\t\tlet top = 0;\n\t\tconst allowTargetOverlap = this.allowTargetOverlap;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tlet maxHeight = clientHeight;\n\t\tlet maxWidth = clientWidth;\n\n\t\tconst placement = this.getActualPlacement(targetRect, popoverSize);\n\n\t\tthis._preventRepositionAndClose = this.shouldCloseDueToNoOpener(targetRect) || this.shouldCloseDueToOverflow(placement, targetRect);\n\n\t\tconst isVertical = placement === PopoverPlacement.Top\n\t\t\t|| placement === PopoverPlacement.Bottom;\n\n\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Stretch && isVertical) {\n\t\t\tpopoverSize.width = targetRect.width;\n\t\t\tthis._width = `${targetRect.width}px`;\n\t\t} else if (this.verticalAlign === PopoverVerticalAlign.Stretch && !isVertical) {\n\t\t\tpopoverSize.height = targetRect.height;\n\t\t}\n\n\t\tconst arrowOffset = this.hideArrow ? 0 : ARROW_SIZE;\n\n\t\t// calc popover positions\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = Math.max(targetRect.top - popoverSize.height - arrowOffset, 0);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxHeight = targetRect.top - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tleft = this.getVerticalLeft(targetRect, popoverSize);\n\t\t\ttop = targetRect.bottom + arrowOffset;\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\ttop = Math.max(Math.min(top, clientHeight - popoverSize.height), 0);\n\t\t\t} else {\n\t\t\t\tmaxHeight = clientHeight - targetRect.bottom - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tleft = Math.max(targetRect.left - popoverSize.width - arrowOffset, 0);\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (!allowTargetOverlap) {\n\t\t\t\tmaxWidth = targetRect.left - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tleft = targetRect.left + targetRect.width + arrowOffset;\n\t\t\ttop = this.getHorizontalTop(targetRect, popoverSize);\n\n\t\t\tif (allowTargetOverlap) {\n\t\t\t\tleft = Math.max(Math.min(left, clientWidth - popoverSize.width), 0);\n\t\t\t} else {\n\t\t\t\tmaxWidth = clientWidth - targetRect.right - arrowOffset;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\t// correct popover positions\n\t\tif (isVertical) {\n\t\t\tif (popoverSize.width > clientWidth || left < Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = Popover.VIEWPORT_MARGIN;\n\t\t\t} else if (left + popoverSize.width > clientWidth - Popover.VIEWPORT_MARGIN) {\n\t\t\t\tleft = clientWidth - Popover.VIEWPORT_MARGIN - popoverSize.width;\n\t\t\t}\n\t\t} else {\n\t\t\tif (popoverSize.height > clientHeight || top < 0) { // eslint-disable-line\n\t\t\t\ttop = 0;\n\t\t\t} else if (top + popoverSize.height > clientHeight) {\n\t\t\t\ttop -= top + popoverSize.height - clientHeight;\n\t\t\t}\n\t\t}\n\n\t\tthis._maxHeight = Math.round(maxHeight - Popover.VIEWPORT_MARGIN);\n\t\tthis._maxWidth = Math.round(maxWidth - Popover.VIEWPORT_MARGIN);\n\n\t\tif (this._left === undefined || Math.abs(this._left - left) > 1.5) {\n\t\t\tthis._left = Math.round(left);\n\t\t}\n\n\t\tif (this._top === undefined || Math.abs(this._top - top) > 1.5) {\n\t\t\tthis._top = Math.round(top);\n\t\t}\n\n\t\tconst borderRadius = Number.parseInt(window.getComputedStyle(this).getPropertyValue(\"border-radius\"));\n\t\tconst arrowPos = this.getArrowPosition(targetRect, popoverSize, left, top, isVertical, borderRadius);\n\n\t\treturn {\n\t\t\tarrow: arrowPos,\n\t\t\ttop: this._top,\n\t\t\tleft: this._left,\n\t\t\tplacement,\n\t\t};\n\t}\n\n\t/**\n\t * Calculates the position for the arrow.\n\t * @private\n\t * @param targetRect BoundingClientRect of the target element\n\t * @param popoverSize Width and height of the popover\n\t * @param left Left offset of the popover\n\t * @param top Top offset of the popover\n\t * @param isVertical If the popover is positioned vertically to the target element\n\t * @param borderRadius Value of the border-radius property\n\t * @returns Arrow's coordinates\n\t */\n\tgetArrowPosition(targetRect: DOMRect, popoverSize: PopoverSize, left: number, top: number, isVertical: boolean, borderRadius: number): ArrowPosition {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet arrowXCentered = horizontalAlign === PopoverHorizontalAlign.Center || horizontalAlign === PopoverHorizontalAlign.Stretch;\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.End && left <= targetRect.left) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tif (horizontalAlign === PopoverHorizontalAlign.Start && left + popoverSize.width >= targetRect.left + targetRect.width) {\n\t\t\tarrowXCentered = true;\n\t\t}\n\n\t\tlet arrowTranslateX = 0;\n\t\tif (isVertical && arrowXCentered) {\n\t\t\tarrowTranslateX = targetRect.left + targetRect.width / 2 - left - popoverSize.width / 2;\n\t\t}\n\n\t\tlet arrowTranslateY = 0;\n\t\tif (!isVertical) {\n\t\t\tarrowTranslateY = targetRect.top + targetRect.height / 2 - top - popoverSize.height / 2;\n\t\t}\n\n\t\t// Restricts the arrow's translate value along each dimension,\n\t\t// so that the arrow does not clip over the popover's rounded borders.\n\t\tconst safeRangeForArrowY = popoverSize.height / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateY = clamp(\n\t\t\tarrowTranslateY,\n\t\t\t-safeRangeForArrowY,\n\t\t\tsafeRangeForArrowY,\n\t\t);\n\n\t\tconst safeRangeForArrowX = popoverSize.width / 2 - borderRadius - ARROW_SIZE / 2;\n\t\tarrowTranslateX = clamp(\n\t\t\tarrowTranslateX,\n\t\t\t-safeRangeForArrowX,\n\t\t\tsafeRangeForArrowX,\n\t\t);\n\n\t\treturn {\n\t\t\tx: Math.round(arrowTranslateX),\n\t\t\ty: Math.round(arrowTranslateY),\n\t\t};\n\t}\n\n\t/**\n\t * Fallbacks to new placement, prioritizing `Left` and `Right` placements.\n\t * @private\n\t */\n\tfallbackPlacement(clientWidth: number, clientHeight: number, targetRect: DOMRect, popoverSize: PopoverSize): PopoverPlacement | undefined {\n\t\tif (targetRect.left > popoverSize.width) {\n\t\t\treturn PopoverPlacement.Start;\n\t\t}\n\n\t\tif (clientWidth - targetRect.right > targetRect.left) {\n\t\t\treturn PopoverPlacement.End;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom > popoverSize.height) {\n\t\t\treturn PopoverPlacement.Bottom;\n\t\t}\n\n\t\tif (clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\treturn PopoverPlacement.Top;\n\t\t}\n\t}\n\n\tgetActualPlacement(targetRect: DOMRect, popoverSize: PopoverSize): `${PopoverPlacement}` {\n\t\tconst placement = this.placement;\n\t\tlet actualPlacement = placement;\n\n\t\tconst clientWidth = document.documentElement.clientWidth;\n\t\tconst clientHeight = document.documentElement.clientHeight;\n\n\t\tswitch (placement) {\n\t\tcase PopoverPlacement.Top:\n\t\t\tif (targetRect.top < popoverSize.height\n\t\t\t\t&& targetRect.top < clientHeight - targetRect.bottom) {\n\t\t\t\tactualPlacement = PopoverPlacement.Bottom;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Bottom:\n\t\t\tif (clientHeight - targetRect.bottom < popoverSize.height\n\t\t\t\t&& clientHeight - targetRect.bottom < targetRect.top) {\n\t\t\t\tactualPlacement = PopoverPlacement.Top;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.Start:\n\t\t\tif (targetRect.left < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase PopoverPlacement.End:\n\t\t\tif (clientWidth - targetRect.right < popoverSize.width) {\n\t\t\t\tactualPlacement = this.fallbackPlacement(clientWidth, clientHeight, targetRect, popoverSize) || placement;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\n\t\treturn actualPlacement;\n\t}\n\n\tgetVerticalLeft(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tconst horizontalAlign = this._actualHorizontalAlign;\n\t\tlet left = Popover.VIEWPORT_MARGIN;\n\n\t\tswitch (horizontalAlign) {\n\t\tcase PopoverHorizontalAlign.Center:\n\t\tcase PopoverHorizontalAlign.Stretch:\n\t\t\tleft = targetRect.left - (popoverSize.width - targetRect.width) / 2;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.Start:\n\t\t\tleft = targetRect.left;\n\t\t\tbreak;\n\t\tcase PopoverHorizontalAlign.End:\n\t\t\tleft = targetRect.right - popoverSize.width;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\tgetHorizontalTop(targetRect: DOMRect, popoverSize: PopoverSize): number {\n\t\tlet top = 0;\n\n\t\tswitch (this.verticalAlign) {\n\t\tcase PopoverVerticalAlign.Center:\n\t\tcase PopoverVerticalAlign.Stretch:\n\t\t\ttop = targetRect.top - (popoverSize.height - targetRect.height) / 2;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Top:\n\t\t\ttop = targetRect.top;\n\t\t\tbreak;\n\t\tcase PopoverVerticalAlign.Bottom:\n\t\t\ttop = targetRect.bottom - popoverSize.height;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tget isModal() { // Required by Popup.js\n\t\treturn this.modal;\n\t}\n\n\tget shouldHideBackdrop() { // Required by Popup.js\n\t\treturn this.hideBackdrop;\n\t}\n\n\tget _ariaLabelledBy() { // Required by Popup.js\n\t\tif (!this._ariaLabel && this._displayHeader) {\n\t\t\treturn \"ui5-popup-header\";\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\t...super.styles,\n\t\t\troot: {\n\t\t\t\t\"max-height\": this._maxHeight ? `${this._maxHeight}px` : \"\",\n\t\t\t\t\"max-width\": this._maxWidth ? `${this._maxWidth}px` : \"\",\n\t\t\t},\n\t\t\tarrow: {\n\t\t\t\ttransform: `translate(${this.arrowTranslateX}px, ${this.arrowTranslateY}px)`,\n\t\t\t},\n\t\t};\n\t}\n\n\tget classes() {\n\t\tconst allClasses = super.classes;\n\t\tallClasses.root[\"ui5-popover-root\"] = true;\n\n\t\treturn allClasses;\n\t}\n\n\t/**\n\t * Hook for descendants to hide header.\n\t */\n\tget _displayHeader() {\n\t\treturn !!(this.header.length || this.headerText);\n\t}\n\n\t/**\n\t * Hook for descendants to hide footer.\n\t */\n\tget _displayFooter() {\n\t\treturn true;\n\t}\n\n\tget _actualHorizontalAlign() {\n\t\tif (this.effectiveDir === \"rtl\") {\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.Start) {\n\t\t\t\treturn PopoverHorizontalAlign.End;\n\t\t\t}\n\n\t\t\tif (this.horizontalAlign === PopoverHorizontalAlign.End) {\n\t\t\t\treturn PopoverHorizontalAlign.Start;\n\t\t\t}\n\t\t}\n\n\t\treturn this.horizontalAlign;\n\t}\n}\n\nconst instanceOfPopover = (object: any): object is Popover => {\n\treturn \"showAt\" in object;\n};\n\nPopover.define();\n\nexport default Popover;\n\nexport { instanceOfPopover };\n\nexport type {\n\tPopoverBeforeCloseEventDetail,\n};\n"]}
@@ -52,17 +52,17 @@ let ProgressIndicator = ProgressIndicator_1 = class ProgressIndicator extends UI
52
52
  }
53
53
  valueStateTextMappings() {
54
54
  return {
55
- "Error": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_ERROR),
56
- "Warning": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_WARNING),
57
- "Success": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
55
+ "Negative": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_ERROR),
56
+ "Critical": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_WARNING),
57
+ "Positive": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_SUCCESS),
58
58
  "Information": ProgressIndicator_1.i18nBundle.getText(VALUE_STATE_INFORMATION),
59
59
  };
60
60
  }
61
61
  valueStateIconMappings() {
62
62
  return {
63
- "Error": "status-negative",
64
- "Warning": "status-critical",
65
- "Success": "status-positive",
63
+ "Negative": "status-negative",
64
+ "Critical": "status-critical",
65
+ "Positive": "status-positive",
66
66
  "Information": "information",
67
67
  };
68
68
  }