@ui5/webcomponents 2.19.0-rc.0 → 2.19.0-rc.2

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 (653) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.md +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/Calendar.js +1 -1
  5. package/dist/Calendar.js.map +1 -1
  6. package/dist/ColorPicker.d.ts +5 -0
  7. package/dist/ColorPicker.js +12 -0
  8. package/dist/ColorPicker.js.map +1 -1
  9. package/dist/ColorPickerTemplate.js +1 -1
  10. package/dist/ColorPickerTemplate.js.map +1 -1
  11. package/dist/DateTimePicker.js +4 -3
  12. package/dist/DateTimePicker.js.map +1 -1
  13. package/dist/Input.d.ts +12 -9
  14. package/dist/Input.js +94 -57
  15. package/dist/Input.js.map +1 -1
  16. package/dist/InputTemplate.js +1 -1
  17. package/dist/InputTemplate.js.map +1 -1
  18. package/dist/Link.d.ts +0 -7
  19. package/dist/Link.js +1 -5
  20. package/dist/Link.js.map +1 -1
  21. package/dist/ListBoxItemGroupTemplate.js +1 -1
  22. package/dist/ListBoxItemGroupTemplate.js.map +1 -1
  23. package/dist/ListItemGroup.d.ts +2 -1
  24. package/dist/ListItemGroup.js +2 -0
  25. package/dist/ListItemGroup.js.map +1 -1
  26. package/dist/Menu.d.ts +1 -1
  27. package/dist/Menu.js +3 -3
  28. package/dist/Menu.js.map +1 -1
  29. package/dist/MenuItem.d.ts +1 -1
  30. package/dist/MenuItem.js +3 -3
  31. package/dist/MenuItem.js.map +1 -1
  32. package/dist/MenuItemTemplate.js +1 -2
  33. package/dist/MenuItemTemplate.js.map +1 -1
  34. package/dist/MenuTemplate.js +3 -3
  35. package/dist/MenuTemplate.js.map +1 -1
  36. package/dist/MultiComboBox.d.ts +6 -1
  37. package/dist/MultiComboBox.js +29 -5
  38. package/dist/MultiComboBox.js.map +1 -1
  39. package/dist/Popover.d.ts +23 -2
  40. package/dist/Popover.js +77 -12
  41. package/dist/Popover.js.map +1 -1
  42. package/dist/PopoverResize.d.ts +62 -0
  43. package/dist/PopoverResize.js +276 -0
  44. package/dist/PopoverResize.js.map +1 -0
  45. package/dist/PopoverTemplate.js +5 -2
  46. package/dist/PopoverTemplate.js.map +1 -1
  47. package/dist/SegmentedButtonItem.js +1 -0
  48. package/dist/SegmentedButtonItem.js.map +1 -1
  49. package/dist/StepInput.d.ts +17 -0
  50. package/dist/StepInput.js +79 -16
  51. package/dist/StepInput.js.map +1 -1
  52. package/dist/StepInputTemplate.js +1 -1
  53. package/dist/StepInputTemplate.js.map +1 -1
  54. package/dist/Table.js +4 -6
  55. package/dist/Table.js.map +1 -1
  56. package/dist/TableCell.d.ts +1 -1
  57. package/dist/TableCell.js +15 -13
  58. package/dist/TableCell.js.map +1 -1
  59. package/dist/TableCustomAnnouncement.js.map +1 -1
  60. package/dist/TableHeaderCell.d.ts +0 -1
  61. package/dist/TableHeaderCell.js +1 -8
  62. package/dist/TableHeaderCell.js.map +1 -1
  63. package/dist/TableHeaderCellActionBase.js.map +1 -1
  64. package/dist/TreeItemBaseTemplate.js +2 -2
  65. package/dist/TreeItemBaseTemplate.js.map +1 -1
  66. package/dist/bundle.common.bootstrap.d.ts +0 -1
  67. package/dist/bundle.common.bootstrap.js +2 -1
  68. package/dist/bundle.common.bootstrap.js.map +1 -1
  69. package/dist/css/themes/Avatar.css +1 -1
  70. package/dist/css/themes/AvatarGroup.css +1 -1
  71. package/dist/css/themes/Bar.css +1 -1
  72. package/dist/css/themes/Breadcrumbs.css +1 -1
  73. package/dist/css/themes/BusyIndicator.css +1 -1
  74. package/dist/css/themes/Button.css +1 -1
  75. package/dist/css/themes/ButtonBadge.css +1 -1
  76. package/dist/css/themes/Calendar.css +1 -1
  77. package/dist/css/themes/CalendarHeader.css +1 -1
  78. package/dist/css/themes/CalendarLegend.css +1 -1
  79. package/dist/css/themes/CalendarLegendItem.css +1 -1
  80. package/dist/css/themes/Card.css +1 -1
  81. package/dist/css/themes/CardHeader.css +1 -1
  82. package/dist/css/themes/Carousel.css +1 -1
  83. package/dist/css/themes/CheckBox.css +1 -1
  84. package/dist/css/themes/ColorPalette.css +1 -1
  85. package/dist/css/themes/ColorPaletteItem.css +1 -1
  86. package/dist/css/themes/ColorPalettePopover.css +1 -1
  87. package/dist/css/themes/ColorPicker.css +1 -1
  88. package/dist/css/themes/ComboBox.css +1 -1
  89. package/dist/css/themes/ComboBoxItem.css +1 -1
  90. package/dist/css/themes/DatePicker.css +1 -1
  91. package/dist/css/themes/DatePickerPopover.css +1 -1
  92. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  93. package/dist/css/themes/DayPicker.css +1 -1
  94. package/dist/css/themes/Dialog.css +1 -1
  95. package/dist/css/themes/DynamicDateRange.css +1 -1
  96. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  97. package/dist/css/themes/FileUploader.css +1 -1
  98. package/dist/css/themes/Form.css +1 -1
  99. package/dist/css/themes/FormItem.css +1 -1
  100. package/dist/css/themes/FormItemSpan.css +1 -1
  101. package/dist/css/themes/GrowingButton.css +1 -1
  102. package/dist/css/themes/Icon.css +1 -1
  103. package/dist/css/themes/Input.css +1 -1
  104. package/dist/css/themes/InputIcon.css +1 -1
  105. package/dist/css/themes/InputSharedStyles.css +1 -1
  106. package/dist/css/themes/Link.css +1 -1
  107. package/dist/css/themes/List.css +1 -1
  108. package/dist/css/themes/ListItem.css +1 -1
  109. package/dist/css/themes/ListItemBase.css +1 -1
  110. package/dist/css/themes/ListItemCustom.css +1 -1
  111. package/dist/css/themes/ListItemGroup.css +1 -1
  112. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  113. package/dist/css/themes/ListItemIcon.css +1 -1
  114. package/dist/css/themes/Menu.css +1 -1
  115. package/dist/css/themes/MenuItem.css +1 -1
  116. package/dist/css/themes/MessageStrip.css +1 -1
  117. package/dist/css/themes/MonthPicker.css +1 -1
  118. package/dist/css/themes/MultiComboBox.css +1 -1
  119. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  120. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  121. package/dist/css/themes/MultiInput.css +1 -1
  122. package/dist/css/themes/OptionBase.css +1 -1
  123. package/dist/css/themes/Panel.css +1 -1
  124. package/dist/css/themes/Popover.css +1 -1
  125. package/dist/css/themes/PopupsCommon.css +1 -1
  126. package/dist/css/themes/ProgressIndicator.css +1 -1
  127. package/dist/css/themes/RadioButton.css +1 -1
  128. package/dist/css/themes/RangeSlider.css +1 -1
  129. package/dist/css/themes/RatingIndicator.css +1 -1
  130. package/dist/css/themes/ResponsivePopover.css +1 -1
  131. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  132. package/dist/css/themes/SegmentedButton.css +1 -1
  133. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  134. package/dist/css/themes/Select.css +1 -1
  135. package/dist/css/themes/SliderBase.css +1 -1
  136. package/dist/css/themes/SplitButton.css +1 -1
  137. package/dist/css/themes/StepInput.css +1 -1
  138. package/dist/css/themes/SuggestionItem.css +1 -1
  139. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  140. package/dist/css/themes/Switch.css +1 -1
  141. package/dist/css/themes/TabContainer.css +1 -1
  142. package/dist/css/themes/TabInOverflow.css +1 -1
  143. package/dist/css/themes/TabInStrip.css +1 -1
  144. package/dist/css/themes/TabSemanticIcon.css +1 -1
  145. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  146. package/dist/css/themes/TableCellBase.css +1 -1
  147. package/dist/css/themes/TableHeaderRow.css +1 -1
  148. package/dist/css/themes/TableRow.css +1 -1
  149. package/dist/css/themes/TableRowActionBase.css +1 -1
  150. package/dist/css/themes/TableRowBase.css +1 -1
  151. package/dist/css/themes/Tag.css +1 -1
  152. package/dist/css/themes/Text.css +1 -1
  153. package/dist/css/themes/TextArea.css +1 -1
  154. package/dist/css/themes/TimePicker.css +1 -1
  155. package/dist/css/themes/Toast.css +1 -1
  156. package/dist/css/themes/ToggleButton.css +1 -1
  157. package/dist/css/themes/Token.css +1 -1
  158. package/dist/css/themes/Tokenizer.css +1 -1
  159. package/dist/css/themes/TokenizerPopover.css +1 -1
  160. package/dist/css/themes/Toolbar.css +1 -1
  161. package/dist/css/themes/ToolbarButton.css +1 -1
  162. package/dist/css/themes/ToolbarPopover.css +1 -1
  163. package/dist/css/themes/ToolbarSeparator.css +1 -1
  164. package/dist/css/themes/TreeItem.css +1 -1
  165. package/dist/css/themes/ValueStateMessage.css +1 -1
  166. package/dist/css/themes/ValueStateVariables.css +1 -1
  167. package/dist/css/themes/YearPicker.css +1 -1
  168. package/dist/css/themes/YearRangePicker.css +1 -1
  169. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  170. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  171. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  172. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  173. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  174. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  175. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  177. package/dist/custom-elements-internal.json +218 -13
  178. package/dist/custom-elements.json +154 -8
  179. package/dist/features/InputSuggestions.d.ts +1 -0
  180. package/dist/features/InputSuggestions.js +9 -6
  181. package/dist/features/InputSuggestions.js.map +1 -1
  182. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  183. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  184. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  185. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  186. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  187. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  188. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  194. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  195. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  196. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  197. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  198. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  199. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  200. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  201. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  202. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  203. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  204. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  206. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  207. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  208. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  209. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  210. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  211. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  212. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  213. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  214. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  215. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  216. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  217. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  218. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  219. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  220. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  221. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  222. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  223. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  224. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  225. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  226. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  227. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  228. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  229. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  230. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  231. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  232. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  233. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  234. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  235. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  236. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  237. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  238. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  239. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  240. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  241. package/dist/generated/i18n/i18n-defaults.d.ts +2 -2
  242. package/dist/generated/i18n/i18n-defaults.js +2 -2
  243. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  244. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  245. package/dist/generated/themes/Avatar.css.js +1 -1
  246. package/dist/generated/themes/Avatar.css.js.map +1 -1
  247. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  248. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  249. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  250. package/dist/generated/themes/Bar.css.d.ts +1 -1
  251. package/dist/generated/themes/Bar.css.js +1 -1
  252. package/dist/generated/themes/Bar.css.js.map +1 -1
  253. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  254. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  255. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  256. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  257. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  258. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  259. package/dist/generated/themes/Button.css.d.ts +1 -1
  260. package/dist/generated/themes/Button.css.js +1 -1
  261. package/dist/generated/themes/Button.css.js.map +1 -1
  262. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  263. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  264. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  265. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  266. package/dist/generated/themes/Calendar.css.js +1 -1
  267. package/dist/generated/themes/Calendar.css.js.map +1 -1
  268. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  269. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  270. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  271. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  272. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  273. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  274. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  275. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  276. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  277. package/dist/generated/themes/Card.css.d.ts +1 -1
  278. package/dist/generated/themes/Card.css.js +1 -1
  279. package/dist/generated/themes/Card.css.js.map +1 -1
  280. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  281. package/dist/generated/themes/CardHeader.css.js +1 -1
  282. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  283. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  284. package/dist/generated/themes/Carousel.css.js +1 -1
  285. package/dist/generated/themes/Carousel.css.js.map +1 -1
  286. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  287. package/dist/generated/themes/CheckBox.css.js +1 -1
  288. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  289. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  290. package/dist/generated/themes/ColorPalette.css.js +1 -1
  291. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  292. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  293. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  294. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  295. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  296. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  297. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  298. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  299. package/dist/generated/themes/ColorPicker.css.js +1 -1
  300. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  301. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  302. package/dist/generated/themes/ComboBox.css.js +1 -1
  303. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  304. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  305. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  306. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  307. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  308. package/dist/generated/themes/DatePicker.css.js +1 -1
  309. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  310. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  311. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  312. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  313. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  314. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  315. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  316. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  317. package/dist/generated/themes/DayPicker.css.js +1 -1
  318. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  319. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  320. package/dist/generated/themes/Dialog.css.js +1 -1
  321. package/dist/generated/themes/Dialog.css.js.map +1 -1
  322. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  323. package/dist/generated/themes/DynamicDateRange.css.js +1 -1
  324. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  325. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  326. package/dist/generated/themes/DynamicDateRangePopover.css.js +1 -1
  327. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  328. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  329. package/dist/generated/themes/FileUploader.css.js +1 -1
  330. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  331. package/dist/generated/themes/Form.css.d.ts +1 -1
  332. package/dist/generated/themes/Form.css.js +1 -1
  333. package/dist/generated/themes/Form.css.js.map +1 -1
  334. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  335. package/dist/generated/themes/FormItem.css.js +1 -1
  336. package/dist/generated/themes/FormItem.css.js.map +1 -1
  337. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  338. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  339. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  340. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  341. package/dist/generated/themes/GrowingButton.css.js +1 -1
  342. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  343. package/dist/generated/themes/Icon.css.d.ts +1 -1
  344. package/dist/generated/themes/Icon.css.js +1 -1
  345. package/dist/generated/themes/Icon.css.js.map +1 -1
  346. package/dist/generated/themes/Input.css.d.ts +1 -1
  347. package/dist/generated/themes/Input.css.js +1 -1
  348. package/dist/generated/themes/Input.css.js.map +1 -1
  349. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  350. package/dist/generated/themes/InputIcon.css.js +1 -1
  351. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  352. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  353. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  354. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  355. package/dist/generated/themes/Link.css.d.ts +1 -1
  356. package/dist/generated/themes/Link.css.js +1 -1
  357. package/dist/generated/themes/Link.css.js.map +1 -1
  358. package/dist/generated/themes/List.css.d.ts +1 -1
  359. package/dist/generated/themes/List.css.js +1 -1
  360. package/dist/generated/themes/List.css.js.map +1 -1
  361. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  362. package/dist/generated/themes/ListItem.css.js +1 -1
  363. package/dist/generated/themes/ListItem.css.js.map +1 -1
  364. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  365. package/dist/generated/themes/ListItemBase.css.js +1 -1
  366. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  367. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  368. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  369. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  370. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  371. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  372. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  373. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  374. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  375. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  376. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  377. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  378. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  379. package/dist/generated/themes/Menu.css.d.ts +1 -1
  380. package/dist/generated/themes/Menu.css.js +1 -1
  381. package/dist/generated/themes/Menu.css.js.map +1 -1
  382. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  383. package/dist/generated/themes/MenuItem.css.js +1 -1
  384. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  385. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  386. package/dist/generated/themes/MessageStrip.css.js +1 -1
  387. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  388. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  389. package/dist/generated/themes/MonthPicker.css.js +1 -1
  390. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  391. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  392. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  393. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  394. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  395. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  396. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  397. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  398. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  399. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  400. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  401. package/dist/generated/themes/MultiInput.css.js +1 -1
  402. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  403. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  404. package/dist/generated/themes/OptionBase.css.js +1 -1
  405. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  406. package/dist/generated/themes/Panel.css.d.ts +1 -1
  407. package/dist/generated/themes/Panel.css.js +1 -1
  408. package/dist/generated/themes/Panel.css.js.map +1 -1
  409. package/dist/generated/themes/Popover.css.d.ts +1 -1
  410. package/dist/generated/themes/Popover.css.js +1 -1
  411. package/dist/generated/themes/Popover.css.js.map +1 -1
  412. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  413. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  414. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  415. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  416. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  417. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  418. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  419. package/dist/generated/themes/RadioButton.css.js +1 -1
  420. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  421. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  422. package/dist/generated/themes/RangeSlider.css.js +1 -1
  423. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  424. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  425. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  426. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  427. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  428. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  429. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  430. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  431. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  432. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  433. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  434. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  435. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  436. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  437. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  438. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  439. package/dist/generated/themes/Select.css.d.ts +1 -1
  440. package/dist/generated/themes/Select.css.js +1 -1
  441. package/dist/generated/themes/Select.css.js.map +1 -1
  442. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  443. package/dist/generated/themes/SliderBase.css.js +1 -1
  444. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  445. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  446. package/dist/generated/themes/SplitButton.css.js +1 -1
  447. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  448. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  449. package/dist/generated/themes/StepInput.css.js +1 -1
  450. package/dist/generated/themes/StepInput.css.js.map +1 -1
  451. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  452. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  453. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  454. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  455. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  456. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  457. package/dist/generated/themes/Switch.css.d.ts +1 -1
  458. package/dist/generated/themes/Switch.css.js +1 -1
  459. package/dist/generated/themes/Switch.css.js.map +1 -1
  460. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  461. package/dist/generated/themes/TabContainer.css.js +1 -1
  462. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  463. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  464. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  465. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  466. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  467. package/dist/generated/themes/TabInStrip.css.js +1 -1
  468. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  469. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  470. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  471. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  472. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  473. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  474. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  475. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  476. package/dist/generated/themes/TableCellBase.css.js +1 -1
  477. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  478. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  479. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  480. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  481. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  482. package/dist/generated/themes/TableRow.css.js +1 -1
  483. package/dist/generated/themes/TableRow.css.js.map +1 -1
  484. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  485. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  486. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  487. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  488. package/dist/generated/themes/TableRowBase.css.js +1 -1
  489. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  490. package/dist/generated/themes/Tag.css.d.ts +1 -1
  491. package/dist/generated/themes/Tag.css.js +1 -1
  492. package/dist/generated/themes/Tag.css.js.map +1 -1
  493. package/dist/generated/themes/Text.css.d.ts +1 -1
  494. package/dist/generated/themes/Text.css.js +1 -1
  495. package/dist/generated/themes/Text.css.js.map +1 -1
  496. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  497. package/dist/generated/themes/TextArea.css.js +1 -1
  498. package/dist/generated/themes/TextArea.css.js.map +1 -1
  499. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  500. package/dist/generated/themes/TimePicker.css.js +1 -1
  501. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  502. package/dist/generated/themes/Toast.css.d.ts +1 -1
  503. package/dist/generated/themes/Toast.css.js +1 -1
  504. package/dist/generated/themes/Toast.css.js.map +1 -1
  505. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  506. package/dist/generated/themes/ToggleButton.css.js +1 -1
  507. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  508. package/dist/generated/themes/Token.css.d.ts +1 -1
  509. package/dist/generated/themes/Token.css.js +1 -1
  510. package/dist/generated/themes/Token.css.js.map +1 -1
  511. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  512. package/dist/generated/themes/Tokenizer.css.js +1 -1
  513. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  514. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  515. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  516. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  517. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  518. package/dist/generated/themes/Toolbar.css.js +1 -1
  519. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  520. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  521. package/dist/generated/themes/ToolbarButton.css.js +1 -1
  522. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  523. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  524. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  525. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  526. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  527. package/dist/generated/themes/ToolbarSeparator.css.js +1 -1
  528. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  529. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  530. package/dist/generated/themes/TreeItem.css.js +1 -1
  531. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  532. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  533. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  534. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  535. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  536. package/dist/generated/themes/ValueStateVariables.css.js +1 -1
  537. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  538. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  539. package/dist/generated/themes/YearPicker.css.js +1 -1
  540. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  541. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  542. package/dist/generated/themes/YearRangePicker.css.js +1 -1
  543. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  544. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  545. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  546. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  547. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  548. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  549. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  550. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  551. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  552. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  553. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  554. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  555. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  556. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  557. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  558. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  559. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  560. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  561. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  562. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  563. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  564. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  565. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  566. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  567. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  568. package/dist/popup-utils/PopoverRegistry.js +6 -4
  569. package/dist/popup-utils/PopoverRegistry.js.map +1 -1
  570. package/dist/types/InputSuggestionsFilter.d.ts +27 -0
  571. package/dist/types/InputSuggestionsFilter.js +29 -0
  572. package/dist/types/InputSuggestionsFilter.js.map +1 -0
  573. package/dist/vscode.html-custom-data.json +34 -4
  574. package/dist/web-types.json +65 -11
  575. package/package.json +9 -9
  576. package/src/ColorPickerTemplate.tsx +1 -1
  577. package/src/InputTemplate.tsx +1 -1
  578. package/src/ListBoxItemGroupTemplate.tsx +1 -1
  579. package/src/MenuItemTemplate.tsx +16 -8
  580. package/src/MenuTemplate.tsx +11 -7
  581. package/src/PopoverTemplate.tsx +10 -0
  582. package/src/StepInputTemplate.tsx +1 -0
  583. package/src/TreeItemBaseTemplate.tsx +2 -2
  584. package/src/i18n/messagebundle.properties +2 -2
  585. package/src/i18n/messagebundle_ar.properties +24 -0
  586. package/src/i18n/messagebundle_bg.properties +24 -0
  587. package/src/i18n/messagebundle_ca.properties +24 -0
  588. package/src/i18n/messagebundle_cnr.properties +24 -0
  589. package/src/i18n/messagebundle_cs.properties +24 -0
  590. package/src/i18n/messagebundle_cy.properties +24 -0
  591. package/src/i18n/messagebundle_da.properties +24 -0
  592. package/src/i18n/messagebundle_de.properties +25 -1
  593. package/src/i18n/messagebundle_el.properties +27 -3
  594. package/src/i18n/messagebundle_en.properties +8 -326
  595. package/src/i18n/messagebundle_en_GB.properties +24 -0
  596. package/src/i18n/messagebundle_en_US_sappsd.properties +8 -0
  597. package/src/i18n/messagebundle_en_US_saprigi.properties +8 -0
  598. package/src/i18n/messagebundle_en_US_saptrc.properties +8 -0
  599. package/src/i18n/messagebundle_es.properties +24 -0
  600. package/src/i18n/messagebundle_es_MX.properties +34 -10
  601. package/src/i18n/messagebundle_et.properties +24 -0
  602. package/src/i18n/messagebundle_fi.properties +24 -0
  603. package/src/i18n/messagebundle_fr.properties +24 -0
  604. package/src/i18n/messagebundle_fr_CA.properties +24 -0
  605. package/src/i18n/messagebundle_hi.properties +24 -0
  606. package/src/i18n/messagebundle_hr.properties +24 -0
  607. package/src/i18n/messagebundle_hu.properties +24 -0
  608. package/src/i18n/messagebundle_id.properties +24 -0
  609. package/src/i18n/messagebundle_it.properties +25 -1
  610. package/src/i18n/messagebundle_iw.properties +24 -0
  611. package/src/i18n/messagebundle_ja.properties +24 -0
  612. package/src/i18n/messagebundle_kk.properties +24 -0
  613. package/src/i18n/messagebundle_ko.properties +24 -0
  614. package/src/i18n/messagebundle_lt.properties +24 -0
  615. package/src/i18n/messagebundle_lv.properties +24 -0
  616. package/src/i18n/messagebundle_mk.properties +26 -2
  617. package/src/i18n/messagebundle_ms.properties +24 -0
  618. package/src/i18n/messagebundle_nl.properties +24 -0
  619. package/src/i18n/messagebundle_no.properties +24 -0
  620. package/src/i18n/messagebundle_pl.properties +24 -0
  621. package/src/i18n/messagebundle_pt.properties +24 -0
  622. package/src/i18n/messagebundle_pt_PT.properties +24 -0
  623. package/src/i18n/messagebundle_ro.properties +24 -0
  624. package/src/i18n/messagebundle_ru.properties +25 -1
  625. package/src/i18n/messagebundle_sh.properties +24 -0
  626. package/src/i18n/messagebundle_sk.properties +24 -0
  627. package/src/i18n/messagebundle_sl.properties +24 -0
  628. package/src/i18n/messagebundle_sr.properties +24 -0
  629. package/src/i18n/messagebundle_sv.properties +24 -0
  630. package/src/i18n/messagebundle_th.properties +24 -0
  631. package/src/i18n/messagebundle_tr.properties +24 -0
  632. package/src/i18n/messagebundle_uk.properties +24 -0
  633. package/src/i18n/messagebundle_vi.properties +24 -0
  634. package/src/i18n/messagebundle_zh_CN.properties +24 -0
  635. package/src/i18n/messagebundle_zh_TW.properties +24 -0
  636. package/src/themes/Button.css +3 -2
  637. package/src/themes/Dialog.css +0 -16
  638. package/src/themes/Form.css +1 -1
  639. package/src/themes/FormItem.css +0 -1
  640. package/src/themes/FormItemSpan.css +2 -2
  641. package/src/themes/Menu.css +17 -0
  642. package/src/themes/MenuItem.css +9 -0
  643. package/src/themes/Popover.css +77 -0
  644. package/src/themes/PopupsCommon.css +16 -0
  645. package/src/themes/SegmentedButton.css +2 -2
  646. package/src/themes/SegmentedButtonItem.css +0 -4
  647. package/src/themes/TableCellBase.css +4 -0
  648. package/src/themes/TreeItem.css +10 -2
  649. package/src/themes/base/sizes-parameters.css +6 -58
  650. package/src/themes/sap_fiori_3/sizes-parameters.css +0 -8
  651. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +0 -5
  652. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +0 -5
  653. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +0 -5
@@ -0,0 +1,276 @@
1
+ import clamp from "@ui5/webcomponents-base/dist/util/clamp.js";
2
+ import { PopoverActualPlacement, PopoverActualHorizontalAlign } from "./Popover.js";
3
+ import PopoverVerticalAlign from "./types/PopoverVerticalAlign.js";
4
+ var ResizeHandlePlacement;
5
+ (function (ResizeHandlePlacement) {
6
+ ResizeHandlePlacement["TopLeft"] = "TopLeft";
7
+ ResizeHandlePlacement["TopRight"] = "TopRight";
8
+ ResizeHandlePlacement["BottomLeft"] = "BottomLeft";
9
+ ResizeHandlePlacement["BottomRight"] = "BottomRight";
10
+ })(ResizeHandlePlacement || (ResizeHandlePlacement = {}));
11
+ /**
12
+ * Manages resize functionality for Popover components
13
+ * @private
14
+ */
15
+ class PopoverResize {
16
+ constructor(popover) {
17
+ this._resized = false;
18
+ this._popover = popover;
19
+ this._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);
20
+ this._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);
21
+ }
22
+ /**
23
+ * Resets the resize state
24
+ */
25
+ reset() {
26
+ if (!this._resized) {
27
+ return;
28
+ }
29
+ this._resized = false;
30
+ delete this._currentDeltaX;
31
+ delete this._currentDeltaY;
32
+ delete this._totalDeltaX;
33
+ delete this._totalDeltaY;
34
+ }
35
+ /**
36
+ * Returns whether the popover has been resized
37
+ */
38
+ get isResized() {
39
+ return this._resized;
40
+ }
41
+ /*
42
+ * Gets the corrected left position considering resize deltas
43
+ */
44
+ getCorrectedLeft(left) {
45
+ if (this.isResized) {
46
+ left -= this._currentDeltaX || 0;
47
+ }
48
+ return left;
49
+ }
50
+ /*
51
+ * Gets the corrected top position considering resize deltas
52
+ */
53
+ getCorrectedTop(top) {
54
+ if (this.isResized) {
55
+ top -= this._currentDeltaY || 0;
56
+ }
57
+ return top;
58
+ }
59
+ setCorrectResizeHandleClass(allClasses) {
60
+ switch (this.getResizeHandlePlacement()) {
61
+ case ResizeHandlePlacement.BottomLeft:
62
+ allClasses.root["ui5-popover-resize-handle-bottom-left"] = true;
63
+ break;
64
+ case ResizeHandlePlacement.BottomRight:
65
+ allClasses.root["ui5-popover-resize-handle-bottom-right"] = true;
66
+ break;
67
+ case ResizeHandlePlacement.TopLeft:
68
+ allClasses.root["ui5-popover-resize-handle-top-left"] = true;
69
+ break;
70
+ case ResizeHandlePlacement.TopRight:
71
+ allClasses.root["ui5-popover-resize-handle-top-right"] = true;
72
+ break;
73
+ }
74
+ }
75
+ getResizeHandlePlacement() {
76
+ const popover = this._popover;
77
+ if (this._resized && popover.resizeHandlePlacement) {
78
+ return popover.resizeHandlePlacement;
79
+ }
80
+ const opener = popover.getOpenerHTMLElement(popover.opener);
81
+ if (!opener) {
82
+ return undefined;
83
+ }
84
+ const offset = 2;
85
+ const isRtl = popover.isRtl;
86
+ const openerRect = opener.getBoundingClientRect();
87
+ const popoverWrapperRect = popover.getBoundingClientRect();
88
+ let openerCX = Math.floor(openerRect.x + openerRect.width / 2);
89
+ const openerCY = Math.floor(openerRect.y + openerRect.height / 2);
90
+ let popoverCX = Math.floor(popoverWrapperRect.x + popoverWrapperRect.width / 2);
91
+ const popoverCY = Math.floor(popoverWrapperRect.y + popoverWrapperRect.height / 2);
92
+ const verticalAlign = popover.verticalAlign;
93
+ const actualHorizontalAlign = popover._actualHorizontalAlign;
94
+ const isPopoverWidthBiggerThanOpener = popoverWrapperRect.width > openerRect.width;
95
+ const isPopoverHeightBiggerThanOpener = popoverWrapperRect.height > openerRect.height;
96
+ if (isRtl) {
97
+ openerCX = -openerCX;
98
+ popoverCX = -popoverCX;
99
+ }
100
+ switch (popover.getActualPlacement(openerRect)) {
101
+ case PopoverActualPlacement.Left:
102
+ if (isPopoverHeightBiggerThanOpener) {
103
+ if (popoverCY > openerCY + offset) {
104
+ return ResizeHandlePlacement.BottomLeft;
105
+ }
106
+ return ResizeHandlePlacement.TopLeft;
107
+ }
108
+ if (verticalAlign === PopoverVerticalAlign.Top) {
109
+ return ResizeHandlePlacement.BottomLeft;
110
+ }
111
+ return ResizeHandlePlacement.TopLeft;
112
+ case PopoverActualPlacement.Right:
113
+ if (isPopoverHeightBiggerThanOpener) {
114
+ if (popoverCY + offset < openerCY) {
115
+ return ResizeHandlePlacement.TopRight;
116
+ }
117
+ return ResizeHandlePlacement.BottomRight;
118
+ }
119
+ if (verticalAlign === PopoverVerticalAlign.Bottom) {
120
+ return ResizeHandlePlacement.TopRight;
121
+ }
122
+ return ResizeHandlePlacement.BottomRight;
123
+ case PopoverActualPlacement.Bottom:
124
+ if (isPopoverWidthBiggerThanOpener) {
125
+ if (popoverCX + offset < openerCX) {
126
+ return isRtl ? ResizeHandlePlacement.BottomRight : ResizeHandlePlacement.BottomLeft;
127
+ }
128
+ return isRtl ? ResizeHandlePlacement.BottomLeft : ResizeHandlePlacement.BottomRight;
129
+ }
130
+ if (isRtl) {
131
+ if (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {
132
+ return ResizeHandlePlacement.BottomRight;
133
+ }
134
+ return ResizeHandlePlacement.BottomLeft;
135
+ }
136
+ if (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {
137
+ return ResizeHandlePlacement.BottomLeft;
138
+ }
139
+ return ResizeHandlePlacement.BottomRight;
140
+ case PopoverActualPlacement.Top:
141
+ default:
142
+ if (isPopoverWidthBiggerThanOpener) {
143
+ if (popoverCX + offset < openerCX) {
144
+ return isRtl ? ResizeHandlePlacement.TopRight : ResizeHandlePlacement.TopLeft;
145
+ }
146
+ return isRtl ? ResizeHandlePlacement.TopLeft : ResizeHandlePlacement.TopRight;
147
+ }
148
+ if (isRtl) {
149
+ if (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {
150
+ return ResizeHandlePlacement.TopRight;
151
+ }
152
+ return ResizeHandlePlacement.TopLeft;
153
+ }
154
+ if (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {
155
+ return ResizeHandlePlacement.TopLeft;
156
+ }
157
+ return ResizeHandlePlacement.TopRight;
158
+ }
159
+ }
160
+ /**
161
+ * Handles mouse down event on resize handle
162
+ */
163
+ onResizeMouseDown(e) {
164
+ if (!this._popover.resizable) {
165
+ return;
166
+ }
167
+ e.preventDefault();
168
+ this._resized = true;
169
+ this._initialBoundingRect = this._popover.getBoundingClientRect();
170
+ this._totalDeltaX = this._currentDeltaX;
171
+ this._totalDeltaY = this._currentDeltaY;
172
+ const { minWidth, minHeight, } = window.getComputedStyle(this._popover);
173
+ const domRefComputedStyle = window.getComputedStyle(this._popover._getRealDomRef());
174
+ this._initialClientX = e.clientX;
175
+ this._initialClientY = e.clientY;
176
+ this._minWidth = Math.max(Number.parseFloat(minWidth), Number.parseFloat(domRefComputedStyle.minWidth));
177
+ this._minHeight = Number.parseFloat(minHeight);
178
+ this._attachMouseResizeHandlers();
179
+ }
180
+ /**
181
+ * Handles mouse move event during resize
182
+ */
183
+ _onResizeMouseMove(e) {
184
+ const popover = this._popover;
185
+ const margin = popover._viewportMargin;
186
+ const { clientX, clientY } = e;
187
+ const resizeHandlePlacement = this.getResizeHandlePlacement();
188
+ const initialBoundingRect = this._initialBoundingRect;
189
+ const deltaX = clientX - this._initialClientX;
190
+ const deltaY = clientY - this._initialClientY;
191
+ let newWidth, newHeight;
192
+ // Determine if we're resizing from left or right edge
193
+ const isResizingFromLeft = resizeHandlePlacement === ResizeHandlePlacement.TopLeft
194
+ || resizeHandlePlacement === ResizeHandlePlacement.BottomLeft;
195
+ const isResizingFromTop = resizeHandlePlacement === ResizeHandlePlacement.TopLeft
196
+ || resizeHandlePlacement === ResizeHandlePlacement.TopRight;
197
+ // Calculate width changes
198
+ if (isResizingFromLeft) {
199
+ // Resizing from left edge - width increases when moving left (negative delta)
200
+ const maxWidthFromLeft = initialBoundingRect.x + initialBoundingRect.width - margin;
201
+ newWidth = clamp(initialBoundingRect.width - deltaX, this._minWidth, maxWidthFromLeft);
202
+ // Adjust left position when resizing from left
203
+ // Ensure the left edge respects the viewport margin and the right edge position
204
+ const newLeft = clamp(initialBoundingRect.x + deltaX, margin, initialBoundingRect.x + initialBoundingRect.width - this._minWidth);
205
+ // Recalculate width based on actual left position to stay within viewport with margin
206
+ newWidth = Math.min(newWidth, initialBoundingRect.x + initialBoundingRect.width - newLeft);
207
+ this._currentDeltaX = (initialBoundingRect.x - newLeft) / 2;
208
+ }
209
+ else {
210
+ // Resizing from right edge - width increases when moving right (positive delta)
211
+ const maxWidthFromRight = window.innerWidth - initialBoundingRect.x - margin;
212
+ newWidth = clamp(initialBoundingRect.width + deltaX, this._minWidth, maxWidthFromRight);
213
+ this._currentDeltaX = (initialBoundingRect.width - newWidth) / 2;
214
+ }
215
+ // Calculate height changes
216
+ if (isResizingFromTop) {
217
+ // Resizing from top edge - height increases when moving up (negative delta)
218
+ const maxHeightFromTop = initialBoundingRect.y + initialBoundingRect.height - margin;
219
+ newHeight = clamp(initialBoundingRect.height - deltaY, this._minHeight, maxHeightFromTop);
220
+ // Adjust top position when resizing from top
221
+ // Ensure the top edge respects the viewport margin and the bottom edge position
222
+ const newTop = clamp(initialBoundingRect.y + deltaY, margin, initialBoundingRect.y + initialBoundingRect.height - this._minHeight);
223
+ // Recalculate height based on actual top position to stay within viewport with margin
224
+ newHeight = Math.min(newHeight, initialBoundingRect.y + initialBoundingRect.height - newTop);
225
+ this._currentDeltaY = (initialBoundingRect.y - newTop) / 2;
226
+ }
227
+ else {
228
+ // Resizing from bottom edge - height increases when moving down (positive delta)
229
+ const maxHeightFromBottom = window.innerHeight - initialBoundingRect.y - margin;
230
+ newHeight = clamp(initialBoundingRect.height + deltaY, this._minHeight, maxHeightFromBottom);
231
+ this._currentDeltaY = (initialBoundingRect.height - newHeight) / 2;
232
+ }
233
+ this._currentDeltaX += this._totalDeltaX || 0;
234
+ this._currentDeltaY += this._totalDeltaY || 0;
235
+ const placement = this._popover.calcPlacement(this._popover._openerRect, {
236
+ width: newWidth,
237
+ height: newHeight,
238
+ });
239
+ this._popover.arrowTranslateX = placement.arrow.x;
240
+ this._popover.arrowTranslateY = placement.arrow.y;
241
+ Object.assign(this._popover.style, {
242
+ left: `${placement.left}px`,
243
+ top: `${placement.top}px`,
244
+ height: `${newHeight}px`,
245
+ width: `${newWidth}px`,
246
+ });
247
+ }
248
+ /**
249
+ * Handles mouse up event after resize
250
+ */
251
+ _onResizeMouseUp() {
252
+ delete this._initialClientX;
253
+ delete this._initialClientY;
254
+ delete this._initialBoundingRect;
255
+ delete this._minWidth;
256
+ delete this._minHeight;
257
+ this._detachMouseResizeHandlers();
258
+ }
259
+ /**
260
+ * Attaches mouse event handlers for resize
261
+ */
262
+ _attachMouseResizeHandlers() {
263
+ window.addEventListener("mousemove", this._resizeMouseMoveHandler);
264
+ window.addEventListener("mouseup", this._resizeMouseUpHandler);
265
+ }
266
+ /**
267
+ * Detaches mouse event handlers for resize
268
+ */
269
+ _detachMouseResizeHandlers() {
270
+ window.removeEventListener("mousemove", this._resizeMouseMoveHandler);
271
+ window.removeEventListener("mouseup", this._resizeMouseUpHandler);
272
+ }
273
+ }
274
+ export { ResizeHandlePlacement };
275
+ export default PopoverResize;
276
+ //# sourceMappingURL=PopoverResize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverResize.js","sourceRoot":"","sources":["../src/PopoverResize.ts"],"names":[],"mappings":"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","sourcesContent":["import clamp from \"@ui5/webcomponents-base/dist/util/clamp.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport type Popover from \"./Popover.js\";\nimport { PopoverActualPlacement, PopoverActualHorizontalAlign } from \"./Popover.js\";\nimport PopoverVerticalAlign from \"./types/PopoverVerticalAlign.js\";\n\nenum ResizeHandlePlacement {\n\tTopLeft = \"TopLeft\",\n\tTopRight = \"TopRight\",\n\tBottomLeft = \"BottomLeft\",\n\tBottomRight = \"BottomRight\",\n}\n\n/**\n * Manages resize functionality for Popover components\n * @private\n */\nclass PopoverResize {\n\tprivate _popover: Popover;\n\tprivate _resizeMouseMoveHandler: (e: MouseEvent) => void;\n\tprivate _resizeMouseUpHandler: (e: MouseEvent) => void;\n\n\t_initialClientX?: number;\n\t_initialClientY?: number;\n\t_initialBoundingRect?: DOMRect;\n\t_minWidth?: number;\n\t_minHeight?: number;\n\t_resized = false;\n\n\t_currentDeltaX?: number;\n\t_currentDeltaY?: number;\n\n\t// These variables track the cumulative resize difference throughout the entire resizing process.\n\t// It covers scenarios where: the mouse is pressed down,\n\t// moved, and released; the popover remains open;\n\t// and the mouse is pressed down, moved, and released again.\n\t_totalDeltaX?: number;\n\t_totalDeltaY?: number;\n\n\tconstructor(popover: Popover) {\n\t\tthis._popover = popover;\n\t\tthis._resizeMouseMoveHandler = this._onResizeMouseMove.bind(this);\n\t\tthis._resizeMouseUpHandler = this._onResizeMouseUp.bind(this);\n\t}\n\n\t/**\n\t * Resets the resize state\n\t */\n\treset() {\n\t\tif (!this._resized) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._resized = false;\n\n\t\tdelete this._currentDeltaX;\n\t\tdelete this._currentDeltaY;\n\n\t\tdelete this._totalDeltaX;\n\t\tdelete this._totalDeltaY;\n\t}\n\n\t/**\n\t * Returns whether the popover has been resized\n\t */\n\tget isResized(): boolean {\n\t\treturn this._resized;\n\t}\n\n\t/*\n\t * Gets the corrected left position considering resize deltas\n\t */\n\tgetCorrectedLeft(left: number): number {\n\t\tif (this.isResized) {\n\t\t\tleft -= this._currentDeltaX || 0;\n\t\t}\n\n\t\treturn left;\n\t}\n\n\t/*\n\t * Gets the corrected top position considering resize deltas\n\t */\n\tgetCorrectedTop(top: number): number {\n\t\tif (this.isResized) {\n\t\t\ttop -= this._currentDeltaY || 0;\n\t\t}\n\n\t\treturn top;\n\t}\n\n\tsetCorrectResizeHandleClass(allClasses: ClassMap) {\n\t\tswitch (this.getResizeHandlePlacement()) {\n\t\tcase ResizeHandlePlacement.BottomLeft:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-bottom-left\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.BottomRight:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-bottom-right\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.TopLeft:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-top-left\"] = true;\n\t\t\tbreak;\n\t\tcase ResizeHandlePlacement.TopRight:\n\t\t\tallClasses.root[\"ui5-popover-resize-handle-top-right\"] = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tgetResizeHandlePlacement() {\n\t\tconst popover = this._popover;\n\n\t\tif (this._resized && popover.resizeHandlePlacement) {\n\t\t\treturn popover.resizeHandlePlacement;\n\t\t}\n\n\t\tconst opener = popover.getOpenerHTMLElement(popover.opener);\n\n\t\tif (!opener) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst offset = 2;\n\t\tconst isRtl = popover.isRtl;\n\n\t\tconst openerRect = opener.getBoundingClientRect();\n\t\tconst popoverWrapperRect = popover.getBoundingClientRect();\n\n\t\tlet openerCX = Math.floor(openerRect.x + openerRect.width / 2);\n\t\tconst openerCY = Math.floor(openerRect.y + openerRect.height / 2);\n\n\t\tlet popoverCX = Math.floor(popoverWrapperRect.x + popoverWrapperRect.width / 2);\n\t\tconst popoverCY = Math.floor(popoverWrapperRect.y + popoverWrapperRect.height / 2);\n\n\t\tconst verticalAlign = popover.verticalAlign;\n\t\tconst actualHorizontalAlign = popover._actualHorizontalAlign;\n\n\t\tconst isPopoverWidthBiggerThanOpener = popoverWrapperRect.width > openerRect.width;\n\t\tconst isPopoverHeightBiggerThanOpener = popoverWrapperRect.height > openerRect.height;\n\n\t\tif (isRtl) {\n\t\t\topenerCX = -openerCX;\n\t\t\tpopoverCX = -popoverCX;\n\t\t}\n\n\t\tswitch (popover.getActualPlacement(openerRect)) {\n\t\tcase PopoverActualPlacement.Left:\n\t\t\tif (isPopoverHeightBiggerThanOpener) {\n\t\t\t\tif (popoverCY > openerCY + offset) {\n\t\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\tif (verticalAlign === PopoverVerticalAlign.Top) {\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\tcase PopoverActualPlacement.Right:\n\t\t\tif (isPopoverHeightBiggerThanOpener) {\n\t\t\t\tif (popoverCY + offset < openerCY) {\n\t\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\t\t}\n\n\t\t\tif (verticalAlign === PopoverVerticalAlign.Bottom) {\n\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\tcase PopoverActualPlacement.Bottom:\n\t\t\tif (isPopoverWidthBiggerThanOpener) {\n\t\t\t\tif (popoverCX + offset < openerCX) {\n\t\t\t\t\treturn isRtl ? ResizeHandlePlacement.BottomRight : ResizeHandlePlacement.BottomLeft;\n\t\t\t\t}\n\n\t\t\t\treturn isRtl ? ResizeHandlePlacement.BottomLeft : ResizeHandlePlacement.BottomRight;\n\t\t\t}\n\n\t\t\tif (isRtl) {\n\t\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {\n\t\t\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {\n\t\t\t\treturn ResizeHandlePlacement.BottomLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.BottomRight;\n\t\tcase PopoverActualPlacement.Top:\n\t\tdefault:\n\t\t\tif (isPopoverWidthBiggerThanOpener) {\n\t\t\t\tif (popoverCX + offset < openerCX) {\n\t\t\t\t\treturn isRtl ? ResizeHandlePlacement.TopRight : ResizeHandlePlacement.TopLeft;\n\t\t\t\t}\n\n\t\t\t\treturn isRtl ? ResizeHandlePlacement.TopLeft : ResizeHandlePlacement.TopRight;\n\t\t\t}\n\n\t\t\tif (isRtl) {\n\t\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Left) {\n\t\t\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t\t\t}\n\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\tif (actualHorizontalAlign === PopoverActualHorizontalAlign.Right) {\n\t\t\t\treturn ResizeHandlePlacement.TopLeft;\n\t\t\t}\n\n\t\t\treturn ResizeHandlePlacement.TopRight;\n\t\t}\n\t}\n\n\t/**\n\t * Handles mouse down event on resize handle\n\t */\n\tonResizeMouseDown(e: MouseEvent) {\n\t\tif (!this._popover.resizable) {\n\t\t\treturn;\n\t\t}\n\n\t\te.preventDefault();\n\n\t\tthis._resized = true;\n\t\tthis._initialBoundingRect = this._popover.getBoundingClientRect();\n\n\t\tthis._totalDeltaX = this._currentDeltaX;\n\t\tthis._totalDeltaY = this._currentDeltaY;\n\n\t\tconst {\n\t\t\tminWidth,\n\t\t\tminHeight,\n\t\t} = window.getComputedStyle(this._popover);\n\n\t\tconst domRefComputedStyle = window.getComputedStyle(this._popover._getRealDomRef!());\n\n\t\tthis._initialClientX = e.clientX;\n\t\tthis._initialClientY = e.clientY;\n\n\t\tthis._minWidth = Math.max(Number.parseFloat(minWidth), Number.parseFloat(domRefComputedStyle.minWidth));\n\t\tthis._minHeight = Number.parseFloat(minHeight);\n\n\t\tthis._attachMouseResizeHandlers();\n\t}\n\n\t/**\n\t * Handles mouse move event during resize\n\t */\n\tprivate _onResizeMouseMove(e: MouseEvent) {\n\t\tconst popover = this._popover;\n\t\tconst margin = popover._viewportMargin;\n\t\tconst { clientX, clientY } = e;\n\t\tconst resizeHandlePlacement = this.getResizeHandlePlacement();\n\t\tconst initialBoundingRect = this._initialBoundingRect!;\n\t\tconst deltaX = clientX - this._initialClientX!;\n\t\tconst deltaY = clientY - this._initialClientY!;\n\n\t\tlet newWidth,\n\t\t\tnewHeight;\n\n\t\t// Determine if we're resizing from left or right edge\n\t\tconst isResizingFromLeft = resizeHandlePlacement === ResizeHandlePlacement.TopLeft\n\t\t\t|| resizeHandlePlacement === ResizeHandlePlacement.BottomLeft;\n\n\t\tconst isResizingFromTop = resizeHandlePlacement === ResizeHandlePlacement.TopLeft\n\t\t\t|| resizeHandlePlacement === ResizeHandlePlacement.TopRight;\n\n\t\t// Calculate width changes\n\t\tif (isResizingFromLeft) {\n\t\t\t// Resizing from left edge - width increases when moving left (negative delta)\n\t\t\tconst maxWidthFromLeft = initialBoundingRect.x + initialBoundingRect.width - margin;\n\n\t\t\tnewWidth = clamp(\n\t\t\t\tinitialBoundingRect.width - deltaX,\n\t\t\t\tthis._minWidth!,\n\t\t\t\tmaxWidthFromLeft,\n\t\t\t);\n\n\t\t\t// Adjust left position when resizing from left\n\t\t\t// Ensure the left edge respects the viewport margin and the right edge position\n\t\t\tconst newLeft = clamp(\n\t\t\t\tinitialBoundingRect.x + deltaX,\n\t\t\t\tmargin,\n\t\t\t\tinitialBoundingRect.x + initialBoundingRect.width - this._minWidth!,\n\t\t\t);\n\n\t\t\t// Recalculate width based on actual left position to stay within viewport with margin\n\t\t\tnewWidth = Math.min(newWidth, initialBoundingRect.x + initialBoundingRect.width - newLeft);\n\n\t\t\tthis._currentDeltaX = (initialBoundingRect.x - newLeft) / 2;\n\t\t} else {\n\t\t\t// Resizing from right edge - width increases when moving right (positive delta)\n\t\t\tconst maxWidthFromRight = window.innerWidth - initialBoundingRect.x - margin;\n\n\t\t\tnewWidth = clamp(\n\t\t\t\tinitialBoundingRect.width + deltaX,\n\t\t\t\tthis._minWidth!,\n\t\t\t\tmaxWidthFromRight,\n\t\t\t);\n\n\t\t\tthis._currentDeltaX = (initialBoundingRect.width - newWidth) / 2;\n\t\t}\n\n\t\t// Calculate height changes\n\t\tif (isResizingFromTop) {\n\t\t\t// Resizing from top edge - height increases when moving up (negative delta)\n\t\t\tconst maxHeightFromTop = initialBoundingRect.y + initialBoundingRect.height - margin;\n\n\t\t\tnewHeight = clamp(\n\t\t\t\tinitialBoundingRect.height - deltaY,\n\t\t\t\tthis._minHeight!,\n\t\t\t\tmaxHeightFromTop,\n\t\t\t);\n\n\t\t\t// Adjust top position when resizing from top\n\t\t\t// Ensure the top edge respects the viewport margin and the bottom edge position\n\t\t\tconst newTop = clamp(\n\t\t\t\tinitialBoundingRect.y + deltaY,\n\t\t\t\tmargin,\n\t\t\t\tinitialBoundingRect.y + initialBoundingRect.height - this._minHeight!,\n\t\t\t);\n\n\t\t\t// Recalculate height based on actual top position to stay within viewport with margin\n\t\t\tnewHeight = Math.min(newHeight, initialBoundingRect.y + initialBoundingRect.height - newTop);\n\n\t\t\tthis._currentDeltaY = (initialBoundingRect.y - newTop) / 2;\n\t\t} else {\n\t\t\t// Resizing from bottom edge - height increases when moving down (positive delta)\n\t\t\tconst maxHeightFromBottom = window.innerHeight - initialBoundingRect.y - margin;\n\n\t\t\tnewHeight = clamp(\n\t\t\t\tinitialBoundingRect.height + deltaY,\n\t\t\t\tthis._minHeight!,\n\t\t\t\tmaxHeightFromBottom,\n\t\t\t);\n\n\t\t\tthis._currentDeltaY = (initialBoundingRect.height - newHeight) / 2;\n\t\t}\n\n\t\tthis._currentDeltaX += this._totalDeltaX || 0;\n\t\tthis._currentDeltaY += this._totalDeltaY || 0;\n\n\t\tconst placement = this._popover.calcPlacement(this._popover._openerRect!, {\n\t\t\twidth: newWidth,\n\t\t\theight: newHeight,\n\t\t});\n\n\t\tthis._popover.arrowTranslateX = placement.arrow.x;\n\t\tthis._popover.arrowTranslateY = placement.arrow.y;\n\n\t\tObject.assign(this._popover.style, {\n\t\t\tleft: `${placement.left}px`,\n\t\t\ttop: `${placement.top}px`,\n\t\t\theight: `${newHeight}px`,\n\t\t\twidth: `${newWidth}px`,\n\t\t});\n\t}\n\n\t/**\n\t * Handles mouse up event after resize\n\t */\n\tprivate _onResizeMouseUp() {\n\t\tdelete this._initialClientX;\n\t\tdelete this._initialClientY;\n\t\tdelete this._initialBoundingRect;\n\t\tdelete this._minWidth;\n\t\tdelete this._minHeight;\n\n\t\tthis._detachMouseResizeHandlers();\n\t}\n\n\t/**\n\t * Attaches mouse event handlers for resize\n\t */\n\tprivate _attachMouseResizeHandlers() {\n\t\twindow.addEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.addEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n\n\t/**\n\t * Detaches mouse event handlers for resize\n\t */\n\tprivate _detachMouseResizeHandlers() {\n\t\twindow.removeEventListener(\"mousemove\", this._resizeMouseMoveHandler);\n\t\twindow.removeEventListener(\"mouseup\", this._resizeMouseUpHandler);\n\t}\n}\n\nexport { ResizeHandlePlacement };\n\nexport default PopoverResize;\n"]}
@@ -1,4 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
2
+ import Icon from "./Icon.js";
3
+ import resizeCorner from "@ui5/webcomponents-icons/dist/resize-corner.js";
2
4
  import PopupTemplate from "./PopupTemplate.js";
3
5
  import Title from "./Title.js";
4
6
  export default function PopoverTemplate() {
@@ -15,7 +17,8 @@ function beforeContent() {
15
17
  _jsx(Title, { level: "H1", class: "ui5-popup-header-text", children: this.headerText }) })] }));
16
18
  }
17
19
  function afterContent() {
18
- return (_jsx(_Fragment, { children: this._displayFooter && !!this.footer.length &&
19
- _jsx("footer", { class: "ui5-popup-footer-root", part: "footer", children: _jsx("slot", { name: "footer" }) }) }));
20
+ return (_jsxs(_Fragment, { children: [this._displayFooter && !!this.footer.length &&
21
+ _jsx("footer", { class: "ui5-popup-footer-root", part: "footer", children: _jsx("slot", { name: "footer" }) }), this._showResizeHandle &&
22
+ _jsx("div", { class: "ui5-popover-resize-handle", onMouseDown: this._onResizeMouseDown, children: _jsx(Icon, { name: resizeCorner }) })] }));
20
23
  }
21
24
  //# sourceMappingURL=PopoverTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopoverTemplate.js","sourceRoot":"","sources":["../src/PopoverTemplate.tsx"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,aAAa;QACb,YAAY;KACZ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,CAAC,8BACP,eAAM,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAS,EAEhE,IAAI,CAAC,cAAc;gBACnB,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,YACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACpB,eAAM,IAAI,EAAC,QAAQ,GAAQ;wBAC3B,CAAC;4BACD,KAAC,KAAK,IAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,uBAAuB,YAAE,IAAI,CAAC,UAAU,GAAS,GAElE,IAER,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,CAAC,4BACN,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAC3C,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,YAClD,eAAM,IAAI,EAAC,QAAQ,GAAQ,GACnB,GAER,CAAC,CAAC;AACN,CAAC","sourcesContent":["import type Popover from \"./Popover.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport Title from \"./Title.js\";\n\nexport default function PopoverTemplate(this: Popover) {\n\treturn PopupTemplate.call(this, {\n\t\tbeforeContent,\n\t\tafterContent,\n\t});\n}\n\nfunction beforeContent(this: Popover) {\n\treturn (<>\n\t\t<span class=\"ui5-popover-arrow\" style={this.styles.arrow}></span>\n\n\t\t{this._displayHeader &&\n\t\t\t<header class=\"ui5-popup-header-root\" id=\"ui5-popup-header\" part=\"header\">\n\t\t\t\t{this.header.length ?\n\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t:\n\t\t\t\t\t<Title level=\"H1\" class=\"ui5-popup-header-text\">{this.headerText}</Title>\n\t\t\t\t}\n\t\t\t</header>\n\t\t}\n\t</>);\n}\n\nfunction afterContent(this: Popover) {\n\treturn (<>\n\t\t{this._displayFooter && !!this.footer.length &&\n\t\t\t<footer class=\"ui5-popup-footer-root\" part=\"footer\">\n\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t</footer>\n\t\t}\n\t</>);\n}\n"]}
1
+ {"version":3,"file":"PopoverTemplate.js","sourceRoot":"","sources":["../src/PopoverTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,YAAY,MAAM,gDAAgD,CAAC;AAE1E,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;QAC/B,aAAa;QACb,YAAY;KACZ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,CAAC,8BACP,eAAM,KAAK,EAAC,mBAAmB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAS,EAEhE,IAAI,CAAC,cAAc;gBACnB,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,QAAQ,YACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACpB,eAAM,IAAI,EAAC,QAAQ,GAAQ;wBAC3B,CAAC;4BACD,KAAC,KAAK,IAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,uBAAuB,YAAE,IAAI,CAAC,UAAU,GAAS,GAElE,IAER,CAAC,CAAC;AACN,CAAC;AAED,SAAS,YAAY;IACpB,OAAO,CAAC,8BACN,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC3C,iBAAQ,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,QAAQ,YAClD,eAAM,IAAI,EAAC,QAAQ,GAAQ,GACnB,EAGT,IAAI,CAAC,iBAAiB;gBACtB,cAAK,KAAK,EAAC,2BAA2B,EACpC,WAAW,EAAE,IAAI,CAAC,kBAAkB,YAErC,KAAC,IAAI,IAAC,IAAI,EAAE,YAAY,GAAI,GACvB,IAEL,CAAC,CAAC;AACN,CAAC","sourcesContent":["import Icon from \"./Icon.js\";\nimport resizeCorner from \"@ui5/webcomponents-icons/dist/resize-corner.js\";\nimport type Popover from \"./Popover.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport Title from \"./Title.js\";\n\nexport default function PopoverTemplate(this: Popover) {\n\treturn PopupTemplate.call(this, {\n\t\tbeforeContent,\n\t\tafterContent,\n\t});\n}\n\nfunction beforeContent(this: Popover) {\n\treturn (<>\n\t\t<span class=\"ui5-popover-arrow\" style={this.styles.arrow}></span>\n\n\t\t{this._displayHeader &&\n\t\t\t<header class=\"ui5-popup-header-root\" id=\"ui5-popup-header\" part=\"header\">\n\t\t\t\t{this.header.length ?\n\t\t\t\t\t<slot name=\"header\"></slot>\n\t\t\t\t\t:\n\t\t\t\t\t<Title level=\"H1\" class=\"ui5-popup-header-text\">{this.headerText}</Title>\n\t\t\t\t}\n\t\t\t</header>\n\t\t}\n\t</>);\n}\n\nfunction afterContent(this: Popover) {\n\treturn (<>\n\t\t{this._displayFooter && !!this.footer.length &&\n\t\t\t<footer class=\"ui5-popup-footer-root\" part=\"footer\">\n\t\t\t\t<slot name=\"footer\"></slot>\n\t\t\t</footer>\n\t\t}\n\n\t\t{this._showResizeHandle &&\n\t\t\t<div class=\"ui5-popover-resize-handle\"\n\t\t\t\t onMouseDown={this._onResizeMouseDown}\n\t\t\t>\n\t\t\t\t<Icon name={resizeCorner} />\n\t\t\t</div>\n\t\t}\n\t</>);\n}\n"]}
@@ -91,6 +91,7 @@ let SegmentedButtonItem = SegmentedButtonItem_1 = class SegmentedButtonItem exte
91
91
  if (this.disabled) {
92
92
  e.preventDefault();
93
93
  e.stopPropagation();
94
+ return;
94
95
  }
95
96
  this.selected = !this.selected;
96
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedButtonItem.js","sourceRoot":"","sources":["../src/SegmentedButtonItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getEnableDefaultTooltips } from \"@ui5/webcomponents-base/dist/config/Tooltips.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetEffectiveAriaDescriptionText,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport type { ISegmentedButtonItem } from \"./SegmentedButton.js\";\nimport SegmentedButtonItemTemplate from \"./SegmentedButtonItemTemplate.js\";\n\nimport type { IButton } from \"./Button.js\";\nimport segmentedButtonItemCss from \"./generated/themes/SegmentedButtonItem.css.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.\n *\n * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `selected`.\n * The item returns to its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any\n * `ui5-segmented-button-item`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";`\n * @constructor\n * @extends UI5Element\n * @implements { ISegmentedButtonItem }\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button-item\",\n\trenderer: jsxRenderer,\n\ttemplate: SegmentedButtonItemTemplate,\n\tstyles: segmentedButtonItemCss,\n})\nclass SegmentedButtonItem extends UI5Element implements IButton, ISegmentedButtonItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be selected or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is displayed as selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines if the button has icon and no text.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly = false;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive = false;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tposInSet? = 0;\n\n\t/**\n\t * Defines how many items are inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tsizeOfSet? = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thidden = false;\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 })\n\ttext!: Array<Node>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget ariaDescription() {\n\t\treturn SegmentedButtonItem.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tthis.selected = !this.selected;\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis.iconOnly = !willShowContent(this.text);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget tabIndexValue() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.forcedTabIndex;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || undefined;\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn getEffectiveAriaDescriptionText(this) || undefined;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn getEnableDefaultTooltips() && this.iconOnly && !this.tooltip;\n\t}\n\n\tget slotTextContent(): string {\n\t\treturn this.text\n\t\t\t.filter(node => node.nodeType === Node.TEXT_NODE)\n\t\t\t.map(node => node.textContent?.trim() || \"\")\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t}\n}\n\nSegmentedButtonItem.define();\n\nexport default SegmentedButtonItem;\n"]}
1
+ {"version":3,"file":"SegmentedButtonItem.js","sourceRoot":"","sources":["../src/SegmentedButtonItem.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport { getEnableDefaultTooltips } from \"@ui5/webcomponents-base/dist/config/Tooltips.js\";\nimport { isDesktop } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { isSpaceShift } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport {\n\tgetEffectiveAriaLabelText,\n\tgetAssociatedLabelForTexts,\n\tgetEffectiveAriaDescriptionText,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport { SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION } from \"./generated/i18n/i18n-defaults.js\";\nimport type { ISegmentedButtonItem } from \"./SegmentedButton.js\";\nimport SegmentedButtonItemTemplate from \"./SegmentedButtonItemTemplate.js\";\n\nimport type { IButton } from \"./Button.js\";\nimport segmentedButtonItemCss from \"./generated/themes/SegmentedButtonItem.css.js\";\n/**\n * @class\n *\n * ### Overview\n *\n * Users can use the `ui5-segmented-button-item` as part of a `ui5-segmented-button`.\n *\n * Clicking or tapping on a `ui5-segmented-button-item` changes its state to `selected`.\n * The item returns to its initial state when the user clicks or taps on it again.\n * By applying additional custom CSS-styling classes, apps can give a different style to any\n * `ui5-segmented-button-item`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/SegmentedButtonItem.js\";`\n * @constructor\n * @extends UI5Element\n * @implements { ISegmentedButtonItem }\n * @implements { IButton }\n * @public\n */\n@customElement({\n\ttag: \"ui5-segmented-button-item\",\n\trenderer: jsxRenderer,\n\ttemplate: SegmentedButtonItemTemplate,\n\tstyles: segmentedButtonItemCss,\n})\nclass SegmentedButtonItem extends UI5Element implements IButton, ISegmentedButtonItem {\n\t/**\n\t * Defines whether the component is disabled.\n\t * A disabled component can't be selected or\n\t * focused, and it is not in the tab chain.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Determines whether the component is displayed as selected.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tselected = false;\n\n\t/**\n\t * Defines the tooltip of the component.\n\t *\n\t * **Note:** A tooltip attribute should be provided for icon-only buttons, in order to represent their exact meaning/function.\n\t * @default undefined\n\t * @public\n\t * @since 1.2.0\n\t */\n\t@property()\n\ttooltip?: string;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Defines the IDs of the HTML Elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.15.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Defines the icon, displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous options.\n\t *\n\t * Example:\n\t * See all the available icons within the [Icon Explorer](https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines if the button has icon and no text.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\ticonOnly = false;\n\n\t/**\n\t * Indicates if the element is focusable\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tnonInteractive = false;\n\n\t/**\n\t * Defines the tabIndex of the component.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\tforcedTabIndex?: string;\n\n\t/**\n\t * Defines the index of the item inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tposInSet? = 0;\n\n\t/**\n\t * Defines how many items are inside of the SegmentedButton.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tsizeOfSet? = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\thidden = false;\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 })\n\ttext!: Array<Node>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget ariaDescription() {\n\t\treturn SegmentedButtonItem.i18nBundle.getText(SEGMENTEDBUTTONITEM_ARIA_DESCRIPTION);\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\t_onclick(e: MouseEvent) {\n\t\tif (this.disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selected = !this.selected;\n\t}\n\n\tonEnterDOM() {\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t}\n\n\tonBeforeRendering(): void {\n\t\tthis.iconOnly = !willShowContent(this.text);\n\t}\n\n\t_onkeyup(e: KeyboardEvent) {\n\t\tif (isSpaceShift(e)) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\tget tabIndexValue() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tabindex = this.getAttribute(\"tabindex\");\n\n\t\tif (tabindex) {\n\t\t\treturn tabindex;\n\t\t}\n\n\t\treturn this.forcedTabIndex;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn getEffectiveAriaLabelText(this) || getAssociatedLabelForTexts(this) || undefined;\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn getEffectiveAriaDescriptionText(this) || undefined;\n\t}\n\n\tget showIconTooltip() {\n\t\treturn getEnableDefaultTooltips() && this.iconOnly && !this.tooltip;\n\t}\n\n\tget slotTextContent(): string {\n\t\treturn this.text\n\t\t\t.filter(node => node.nodeType === Node.TEXT_NODE)\n\t\t\t.map(node => node.textContent?.trim() || \"\")\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \");\n\t}\n}\n\nSegmentedButtonItem.define();\n\nexport default SegmentedButtonItem;\n"]}
@@ -8,6 +8,7 @@ import "@ui5/webcomponents-icons/dist/add.js";
8
8
  import type Input from "./Input.js";
9
9
  import type { InputAccInfo, InputEventDetail } from "./Input.js";
10
10
  import InputType from "./types/InputType.js";
11
+ import NumberFormat from "@ui5/webcomponents-localization/dist/NumberFormat.js";
11
12
  type StepInputValueStateChangeEventDetail = {
12
13
  valueState: `${ValueState}`;
13
14
  valid: boolean;
@@ -166,6 +167,7 @@ declare class StepInput extends UI5Element implements IFormInputElement {
166
167
  */
167
168
  valueStateMessage: Array<HTMLElement>;
168
169
  _initialValueState?: `${ValueState}`;
170
+ _formatter?: NumberFormat;
169
171
  static i18nBundle: I18nBundle;
170
172
  formElementAnchor(): Promise<HTMLElement | undefined>;
171
173
  get formValidityMessage(): string;
@@ -185,6 +187,7 @@ declare class StepInput extends UI5Element implements IFormInputElement {
185
187
  step: number;
186
188
  };
187
189
  onBeforeRendering(): void;
190
+ get formatter(): NumberFormat;
188
191
  get input(): Input;
189
192
  get innerInput(): HTMLInputElement;
190
193
  get inputOuter(): Element;
@@ -192,6 +195,7 @@ declare class StepInput extends UI5Element implements IFormInputElement {
192
195
  _onInput(e: CustomEvent<InputEventDetail>): void;
193
196
  _onInputFocusIn(): void;
194
197
  _onInputFocusOut(): void;
198
+ _onMouseWheel(e: WheelEvent): void;
195
199
  _setButtonState(): void;
196
200
  _validate(): void;
197
201
  _updateValueState(): void;
@@ -205,6 +209,16 @@ declare class StepInput extends UI5Element implements IFormInputElement {
205
209
  * @param fireChangeEvent if `true`, fires `change` event when the value is changed
206
210
  */
207
211
  _modifyValue(modifier: number, fireChangeEvent?: boolean): void;
212
+ /**
213
+ * Formats a number with thousands separator based on current locale
214
+ * @private
215
+ */
216
+ _formatNumber(value: number): string;
217
+ /**
218
+ * Parses formatted number string back to numeric value
219
+ * @private
220
+ */
221
+ _parseNumber(formattedValue: string): number;
208
222
  _incValue(): void;
209
223
  _decValue(): void;
210
224
  get _isValueWithCorrectPrecision(): boolean;
@@ -215,6 +229,9 @@ declare class StepInput extends UI5Element implements IFormInputElement {
215
229
  _onfocusin(): void;
216
230
  _onfocusout(): void;
217
231
  _onkeydown(e: KeyboardEvent): void;
232
+ _getCaretPosition(): number | null;
233
+ _getValueOnkeyDown(e: KeyboardEvent, inputValue: string, cursorPosition?: number): string;
234
+ _isInputValueValid(typedValue: string, parsedValue: number): boolean;
218
235
  _decSpin(): void;
219
236
  _incSpin(): void;
220
237
  /**