@ui5/webcomponents 2.19.0-rc.2 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1264) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Avatar.d.ts +4 -4
  4. package/dist/Avatar.js +1 -1
  5. package/dist/Avatar.js.map +1 -1
  6. package/dist/AvatarBadge.d.ts +64 -0
  7. package/dist/AvatarBadge.js +91 -0
  8. package/dist/AvatarBadge.js.map +1 -0
  9. package/dist/AvatarBadgeTemplate.d.ts +2 -0
  10. package/dist/AvatarBadgeTemplate.js +6 -0
  11. package/dist/AvatarBadgeTemplate.js.map +1 -0
  12. package/dist/AvatarGroup.d.ts +7 -2
  13. package/dist/AvatarGroup.js +2 -2
  14. package/dist/AvatarGroup.js.map +1 -1
  15. package/dist/Bar.d.ts +4 -3
  16. package/dist/Bar.js +3 -3
  17. package/dist/Bar.js.map +1 -1
  18. package/dist/Breadcrumbs.d.ts +2 -2
  19. package/dist/Breadcrumbs.js +1 -1
  20. package/dist/Breadcrumbs.js.map +1 -1
  21. package/dist/BreadcrumbsItem.d.ts +2 -1
  22. package/dist/BreadcrumbsItem.js +1 -1
  23. package/dist/BreadcrumbsItem.js.map +1 -1
  24. package/dist/Button.d.ts +5 -3
  25. package/dist/Button.js +29 -7
  26. package/dist/Button.js.map +1 -1
  27. package/dist/Calendar.d.ts +5 -5
  28. package/dist/Calendar.js +1 -1
  29. package/dist/Calendar.js.map +1 -1
  30. package/dist/CalendarDateRange.js +0 -3
  31. package/dist/CalendarDateRange.js.map +1 -1
  32. package/dist/CalendarLegend.d.ts +2 -1
  33. package/dist/CalendarLegend.js +1 -1
  34. package/dist/CalendarLegend.js.map +1 -1
  35. package/dist/Card.d.ts +3 -2
  36. package/dist/Card.js +1 -1
  37. package/dist/Card.js.map +1 -1
  38. package/dist/CardHeader.d.ts +3 -2
  39. package/dist/CardHeader.js +1 -1
  40. package/dist/CardHeader.js.map +1 -1
  41. package/dist/Carousel.d.ts +10 -9
  42. package/dist/Carousel.js +28 -14
  43. package/dist/Carousel.js.map +1 -1
  44. package/dist/CarouselTemplate.js +1 -1
  45. package/dist/CarouselTemplate.js.map +1 -1
  46. package/dist/ColorPalette.d.ts +2 -1
  47. package/dist/ColorPalette.js +1 -1
  48. package/dist/ColorPalette.js.map +1 -1
  49. package/dist/ColorPaletteItem.js +2 -3
  50. package/dist/ColorPaletteItem.js.map +1 -1
  51. package/dist/ColorPalettePopover.d.ts +10 -1
  52. package/dist/ColorPalettePopover.js +12 -3
  53. package/dist/ColorPalettePopover.js.map +1 -1
  54. package/dist/ColorPalettePopoverTemplate.js +1 -1
  55. package/dist/ColorPalettePopoverTemplate.js.map +1 -1
  56. package/dist/ColorPicker.js +1 -2
  57. package/dist/ColorPicker.js.map +1 -1
  58. package/dist/ComboBox.d.ts +4 -3
  59. package/dist/ComboBox.js +11 -7
  60. package/dist/ComboBox.js.map +1 -1
  61. package/dist/ComboBoxItemGroup.d.ts +3 -3
  62. package/dist/ComboBoxItemGroup.js +3 -5
  63. package/dist/ComboBoxItemGroup.js.map +1 -1
  64. package/dist/ComboBoxPopoverTemplate.js +3 -2
  65. package/dist/ComboBoxPopoverTemplate.js.map +1 -1
  66. package/dist/CustomAnnouncement.d.ts +6 -0
  67. package/dist/CustomAnnouncement.js +92 -0
  68. package/dist/CustomAnnouncement.js.map +1 -0
  69. package/dist/DatePicker.d.ts +12 -2
  70. package/dist/DatePicker.js +26 -10
  71. package/dist/DatePicker.js.map +1 -1
  72. package/dist/DatePickerInputTemplate.js +1 -1
  73. package/dist/DatePickerInputTemplate.js.map +1 -1
  74. package/dist/DateRangePicker.d.ts +0 -4
  75. package/dist/DateRangePicker.js +0 -8
  76. package/dist/DateRangePicker.js.map +1 -1
  77. package/dist/DayPickerTemplate.js +1 -1
  78. package/dist/DayPickerTemplate.js.map +1 -1
  79. package/dist/Dialog.d.ts +8 -4
  80. package/dist/Dialog.js +22 -11
  81. package/dist/Dialog.js.map +1 -1
  82. package/dist/DynamicDateRange.d.ts +1 -0
  83. package/dist/DynamicDateRange.js +4 -1
  84. package/dist/DynamicDateRange.js.map +1 -1
  85. package/dist/DynamicDateRangePopoverTemplate.js +1 -1
  86. package/dist/DynamicDateRangePopoverTemplate.js.map +1 -1
  87. package/dist/FileUploader.d.ts +3 -2
  88. package/dist/FileUploader.js +1 -1
  89. package/dist/FileUploader.js.map +1 -1
  90. package/dist/FileUploaderTemplate.js +2 -2
  91. package/dist/FileUploaderTemplate.js.map +1 -1
  92. package/dist/Form.d.ts +3 -2
  93. package/dist/Form.js +4 -5
  94. package/dist/Form.js.map +1 -1
  95. package/dist/FormGroup.d.ts +2 -1
  96. package/dist/FormGroup.js +1 -1
  97. package/dist/FormGroup.js.map +1 -1
  98. package/dist/FormItem.d.ts +3 -2
  99. package/dist/FormItem.js +1 -1
  100. package/dist/FormItem.js.map +1 -1
  101. package/dist/Input.d.ts +5 -3
  102. package/dist/Input.js +10 -7
  103. package/dist/Input.js.map +1 -1
  104. package/dist/List.d.ts +3 -2
  105. package/dist/List.js +1 -1
  106. package/dist/List.js.map +1 -1
  107. package/dist/ListItem.d.ts +2 -1
  108. package/dist/ListItem.js +1 -1
  109. package/dist/ListItem.js.map +1 -1
  110. package/dist/ListItemGroup.d.ts +4 -4
  111. package/dist/ListItemGroup.js +4 -6
  112. package/dist/ListItemGroup.js.map +1 -1
  113. package/dist/ListItemGroupHeader.d.ts +2 -1
  114. package/dist/ListItemGroupHeader.js +1 -1
  115. package/dist/ListItemGroupHeader.js.map +1 -1
  116. package/dist/ListItemStandard.d.ts +3 -2
  117. package/dist/ListItemStandard.js +1 -1
  118. package/dist/ListItemStandard.js.map +1 -1
  119. package/dist/ListTemplate.js +1 -1
  120. package/dist/ListTemplate.js.map +1 -1
  121. package/dist/Menu.d.ts +2 -1
  122. package/dist/Menu.js +1 -1
  123. package/dist/Menu.js.map +1 -1
  124. package/dist/MenuItem.d.ts +4 -4
  125. package/dist/MenuItem.js +4 -6
  126. package/dist/MenuItem.js.map +1 -1
  127. package/dist/MenuItemGroup.d.ts +3 -3
  128. package/dist/MenuItemGroup.js +3 -5
  129. package/dist/MenuItemGroup.js.map +1 -1
  130. package/dist/MenuSeparator.d.ts +1 -2
  131. package/dist/MenuSeparator.js +2 -4
  132. package/dist/MenuSeparator.js.map +1 -1
  133. package/dist/MessageStrip.d.ts +2 -1
  134. package/dist/MessageStrip.js +1 -1
  135. package/dist/MessageStrip.js.map +1 -1
  136. package/dist/MultiComboBox.d.ts +10 -3
  137. package/dist/MultiComboBox.js +20 -7
  138. package/dist/MultiComboBox.js.map +1 -1
  139. package/dist/MultiComboBoxItem.d.ts +1 -2
  140. package/dist/MultiComboBoxItem.js +2 -4
  141. package/dist/MultiComboBoxItem.js.map +1 -1
  142. package/dist/MultiComboBoxItemGroup.d.ts +3 -3
  143. package/dist/MultiComboBoxItemGroup.js +3 -5
  144. package/dist/MultiComboBoxItemGroup.js.map +1 -1
  145. package/dist/MultiComboBoxPopoverTemplate.js +6 -4
  146. package/dist/MultiComboBoxPopoverTemplate.js.map +1 -1
  147. package/dist/MultiInput.d.ts +2 -1
  148. package/dist/MultiInput.js +3 -7
  149. package/dist/MultiInput.js.map +1 -1
  150. package/dist/Option.d.ts +2 -1
  151. package/dist/Option.js +1 -1
  152. package/dist/Option.js.map +1 -1
  153. package/dist/OptionCustom.d.ts +2 -1
  154. package/dist/OptionCustom.js +1 -1
  155. package/dist/OptionCustom.js.map +1 -1
  156. package/dist/Panel.d.ts +2 -1
  157. package/dist/Panel.js +1 -1
  158. package/dist/Panel.js.map +1 -1
  159. package/dist/Popover.d.ts +6 -4
  160. package/dist/Popover.js +8 -7
  161. package/dist/Popover.js.map +1 -1
  162. package/dist/Popup.d.ts +4 -1
  163. package/dist/Popup.js +9 -2
  164. package/dist/Popup.js.map +1 -1
  165. package/dist/RangeSlider.js +1 -1
  166. package/dist/RangeSlider.js.map +1 -1
  167. package/dist/SegmentedButton.d.ts +4 -2
  168. package/dist/SegmentedButton.js +22 -12
  169. package/dist/SegmentedButton.js.map +1 -1
  170. package/dist/SegmentedButtonItem.d.ts +2 -1
  171. package/dist/SegmentedButtonItem.js +1 -1
  172. package/dist/SegmentedButtonItem.js.map +1 -1
  173. package/dist/Select.d.ts +4 -3
  174. package/dist/Select.js +2 -3
  175. package/dist/Select.js.map +1 -1
  176. package/dist/Slider.d.ts +2 -2
  177. package/dist/Slider.js +2 -2
  178. package/dist/Slider.js.map +1 -1
  179. package/dist/SplitButton.d.ts +2 -1
  180. package/dist/SplitButton.js +1 -1
  181. package/dist/SplitButton.js.map +1 -1
  182. package/dist/SplitButtonTemplate.js +1 -1
  183. package/dist/SplitButtonTemplate.js.map +1 -1
  184. package/dist/StepInput.d.ts +9 -1
  185. package/dist/StepInput.js +41 -5
  186. package/dist/StepInput.js.map +1 -1
  187. package/dist/StepInputTemplate.js +1 -1
  188. package/dist/StepInputTemplate.js.map +1 -1
  189. package/dist/SuggestionItemCustom.d.ts +2 -1
  190. package/dist/SuggestionItemCustom.js +1 -1
  191. package/dist/SuggestionItemCustom.js.map +1 -1
  192. package/dist/SuggestionItemGroup.d.ts +2 -1
  193. package/dist/SuggestionItemGroup.js +1 -1
  194. package/dist/SuggestionItemGroup.js.map +1 -1
  195. package/dist/SuggestionListItem.d.ts +3 -2
  196. package/dist/SuggestionListItem.js +2 -2
  197. package/dist/SuggestionListItem.js.map +1 -1
  198. package/dist/Switch.d.ts +1 -0
  199. package/dist/Switch.js +24 -3
  200. package/dist/Switch.js.map +1 -1
  201. package/dist/Tab.d.ts +3 -2
  202. package/dist/Tab.js +1 -1
  203. package/dist/Tab.js.map +1 -1
  204. package/dist/TabContainer.d.ts +7 -7
  205. package/dist/TabContainer.js +18 -7
  206. package/dist/TabContainer.js.map +1 -1
  207. package/dist/Table.d.ts +6 -5
  208. package/dist/Table.js +5 -6
  209. package/dist/Table.js.map +1 -1
  210. package/dist/TableCellBase.d.ts +2 -1
  211. package/dist/TableCellBase.js +1 -1
  212. package/dist/TableCellBase.js.map +1 -1
  213. package/dist/TableCustomAnnouncement.d.ts +1 -0
  214. package/dist/TableCustomAnnouncement.js +22 -103
  215. package/dist/TableCustomAnnouncement.js.map +1 -1
  216. package/dist/TableHeaderCell.d.ts +2 -1
  217. package/dist/TableHeaderCell.js +1 -1
  218. package/dist/TableHeaderCell.js.map +1 -1
  219. package/dist/TableHeaderRow.d.ts +2 -1
  220. package/dist/TableHeaderRow.js +1 -1
  221. package/dist/TableHeaderRow.js.map +1 -1
  222. package/dist/TableHeaderRowTemplate.js +1 -1
  223. package/dist/TableHeaderRowTemplate.js.map +1 -1
  224. package/dist/TableRow.d.ts +3 -2
  225. package/dist/TableRow.js +1 -1
  226. package/dist/TableRow.js.map +1 -1
  227. package/dist/TableRowTemplate.js +2 -2
  228. package/dist/TableRowTemplate.js.map +1 -1
  229. package/dist/TableSelectionMulti.js +3 -3
  230. package/dist/TableSelectionMulti.js.map +1 -1
  231. package/dist/TableUtils.d.ts +1 -1
  232. package/dist/TableUtils.js +2 -3
  233. package/dist/TableUtils.js.map +1 -1
  234. package/dist/Tag.d.ts +3 -2
  235. package/dist/Tag.js +1 -1
  236. package/dist/Tag.js.map +1 -1
  237. package/dist/Text.d.ts +2 -1
  238. package/dist/Text.js +2 -3
  239. package/dist/Text.js.map +1 -1
  240. package/dist/TextArea.d.ts +2 -1
  241. package/dist/TextArea.js +1 -1
  242. package/dist/TextArea.js.map +1 -1
  243. package/dist/TimePicker.d.ts +3 -1
  244. package/dist/TimePicker.js +8 -8
  245. package/dist/TimePicker.js.map +1 -1
  246. package/dist/TimePickerTemplate.js +1 -1
  247. package/dist/TimePickerTemplate.js.map +1 -1
  248. package/dist/ToggleButton.d.ts +0 -1
  249. package/dist/ToggleButton.js +0 -8
  250. package/dist/ToggleButton.js.map +1 -1
  251. package/dist/ToggleSpinButtonTemplate.js +0 -1
  252. package/dist/ToggleSpinButtonTemplate.js.map +1 -1
  253. package/dist/Token.d.ts +2 -1
  254. package/dist/Token.js +1 -2
  255. package/dist/Token.js.map +1 -1
  256. package/dist/Tokenizer.d.ts +2 -1
  257. package/dist/Tokenizer.js +1 -1
  258. package/dist/Tokenizer.js.map +1 -1
  259. package/dist/Toolbar.d.ts +2 -2
  260. package/dist/Toolbar.js +4 -5
  261. package/dist/Toolbar.js.map +1 -1
  262. package/dist/ToolbarSelect.d.ts +3 -2
  263. package/dist/ToolbarSelect.js +1 -1
  264. package/dist/ToolbarSelect.js.map +1 -1
  265. package/dist/ToolbarSelectOption.d.ts +2 -1
  266. package/dist/ToolbarSelectOption.js +1 -1
  267. package/dist/ToolbarSelectOption.js.map +1 -1
  268. package/dist/Tree.d.ts +3 -3
  269. package/dist/Tree.js +5 -6
  270. package/dist/Tree.js.map +1 -1
  271. package/dist/TreeItemBase.d.ts +3 -2
  272. package/dist/TreeItemBase.js +2 -3
  273. package/dist/TreeItemBase.js.map +1 -1
  274. package/dist/TreeItemCustom.d.ts +2 -1
  275. package/dist/TreeItemCustom.js +1 -1
  276. package/dist/TreeItemCustom.js.map +1 -1
  277. package/dist/bundle.common.bootstrap.d.ts +2 -0
  278. package/dist/bundle.common.bootstrap.js +3 -0
  279. package/dist/bundle.common.bootstrap.js.map +1 -1
  280. package/dist/bundle.esm.d.ts +2 -0
  281. package/dist/bundle.esm.js +1 -0
  282. package/dist/bundle.esm.js.map +1 -1
  283. package/dist/css/themes/Avatar.css +1 -1
  284. package/dist/css/themes/AvatarBadge.css +1 -0
  285. package/dist/css/themes/AvatarGroup.css +1 -1
  286. package/dist/css/themes/Bar.css +1 -1
  287. package/dist/css/themes/Breadcrumbs.css +1 -1
  288. package/dist/css/themes/BusyIndicator.css +1 -1
  289. package/dist/css/themes/Button.css +1 -1
  290. package/dist/css/themes/ButtonBadge.css +1 -1
  291. package/dist/css/themes/Calendar.css +1 -1
  292. package/dist/css/themes/CalendarHeader.css +1 -1
  293. package/dist/css/themes/CalendarLegend.css +1 -1
  294. package/dist/css/themes/CalendarLegendItem.css +1 -1
  295. package/dist/css/themes/Card.css +1 -1
  296. package/dist/css/themes/CardHeader.css +1 -1
  297. package/dist/css/themes/Carousel.css +1 -1
  298. package/dist/css/themes/CheckBox.css +1 -1
  299. package/dist/css/themes/ColorPalette.css +1 -1
  300. package/dist/css/themes/ColorPaletteItem.css +1 -1
  301. package/dist/css/themes/ColorPalettePopover.css +1 -1
  302. package/dist/css/themes/ColorPicker.css +1 -1
  303. package/dist/css/themes/ComboBox.css +1 -1
  304. package/dist/css/themes/ComboBoxItem.css +1 -1
  305. package/dist/css/themes/ComboBoxPopover.css +1 -1
  306. package/dist/css/themes/DatePicker.css +1 -1
  307. package/dist/css/themes/DatePickerPopover.css +1 -1
  308. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  309. package/dist/css/themes/DayPicker.css +1 -1
  310. package/dist/css/themes/Dialog.css +1 -1
  311. package/dist/css/themes/DynamicDateRange.css +1 -1
  312. package/dist/css/themes/DynamicDateRangePopover.css +1 -1
  313. package/dist/css/themes/FileUploader.css +1 -1
  314. package/dist/css/themes/Form.css +1 -1
  315. package/dist/css/themes/FormItem.css +1 -1
  316. package/dist/css/themes/FormItemSpan.css +1 -1
  317. package/dist/css/themes/GrowingButton.css +1 -1
  318. package/dist/css/themes/Icon.css +1 -1
  319. package/dist/css/themes/Input.css +1 -1
  320. package/dist/css/themes/InputIcon.css +1 -1
  321. package/dist/css/themes/InputSharedStyles.css +1 -1
  322. package/dist/css/themes/Link.css +1 -1
  323. package/dist/css/themes/List.css +1 -1
  324. package/dist/css/themes/ListItem.css +1 -1
  325. package/dist/css/themes/ListItemBase.css +1 -1
  326. package/dist/css/themes/ListItemCustom.css +1 -1
  327. package/dist/css/themes/ListItemGroup.css +1 -1
  328. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  329. package/dist/css/themes/ListItemIcon.css +1 -1
  330. package/dist/css/themes/Menu.css +1 -1
  331. package/dist/css/themes/MenuItem.css +1 -1
  332. package/dist/css/themes/MessageStrip.css +1 -1
  333. package/dist/css/themes/MonthPicker.css +1 -1
  334. package/dist/css/themes/MultiComboBox.css +1 -1
  335. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  336. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  337. package/dist/css/themes/MultiInput.css +1 -1
  338. package/dist/css/themes/OptionBase.css +1 -1
  339. package/dist/css/themes/Panel.css +1 -1
  340. package/dist/css/themes/Popover.css +1 -1
  341. package/dist/css/themes/PopupsCommon.css +1 -1
  342. package/dist/css/themes/ProgressIndicator.css +1 -1
  343. package/dist/css/themes/RadioButton.css +1 -1
  344. package/dist/css/themes/RangeSlider.css +1 -1
  345. package/dist/css/themes/RatingIndicator.css +1 -1
  346. package/dist/css/themes/ResponsivePopover.css +1 -1
  347. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  348. package/dist/css/themes/SegmentedButton.css +1 -1
  349. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  350. package/dist/css/themes/Select.css +1 -1
  351. package/dist/css/themes/SliderBase.css +1 -1
  352. package/dist/css/themes/SplitButton.css +1 -1
  353. package/dist/css/themes/StepInput.css +1 -1
  354. package/dist/css/themes/SuggestionItem.css +1 -1
  355. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  356. package/dist/css/themes/Switch.css +1 -1
  357. package/dist/css/themes/TabContainer.css +1 -1
  358. package/dist/css/themes/TabInOverflow.css +1 -1
  359. package/dist/css/themes/TabInStrip.css +1 -1
  360. package/dist/css/themes/TabSemanticIcon.css +1 -1
  361. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  362. package/dist/css/themes/TableCellBase.css +1 -1
  363. package/dist/css/themes/TableHeaderRow.css +1 -1
  364. package/dist/css/themes/TableRow.css +1 -1
  365. package/dist/css/themes/TableRowActionBase.css +1 -1
  366. package/dist/css/themes/TableRowBase.css +1 -1
  367. package/dist/css/themes/Tag.css +1 -1
  368. package/dist/css/themes/Text.css +1 -1
  369. package/dist/css/themes/TextArea.css +1 -1
  370. package/dist/css/themes/TimePicker.css +1 -1
  371. package/dist/css/themes/Toast.css +1 -1
  372. package/dist/css/themes/ToggleButton.css +1 -1
  373. package/dist/css/themes/Token.css +1 -1
  374. package/dist/css/themes/Tokenizer.css +1 -1
  375. package/dist/css/themes/TokenizerPopover.css +1 -1
  376. package/dist/css/themes/Toolbar.css +1 -1
  377. package/dist/css/themes/ToolbarButton.css +1 -1
  378. package/dist/css/themes/ToolbarPopover.css +1 -1
  379. package/dist/css/themes/ToolbarSeparator.css +1 -1
  380. package/dist/css/themes/TreeItem.css +1 -1
  381. package/dist/css/themes/ValueStateMessage.css +1 -1
  382. package/dist/css/themes/ValueStateVariables.css +1 -1
  383. package/dist/css/themes/YearPicker.css +1 -1
  384. package/dist/css/themes/YearRangePicker.css +1 -1
  385. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +2 -1
  386. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +2 -1
  387. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +2 -1
  388. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +2 -1
  389. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  390. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  391. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +2 -1
  392. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +2 -1
  393. package/dist/custom-elements-internal.json +264 -44
  394. package/dist/custom-elements.json +261 -44
  395. package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
  396. package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
  397. package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
  398. package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
  399. package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
  400. package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
  401. package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
  402. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  403. package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
  404. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  405. package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
  406. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  407. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  408. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  409. package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
  410. package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
  411. package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
  412. package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
  413. package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
  414. package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
  415. package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
  416. package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
  417. package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
  418. package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
  419. package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
  420. package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
  421. package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
  422. package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
  423. package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
  424. package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
  425. package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
  426. package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
  427. package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
  428. package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
  429. package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
  430. package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
  431. package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
  432. package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
  433. package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
  434. package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
  435. package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
  436. package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
  437. package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
  438. package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
  439. package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
  440. package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
  441. package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
  442. package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
  443. package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
  444. package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
  445. package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
  446. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  447. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  448. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  449. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  450. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  451. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  452. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  453. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  454. package/dist/generated/i18n/i18n-defaults.d.ts +8 -9
  455. package/dist/generated/i18n/i18n-defaults.js +8 -9
  456. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  457. package/dist/generated/json-imports/Themes-fetch.js +1 -1
  458. package/dist/generated/json-imports/Themes-fetch.js.map +1 -1
  459. package/dist/generated/json-imports/Themes-node.js +1 -1
  460. package/dist/generated/json-imports/Themes-node.js.map +1 -1
  461. package/dist/generated/json-imports/Themes.js +1 -1
  462. package/dist/generated/json-imports/Themes.js.map +1 -1
  463. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  464. package/dist/generated/themes/Avatar.css.js +2 -2
  465. package/dist/generated/themes/Avatar.css.js.map +1 -1
  466. package/dist/generated/themes/AvatarBadge.css.d.ts +2 -0
  467. package/dist/generated/themes/AvatarBadge.css.js +8 -0
  468. package/dist/generated/themes/AvatarBadge.css.js.map +1 -0
  469. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  470. package/dist/generated/themes/AvatarGroup.css.js +2 -2
  471. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  472. package/dist/generated/themes/Bar.css.d.ts +1 -1
  473. package/dist/generated/themes/Bar.css.js +2 -2
  474. package/dist/generated/themes/Bar.css.js.map +1 -1
  475. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  476. package/dist/generated/themes/Breadcrumbs.css.js +2 -2
  477. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  478. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  479. package/dist/generated/themes/BreadcrumbsPopover.css.js.map +1 -1
  480. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  481. package/dist/generated/themes/BusyIndicator.css.js +2 -2
  482. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  483. package/dist/generated/themes/Button.css.d.ts +1 -1
  484. package/dist/generated/themes/Button.css.js +2 -2
  485. package/dist/generated/themes/Button.css.js.map +1 -1
  486. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  487. package/dist/generated/themes/ButtonBadge.css.js +2 -2
  488. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  489. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  490. package/dist/generated/themes/Calendar.css.js +2 -2
  491. package/dist/generated/themes/Calendar.css.js.map +1 -1
  492. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  493. package/dist/generated/themes/CalendarHeader.css.js +2 -2
  494. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  495. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  496. package/dist/generated/themes/CalendarLegend.css.js +2 -2
  497. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  498. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  499. package/dist/generated/themes/CalendarLegendItem.css.js +2 -2
  500. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  501. package/dist/generated/themes/Card.css.d.ts +1 -1
  502. package/dist/generated/themes/Card.css.js +2 -2
  503. package/dist/generated/themes/Card.css.js.map +1 -1
  504. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  505. package/dist/generated/themes/CardHeader.css.js +2 -2
  506. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  507. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  508. package/dist/generated/themes/Carousel.css.js +2 -2
  509. package/dist/generated/themes/Carousel.css.js.map +1 -1
  510. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  511. package/dist/generated/themes/CheckBox.css.js +2 -2
  512. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  513. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  514. package/dist/generated/themes/ColorPalette.css.js +2 -2
  515. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  516. package/dist/generated/themes/ColorPaletteDialog.css.js +1 -1
  517. package/dist/generated/themes/ColorPaletteDialog.css.js.map +1 -1
  518. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  519. package/dist/generated/themes/ColorPaletteItem.css.js +2 -2
  520. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  521. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  522. package/dist/generated/themes/ColorPalettePopover.css.js +2 -2
  523. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  524. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  525. package/dist/generated/themes/ColorPicker.css.js +2 -2
  526. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  527. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  528. package/dist/generated/themes/ComboBox.css.js +2 -2
  529. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  530. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  531. package/dist/generated/themes/ComboBoxItem.css.js +2 -2
  532. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  533. package/dist/generated/themes/ComboBoxPopover.css.d.ts +1 -1
  534. package/dist/generated/themes/ComboBoxPopover.css.js +2 -2
  535. package/dist/generated/themes/ComboBoxPopover.css.js.map +1 -1
  536. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  537. package/dist/generated/themes/DatePicker.css.js +2 -2
  538. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  539. package/dist/generated/themes/DatePickerPopover.css.d.ts +1 -1
  540. package/dist/generated/themes/DatePickerPopover.css.js +2 -2
  541. package/dist/generated/themes/DatePickerPopover.css.js.map +1 -1
  542. package/dist/generated/themes/DateRangePicker.css.js +1 -1
  543. package/dist/generated/themes/DateRangePicker.css.js.map +1 -1
  544. package/dist/generated/themes/DateTimePicker.css.js +1 -1
  545. package/dist/generated/themes/DateTimePicker.css.js.map +1 -1
  546. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  547. package/dist/generated/themes/DateTimePickerPopover.css.js +2 -2
  548. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  549. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  550. package/dist/generated/themes/DayPicker.css.js +2 -2
  551. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  552. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  553. package/dist/generated/themes/Dialog.css.js +2 -2
  554. package/dist/generated/themes/Dialog.css.js.map +1 -1
  555. package/dist/generated/themes/DraggableElement.css.js +1 -1
  556. package/dist/generated/themes/DraggableElement.css.js.map +1 -1
  557. package/dist/generated/themes/DropIndicator.css.js +1 -1
  558. package/dist/generated/themes/DropIndicator.css.js.map +1 -1
  559. package/dist/generated/themes/DynamicDateRange.css.d.ts +1 -1
  560. package/dist/generated/themes/DynamicDateRange.css.js +2 -2
  561. package/dist/generated/themes/DynamicDateRange.css.js.map +1 -1
  562. package/dist/generated/themes/DynamicDateRangePopover.css.d.ts +1 -1
  563. package/dist/generated/themes/DynamicDateRangePopover.css.js +2 -2
  564. package/dist/generated/themes/DynamicDateRangePopover.css.js.map +1 -1
  565. package/dist/generated/themes/ExpandableText.css.js +1 -1
  566. package/dist/generated/themes/ExpandableText.css.js.map +1 -1
  567. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  568. package/dist/generated/themes/FileUploader.css.js +2 -2
  569. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  570. package/dist/generated/themes/Form.css.d.ts +1 -1
  571. package/dist/generated/themes/Form.css.js +2 -2
  572. package/dist/generated/themes/Form.css.js.map +1 -1
  573. package/dist/generated/themes/FormComponents.css.js +1 -1
  574. package/dist/generated/themes/FormComponents.css.js.map +1 -1
  575. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  576. package/dist/generated/themes/FormItem.css.js +2 -2
  577. package/dist/generated/themes/FormItem.css.js.map +1 -1
  578. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  579. package/dist/generated/themes/FormItemSpan.css.js +2 -2
  580. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  581. package/dist/generated/themes/FormLayout.css.js +1 -1
  582. package/dist/generated/themes/FormLayout.css.js.map +1 -1
  583. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  584. package/dist/generated/themes/GrowingButton.css.js +2 -2
  585. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  586. package/dist/generated/themes/Icon.css.d.ts +1 -1
  587. package/dist/generated/themes/Icon.css.js +2 -2
  588. package/dist/generated/themes/Icon.css.js.map +1 -1
  589. package/dist/generated/themes/Input.css.d.ts +1 -1
  590. package/dist/generated/themes/Input.css.js +2 -2
  591. package/dist/generated/themes/Input.css.js.map +1 -1
  592. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  593. package/dist/generated/themes/InputIcon.css.js +2 -2
  594. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  595. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  596. package/dist/generated/themes/InputSharedStyles.css.js +2 -2
  597. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  598. package/dist/generated/themes/InvisibleTextStyles.css.js +1 -1
  599. package/dist/generated/themes/InvisibleTextStyles.css.js.map +1 -1
  600. package/dist/generated/themes/Label.css.js +1 -1
  601. package/dist/generated/themes/Label.css.js.map +1 -1
  602. package/dist/generated/themes/Link.css.d.ts +1 -1
  603. package/dist/generated/themes/Link.css.js +2 -2
  604. package/dist/generated/themes/Link.css.js.map +1 -1
  605. package/dist/generated/themes/List.css.d.ts +1 -1
  606. package/dist/generated/themes/List.css.js +2 -2
  607. package/dist/generated/themes/List.css.js.map +1 -1
  608. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  609. package/dist/generated/themes/ListItem.css.js +2 -2
  610. package/dist/generated/themes/ListItem.css.js.map +1 -1
  611. package/dist/generated/themes/ListItemAdditionalText.css.js +1 -1
  612. package/dist/generated/themes/ListItemAdditionalText.css.js.map +1 -1
  613. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  614. package/dist/generated/themes/ListItemBase.css.js +2 -2
  615. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  616. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  617. package/dist/generated/themes/ListItemCustom.css.js +2 -2
  618. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  619. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  620. package/dist/generated/themes/ListItemGroup.css.js +2 -2
  621. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  622. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  623. package/dist/generated/themes/ListItemGroupHeader.css.js +2 -2
  624. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  625. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  626. package/dist/generated/themes/ListItemIcon.css.js +2 -2
  627. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  628. package/dist/generated/themes/Menu.css.d.ts +1 -1
  629. package/dist/generated/themes/Menu.css.js +2 -2
  630. package/dist/generated/themes/Menu.css.js.map +1 -1
  631. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  632. package/dist/generated/themes/MenuItem.css.js +2 -2
  633. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  634. package/dist/generated/themes/MenuSeparator.css.js +1 -1
  635. package/dist/generated/themes/MenuSeparator.css.js.map +1 -1
  636. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  637. package/dist/generated/themes/MessageStrip.css.js +2 -2
  638. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  639. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  640. package/dist/generated/themes/MonthPicker.css.js +2 -2
  641. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  642. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  643. package/dist/generated/themes/MultiComboBox.css.js +2 -2
  644. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  645. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  646. package/dist/generated/themes/MultiComboBoxItem.css.js +2 -2
  647. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  648. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  649. package/dist/generated/themes/MultiComboBoxPopover.css.js +2 -2
  650. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  651. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  652. package/dist/generated/themes/MultiInput.css.js +2 -2
  653. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  654. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  655. package/dist/generated/themes/OptionBase.css.js +2 -2
  656. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  657. package/dist/generated/themes/Panel.css.d.ts +1 -1
  658. package/dist/generated/themes/Panel.css.js +2 -2
  659. package/dist/generated/themes/Panel.css.js.map +1 -1
  660. package/dist/generated/themes/Popover.css.d.ts +1 -1
  661. package/dist/generated/themes/Popover.css.js +2 -2
  662. package/dist/generated/themes/Popover.css.js.map +1 -1
  663. package/dist/generated/themes/Popup.css.js +1 -1
  664. package/dist/generated/themes/Popup.css.js.map +1 -1
  665. package/dist/generated/themes/PopupBlockLayer.css.js +1 -1
  666. package/dist/generated/themes/PopupBlockLayer.css.js.map +1 -1
  667. package/dist/generated/themes/PopupGlobal.css.js +1 -1
  668. package/dist/generated/themes/PopupGlobal.css.js.map +1 -1
  669. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  670. package/dist/generated/themes/PopupsCommon.css.js +2 -2
  671. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  672. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  673. package/dist/generated/themes/ProgressIndicator.css.js +2 -2
  674. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  675. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  676. package/dist/generated/themes/RadioButton.css.js +2 -2
  677. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  678. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  679. package/dist/generated/themes/RangeSlider.css.js +2 -2
  680. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  681. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  682. package/dist/generated/themes/RatingIndicator.css.js +2 -2
  683. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  684. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  685. package/dist/generated/themes/ResponsivePopover.css.js +2 -2
  686. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  687. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  688. package/dist/generated/themes/ResponsivePopoverCommon.css.js +2 -2
  689. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  690. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  691. package/dist/generated/themes/SegmentedButton.css.js +2 -2
  692. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  693. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  694. package/dist/generated/themes/SegmentedButtonItem.css.js +2 -2
  695. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  696. package/dist/generated/themes/Select.css.d.ts +1 -1
  697. package/dist/generated/themes/Select.css.js +2 -2
  698. package/dist/generated/themes/Select.css.js.map +1 -1
  699. package/dist/generated/themes/SelectPopover.css.js +1 -1
  700. package/dist/generated/themes/SelectPopover.css.js.map +1 -1
  701. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  702. package/dist/generated/themes/SliderBase.css.js +2 -2
  703. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  704. package/dist/generated/themes/SliderTooltip.css.js +1 -1
  705. package/dist/generated/themes/SliderTooltip.css.js.map +1 -1
  706. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  707. package/dist/generated/themes/SplitButton.css.js +2 -2
  708. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  709. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  710. package/dist/generated/themes/StepInput.css.js +2 -2
  711. package/dist/generated/themes/StepInput.css.js.map +1 -1
  712. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  713. package/dist/generated/themes/SuggestionItem.css.js +2 -2
  714. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  715. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  716. package/dist/generated/themes/SuggestionItemCustom.css.js +2 -2
  717. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  718. package/dist/generated/themes/Suggestions.css.js +1 -1
  719. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  720. package/dist/generated/themes/Switch.css.d.ts +1 -1
  721. package/dist/generated/themes/Switch.css.js +2 -2
  722. package/dist/generated/themes/Switch.css.js.map +1 -1
  723. package/dist/generated/themes/Tab.css.js +1 -1
  724. package/dist/generated/themes/Tab.css.js.map +1 -1
  725. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  726. package/dist/generated/themes/TabContainer.css.js +2 -2
  727. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  728. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  729. package/dist/generated/themes/TabInOverflow.css.js +2 -2
  730. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  731. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  732. package/dist/generated/themes/TabInStrip.css.js +2 -2
  733. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  734. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  735. package/dist/generated/themes/TabSemanticIcon.css.js +2 -2
  736. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  737. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  738. package/dist/generated/themes/TabSeparatorInOverflow.css.js +2 -2
  739. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  740. package/dist/generated/themes/TabSeparatorInStrip.css.js +1 -1
  741. package/dist/generated/themes/TabSeparatorInStrip.css.js.map +1 -1
  742. package/dist/generated/themes/Table.css.js +1 -1
  743. package/dist/generated/themes/Table.css.js.map +1 -1
  744. package/dist/generated/themes/TableCell.css.js +1 -1
  745. package/dist/generated/themes/TableCell.css.js.map +1 -1
  746. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  747. package/dist/generated/themes/TableCellBase.css.js +2 -2
  748. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  749. package/dist/generated/themes/TableGrowing.css.js +1 -1
  750. package/dist/generated/themes/TableGrowing.css.js.map +1 -1
  751. package/dist/generated/themes/TableHeaderCell.css.js +1 -1
  752. package/dist/generated/themes/TableHeaderCell.css.js.map +1 -1
  753. package/dist/generated/themes/TableHeaderCellActionBase.css.js +1 -1
  754. package/dist/generated/themes/TableHeaderCellActionBase.css.js.map +1 -1
  755. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  756. package/dist/generated/themes/TableHeaderRow.css.js +2 -2
  757. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  758. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  759. package/dist/generated/themes/TableRow.css.js +2 -2
  760. package/dist/generated/themes/TableRow.css.js.map +1 -1
  761. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  762. package/dist/generated/themes/TableRowActionBase.css.js +2 -2
  763. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  764. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  765. package/dist/generated/themes/TableRowBase.css.js +2 -2
  766. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  767. package/dist/generated/themes/Tag.css.d.ts +1 -1
  768. package/dist/generated/themes/Tag.css.js +2 -2
  769. package/dist/generated/themes/Tag.css.js.map +1 -1
  770. package/dist/generated/themes/TapHighlightColor.css.js +1 -1
  771. package/dist/generated/themes/TapHighlightColor.css.js.map +1 -1
  772. package/dist/generated/themes/Text.css.d.ts +1 -1
  773. package/dist/generated/themes/Text.css.js +2 -2
  774. package/dist/generated/themes/Text.css.js.map +1 -1
  775. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  776. package/dist/generated/themes/TextArea.css.js +2 -2
  777. package/dist/generated/themes/TextArea.css.js.map +1 -1
  778. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  779. package/dist/generated/themes/TimePicker.css.js +2 -2
  780. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  781. package/dist/generated/themes/TimePickerClock.css.js +1 -1
  782. package/dist/generated/themes/TimePickerClock.css.js.map +1 -1
  783. package/dist/generated/themes/TimePickerPopover.css.js +1 -1
  784. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  785. package/dist/generated/themes/TimeSelectionClocks.css.js +1 -1
  786. package/dist/generated/themes/TimeSelectionClocks.css.js.map +1 -1
  787. package/dist/generated/themes/TimeSelectionInputs.css.js +1 -1
  788. package/dist/generated/themes/TimeSelectionInputs.css.js.map +1 -1
  789. package/dist/generated/themes/Title.css.js +1 -1
  790. package/dist/generated/themes/Title.css.js.map +1 -1
  791. package/dist/generated/themes/Toast.css.d.ts +1 -1
  792. package/dist/generated/themes/Toast.css.js +2 -2
  793. package/dist/generated/themes/Toast.css.js.map +1 -1
  794. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  795. package/dist/generated/themes/ToggleButton.css.js +2 -2
  796. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  797. package/dist/generated/themes/Token.css.d.ts +1 -1
  798. package/dist/generated/themes/Token.css.js +2 -2
  799. package/dist/generated/themes/Token.css.js.map +1 -1
  800. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  801. package/dist/generated/themes/Tokenizer.css.js +2 -2
  802. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  803. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  804. package/dist/generated/themes/TokenizerPopover.css.js +2 -2
  805. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  806. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  807. package/dist/generated/themes/Toolbar.css.js +2 -2
  808. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  809. package/dist/generated/themes/ToolbarButton.css.d.ts +1 -1
  810. package/dist/generated/themes/ToolbarButton.css.js +2 -2
  811. package/dist/generated/themes/ToolbarButton.css.js.map +1 -1
  812. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  813. package/dist/generated/themes/ToolbarPopover.css.js +2 -2
  814. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  815. package/dist/generated/themes/ToolbarSelect.css.js +1 -1
  816. package/dist/generated/themes/ToolbarSelect.css.js.map +1 -1
  817. package/dist/generated/themes/ToolbarSeparator.css.d.ts +1 -1
  818. package/dist/generated/themes/ToolbarSeparator.css.js +2 -2
  819. package/dist/generated/themes/ToolbarSeparator.css.js.map +1 -1
  820. package/dist/generated/themes/Tree.css.js +1 -1
  821. package/dist/generated/themes/Tree.css.js.map +1 -1
  822. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  823. package/dist/generated/themes/TreeItem.css.js +2 -2
  824. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  825. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  826. package/dist/generated/themes/ValueStateMessage.css.js +2 -2
  827. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  828. package/dist/generated/themes/ValueStateVariables.css.d.ts +1 -1
  829. package/dist/generated/themes/ValueStateVariables.css.js +2 -2
  830. package/dist/generated/themes/ValueStateVariables.css.js.map +1 -1
  831. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  832. package/dist/generated/themes/YearPicker.css.js +2 -2
  833. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  834. package/dist/generated/themes/YearRangePicker.css.d.ts +1 -1
  835. package/dist/generated/themes/YearRangePicker.css.js +2 -2
  836. package/dist/generated/themes/YearRangePicker.css.js.map +1 -1
  837. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  838. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +2 -1
  839. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  840. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  841. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +2 -1
  842. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  843. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  844. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +2 -1
  845. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  846. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  847. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +2 -1
  848. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  849. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  850. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  851. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  852. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  853. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  854. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  855. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  856. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +2 -1
  857. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  858. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  859. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +2 -1
  860. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  861. package/dist/vscode.html-custom-data.json +96 -43
  862. package/dist/web-types.json +169 -76
  863. package/package-scripts.cjs +1 -0
  864. package/package.json +9 -9
  865. package/src/AvatarBadgeTemplate.tsx +16 -0
  866. package/src/CarouselTemplate.tsx +2 -2
  867. package/src/ColorPalettePopoverTemplate.tsx +1 -1
  868. package/src/ComboBoxPopoverTemplate.tsx +5 -3
  869. package/src/DatePickerInputTemplate.tsx +1 -1
  870. package/src/DayPickerTemplate.tsx +2 -2
  871. package/src/DynamicDateRangePopoverTemplate.tsx +1 -0
  872. package/src/FileUploaderTemplate.tsx +2 -2
  873. package/src/ListTemplate.tsx +1 -1
  874. package/src/MultiComboBoxPopoverTemplate.tsx +9 -4
  875. package/src/SplitButtonTemplate.tsx +2 -2
  876. package/src/StepInputTemplate.tsx +1 -0
  877. package/src/TableHeaderRowTemplate.tsx +1 -1
  878. package/src/TableRowTemplate.tsx +2 -2
  879. package/src/TimePickerTemplate.tsx +2 -1
  880. package/src/ToggleSpinButtonTemplate.tsx +0 -1
  881. package/src/i18n/messagebundle.properties +21 -16
  882. package/src/i18n/messagebundle_ar.properties +1 -1
  883. package/src/i18n/messagebundle_bg.properties +1 -1
  884. package/src/i18n/messagebundle_ca.properties +1 -1
  885. package/src/i18n/messagebundle_cnr.properties +1 -1
  886. package/src/i18n/messagebundle_cs.properties +1 -1
  887. package/src/i18n/messagebundle_cy.properties +1 -1
  888. package/src/i18n/messagebundle_da.properties +1 -1
  889. package/src/i18n/messagebundle_de.properties +1 -1
  890. package/src/i18n/messagebundle_el.properties +1 -1
  891. package/src/i18n/messagebundle_en.properties +1 -1
  892. package/src/i18n/messagebundle_en_GB.properties +1 -1
  893. package/src/i18n/messagebundle_en_US_sappsd.properties +1 -1
  894. package/src/i18n/messagebundle_en_US_saprigi.properties +1 -1
  895. package/src/i18n/messagebundle_en_US_saptrc.properties +1 -1
  896. package/src/i18n/messagebundle_es.properties +1 -1
  897. package/src/i18n/messagebundle_es_MX.properties +1 -1
  898. package/src/i18n/messagebundle_et.properties +1 -1
  899. package/src/i18n/messagebundle_fi.properties +1 -1
  900. package/src/i18n/messagebundle_fr.properties +1 -1
  901. package/src/i18n/messagebundle_fr_CA.properties +1 -1
  902. package/src/i18n/messagebundle_hi.properties +1 -1
  903. package/src/i18n/messagebundle_hr.properties +1 -1
  904. package/src/i18n/messagebundle_hu.properties +1 -1
  905. package/src/i18n/messagebundle_id.properties +1 -1
  906. package/src/i18n/messagebundle_it.properties +1 -1
  907. package/src/i18n/messagebundle_iw.properties +1 -1
  908. package/src/i18n/messagebundle_ja.properties +1 -1
  909. package/src/i18n/messagebundle_kk.properties +1 -1
  910. package/src/i18n/messagebundle_ko.properties +1 -1
  911. package/src/i18n/messagebundle_lt.properties +1 -1
  912. package/src/i18n/messagebundle_lv.properties +1 -1
  913. package/src/i18n/messagebundle_mk.properties +1 -1
  914. package/src/i18n/messagebundle_ms.properties +1 -1
  915. package/src/i18n/messagebundle_nl.properties +1 -1
  916. package/src/i18n/messagebundle_no.properties +1 -1
  917. package/src/i18n/messagebundle_pl.properties +1 -1
  918. package/src/i18n/messagebundle_pt.properties +1 -1
  919. package/src/i18n/messagebundle_pt_PT.properties +1 -1
  920. package/src/i18n/messagebundle_ro.properties +1 -1
  921. package/src/i18n/messagebundle_ru.properties +6 -6
  922. package/src/i18n/messagebundle_sh.properties +1 -1
  923. package/src/i18n/messagebundle_sk.properties +1 -1
  924. package/src/i18n/messagebundle_sl.properties +1 -1
  925. package/src/i18n/messagebundle_sr.properties +1 -1
  926. package/src/i18n/messagebundle_sv.properties +1 -1
  927. package/src/i18n/messagebundle_th.properties +1 -1
  928. package/src/i18n/messagebundle_tr.properties +1 -1
  929. package/src/i18n/messagebundle_uk.properties +1 -1
  930. package/src/i18n/messagebundle_vi.properties +1 -1
  931. package/src/i18n/messagebundle_zh_CN.properties +1 -1
  932. package/src/i18n/messagebundle_zh_TW.properties +1 -1
  933. package/src/themes/Avatar.css +15 -28
  934. package/src/themes/AvatarBadge.css +45 -0
  935. package/src/themes/AvatarGroup.css +1 -4
  936. package/src/themes/ComboBoxPopover.css +4 -0
  937. package/src/themes/DayPicker.css +2 -0
  938. package/src/themes/FormItem.css +4 -4
  939. package/src/themes/FormItemSpan.css +13 -8
  940. package/src/themes/Input.css +5 -0
  941. package/src/themes/MultiComboBoxPopover.css +21 -4
  942. package/src/themes/RangeSlider.css +2 -1
  943. package/src/themes/ResponsivePopover.css +1 -2
  944. package/src/themes/SliderBase.css +9 -8
  945. package/src/themes/StepInput.css +4 -1
  946. package/src/themes/Token.css +1 -1
  947. package/src/themes/base/Avatar-parameters.css +1 -1
  948. package/src/themes/base/AvatarGroup-parameters.css +1 -1
  949. package/src/themes/base/Bar-parameters.css +1 -1
  950. package/src/themes/base/BusyIndicator-parameters.css +1 -1
  951. package/src/themes/base/Button-parameters.css +1 -1
  952. package/src/themes/base/ButtonBadge-parameters.css +1 -1
  953. package/src/themes/base/CalendarHeader-parameters.css +1 -1
  954. package/src/themes/base/CalendarLegend-parameters.css +1 -1
  955. package/src/themes/base/CalendarLegendItem-parameters.css +1 -1
  956. package/src/themes/base/Card-parameters.css +1 -1
  957. package/src/themes/base/Carousel-parameters.css +1 -1
  958. package/src/themes/base/CheckBox-parameters.css +50 -50
  959. package/src/themes/base/ColorPalette-parameters.css +1 -1
  960. package/src/themes/base/ColorPicker-parameters.css +1 -1
  961. package/src/themes/base/DatePicker-parameters.css +1 -1
  962. package/src/themes/base/DayPicker-parameters.css +1 -1
  963. package/src/themes/base/Dialog-parameters.css +1 -1
  964. package/src/themes/base/DynamicDateRange-parameters.css +2 -2
  965. package/src/themes/base/FileUploader-parameters.css +1 -1
  966. package/src/themes/base/Form-parameters.css +1 -8
  967. package/src/themes/base/GrowingButton-parameters.css +1 -1
  968. package/src/themes/base/Input-parameters.css +16 -16
  969. package/src/themes/base/InputIcon-parameters.css +5 -5
  970. package/src/themes/base/Link-parameters.css +1 -1
  971. package/src/themes/base/List-parameters.css +1 -1
  972. package/src/themes/base/ListItemBase-parameters.css +1 -1
  973. package/src/themes/base/ListItemGroupHeader-parameters.css +1 -1
  974. package/src/themes/base/Menu-parameters.css +1 -1
  975. package/src/themes/base/MessageStrip-parameters.css +1 -1
  976. package/src/themes/base/MonthPicker-parameters.css +1 -1
  977. package/src/themes/base/Panel-parameters.css +7 -7
  978. package/src/themes/base/Popover-parameters.css +1 -1
  979. package/src/themes/base/PopupBlockLayer-parameters.css +1 -1
  980. package/src/themes/base/PopupsCommon-parameters.css +1 -1
  981. package/src/themes/base/ProgressIndicator-parameters.css +1 -1
  982. package/src/themes/base/RadioButton-parameters.css +7 -7
  983. package/src/themes/base/RatingIndicator-parameters.css +9 -9
  984. package/src/themes/base/SegmentedButtton-parameters.css +1 -1
  985. package/src/themes/base/Select-parameters.css +5 -5
  986. package/src/themes/base/SliderBase-parameters.css +105 -92
  987. package/src/themes/base/SplitButton-parameters.css +1 -1
  988. package/src/themes/base/StepInput-parameters.css +1 -1
  989. package/src/themes/base/Switch-parameters.css +25 -25
  990. package/src/themes/base/TabContainer-parameters.css +7 -7
  991. package/src/themes/base/Table-parameters.css +1 -1
  992. package/src/themes/base/Tag-parameters.css +1 -1
  993. package/src/themes/base/Text-parameters.css +1 -1
  994. package/src/themes/base/TextArea-parameters.css +19 -19
  995. package/src/themes/base/TimePicker-parameters.css +1 -1
  996. package/src/themes/base/TimelineItem-parameters.css +1 -1
  997. package/src/themes/base/Toast-parameters.css +1 -1
  998. package/src/themes/base/ToggleButton-parameters.css +1 -1
  999. package/src/themes/base/Token-parameters.css +1 -1
  1000. package/src/themes/base/Tokenizer-parameters.css +6 -6
  1001. package/src/themes/base/Toolbar-parameters.css +1 -1
  1002. package/src/themes/base/ValueStateMessage-parameters.css +1 -1
  1003. package/src/themes/base/YearPicker-parameters.css +1 -1
  1004. package/src/themes/base/rtl-parameters.css +1 -2
  1005. package/src/themes/base/sizes-parameters.css +219 -215
  1006. package/src/themes/sap_fiori_3/Avatar-parameters.css +1 -1
  1007. package/src/themes/sap_fiori_3/Button-parameters.css +1 -1
  1008. package/src/themes/sap_fiori_3/CalendarHeader-parameters.css +1 -1
  1009. package/src/themes/sap_fiori_3/CheckBox-parameters.css +1 -1
  1010. package/src/themes/sap_fiori_3/DayPicker-parameters.css +1 -1
  1011. package/src/themes/sap_fiori_3/Input-parameters.css +1 -1
  1012. package/src/themes/sap_fiori_3/Link-parameters.css +1 -1
  1013. package/src/themes/sap_fiori_3/List-parameters.css +1 -1
  1014. package/src/themes/sap_fiori_3/MessageStrip-parameters.css +1 -1
  1015. package/src/themes/sap_fiori_3/MonthPicker-parameters.css +1 -1
  1016. package/src/themes/sap_fiori_3/SliderBase-parameters.css +16 -9
  1017. package/src/themes/sap_fiori_3/TabContainer-parameters.css +1 -1
  1018. package/src/themes/sap_fiori_3/Tag-parameters.css +4 -4
  1019. package/src/themes/sap_fiori_3/Token-parameters.css +1 -1
  1020. package/src/themes/sap_fiori_3/YearPicker-parameters.css +1 -1
  1021. package/src/themes/sap_fiori_3/sizes-parameters.css +7 -11
  1022. package/src/themes/sap_fiori_3_dark/Avatar-parameters.css +1 -1
  1023. package/src/themes/sap_fiori_3_dark/Button-parameters.css +1 -1
  1024. package/src/themes/sap_fiori_3_dark/CalendarHeader-parameters.css +1 -1
  1025. package/src/themes/sap_fiori_3_dark/CheckBox-parameters.css +1 -1
  1026. package/src/themes/sap_fiori_3_dark/DayPicker-parameters.css +1 -1
  1027. package/src/themes/sap_fiori_3_dark/Input-parameters.css +1 -1
  1028. package/src/themes/sap_fiori_3_dark/Link-parameters.css +1 -1
  1029. package/src/themes/sap_fiori_3_dark/List-parameters.css +1 -1
  1030. package/src/themes/sap_fiori_3_dark/MessageStrip-parameters.css +1 -1
  1031. package/src/themes/sap_fiori_3_dark/MonthPicker-parameters.css +1 -1
  1032. package/src/themes/sap_fiori_3_dark/SliderBase-parameters.css +25 -13
  1033. package/src/themes/sap_fiori_3_dark/TabContainer-parameters.css +1 -1
  1034. package/src/themes/sap_fiori_3_dark/Tag-parameters.css +4 -4
  1035. package/src/themes/sap_fiori_3_dark/Token-parameters.css +1 -1
  1036. package/src/themes/sap_fiori_3_dark/YearPicker-parameters.css +1 -1
  1037. package/src/themes/sap_fiori_3_dark/sizes-parameters.css +16 -20
  1038. package/src/themes/sap_fiori_3_hcb/Avatar-parameters.css +1 -1
  1039. package/src/themes/sap_fiori_3_hcb/Bar-parameters.css +1 -1
  1040. package/src/themes/sap_fiori_3_hcb/Button-parameters.css +1 -1
  1041. package/src/themes/sap_fiori_3_hcb/CalendarHeader-parameters.css +1 -1
  1042. package/src/themes/sap_fiori_3_hcb/Card-parameters.css +1 -1
  1043. package/src/themes/sap_fiori_3_hcb/Carousel-parameters.css +1 -1
  1044. package/src/themes/sap_fiori_3_hcb/CheckBox-parameters.css +1 -1
  1045. package/src/themes/sap_fiori_3_hcb/ColorPicker-parameters.css +1 -1
  1046. package/src/themes/sap_fiori_3_hcb/DayPicker-parameters.css +1 -1
  1047. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +1 -1
  1048. package/src/themes/sap_fiori_3_hcb/FileUploader-parameters.css +1 -1
  1049. package/src/themes/sap_fiori_3_hcb/GrowingButton-parameters.css +1 -1
  1050. package/src/themes/sap_fiori_3_hcb/Input-parameters.css +6 -6
  1051. package/src/themes/sap_fiori_3_hcb/Link-parameters.css +1 -1
  1052. package/src/themes/sap_fiori_3_hcb/ListItem-parameters.css +2 -2
  1053. package/src/themes/sap_fiori_3_hcb/MessageStrip-parameters.css +1 -1
  1054. package/src/themes/sap_fiori_3_hcb/MonthPicker-parameters.css +1 -1
  1055. package/src/themes/sap_fiori_3_hcb/Panel-parameters.css +1 -1
  1056. package/src/themes/sap_fiori_3_hcb/PopupBlockLayer-parameters.css +1 -1
  1057. package/src/themes/sap_fiori_3_hcb/PopupsCommon-parameters.css +4 -4
  1058. package/src/themes/sap_fiori_3_hcb/ProgressIndicator-parameters.css +1 -1
  1059. package/src/themes/sap_fiori_3_hcb/RadioButton-parameters.css +1 -1
  1060. package/src/themes/sap_fiori_3_hcb/Select-parameters.css +1 -1
  1061. package/src/themes/sap_fiori_3_hcb/SliderBase-parameters.css +31 -7
  1062. package/src/themes/sap_fiori_3_hcb/SplitButton-parameters.css +1 -1
  1063. package/src/themes/sap_fiori_3_hcb/Switch-parameters.css +1 -1
  1064. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +1 -1
  1065. package/src/themes/sap_fiori_3_hcb/Tag-parameters.css +1 -1
  1066. package/src/themes/sap_fiori_3_hcb/TextArea-parameters.css +15 -15
  1067. package/src/themes/sap_fiori_3_hcb/Token-parameters.css +1 -1
  1068. package/src/themes/sap_fiori_3_hcb/ValueStateMessage-parameters.css +1 -1
  1069. package/src/themes/sap_fiori_3_hcb/YearPicker-parameters.css +1 -1
  1070. package/src/themes/sap_fiori_3_hcb/sizes-parameters.css +9 -13
  1071. package/src/themes/sap_fiori_3_hcw/Avatar-parameters.css +1 -1
  1072. package/src/themes/sap_fiori_3_hcw/Bar-parameters.css +1 -1
  1073. package/src/themes/sap_fiori_3_hcw/Button-parameters.css +1 -1
  1074. package/src/themes/sap_fiori_3_hcw/CalendarHeader-parameters.css +1 -1
  1075. package/src/themes/sap_fiori_3_hcw/Card-parameters.css +1 -1
  1076. package/src/themes/sap_fiori_3_hcw/Carousel-parameters.css +1 -1
  1077. package/src/themes/sap_fiori_3_hcw/CheckBox-parameters.css +1 -1
  1078. package/src/themes/sap_fiori_3_hcw/ColorPicker-parameters.css +1 -1
  1079. package/src/themes/sap_fiori_3_hcw/DayPicker-parameters.css +1 -1
  1080. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +1 -1
  1081. package/src/themes/sap_fiori_3_hcw/FileUploader-parameters.css +1 -1
  1082. package/src/themes/sap_fiori_3_hcw/GrowingButton-parameters.css +1 -1
  1083. package/src/themes/sap_fiori_3_hcw/Input-parameters.css +6 -6
  1084. package/src/themes/sap_fiori_3_hcw/Link-parameters.css +1 -1
  1085. package/src/themes/sap_fiori_3_hcw/ListItem-parameters.css +2 -2
  1086. package/src/themes/sap_fiori_3_hcw/MessageStrip-parameters.css +1 -1
  1087. package/src/themes/sap_fiori_3_hcw/MonthPicker-parameters.css +1 -1
  1088. package/src/themes/sap_fiori_3_hcw/Panel-parameters.css +1 -1
  1089. package/src/themes/sap_fiori_3_hcw/PopupBlockLayer-parameters.css +1 -1
  1090. package/src/themes/sap_fiori_3_hcw/PopupsCommon-parameters.css +4 -4
  1091. package/src/themes/sap_fiori_3_hcw/ProgressIndicator-parameters.css +1 -1
  1092. package/src/themes/sap_fiori_3_hcw/RadioButton-parameters.css +1 -1
  1093. package/src/themes/sap_fiori_3_hcw/Select-parameters.css +1 -1
  1094. package/src/themes/sap_fiori_3_hcw/SliderBase-parameters.css +30 -7
  1095. package/src/themes/sap_fiori_3_hcw/SplitButton-parameters.css +1 -1
  1096. package/src/themes/sap_fiori_3_hcw/Switch-parameters.css +1 -1
  1097. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +1 -1
  1098. package/src/themes/sap_fiori_3_hcw/Tag-parameters.css +1 -1
  1099. package/src/themes/sap_fiori_3_hcw/TextArea-parameters.css +15 -15
  1100. package/src/themes/sap_fiori_3_hcw/Token-parameters.css +1 -1
  1101. package/src/themes/sap_fiori_3_hcw/ValueStateMessage-parameters.css +1 -1
  1102. package/src/themes/sap_fiori_3_hcw/YearPicker-parameters.css +1 -1
  1103. package/src/themes/sap_fiori_3_hcw/sizes-parameters.css +9 -13
  1104. package/src/themes/sap_horizon/Avatar-parameters.css +1 -1
  1105. package/src/themes/sap_horizon/AvatarGroup-parameters.css +1 -1
  1106. package/src/themes/sap_horizon/Breadcrumbs-parameters.css +1 -1
  1107. package/src/themes/sap_horizon/BusyIndicator-parameters.css +1 -1
  1108. package/src/themes/sap_horizon/Button-parameters.css +1 -1
  1109. package/src/themes/sap_horizon/CalendarHeader-parameters.css +1 -1
  1110. package/src/themes/sap_horizon/CalendarLegendItem-parameters.css +1 -1
  1111. package/src/themes/sap_horizon/Card-parameters.css +1 -1
  1112. package/src/themes/sap_horizon/Carousel-parameters.css +1 -1
  1113. package/src/themes/sap_horizon/CheckBox-parameters.css +1 -1
  1114. package/src/themes/sap_horizon/ColorPalette-parameters.css +1 -1
  1115. package/src/themes/sap_horizon/ColorPicker-parameters.css +1 -1
  1116. package/src/themes/sap_horizon/DatePicker-parameters.css +1 -1
  1117. package/src/themes/sap_horizon/DayPicker-parameters.css +1 -2
  1118. package/src/themes/sap_horizon/Dialog-parameters.css +1 -1
  1119. package/src/themes/sap_horizon/GrowingButton-parameters.css +1 -1
  1120. package/src/themes/sap_horizon/Icon-parameters.css +1 -1
  1121. package/src/themes/sap_horizon/Input-parameters.css +13 -13
  1122. package/src/themes/sap_horizon/InputIcon-parameters.css +5 -5
  1123. package/src/themes/sap_horizon/Link-parameters.css +1 -1
  1124. package/src/themes/sap_horizon/List-parameters.css +1 -1
  1125. package/src/themes/sap_horizon/Menu-parameters.css +1 -1
  1126. package/src/themes/sap_horizon/MessageStrip-parameters.css +1 -1
  1127. package/src/themes/sap_horizon/MonthPicker-parameters.css +1 -1
  1128. package/src/themes/sap_horizon/Panel-parameters.css +1 -1
  1129. package/src/themes/sap_horizon/PopupsCommon-parameters.css +1 -1
  1130. package/src/themes/sap_horizon/ProgressIndicator-parameters.css +31 -31
  1131. package/src/themes/sap_horizon/ProgressIndicatorLayout-parameters.css +33 -33
  1132. package/src/themes/sap_horizon/RadioButton-parameters.css +7 -7
  1133. package/src/themes/sap_horizon/RatingIndicator-parameters.css +9 -9
  1134. package/src/themes/sap_horizon/SegmentedButtton-parameters.css +1 -1
  1135. package/src/themes/sap_horizon/Select-parameters.css +1 -1
  1136. package/src/themes/sap_horizon/SliderBase-parameters.css +10 -31
  1137. package/src/themes/sap_horizon/SplitButton-parameters.css +1 -1
  1138. package/src/themes/sap_horizon/StepInput-parameters.css +1 -1
  1139. package/src/themes/sap_horizon/Switch-parameters.css +26 -25
  1140. package/src/themes/sap_horizon/TabContainer-parameters.css +1 -1
  1141. package/src/themes/sap_horizon/Tag-parameters.css +1 -1
  1142. package/src/themes/sap_horizon/TextArea-parameters.css +15 -15
  1143. package/src/themes/sap_horizon/TimePicker-parameters.css +1 -1
  1144. package/src/themes/sap_horizon/Token-parameters.css +5 -5
  1145. package/src/themes/sap_horizon/Tokenizer-parameters.css +1 -1
  1146. package/src/themes/sap_horizon/ValueStateMessage-parameters.css +1 -1
  1147. package/src/themes/sap_horizon/YearPicker-parameters.css +1 -1
  1148. package/src/themes/sap_horizon/sizes-parameters.css +37 -38
  1149. package/src/themes/sap_horizon_dark/Avatar-parameters.css +1 -1
  1150. package/src/themes/sap_horizon_dark/Breadcrumbs-parameters.css +1 -1
  1151. package/src/themes/sap_horizon_dark/BusyIndicator-parameters.css +1 -1
  1152. package/src/themes/sap_horizon_dark/Button-parameters.css +1 -1
  1153. package/src/themes/sap_horizon_dark/CalendarHeader-parameters.css +1 -1
  1154. package/src/themes/sap_horizon_dark/CalendarLegendItem-parameters.css +1 -1
  1155. package/src/themes/sap_horizon_dark/Card-parameters.css +1 -1
  1156. package/src/themes/sap_horizon_dark/Carousel-parameters.css +1 -1
  1157. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +1 -1
  1158. package/src/themes/sap_horizon_dark/ColorPalette-parameters.css +1 -1
  1159. package/src/themes/sap_horizon_dark/ColorPicker-parameters.css +1 -1
  1160. package/src/themes/sap_horizon_dark/DatePicker-parameters.css +1 -1
  1161. package/src/themes/sap_horizon_dark/DayPicker-parameters.css +1 -1
  1162. package/src/themes/sap_horizon_dark/Dialog-parameters.css +1 -1
  1163. package/src/themes/sap_horizon_dark/GrowingButton-parameters.css +1 -1
  1164. package/src/themes/sap_horizon_dark/Icon-parameters.css +1 -1
  1165. package/src/themes/sap_horizon_dark/Input-parameters.css +13 -13
  1166. package/src/themes/sap_horizon_dark/InputIcon-parameters.css +5 -5
  1167. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -1
  1168. package/src/themes/sap_horizon_dark/List-parameters.css +1 -1
  1169. package/src/themes/sap_horizon_dark/Menu-parameters.css +1 -1
  1170. package/src/themes/sap_horizon_dark/MessageStrip-parameters.css +1 -1
  1171. package/src/themes/sap_horizon_dark/MonthPicker-parameters.css +1 -1
  1172. package/src/themes/sap_horizon_dark/Panel-parameters.css +1 -1
  1173. package/src/themes/sap_horizon_dark/PopupsCommon-parameters.css +1 -1
  1174. package/src/themes/sap_horizon_dark/RadioButton-parameters.css +7 -7
  1175. package/src/themes/sap_horizon_dark/RatingIndicator-parameters.css +9 -9
  1176. package/src/themes/sap_horizon_dark/SegmentedButtton-parameters.css +1 -1
  1177. package/src/themes/sap_horizon_dark/Select-parameters.css +1 -1
  1178. package/src/themes/sap_horizon_dark/SliderBase-parameters.css +10 -31
  1179. package/src/themes/sap_horizon_dark/SplitButton-parameters.css +1 -1
  1180. package/src/themes/sap_horizon_dark/StepInput-parameters.css +1 -1
  1181. package/src/themes/sap_horizon_dark/Switch-parameters.css +27 -26
  1182. package/src/themes/sap_horizon_dark/TabContainer-parameters.css +1 -1
  1183. package/src/themes/sap_horizon_dark/Tag-parameters.css +1 -1
  1184. package/src/themes/sap_horizon_dark/TextArea-parameters.css +15 -15
  1185. package/src/themes/sap_horizon_dark/TimePicker-parameters.css +1 -1
  1186. package/src/themes/sap_horizon_dark/Token-parameters.css +5 -5
  1187. package/src/themes/sap_horizon_dark/Tokenizer-parameters.css +1 -1
  1188. package/src/themes/sap_horizon_dark/ValueStateMessage-parameters.css +1 -1
  1189. package/src/themes/sap_horizon_dark/YearPicker-parameters.css +1 -1
  1190. package/src/themes/sap_horizon_dark/sizes-parameters.css +37 -37
  1191. package/src/themes/sap_horizon_hcb/Avatar-parameters.css +1 -1
  1192. package/src/themes/sap_horizon_hcb/Bar-parameters.css +1 -1
  1193. package/src/themes/sap_horizon_hcb/BusyIndicator-parameters.css +1 -1
  1194. package/src/themes/sap_horizon_hcb/Button-parameters.css +1 -1
  1195. package/src/themes/sap_horizon_hcb/CalendarHeader-parameters.css +1 -1
  1196. package/src/themes/sap_horizon_hcb/Card-parameters.css +1 -1
  1197. package/src/themes/sap_horizon_hcb/Carousel-parameters.css +1 -1
  1198. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +1 -1
  1199. package/src/themes/sap_horizon_hcb/ColorPalette-parameters.css +1 -1
  1200. package/src/themes/sap_horizon_hcb/ColorPicker-parameters.css +2 -2
  1201. package/src/themes/sap_horizon_hcb/DayPicker-parameters.css +1 -1
  1202. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +1 -1
  1203. package/src/themes/sap_horizon_hcb/GrowingButton-parameters.css +1 -1
  1204. package/src/themes/sap_horizon_hcb/Input-parameters.css +5 -5
  1205. package/src/themes/sap_horizon_hcb/InputIcon-parameters.css +5 -5
  1206. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -1
  1207. package/src/themes/sap_horizon_hcb/ListItem-parameters.css +2 -2
  1208. package/src/themes/sap_horizon_hcb/Menu-parameters.css +1 -1
  1209. package/src/themes/sap_horizon_hcb/MessageStrip-parameters.css +1 -1
  1210. package/src/themes/sap_horizon_hcb/MonthPicker-parameters.css +1 -1
  1211. package/src/themes/sap_horizon_hcb/Panel-parameters.css +1 -1
  1212. package/src/themes/sap_horizon_hcb/PopupBlockLayer-parameters.css +1 -1
  1213. package/src/themes/sap_horizon_hcb/PopupsCommon-parameters.css +1 -1
  1214. package/src/themes/sap_horizon_hcb/ProgressIndicator-parameters.css +1 -1
  1215. package/src/themes/sap_horizon_hcb/RadioButton-parameters.css +6 -6
  1216. package/src/themes/sap_horizon_hcb/RatingIndicator-parameters.css +9 -9
  1217. package/src/themes/sap_horizon_hcb/Select-parameters.css +1 -1
  1218. package/src/themes/sap_horizon_hcb/SliderBase-parameters.css +25 -31
  1219. package/src/themes/sap_horizon_hcb/SplitButton-parameters.css +1 -1
  1220. package/src/themes/sap_horizon_hcb/Switch-parameters.css +27 -26
  1221. package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +1 -1
  1222. package/src/themes/sap_horizon_hcb/Tag-parameters.css +1 -1
  1223. package/src/themes/sap_horizon_hcb/TextArea-parameters.css +15 -15
  1224. package/src/themes/sap_horizon_hcb/Token-parameters.css +6 -6
  1225. package/src/themes/sap_horizon_hcb/ValueStateMessage-parameters.css +1 -1
  1226. package/src/themes/sap_horizon_hcb/YearPicker-parameters.css +1 -1
  1227. package/src/themes/sap_horizon_hcb/sizes-parameters.css +14 -14
  1228. package/src/themes/sap_horizon_hcw/Avatar-parameters.css +1 -1
  1229. package/src/themes/sap_horizon_hcw/Bar-parameters.css +1 -1
  1230. package/src/themes/sap_horizon_hcw/BusyIndicator-parameters.css +1 -1
  1231. package/src/themes/sap_horizon_hcw/Button-parameters.css +1 -1
  1232. package/src/themes/sap_horizon_hcw/CalendarHeader-parameters.css +1 -1
  1233. package/src/themes/sap_horizon_hcw/Card-parameters.css +1 -1
  1234. package/src/themes/sap_horizon_hcw/Carousel-parameters.css +1 -1
  1235. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +1 -1
  1236. package/src/themes/sap_horizon_hcw/ColorPalette-parameters.css +1 -1
  1237. package/src/themes/sap_horizon_hcw/ColorPicker-parameters.css +1 -1
  1238. package/src/themes/sap_horizon_hcw/DayPicker-parameters.css +1 -1
  1239. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +1 -1
  1240. package/src/themes/sap_horizon_hcw/GrowingButton-parameters.css +1 -1
  1241. package/src/themes/sap_horizon_hcw/Input-parameters.css +5 -5
  1242. package/src/themes/sap_horizon_hcw/InputIcon-parameters.css +5 -5
  1243. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -1
  1244. package/src/themes/sap_horizon_hcw/ListItem-parameters.css +2 -2
  1245. package/src/themes/sap_horizon_hcw/Menu-parameters.css +1 -1
  1246. package/src/themes/sap_horizon_hcw/MessageStrip-parameters.css +1 -1
  1247. package/src/themes/sap_horizon_hcw/MonthPicker-parameters.css +1 -1
  1248. package/src/themes/sap_horizon_hcw/Panel-parameters.css +1 -1
  1249. package/src/themes/sap_horizon_hcw/PopupBlockLayer-parameters.css +1 -1
  1250. package/src/themes/sap_horizon_hcw/PopupsCommon-parameters.css +1 -1
  1251. package/src/themes/sap_horizon_hcw/RadioButton-parameters.css +6 -6
  1252. package/src/themes/sap_horizon_hcw/RatingIndicator-parameters.css +9 -9
  1253. package/src/themes/sap_horizon_hcw/Select-parameters.css +1 -1
  1254. package/src/themes/sap_horizon_hcw/SliderBase-parameters.css +27 -32
  1255. package/src/themes/sap_horizon_hcw/SplitButton-parameters.css +1 -1
  1256. package/src/themes/sap_horizon_hcw/Switch-parameters.css +27 -26
  1257. package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +1 -1
  1258. package/src/themes/sap_horizon_hcw/Tag-parameters.css +1 -1
  1259. package/src/themes/sap_horizon_hcw/TextArea-parameters.css +15 -15
  1260. package/src/themes/sap_horizon_hcw/Token-parameters.css +5 -5
  1261. package/src/themes/sap_horizon_hcw/ValueStateMessage-parameters.css +1 -1
  1262. package/src/themes/sap_horizon_hcw/YearPicker-parameters.css +1 -1
  1263. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -0
  1264. package/src/themes/sap_horizon_hcw/sizes-parameters.css +14 -14
package/dist/Popup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","sourceRoot":"","sources":["../src/Popup.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tisChrome,\n\tisDesktop,\n\tisPhone,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport {\n\tregisterUI5Element,\n\tgetEffectiveAriaLabelText,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupBlockLayerStyles from \"./generated/themes/PopupBlockLayer.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set<Popup>();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n * ### Overview\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"openPopup\" and \"closePopup\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: jsxRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is opened.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is closed.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\", {\n\tbubbles: true,\n})\nabstract class Popup extends UI5Element {\n\teventDetails!: {\n\t\t\"before-open\": void\n\t\t\"open\": void\n\t\t\"before-close\": PopupBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"scroll\": PopupScrollEventDetail\n\t}\n\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * **Note:** If an element with `autofocus` attribute is added inside the component,\n\t * `initialFocus` won't take effect.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tinitialFocus?: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore = false;\n\n\t/**\n\t * Defines the accessible 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 * Defines the 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 * Allows setting a custom role.\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property()\n\taccessibleRole: `${PopupAccessibleRole}` = \"Dialog\";\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange?: string;\n\n\t/**\n\t * Indicates whether initial focus should be prevented.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup = false;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_opened = false;\n\t_open = false;\n\t_resizeHandlerRegistered = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\n\t\tthis._getRealDomRef = () => {\n\t\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\"[root-element]\")!;\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\trenderFinished().then(() => {\n\t\t\tthis._updateMediaRange();\n\t\t});\n\n\t\tif (this.open) {\n\t\t\tthis._registerResizeHandler();\n\t\t} else {\n\t\t\tthis._deregisterResizeHandler();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tthis.handleOpenOnEnterDOM();\n\n\t\tthis.setAttribute(\"data-sap-ui-fastnavgroup-container\", \"true\");\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\thandleOpenOnEnterDOM() {\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tif (this._opened) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\tderegisterUI5Element(this);\n\t}\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tset open(value: boolean) {\n\t\tif (this._open === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._open = value;\n\n\t\tif (value) {\n\t\t\tthis.openPopup();\n\t\t} else {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\tget open() : boolean {\n\t\treturn this._open;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\");\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal) {\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\t\tthis._opened = true;\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.open = true;\n\n\t\t// initial focus, if focused element is statically created\n\t\tawait this.applyInitialFocus();\n\n\t\tawait renderFinished();\n\n\t\tif (this.isConnected) {\n\t\t\tthis.fireDecoratorEvent(\"open\");\n\t\t}\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireDecoratorEvent(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.open;\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided,\n\t * or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tif (!this.preventInitialFocus) {\n\t\t\tawait this.applyFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the element denoted by `initialFocus`, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise<void> {\n\t\t// do nothing if the standard HTML autofocus is used\n\t\tif (this.querySelector(\"[autofocus]\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t_updateAssociatedLabelsTexts() {\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t */\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed });\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = false;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.open = false;\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tthis._focusedElementBeforeOpen?.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tif (this.isConnected) {\n\t\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\t_registerResizeHandler() {\n\t\tif (!this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.register(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = true;\n\t\t}\n\t}\n\n\t_deregisterResizeHandler() {\n\t\tif (this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = false;\n\t\t}\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.isConnected && this.hidePopover();\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _accInfoAriaDescription() {\n\t\treturn this.ariaDescriptionText || \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role() {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget _ariaModal(): \"true\" | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\nexport type { PopupScrollEventDetail, PopupBeforeCloseEventDetail };\n"]}
1
+ {"version":3,"file":"Popup.js","sourceRoot":"","sources":["../src/Popup.ts"],"names":[],"mappings":"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","sourcesContent":["import customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport type { ClassMap } from \"@ui5/webcomponents-base/dist/types.js\";\nimport jsxRender from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport {\n\tisChrome,\n\tisDesktop,\n\tisPhone,\n} from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport {\n\tregisterUI5Element,\n\tgetEffectiveAriaLabelText,\n\tgetEffectiveAriaDescriptionText,\n\tgetAllAccessibleDescriptionRefTexts,\n\tderegisterUI5Element,\n} from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getFocusedElement, isFocusedElementWithinNode } from \"@ui5/webcomponents-base/dist/util/PopupUtils.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport MediaRange from \"@ui5/webcomponents-base/dist/MediaRange.js\";\nimport toLowercaseEnumValue from \"@ui5/webcomponents-base/dist/util/toLowercaseEnumValue.js\";\nimport PopupTemplate from \"./PopupTemplate.js\";\nimport PopupAccessibleRole from \"./types/PopupAccessibleRole.js\";\nimport { addOpenedPopup, removeOpenedPopup } from \"./popup-utils/OpenedPopupsRegistry.js\";\n\n// Styles\nimport popupStlyes from \"./generated/themes/Popup.css.js\";\nimport popupBlockLayerStyles from \"./generated/themes/PopupBlockLayer.css.js\";\nimport globalStyles from \"./generated/themes/PopupGlobal.css.js\";\n\nconst createBlockingStyle = (): void => {\n\tif (!hasStyle(\"data-ui5-popup-scroll-blocker\")) {\n\t\tcreateStyle(globalStyles, \"data-ui5-popup-scroll-blocker\");\n\t}\n};\n\ncreateBlockingStyle();\n\nconst pageScrollingBlockers = new Set<Popup>();\n\ntype PopupScrollEventDetail = {\n\tscrollTop: number;\n\ttargetRef: HTMLElement;\n}\n\ntype PopupBeforeCloseEventDetail = {\n\tescPressed: boolean;\n}\n\n/**\n * @class\n * ### Overview\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components.\n *\n * 1. The Popup class handles modality:\n * - The \"isModal\" getter can be overridden by derivatives to provide their own conditions when they are modal or not\n * - Derivatives may call the \"blockPageScrolling\" and \"unblockPageScrolling\" static methods to temporarily remove scrollbars on the html element\n * - Derivatives may call the \"openPopup\" and \"closePopup\" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer\n *\n * 2. Provides blocking layer (relevant for modal popups only):\n * - Controlled by the \"open\" and \"close\" methods\n *\n * 3. The Popup class \"traps\" focus:\n * - Derivatives may call the \"applyInitialFocus\" method (usually when opening, to transfer focus inside the popup)\n *\n * 4. The template of this component exposes two inline partials you can override in derivatives:\n * - beforeContent (upper part of the box, useful for header/title/close button)\n * - afterContent (lower part, useful for footer/action buttons)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\trenderer: jsxRender,\n\tstyles: [popupStlyes, popupBlockLayerStyles],\n\ttemplate: PopupTemplate,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is opened.\n * @public\n */\n@event(\"open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing.\n * @public\n * @param {boolean} escPressed Indicates that `ESC` key has triggered the event.\n */\n@event(\"before-close\", {\n\tcancelable: true,\n})\n\n/**\n * Fired after the component is closed.\n * @public\n */\n@event(\"close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n * @private\n */\n@event(\"scroll\", {\n\tbubbles: true,\n})\nabstract class Popup extends UI5Element {\n\teventDetails!: {\n\t\t\"before-open\": void\n\t\t\"open\": void\n\t\t\"before-close\": PopupBeforeCloseEventDetail\n\t\t\"close\": void\n\t\t\"scroll\": PopupScrollEventDetail\n\t}\n\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * **Note:** If an element with `autofocus` attribute is added inside the component,\n\t * `initialFocus` won't take effect.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tinitialFocus?: string;\n\n\t/**\n\t * Defines if the focus should be returned to the previously focused element,\n\t * when the popup closes.\n\t * @default false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore = false;\n\n\t/**\n\t * Defines the accessible 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 * Defines the 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 * Allows setting a custom role.\n\t * @default \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property()\n\taccessibleRole: `${PopupAccessibleRole}` = \"Dialog\";\n\n\t/**\n\t * Defines the accessible description of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescription?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that describe the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.11.0\n\t */\n\t@property()\n\taccessibleDescriptionRef?: string;\n\n\t/**\n\t * Constantly updated value of texts collected from the associated labels.\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_associatedDescriptionRefTexts?: string;\n\n\t/**\n\t * Defines the current media query size.\n\t * @private\n\t */\n\t@property()\n\tmediaRange?: string;\n\n\t/**\n\t * Indicates whether initial focus should be prevented.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\tpreventInitialFocus = false;\n\n\t/**\n\t * Indicates if the element is the top modal popup\n\t *\n\t * This property is calculated automatically\n\t * @private\n\t * @default false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup = false;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: DefaultSlot<HTMLElement>;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonPhone = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tonDesktop = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\t_opened = false;\n\t_open = false;\n\t_resizeHandlerRegistered = false;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\n\t\tthis._getRealDomRef = () => {\n\t\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\"[root-element]\")!;\n\t\t};\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.onPhone = isPhone();\n\t\tthis.onDesktop = isDesktop();\n\t}\n\n\tonAfterRendering() {\n\t\trenderFinished().then(() => {\n\t\t\tthis._updateMediaRange();\n\t\t});\n\n\t\tif (this.open) {\n\t\t\tthis._registerResizeHandler();\n\t\t} else {\n\t\t\tthis._deregisterResizeHandler();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.setAttribute(\"popover\", \"manual\");\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\n\t\tthis.tabIndex = -1;\n\n\t\tthis.handleOpenOnEnterDOM();\n\n\t\tthis.setAttribute(\"data-sap-ui-fastnavgroup-container\", \"true\");\n\t\tregisterUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));\n\t}\n\n\thandleOpenOnEnterDOM() {\n\t\tif (this.open) {\n\t\t\tthis.showPopover();\n\t\t\tthis.openPopup();\n\t\t}\n\t}\n\n\tonExitDOM() {\n\t\tif (this._opened) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tthis._deregisterResizeHandler();\n\t\tthis._detachBrowserEvents();\n\t\tderegisterUI5Element(this);\n\t}\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @default false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\tset open(value: boolean) {\n\t\tif (this._open === value) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._open = value;\n\n\t\tif (value) {\n\t\t\tthis.openPopup();\n\t\t} else {\n\t\t\tthis.closePopup();\n\t\t}\n\t}\n\n\tget open() : boolean {\n\t\treturn this._open;\n\t}\n\n\tasync openPopup() {\n\t\tif (this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-open\");\n\n\t\tif (prevented) {\n\t\t\tthis.open = false;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._attachBrowserEvents();\n\n\t\tif (this.isModal) {\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\t\tthis._opened = true;\n\n\t\tif (this.getDomRef()) {\n\t\t\tthis._updateMediaRange();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.open = true;\n\n\t\t// initial focus, if focused element is statically created\n\t\tawait this.applyInitialFocus();\n\n\t\tawait renderFinished();\n\n\t\tif (this.isConnected) {\n\t\t\tthis.fireDecoratorEvent(\"open\");\n\t\t}\n\t}\n\n\t_resize() {\n\t\tthis._updateMediaRange();\n\t}\n\n\t/**\n\t * Prevents the user from interacting with the content under the block layer\n\t */\n\t_preventBlockLayerFocus(e: KeyboardEvent | MouseEvent) {\n\t\te.preventDefault();\n\t}\n\n\t_attachBrowserEvents() {\n\n\t}\n\n\t_detachBrowserEvents() {\n\n\t}\n\n\t/**\n\t * Temporarily removes scrollbars from the html element\n\t * @protected\n\t */\n\tstatic blockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.add(popup);\n\n\t\tif (pageScrollingBlockers.size !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.add(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t/**\n\t * Restores scrollbars on the html element, if needed\n\t * @protected\n\t */\n\tstatic unblockPageScrolling(popup: Popup) {\n\t\tpageScrollingBlockers.delete(popup);\n\n\t\tif (pageScrollingBlockers.size !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.documentElement.classList.remove(\"ui5-popup-scroll-blocker\");\n\t}\n\n\t_scroll(e: Event) {\n\t\tthis.fireDecoratorEvent(\"scroll\", {\n\t\t\tscrollTop: (e.target as HTMLElement).scrollTop,\n\t\t\ttargetRef: e.target as HTMLElement,\n\t\t});\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tconst isTabOutAttempt = e.target === this._root && isTabPrevious(e);\n\t\t// if the popup is closed, focus is already moved, so Enter keydown may result in click on the newly focused element\n\t\tconst isEnterOnClosedPopupChild = isEnter(e) && !this.open;\n\n\t\tif (isTabOutAttempt || isEnterOnClosedPopupChild) {\n\t\t\te.preventDefault();\n\t\t}\n\t}\n\n\t_onfocusout(e: FocusEvent) {\n\t\t// relatedTarget is the element, which will get focus. If no such element exists, focus the root.\n\t\t// This happens after the mouse is released in order to not interrupt text selection.\n\t\tif (!e.relatedTarget) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t}\n\t}\n\n\t_onmousedown(e: MouseEvent) {\n\t\tif (this.shadowRoot!.contains(e.target as HTMLElement)) {\n\t\t\tthis._shouldFocusRoot = true;\n\t\t} else {\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t_onmouseup() {\n\t\tif (this._shouldFocusRoot) {\n\t\t\tif (isChrome()) {\n\t\t\t\tthis._root.focus();\n\t\t\t}\n\t\t\tthis._shouldFocusRoot = false;\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToFirst() {\n\t\tconst firstFocusable = await getFirstFocusableElement(this);\n\n\t\tif (firstFocusable) {\n\t\t\tfirstFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Focus trapping\n\t * @private\n\t */\n\tasync forwardToLast() {\n\t\tconst lastFocusable = await getLastFocusableElement(this);\n\n\t\tif (lastFocusable) {\n\t\t\tlastFocusable.focus();\n\t\t} else {\n\t\t\tthis._root.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to focus the element denoted by \"initialFocus\", if provided,\n\t * or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tif (!this.preventInitialFocus) {\n\t\t\tawait this.applyFocus();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the element denoted by `initialFocus`, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @returns Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus(): Promise<void> {\n\t\t// do nothing if the standard HTML autofocus is used\n\t\tif (this.querySelector(\"[autofocus]\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._waitForDomRef();\n\n\t\tif (this.getRootNode() === this) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet element;\n\n\t\tif (this.initialFocus) {\n\t\t\telement = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus);\n\t\t}\n\n\t\telement = element || await getFirstFocusableElement(this) || this._root; // in case of no focusable content focus the root\n\n\t\tif (element) {\n\t\t\tif (element === this._root) {\n\t\t\t\telement.tabIndex = -1;\n\t\t\t}\n\t\t\telement.focus();\n\t\t}\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t_updateMediaRange() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\n\t}\n\n\t_updateAssociatedLabelsTexts() {\n\t\tthis._associatedDescriptionRefTexts = getAllAccessibleDescriptionRefTexts(this);\n\t}\n\n\t/**\n\t * Adds the popup to the \"opened popups registry\"\n\t * @protected\n\t */\n\t_addOpenedPopup() {\n\t\taddOpenedPopup(this);\n\t}\n\n\t/**\n\t * Closes the popup.\n\t */\n\tclosePopup(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false): void {\n\t\tif (!this._opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireDecoratorEvent(\"before-close\", { escPressed });\n\t\tif (prevented) {\n\t\t\tthis.open = true;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._opened = false;\n\n\t\tif (this.isModal) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.open = false;\n\n\t\tthis._detachBrowserEvents();\n\n\t\tif (!preventRegistryUpdate) {\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tif (!this.preventFocusRestore && !preventFocusRestore) {\n\t\t\tthis.resetFocus();\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t/**\n\t * Removes the popup from the \"opened popups registry\"\n\t * @protected\n\t */\n\t_removeOpenedPopup() {\n\t\tremoveOpenedPopup(this);\n\t}\n\n\t/**\n\t * Returns the focus to the previously focused element\n\t * @protected\n\t */\n\tresetFocus() {\n\t\tthis._focusedElementBeforeOpen?.focus();\n\t\tthis._focusedElementBeforeOpen = null;\n\t}\n\n\t/**\n\t * Sets \"block\" display to the popup. The property can be overriden by derivatives of Popup.\n\t * @protected\n\t */\n\t_show() {\n\t\tif (this.isConnected) {\n\t\t\tthis.setAttribute(\"popover\", \"manual\");\n\t\t\tthis.showPopover();\n\t\t}\n\t}\n\n\t_registerResizeHandler() {\n\t\tif (!this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.register(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = true;\n\t\t}\n\t}\n\n\t_deregisterResizeHandler() {\n\t\tif (this._resizeHandlerRegistered) {\n\t\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t\t\tthis._resizeHandlerRegistered = false;\n\t\t}\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.isConnected && this.hidePopover();\n\t}\n\n\t/**\n\t * Implement this getter with relevant logic regarding the modality of the popup (e.g. based on a public property)\n\t * @protected\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Return the ID of an element in the shadow DOM that is going to label this popup\n\t * @protected\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _accInfoAriaDescription() {\n\t\treturn this.ariaDescriptionText || \"\";\n\t}\n\n\tget ariaDescriptionText() {\n\t\treturn this._associatedDescriptionRefTexts || getEffectiveAriaDescriptionText(this);\n\t}\n\n\tget ariaDescriptionTextId() {\n\t\treturn this.ariaDescriptionText ? \"accessibleDescription\" : \"\";\n\t}\n\n\tget ariaDescribedByIds() {\n\t\treturn [\n\t\t\tthis.ariaDescriptionTextId,\n\t\t].filter(Boolean).join(\" \");\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role() {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : toLowercaseEnumValue(this.accessibleRole);\n\t}\n\n\tget _ariaModal(): \"true\" | undefined {\n\t\treturn this.accessibleRole === PopupAccessibleRole.None ? undefined : \"true\";\n\t}\n\n\tget contentDOM(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-content\")!;\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\troot: {},\n\t\t\tcontent: {},\n\t\t};\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-popup-root\": true,\n\t\t\t},\n\t\t\tcontent: {\n\t\t\t\t\"ui5-popup-content\": true,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport default Popup;\nexport type { PopupScrollEventDetail, PopupBeforeCloseEventDetail };\n"]}
@@ -842,7 +842,7 @@ let RangeSlider = RangeSlider_1 = class RangeSlider extends SliderBase {
842
842
  progress: {
843
843
  "width": `${this._selectedRange * 100}%`,
844
844
  "transform-origin": `${this.directionStart} top`,
845
- [this.directionStart]: `${this._firstHandlePositionFromStart}%`,
845
+ [this.directionStart]: `calc(${this._firstHandlePositionFromStart}% + var(--_ui5_slider_active_progress_left))`,
846
846
  },
847
847
  startHandle: {
848
848
  [this.directionStart]: `${this._firstHandlePositionFromStart}%`,
@@ -1 +1 @@
1
- {"version":3,"file":"RangeSlider.js","sourceRoot":"","sources":["../src/RangeSlider.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tisEscape,\n\tisEnter,\n\tisHome,\n\tisEnd,\n\tisF2,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport SliderBase from \"./SliderBase.js\";\nimport RangeSliderTemplate from \"./RangeSliderTemplate.js\";\nimport type SliderTooltip from \"./SliderTooltip.js\";\n\n// Texts\nimport {\n\tRANGE_SLIDER_ARIA_DESCRIPTION,\n\tRANGE_SLIDER_START_HANDLE_DESCRIPTION,\n\tRANGE_SLIDER_END_HANDLE_DESCRIPTION,\n\tSLIDER_TOOLTIP_INPUT_LABEL,\n\tSLIDER_TOOLTIP_INPUT_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport rangeSliderStyles from \"./generated/themes/RangeSlider.css.js\";\n\ntype AriaHandlesText = {\n\tstartHandleText?: string,\n\tendHandleText?: string,\n}\n\ntype AffectedValue = \"startValue\" | \"endValue\";\n\n/**\n * @class\n *\n * ### Overview\n * Represents a numerical interval and two handles (grips) to select a sub-range within it.\n * The purpose of the component to enable visual selection of sub-ranges within a given interval.\n *\n * ### Structure\n * The most important properties of the Range Slider are:\n *\n * - min - The minimum value of the slider range.\n * - max - The maximum value of the slider range.\n * - value - The current value of the slider.\n * - step - Determines the increments in which the slider will move.\n * - showTooltip - Determines if a tooltip should be displayed above the handle.\n * - showTickmarks - Displays a visual divider between the step values.\n * - labelInterval - Labels some or all of the tickmarks with their values.\n *\n * #### Notes:\n *\n * - The right and left handle can be moved individually and their positions could therefore switch.\n * - The entire range can be moved along the interval.\n *\n * ### Usage\n * The most common use case is to select and move sub-ranges on a continuous numerical scale.\n *\n * ### Responsive Behavior\n * You can move the currently selected range by clicking on it and dragging it along the interval.\n *\n * ### Keyboard Handling\n *\n * - `Left or Down Arrow` - Moves a component's handle or the entire selection one step to the left;\n * - `Right or Up Arrow` - Moves a component's handle or the entire selection one step to the right;\n * - `Left or Down Arrow + Ctrl/Cmd` - Moves a component's handle to the left or the entire range with step equal to 1/10th of the entire range;\n * - `Right or Up Arrow + Ctrl/Cmd` - Moves a component's handle to the right or the entire range with step equal to 1/10th of the entire range;\n * - `Plus` - Same as `Right or Up Arrow`;\n * - `Minus` - Same as `Left or Down Arrow`;\n * - `Home` - Moves the entire selection or the selected handle to the beginning of the component's range;\n * - `End` - Moves the entire selection or the selected handle to the end of the component's range;\n * - `Page Up` - Same as `Right or Up Arrow + Ctrl/Cmd`;\n * - `Page Down` - Same as `Left or Down Arrow + Ctrl/Cmd`;\n * - `Escape` - Resets the `startValue` and `endValue` properties to the values prior the component focusing;\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/RangeSlider.js\";`\n * @constructor\n * @extends SliderBase\n * @since 1.0.0-rc.11\n * @public\n * @csspart progress-container - Used to style the progress container, the horizontal bar that visually represents the range between the minimum and maximum values, of the `ui5-range-slider`.\n * @csspart progress-bar - Used to style the progress bar, which shows the progress of the `ui5-range-slider`.\n * @csspart handle - Used to style the handles of the `ui5-range-slider`.\n */\n@customElement({\n\ttag: \"ui5-range-slider\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\ttemplate: RangeSliderTemplate,\n\tstyles: [SliderBase.styles, rangeSliderStyles],\n})\nclass RangeSlider extends SliderBase implements IFormInputElement {\n\t/**\n\t * Defines start point of a selection - position of a first handle on the slider.\n\t * @default 0\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Number })\n\tset startValue(value: number) {\n\t\tthis._startValue = value;\n\t\tthis.tooltipStartValue = value.toString();\n\t}\n\n\tget startValue(): number {\n\t\treturn this._startValue;\n\t}\n\n\t/**\n\t * Defines end point of a selection - position of a second handle on the slider.\n\t * @default 100\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Number })\n\tset endValue(value: number) {\n\t\tthis._endValue = value;\n\t\tthis.tooltipEndValue = value.toString();\n\t}\n\n\tget endValue(): number {\n\t\treturn this._endValue;\n\t}\n\n\t@property()\n\ttooltipStartValue = \"\";\n\n\t@property()\n\ttooltipEndValue = \"\";\n\n\t@property()\n\ttooltipStartValueState: `${ValueState}` = \"None\";\n\n\t@property()\n\ttooltipEndValueState: `${ValueState}` = \"None\";\n\n\t@property({ type: Boolean })\n\trangePressed = false;\n\n\t@property({ type: Boolean })\n\t_isStartValueValid = false;\n\n\t@property({ type: Boolean })\n\t_isEndValueValid = false;\n\n\t_startValue: number = 0;\n\t_endValue: number = 100;\n\t_startValueInitial?: number;\n\t_endValueInitial?: number;\n\t_valueAffected?: AffectedValue;\n\t_isPressInCurrentRange = false;\n\t_handeIsPressed = false;\n\t_initialPageXPosition?: number;\n\t_startValueAtBeginningOfAction?: number;\n\t_endValueAtBeginningOfAction?: number;\n\t_initialStartHandlePageX?: number;\n\t_firstHandlePositionFromStart?: number;\n\t_secondHandlePositionFromStart?: number;\n\t_selectedRange?: number;\n\t_reversedValues = false;\n\t_lastValidStartValue: string;\n\t_lastValidEndValue: string;\n\t_areInputValuesSwapped = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget formFormattedValue() {\n\t\tconst formData = new FormData();\n\n\t\tif (!this.name) {\n\t\t\treturn formData;\n\t\t}\n\n\t\tformData.append(this.name, this.startValue.toString());\n\t\tformData.append(this.name, this.endValue.toString());\n\n\t\treturn formData;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._stateStorage.startValue = undefined;\n\t\tthis._stateStorage.endValue = undefined;\n\t\tthis._lastValidStartValue = this.min.toString();\n\t\tthis._lastValidEndValue = this.max.toString();\n\t}\n\n\tget _ariaDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _ariaLabelledByText() {\n\t\treturn RangeSlider.i18nBundle.getText(RANGE_SLIDER_ARIA_DESCRIPTION);\n\t}\n\n\tget _ariaHandlesText() {\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\t\tconst isReversed = this._areValuesReversed();\n\t\tconst ariaHandlesText: AriaHandlesText = {};\n\n\t\tif ((isRTL && !isReversed) || (!isRTL && isReversed)) {\n\t\t\tariaHandlesText.startHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_END_HANDLE_DESCRIPTION);\n\t\t\tariaHandlesText.endHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_START_HANDLE_DESCRIPTION);\n\t\t} else {\n\t\t\tariaHandlesText.startHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_START_HANDLE_DESCRIPTION);\n\t\t\tariaHandlesText.endHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_END_HANDLE_DESCRIPTION);\n\t\t}\n\n\t\treturn ariaHandlesText;\n\t}\n\n\tget _ariaValueNow() {\n\t\treturn Math.abs(this.endValue - this.startValue);\n\t}\n\n\t/**\n\t * Check if the previously saved state is outdated. That would mean\n\t * either it is the initial rendering or that a property has been changed\n\t * programmatically - because the previous state is always updated in\n\t * the interaction handlers.\n\t *\n\t * Normalize current properties, update the previously stored state.\n\t * Update the visual UI representation of the Slider.\n\t *\n\t */\n\tonBeforeRendering() {\n\t\tif (this.startValue > this.endValue) {\n\t\t\tconst affectedValue = this._valueAffected === \"startValue\" ? \"endValue\" : \"startValue\";\n\n\t\t\tthis._swapValues();\n\t\t\tthis._setAffectedValue(affectedValue);\n\t\t\tthis.update(affectedValue, this.startValue, this.endValue);\n\t\t}\n\n\t\tif (!this.isCurrentStateOutdated()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.notResized = true;\n\t\tthis.syncUIAndState();\n\t\tthis._updateHandlesAndRange(0);\n\t\tthis.update(this._valueAffected, this.startValue, this.endValue);\n\t}\n\n\tonAfterRendering(): void {\n\t\tsuper.onAfterRendering();\n\n\t\t[...this.getDomRef()!.querySelectorAll(\"[ui5-slider-tooltip]\")].forEach(tooltip => {\n\t\t\t(tooltip as SliderTooltip).repositionTooltip();\n\t\t});\n\t}\n\n\tsyncUIAndState() {\n\t\t// Validate step and update the stored state for the step property.\n\t\tif (this.isPropertyUpdated(\"step\")) {\n\t\t\tthis._validateStep(this.step);\n\t\t\tthis.storePropertyState(\"step\");\n\t\t}\n\n\t\t// Recalculate the tickmarks and labels and update the stored state.\n\t\tif (this.isPropertyUpdated(\"min\", \"max\", \"startValue\", \"endValue\")) {\n\t\t\tthis.storePropertyState(\"min\", \"max\");\n\n\t\t\t// Here the value props are changed programmatically (not by user interaction)\n\t\t\t// and it won't be \"stepified\" (rounded to the nearest step). 'Clip' them within\n\t\t\t// min and max bounderies and update the previous state reference.\n\t\t\tconst normalizedStartValue = SliderBase.clipValue(this.startValue, this._effectiveMin, this._effectiveMax);\n\t\t\tthis.startValue = normalizedStartValue;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"startValue\");\n\t\t\tthis.storePropertyState(\"startValue\");\n\n\t\t\tconst normalizedEndValue = SliderBase.clipValue(this.endValue, this._effectiveMin, this._effectiveMax);\n\t\t\tthis.endValue = normalizedEndValue;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"endValue\");\n\t\t\tthis.storePropertyState(\"endValue\");\n\t\t}\n\n\t\t// Labels must be updated if any of the min/max/step/labelInterval props are changed\n\t\tif (this.labelInterval && this.showTickmarks) {\n\t\t\tthis._createLabels();\n\t\t}\n\n\t\t// Update the stored state for the labelInterval, if changed\n\t\tif (this.isPropertyUpdated(\"labelInterval\")) {\n\t\t\tthis.storePropertyState(\"labelInterval\");\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\t// If this is the initial focusin of the component save its initial\n\t\t// value properties so they could be restored on ESC key press\n\t\tif (!this._endValueInitial) {\n\t\t\tthis._startValueInitial = this.startValue;\n\t\t\tthis._endValueInitial = this.endValue;\n\t\t}\n\n\t\tthis._tooltipsOpen = this.showTooltip;\n\t}\n\n\t/**\n\t * Handles focus out event of the focusable components inner elements.\n\t * Prevent focusout when the focus is getting initially set within the slider before the\n\t * slider customElement itself is finished focusing.\n\t *\n\t * Prevents the focus from leaving the Range Slider when the focus is managed between\n\t * its inner elements in result of user interactions.\n\t *\n\t * Resets the stored Range Slider's initial values saved when it was first focused\n\t * @private\n\t */\n\t_onfocusout(e: FocusEvent) {\n\t\tif (this._isFocusing()) {\n\t\t\tthis._preventFocusOut();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setAffectedValue(undefined);\n\t\tthis._startValueInitial = undefined;\n\t\tthis._endValueInitial = undefined;\n\n\t\tif (this.showTooltip && !(e.relatedTarget as HTMLInputElement)?.hasAttribute(\"ui5-slider-tooltip\")) {\n\t\t\tthis._tooltipsOpen = false;\n\t\t}\n\t}\n\n\t/**\n\t* Handles keyup logic. If one of the handles came across the other\n\t* swap the start and end values. Reset the affected value by the finished\n\t* user interaction.\n\t* @private\n\t*/\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onKeyupBase();\n\n\t\tif (!isEnter(e)) {\n\t\t\tthis._setAffectedValue(undefined);\n\t\t}\n\n\t\tif (this.startValue !== this._startValueAtBeginningOfAction || this.endValue !== this._endValueAtBeginningOfAction) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\n\t\tthis._startValueAtBeginningOfAction = undefined;\n\t\tthis._endValueAtBeginningOfAction = undefined;\n\t}\n\n\t_handleActionKeyPress(e: KeyboardEvent) {\n\t\tthis._startValueAtBeginningOfAction = this.startValue;\n\t\tthis._endValueAtBeginningOfAction = this.endValue;\n\n\t\tif (isEscape(e)) {\n\t\t\tthis.update(undefined, this._startValueInitial, this._endValueInitial);\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the target of the interaction based on the focused inner element\n\t\tthis._setAffectedValueByFocusedElement();\n\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst affectedValue = this._valueAffected!;\n\n\t\t// If home/end key is pressed and no single handle is focused the active element\n\t\t// is the range selection - update both start and end values. Otherwise, if 'home'\n\t\t// is pressed the 'startValue'will be used for the start-handle offset calculation,\n\t\t// if 'End' is pressed - the 'endValue' will be used for the end-handle update.\n\t\tif ((isEnd(e) || isHome(e)) && !affectedValue) {\n\t\t\tthis._homeEndForSelectedRange(e, isHome(e) ? \"startValue\" : \"endValue\", min, max);\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate how much the value should be increased/decreased based on the action key\n\t\tconst newValueOffset = this._handleActionKeyPressBase(e, affectedValue);\n\n\t\tif (!newValueOffset) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update a single value if one of the handles is focused or the range if not already at min or max\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tif (affectedValue && !this._isPressInCurrentRange) {\n\t\t\tconst propValue = this[affectedValue as keyof RangeSlider] as number;\n\t\t\tconst newValue = ctor.clipValue(newValueOffset + propValue, min, max);\n\t\t\tthis.update(affectedValue, newValue, undefined);\n\t\t} else if ((newValueOffset < 0 && this.startValue > min) || (newValueOffset > 0 && this.endValue < max)) {\n\t\t\tconst newStartValue = ctor.clipValue(newValueOffset + this.startValue, min, max);\n\t\t\tconst newEndValue = ctor.clipValue(newValueOffset + this.endValue, min, max);\n\t\t\tthis.update(affectedValue, newStartValue, newEndValue);\n\t\t}\n\n\t\tthis.tooltipStartValue = this.startValue.toString();\n\t\tthis.tooltipEndValue = this.endValue.toString();\n\t}\n\n\t/**\n\t * Determines affected value (start/end) depending on the currently\n\t * active inner element within the Range Slider - used in the keyboard handling.\n\t * @private\n\t */\n\t_setAffectedValueByFocusedElement() {\n\t\tif (this.shadowRoot!.activeElement === this._startHandle) {\n\t\t\tthis._setAffectedValue(\"startValue\");\n\t\t}\n\n\t\tif (this.shadowRoot!.activeElement === this._endHandle) {\n\t\t\tthis._setAffectedValue(\"endValue\");\n\t\t}\n\n\t\tif (this.shadowRoot!.activeElement === this._progressBar) {\n\t\t\tthis._setAffectedValue(undefined);\n\t\t}\n\n\t\tthis._setIsPressInCurrentRange(!this._valueAffected);\n\t}\n\n\t/**\n\t * Calculates the start and end values when the 'Home\" or 'End' keys\n\t * are pressed on the selected range bar.\n\t * @private\n\t */\n\t_homeEndForSelectedRange(e: KeyboardEvent, affectedValue: string, min: number, max: number) {\n\t\tconst newValueOffset = this._handleActionKeyPressBase(e, affectedValue);\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst newStartValue = ctor.clipValue(newValueOffset + this.startValue, min, max);\n\t\tconst newEndValue = ctor.clipValue(newValueOffset + this.endValue, min, max);\n\n\t\tthis.update(undefined, newStartValue, newEndValue);\n\t}\n\n\t/**\n\t * Update values, stored inner state and the visual UI representation of the component.\n\t * If no specific type of value property is passed - the range is selected - update both handles,\n\t * otherwise update the handle corresponding to the affected by the user interacton value prop.\n\t * @private\n\t */\n\tupdate(affectedValue: string | undefined, startValue: number | undefined, endValue: number | undefined) {\n\t\tif (!affectedValue) {\n\t\t\tthis.startValue = startValue!;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"startValue\");\n\n\t\t\tthis.endValue = endValue!;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"endValue\");\n\t\t\tthis._updateHandlesAndRange(0);\n\t\t} else {\n\t\t\tconst newValue = endValue && affectedValue === \"endValue\" ? endValue : startValue;\n\t\t\tthis._updateHandlesAndRange(newValue || 0);\n\n\t\t\tif (affectedValue === \"startValue\") {\n\t\t\t\tthis.startValue = newValue!;\n\t\t\t\tthis.updateStateStorageAndFireInputEvent(\"startValue\");\n\t\t\t}\n\n\t\t\tif (affectedValue === \"endValue\") {\n\t\t\t\tthis.endValue = newValue!;\n\t\t\t\tthis.updateStateStorageAndFireInputEvent(\"endValue\");\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called when the user starts interacting with the slider\n\t * @private\n\t */\n\t_onmousedown(e: TouchEvent | MouseEvent) {\n\t\tif ((e as MouseEvent)?.button && (e as MouseEvent)?.button !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If step is 0 no interaction is available because there is no constant\n\t\t// (equal for all user environments) quantitative representation of the value\n\t\tif (this.disabled || this._effectiveStep === 0 || (e.target as HTMLElement).hasAttribute(\"ui5-slider-tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate the new value from the press position of the event\n\t\tconst newValue = this.handleDownBase(e);\n\n\t\t// Determine the rest of the needed details from the start of the interaction.\n\t\tthis._saveInteractionStartData(e, newValue);\n\n\t\tthis.rangePressed = this._isPressInCurrentRange;\n\n\t\t// Do not yet update the RangeSlider if press is in range or over a handle.\n\t\tif (this._isPressInCurrentRange || this._handeIsPressed) {\n\t\t\tthis._handeIsPressed = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Update Slider UI and internal state\n\t\tthis.update(this._valueAffected, newValue, undefined);\n\t}\n\n\t/**\n\t * Determines and saves needed values from the start of the interaction:\n\t *\n\t * Is the value calculated is within the currently selected range;\n\t * Initial pageX position of the start handle affected by the interaction;\n\t * Initial pageX value of the pressed postion;\n\t * Affected value property by the action;\n\t * @private\n\t */\n\t_saveInteractionStartData(e: TouchEvent | MouseEvent, newValue: number) {\n\t\tconst progressBarDom = this.shadowRoot!.querySelector(\".ui5-slider-progress\")!.getBoundingClientRect();\n\n\t\t// Save the state of the value properties on the start of the interaction\n\t\tthis._startValueAtBeginningOfAction = this.startValue;\n\t\tthis._endValueAtBeginningOfAction = this.endValue;\n\n\t\t// Save the initial press point coordinates (position)\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tthis._initialPageXPosition = ctor.getPageXValueFromEvent(e);\n\t\t// Which element of the Range Slider is pressed and which value property to be modified on further interaction\n\t\tthis._pressTargetAndAffectedValue(this._initialPageXPosition, newValue);\n\t\t// Use the progress bar to save the initial coordinates of the start-handle when the interaction begins.\n\t\tthis._initialStartHandlePageX = this.directionStart === \"left\" ? progressBarDom.left : progressBarDom.right;\n\t}\n\n\t/**\n\t * Called when the user moves the slider\n\t * @private\n\t */\n\t_handleMove(e: TouchEvent | MouseEvent) {\n\t\te.preventDefault();\n\n\t\t// If 'step' is 0 no interaction is available as there is no constant quantitative representation of the value\n\t\tif (this.disabled || this._effectiveStep === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update UI and state when dragging a single Range Slider handle\n\t\tif (!this._isPressInCurrentRange) {\n\t\t\tthis._updateValueOnHandleDrag(e);\n\t\t\treturn;\n\t\t}\n\n\t\t// Updates UI and state when dragging of the whole selected range\n\t\tthis._updateValueOnRangeDrag(e);\n\n\t\tthis.tooltipStartValue = this.startValue.toString();\n\t\tthis.tooltipEndValue = this.endValue.toString();\n\t}\n\n\t/**\n\t * Updates UI and state when dragging a single Range Slider handle\n\t * @private\n\t */\n\t_updateValueOnHandleDrag(event: TouchEvent | MouseEvent) {\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst newValue = ctor.getValueFromInteraction(event, this._effectiveStep, this._effectiveMin, this._effectiveMax, this.getBoundingClientRect(), this.directionStart);\n\t\tthis.update(this._valueAffected, newValue, undefined);\n\t}\n\n\t/**\n\t * Updates UI and state when dragging of the whole selected range\n\t * @private\n\t */\n\t_updateValueOnRangeDrag(event: TouchEvent | MouseEvent) {\n\t\t// Calculate the new 'start' and 'end' values from the offset between the original press point and the current position of the mouse\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst currentPageXPos = ctor.getPageXValueFromEvent(event);\n\t\tconst newValues = this._calculateRangeOffset(currentPageXPos, this._initialStartHandlePageX!);\n\n\t\t// No matter the which value is set as the one to be modified (by prev. user action) we want to modify both of them\n\t\tthis._setAffectedValue(undefined);\n\n\t\t// Update the UI and the state according to the calculated new values\n\t\tthis.update(undefined, newValues[0], newValues[1]);\n\t}\n\n\t_handleUp() {\n\t\tthis._setAffectedValueByFocusedElement();\n\t\tthis._setAffectedValue(undefined);\n\n\t\tif (this.startValue !== this._startValueAtBeginningOfAction || this.endValue !== this._endValueAtBeginningOfAction) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\n\t\tthis._setIsPressInCurrentRange(false);\n\t\tthis.handleUpBase();\n\n\t\tthis.rangePressed = false;\n\t\tthis._startValueAtBeginningOfAction = undefined;\n\t\tthis._endValueAtBeginningOfAction = undefined;\n\t}\n\n\t/**\n\t * Determines where the press occured and which values of the Range Slider\n\t * handles should be updated on further interaction.\n\t *\n\t * If the press is not in the selected range or over one of the Range Slider handles\n\t * determines which one from the value/endValue properties has to be updated\n\t * after the user action (based on closest handle).\n\t *\n\t * Set flags if the press is over a handle or in the selected range,\n\t * in such cases no values are changed on interaction start, but could be\n\t * updated later when dragging.\n\t * @private\n\t */\n\t_pressTargetAndAffectedValue(clientX: number, value: number) {\n\t\tconst startHandle = this.shadowRoot!.querySelector(\".ui5-slider-handle--start\")!;\n\t\tconst endHandle = this.shadowRoot!.querySelector(\".ui5-slider-handle--end\")!;\n\n\t\t// Check if the press point is in the bounds of any of the Range Slider handles\n\t\tconst handleStartDomRect = startHandle.getBoundingClientRect();\n\t\tconst handleEndDomRect = endHandle.getBoundingClientRect();\n\t\tconst inHandleStartDom = clientX >= handleStartDomRect.left && clientX <= handleStartDomRect.right;\n\t\tconst inHandleEndDom = clientX >= handleEndDomRect.left && clientX <= handleEndDomRect.right;\n\n\t\t// Remove the flag for value in current range if the press action is over one of the handles\n\t\tif (inHandleEndDom || inHandleStartDom) {\n\t\t\tthis._handeIsPressed = true;\n\t\t}\n\n\t\t// Return that handle that is closer to the press point\n\t\tif (inHandleEndDom || value > this.endValue) {\n\t\t\tthis._setAffectedValue(\"endValue\");\n\t\t}\n\n\t\t// If one of the handle is pressed return that one\n\t\tif (inHandleStartDom || value < this.startValue) {\n\t\t\tthis._setAffectedValue(\"startValue\");\n\t\t}\n\n\t\t// Flag if press is in the current select range\n\t\tconst isNewValueInCurrentRange = this._startValueAtBeginningOfAction !== undefined && this._endValueAtBeginningOfAction !== undefined && value >= this._startValueAtBeginningOfAction && value <= this._endValueAtBeginningOfAction;\n\t\tthis._setIsPressInCurrentRange(!(this._valueAffected || this._handeIsPressed) ? isNewValueInCurrentRange : false);\n\t}\n\n\t/**\n\t * Sets the value property (start/end) that will get updated\n\t * by a user action depending on that user action's characteristics\n\t * - mouse press position - cursor coordinates relative to the start/end handles\n\t * - selected inner element via a keyboard navigation\n\t * @param affectedValue The value that will get modified by the interaction\n\t * @private\n\t */\n\t_setAffectedValue(affectedValue: AffectedValue | undefined) {\n\t\tthis._valueAffected = affectedValue;\n\n\t\t// If the values have been swapped reset the reversed flag\n\t\tif (this._areValuesReversed()) {\n\t\t\tthis._setValuesAreReversed();\n\t\t}\n\t}\n\n\t/**\n\t * Flag if press action is made on the currently selected range of values\n\t * @param isPressInCurrentRange Did the current press action occur in the current range (between the two handles)\n\t * @private\n\t */\n\t_setIsPressInCurrentRange(isPressInCurrentRange: boolean) {\n\t\tthis._isPressInCurrentRange = isPressInCurrentRange;\n\t}\n\n\t/**\n\t * Manage the focus between the focusable inner elements within the component.\n\t *\n\t * On initial focusin or if the whole range is affected by the user interaction\n\t * set the focus on the progress selection, otherwise on one of the Range Slider\n\t * handles based on the determined affected value by the user action.\n\t *\n\t * If one of the handles came across the other one in result of a user action\n\t * switch the focus between them to keep it visually consistent.\n\t *\n\t * Note:\n\t * In some cases this function is going to get called twice on one user action.\n\t *\n\t * 1. When the focus is initially set to an inner element it is done in the very beginning,\n\t * of an interaction - on 'mousedown' and 'keydown' events. The focus of the host custom element\n\t * is still not being received, causining an immediate focusout that we prevent by\n\t * calling this function once again.\n\t *\n\t * 2. When the focused is manually switched from one inner element to another.\n\t * The focusout handler is one and the same for all focusable parts within the\n\t * Range Slider and when is called it checks if it should keep the focus within\n\t * the component and which part of it should get focused if that is the case.\n\t * @protected\n\t */\n\tfocusInnerElement() {\n\t\tconst isReversed = this._areValuesReversed();\n\t\tconst affectedValue = this._valueAffected;\n\n\t\tif (this._isPressInCurrentRange || !affectedValue) {\n\t\t\tthis._progressBar.focus();\n\t\t}\n\n\t\tif ((affectedValue === \"startValue\" && !isReversed) || (affectedValue === \"endValue\" && isReversed)) {\n\t\t\tthis._startHandle.focus();\n\t\t\tthis.bringToFrontTooltip(\"start\");\n\t\t}\n\n\t\tif ((affectedValue === \"endValue\" && !isReversed) || (affectedValue === \"startValue\" && isReversed)) {\n\t\t\tthis._endHandle.focus();\n\t\t\tthis.bringToFrontTooltip(\"end\");\n\t\t}\n\t}\n\n\t/**\n\t * Calculates startValue/endValue properties when the whole range is moved.\n\t *\n\t * Uses the change of the position of the start handle and adds the initially\n\t * selected range to it, to determine the whole range offset.\n\t * @param currentPageXPos The current horizontal position of the cursor/touch\n\t * @param initialStartHandlePageXPos The initial horizontal position of the start handle\n\t * @private\n\t */\n\t_calculateRangeOffset(currentPageXPos: number, initialStartHandlePageXPos: number) {\n\t\t// Return the current values if there is no difference in the\n\t\t// positions of the initial press and the current pointer\n\t\tif (this._initialPageXPosition === currentPageXPos) {\n\t\t\treturn [this.startValue, this.endValue];\n\t\t}\n\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst selectedRange = this.endValue - this.startValue;\n\n\t\t// Computes the new value based on the difference of the current cursor location from the start of the interaction\n\t\tlet startValue = this._calculateStartValueByOffset(currentPageXPos, initialStartHandlePageXPos);\n\n\t\t// When the end handle reaches the max possible value prevent the start handle from moving\n\t\t// And the opposite - if the start handle reaches the beginning of the slider keep the initially selected range.\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tstartValue = ctor.clipValue(startValue, min, max - selectedRange);\n\n\t\treturn [startValue, startValue + selectedRange];\n\t}\n\n\t/**\n\t * Computes the new value based on the difference of the current cursor location from the\n\t * start of the interaction.\n\t * @param currentPageXPos The current horizontal position of the cursor/touch\n\t * @param initialStartHandlePageXPos The initial horizontal position of the start handle\n\t * @private\n\t */\n\t_calculateStartValueByOffset(currentPageXPos: number, initialStartHandlePageXPos: number) {\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst step = this._effectiveStep;\n\t\tconst dom = this.getBoundingClientRect();\n\n\t\tlet startValue;\n\t\tlet startValuePageX;\n\t\tlet positionOffset;\n\n\t\t/* Depending on the dragging direction:\n\t\t- calculate the new position of the start handle from its old pageX value combined with the movement offset;\n\t\t- calculate the start value based on its new pageX coordinates;\n\t\t- 'stepify' the calculated value based on the specified step property; */\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tif (currentPageXPos > this._initialPageXPosition!) {\n\t\t\t// Difference between the new position of the pointer and when the press event initial occured\n\t\t\tpositionOffset = currentPageXPos - this._initialPageXPosition!;\n\n\t\t\tstartValuePageX = initialStartHandlePageXPos + positionOffset;\n\t\t\tstartValue = ctor.computedValueFromPageX(startValuePageX, min, max, dom, this.directionStart);\n\t\t\tstartValue = ctor.getSteppedValue(startValue, step, min);\n\t\t} else {\n\t\t\tpositionOffset = this._initialPageXPosition! - currentPageXPos;\n\t\t\tstartValuePageX = initialStartHandlePageXPos - positionOffset;\n\t\t\tstartValue = ctor.computedValueFromPageX(startValuePageX, min, max, dom, this.directionStart);\n\t\t\tstartValue = ctor.getSteppedValue(startValue, step, min);\n\t\t}\n\n\t\treturn startValue;\n\t}\n\n\t/**\n\t * Updates the visual representation of the component by calculating\n\t * the styles of the handles and the range selection based on the new state.\n\t * @private\n\t */\n\t_updateHandlesAndRange(newValue: number) {\n\t\tconst max = this._effectiveMax;\n\t\tconst min = this._effectiveMin;\n\t\tconst prevStartValue = this.getStoredPropertyState(\"startValue\") || 0;\n\t\tconst prevEndValue = this.getStoredPropertyState(\"endValue\") || 0;\n\t\tconst affectedValue = this._valueAffected;\n\n\t\t// The value according to which we update the UI can be either the startValue\n\t\t// or the endValue property. It is determined in _getClosestHandle()\n\t\t// depending on to which handle is closer the user interaction.\n\t\tif (affectedValue === \"startValue\") {\n\t\t\tthis._selectedRange = (prevEndValue - newValue) / (max - min);\n\t\t\tthis._firstHandlePositionFromStart = ((newValue - min) / (max - min)) * 100;\n\t\t} else if (affectedValue === \"endValue\") {\n\t\t\tthis._selectedRange = ((newValue - prevStartValue)) / (max - min);\n\t\t\tthis._secondHandlePositionFromStart = ((newValue - min) / (max - min)) * 100;\n\t\t} else {\n\t\t\t// When both values are changed - UI sync or moving the whole selected range:\n\t\t\tthis._selectedRange = ((this.endValue - this.startValue)) / (max - min);\n\t\t\tthis._firstHandlePositionFromStart = ((this.startValue - min) / (max - min)) * 100;\n\t\t\tthis._secondHandlePositionFromStart = ((this.endValue - min) / (max - min)) * 100;\n\t\t}\n\t}\n\n\tbringToFrontTooltip(handle: \"start\" | \"end\") {\n\t\tconst tooltipSelector = handle === \"start\"\n\t\t\t? \"[data-sap-ui-start-value]\"\n\t\t\t: \"[data-sap-ui-end-value]\";\n\n\t\tconst tooltip = this.shadowRoot!.querySelector(tooltipSelector) as SliderTooltip;\n\n\t\tif (tooltip?.hidePopover && tooltip?.showPopover) {\n\t\t\tconst frame = requestAnimationFrame(() => {\n\t\t\t\tif (tooltip.getDomRef()?.offsetParent === null) {\n\t\t\t\t\tcancelAnimationFrame(frame);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttooltip.hidePopover();\n\t\t\t\ttooltip.showPopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t_onTooltopForwardFocus(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\n\t\ttooltip.followRef?.focus();\n\t}\n\n\t_onTooltipChange(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\t\tconst isStart = tooltip.hasAttribute(\"data-sap-ui-start-value\");\n\t\tconst inputValue = parseFloat(e.detail.value as string);\n\t\tconst isInvalid = inputValue > this._effectiveMax || inputValue < this._effectiveMin;\n\n\t\tif (isInvalid) {\n\t\t\tif (isStart) {\n\t\t\t\tthis.tooltipStartValueState = ValueState.Negative;\n\t\t\t\tthis.tooltipStartValue = e.detail.value;\n\t\t\t} else {\n\t\t\t\tthis.tooltipEndValueState = ValueState.Negative;\n\t\t\t\tthis.tooltipEndValue = e.detail.value;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst clampedValue = Math.min(this.max, Math.max(this.min, inputValue));\n\n\t\tif (isStart) {\n\t\t\tthis.startValue = clampedValue;\n\t\t\tthis._lastValidStartValue = clampedValue.toString();\n\t\t} else {\n\t\t\tthis.endValue = clampedValue;\n\t\t\tthis._lastValidEndValue = clampedValue.toString();\n\t\t}\n\n\t\tif (this.startValue > this.endValue) {\n\t\t\tthis._areInputValuesSwapped = true;\n\n\t\t\tconst temp = this.startValue;\n\t\t\tthis.startValue = this.endValue;\n\t\t\tthis.endValue = temp;\n\n\t\t\tconst tempValid = this._lastValidStartValue;\n\t\t\tthis._lastValidStartValue = this._lastValidEndValue;\n\t\t\tthis._lastValidEndValue = tempValid;\n\n\t\t\tconst oppositeSelector = isStart\n\t\t\t\t? \"[data-sap-ui-end-value]\"\n\t\t\t\t: \"[data-sap-ui-start-value]\";\n\n\t\t\tconst oppositeInput = this.shadowRoot!.querySelector(oppositeSelector) as SliderTooltip;\n\t\t\toppositeInput?.focus();\n\t\t}\n\n\t\tthis.bringToFrontTooltip(isStart ? \"start\" : \"end\");\n\t\tthis.update(\"value\", this.startValue, this.endValue);\n\t\tthis.fireDecoratorEvent(\"change\");\n\t}\n\n\t_onTooltipFocusChange(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\t\tconst isStart = tooltip.hasAttribute(\"data-sap-ui-start-value\");\n\t\tconst value = isStart ? this.tooltipStartValue : this.tooltipEndValue;\n\t\tconst isInvalid = parseFloat(value) > this._effectiveMax || parseFloat(value) < this._effectiveMin;\n\n\t\tif (isInvalid) {\n\t\t\tif (isStart) {\n\t\t\t\tthis.tooltipStartValueState = ValueState.None;\n\t\t\t\tthis.tooltipStartValue = this.startValue.toString();\n\t\t\t} else {\n\t\t\t\tthis.tooltipEndValueState = ValueState.None;\n\t\t\t\tthis.tooltipEndValue = this.endValue.toString();\n\t\t\t}\n\t\t}\n\t}\n\n\t_onTooltipOpen() {\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);\n\t\tthis.tooltipStartValue = this.startValue.toFixed(stepPrecision);\n\t\tthis.tooltipEndValue = this.endValue.toFixed(stepPrecision);\n\t}\n\n\t_onTooltipInput(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\t\tconst isStart = tooltip.hasAttribute(\"data-sap-ui-start-value\");\n\n\t\tif (isStart) {\n\t\t\tthis.tooltipStartValue = e.detail.value;\n\t\t} else {\n\t\t\tthis.tooltipEndValue = e.detail.value;\n\t\t}\n\t}\n\n\t_onTooltipKeydown(e: KeyboardEvent) {\n\t\tif (isF2(e)) {\n\t\t\te.preventDefault();\n\t\t\t(e.target as SliderTooltip).followRef?.focus();\n\t\t}\n\t}\n\n\t_getFormattedValue(value: string) {\n\t\tconst valueNumber = parseFloat(value);\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);\n\n\t\treturn valueNumber.toFixed(stepPrecision).toString();\n\t}\n\n\t/**\n\t * Swaps the start and end values of the handles if one came accros the other:\n\t * - If the start value is greater than the endValue swap them and their handles\n\t * - If the endValue become less than the start value swap them and their handles\n\t *\n\t * Switches the focus to the opposite of the currently focused handle.\n\t *\n\t * Note: Only the property values are reversed, the DOM elements of the handles\n\t * corresponding to them are never switched.\n\t * @private\n\t */\n\t_swapValues() {\n\t\tconst affectedValue = this._valueAffected;\n\t\tif (!affectedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (affectedValue === \"startValue\" && this.startValue > this.endValue) {\n\t\t\tconst prevEndValue = this.endValue;\n\t\t\tthis.endValue = this.startValue;\n\t\t\tthis.startValue = prevEndValue;\n\t\t}\n\n\t\tif (affectedValue === \"endValue\" && this.endValue < this.startValue) {\n\t\t\tconst prevStartValue = this.startValue;\n\t\t\tthis.startValue = this.endValue;\n\t\t\tthis.endValue = prevStartValue;\n\t\t}\n\n\t\tthis._setValuesAreReversed();\n\t\tthis._updateHandlesAndRange(this[affectedValue]);\n\n\t\tif (!this._areInputValuesSwapped) {\n\t\t\tthis.focusInnerElement();\n\t\t}\n\n\t\tthis.syncUIAndState();\n\t\tthis._areInputValuesSwapped = false;\n\t}\n\n\t/**\n\t * Flag that we have swapped the values of the 'start' and 'end' properties,\n\t * to correctly switch the focus within the component from one handle to another\n\t * when the swapping is finished. As we only swap property values and not\n\t * the handle elements themselves, we must also swap their focus.\n\t * @private\n\t */\n\t_setValuesAreReversed() {\n\t\tthis._reversedValues = !this._reversedValues;\n\t}\n\n\t_areValuesReversed() {\n\t\treturn this._reversedValues;\n\t}\n\n\tget tickmarksObject() {\n\t\tconst count = this._tickmarksCount;\n\t\tconst arr = [];\n\n\t\tif (this._hiddenTickmarks) {\n\t\t\treturn [false, false];\n\t\t}\n\n\t\tfor (let i = 0; i <= count; i++) {\n\t\t\tconst isBiggerThanStartValue = this._effectiveMin + (i * this.step) >= this.startValue;\n\t\t\tconst isBiggerThanEndValue = this._effectiveMin + (i * this.step) <= this.endValue;\n\n\t\t\tarr.push(isBiggerThanStartValue && isBiggerThanEndValue);\n\t\t}\n\n\t\treturn arr;\n\t}\n\n\tget _startHandle() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-slider-handle--start\")!;\n\t}\n\n\tget _endHandle() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-slider-handle--end\")!;\n\t}\n\n\tget _progressBar() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-slider-progress\")!;\n\t}\n\n\tget _ariaLabelledByStartHandleText() {\n\t\treturn this.accessibleName ? [\"ui5-slider-accName\", \"ui5-slider-startHandleDesc\"].join(\" \").trim() : \"ui5-slider-startHandleDesc\";\n\t}\n\n\tget _ariaLabelledByEndHandleText() {\n\t\treturn this.accessibleName ? [\"ui5-slider-accName\", \"ui5-slider-endHandleDesc\"].join(\" \").trim() : \"ui5-slider-endHandleDesc\";\n\t}\n\n\tget _ariaLabelledByInputText() {\n\t\treturn RangeSlider.i18nBundle.getText(SLIDER_TOOLTIP_INPUT_LABEL);\n\t}\n\n\tget _ariaDescribedByInputText() {\n\t\treturn RangeSlider.i18nBundle.getText(SLIDER_TOOLTIP_INPUT_DESCRIPTION);\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tprogress: {\n\t\t\t\t\"width\": `${this._selectedRange! * 100}%`,\n\t\t\t\t\"transform-origin\": `${this.directionStart} top`,\n\t\t\t\t[this.directionStart]: `${this._firstHandlePositionFromStart!}%`,\n\t\t\t},\n\t\t\tstartHandle: {\n\t\t\t\t[this.directionStart]: `${this._firstHandlePositionFromStart!}%`,\n\t\t\t},\n\t\t\tendHandle: {\n\t\t\t\t[this.directionStart]: `${this._secondHandlePositionFromStart!}%`,\n\t\t\t},\n\t\t};\n\t}\n}\n\nRangeSlider.define();\n\nexport default RangeSlider;\n"]}
1
+ {"version":3,"file":"RangeSlider.js","sourceRoot":"","sources":["../src/RangeSlider.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 i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { IFormInputElement } from \"@ui5/webcomponents-base/dist/features/InputElementsFormSupport.js\";\nimport ValueState from \"@ui5/webcomponents-base/dist/types/ValueState.js\";\nimport {\n\tisEscape,\n\tisEnter,\n\tisHome,\n\tisEnd,\n\tisF2,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport SliderBase from \"./SliderBase.js\";\nimport RangeSliderTemplate from \"./RangeSliderTemplate.js\";\nimport type SliderTooltip from \"./SliderTooltip.js\";\n\n// Texts\nimport {\n\tRANGE_SLIDER_ARIA_DESCRIPTION,\n\tRANGE_SLIDER_START_HANDLE_DESCRIPTION,\n\tRANGE_SLIDER_END_HANDLE_DESCRIPTION,\n\tSLIDER_TOOLTIP_INPUT_LABEL,\n\tSLIDER_TOOLTIP_INPUT_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport rangeSliderStyles from \"./generated/themes/RangeSlider.css.js\";\n\ntype AriaHandlesText = {\n\tstartHandleText?: string,\n\tendHandleText?: string,\n}\n\ntype AffectedValue = \"startValue\" | \"endValue\";\n\n/**\n * @class\n *\n * ### Overview\n * Represents a numerical interval and two handles (grips) to select a sub-range within it.\n * The purpose of the component to enable visual selection of sub-ranges within a given interval.\n *\n * ### Structure\n * The most important properties of the Range Slider are:\n *\n * - min - The minimum value of the slider range.\n * - max - The maximum value of the slider range.\n * - value - The current value of the slider.\n * - step - Determines the increments in which the slider will move.\n * - showTooltip - Determines if a tooltip should be displayed above the handle.\n * - showTickmarks - Displays a visual divider between the step values.\n * - labelInterval - Labels some or all of the tickmarks with their values.\n *\n * #### Notes:\n *\n * - The right and left handle can be moved individually and their positions could therefore switch.\n * - The entire range can be moved along the interval.\n *\n * ### Usage\n * The most common use case is to select and move sub-ranges on a continuous numerical scale.\n *\n * ### Responsive Behavior\n * You can move the currently selected range by clicking on it and dragging it along the interval.\n *\n * ### Keyboard Handling\n *\n * - `Left or Down Arrow` - Moves a component's handle or the entire selection one step to the left;\n * - `Right or Up Arrow` - Moves a component's handle or the entire selection one step to the right;\n * - `Left or Down Arrow + Ctrl/Cmd` - Moves a component's handle to the left or the entire range with step equal to 1/10th of the entire range;\n * - `Right or Up Arrow + Ctrl/Cmd` - Moves a component's handle to the right or the entire range with step equal to 1/10th of the entire range;\n * - `Plus` - Same as `Right or Up Arrow`;\n * - `Minus` - Same as `Left or Down Arrow`;\n * - `Home` - Moves the entire selection or the selected handle to the beginning of the component's range;\n * - `End` - Moves the entire selection or the selected handle to the end of the component's range;\n * - `Page Up` - Same as `Right or Up Arrow + Ctrl/Cmd`;\n * - `Page Down` - Same as `Left or Down Arrow + Ctrl/Cmd`;\n * - `Escape` - Resets the `startValue` and `endValue` properties to the values prior the component focusing;\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents/dist/RangeSlider.js\";`\n * @constructor\n * @extends SliderBase\n * @since 1.0.0-rc.11\n * @public\n * @csspart progress-container - Used to style the progress container, the horizontal bar that visually represents the range between the minimum and maximum values, of the `ui5-range-slider`.\n * @csspart progress-bar - Used to style the progress bar, which shows the progress of the `ui5-range-slider`.\n * @csspart handle - Used to style the handles of the `ui5-range-slider`.\n */\n@customElement({\n\ttag: \"ui5-range-slider\",\n\tlanguageAware: true,\n\tformAssociated: true,\n\ttemplate: RangeSliderTemplate,\n\tstyles: [SliderBase.styles, rangeSliderStyles],\n})\nclass RangeSlider extends SliderBase implements IFormInputElement {\n\t/**\n\t * Defines start point of a selection - position of a first handle on the slider.\n\t * @default 0\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Number })\n\tset startValue(value: number) {\n\t\tthis._startValue = value;\n\t\tthis.tooltipStartValue = value.toString();\n\t}\n\n\tget startValue(): number {\n\t\treturn this._startValue;\n\t}\n\n\t/**\n\t * Defines end point of a selection - position of a second handle on the slider.\n\t * @default 100\n\t * @formEvents change input\n\t * @formProperty\n\t * @public\n\t */\n\t@property({ type: Number })\n\tset endValue(value: number) {\n\t\tthis._endValue = value;\n\t\tthis.tooltipEndValue = value.toString();\n\t}\n\n\tget endValue(): number {\n\t\treturn this._endValue;\n\t}\n\n\t@property()\n\ttooltipStartValue = \"\";\n\n\t@property()\n\ttooltipEndValue = \"\";\n\n\t@property()\n\ttooltipStartValueState: `${ValueState}` = \"None\";\n\n\t@property()\n\ttooltipEndValueState: `${ValueState}` = \"None\";\n\n\t@property({ type: Boolean })\n\trangePressed = false;\n\n\t@property({ type: Boolean })\n\t_isStartValueValid = false;\n\n\t@property({ type: Boolean })\n\t_isEndValueValid = false;\n\n\t_startValue: number = 0;\n\t_endValue: number = 100;\n\t_startValueInitial?: number;\n\t_endValueInitial?: number;\n\t_valueAffected?: AffectedValue;\n\t_isPressInCurrentRange = false;\n\t_handeIsPressed = false;\n\t_initialPageXPosition?: number;\n\t_startValueAtBeginningOfAction?: number;\n\t_endValueAtBeginningOfAction?: number;\n\t_initialStartHandlePageX?: number;\n\t_firstHandlePositionFromStart?: number;\n\t_secondHandlePositionFromStart?: number;\n\t_selectedRange?: number;\n\t_reversedValues = false;\n\t_lastValidStartValue: string;\n\t_lastValidEndValue: string;\n\t_areInputValuesSwapped = false;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget formFormattedValue() {\n\t\tconst formData = new FormData();\n\n\t\tif (!this.name) {\n\t\t\treturn formData;\n\t\t}\n\n\t\tformData.append(this.name, this.startValue.toString());\n\t\tformData.append(this.name, this.endValue.toString());\n\n\t\treturn formData;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._stateStorage.startValue = undefined;\n\t\tthis._stateStorage.endValue = undefined;\n\t\tthis._lastValidStartValue = this.min.toString();\n\t\tthis._lastValidEndValue = this.max.toString();\n\t}\n\n\tget _ariaDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget _ariaLabelledByText() {\n\t\treturn RangeSlider.i18nBundle.getText(RANGE_SLIDER_ARIA_DESCRIPTION);\n\t}\n\n\tget _ariaHandlesText() {\n\t\tconst isRTL = this.effectiveDir === \"rtl\";\n\t\tconst isReversed = this._areValuesReversed();\n\t\tconst ariaHandlesText: AriaHandlesText = {};\n\n\t\tif ((isRTL && !isReversed) || (!isRTL && isReversed)) {\n\t\t\tariaHandlesText.startHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_END_HANDLE_DESCRIPTION);\n\t\t\tariaHandlesText.endHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_START_HANDLE_DESCRIPTION);\n\t\t} else {\n\t\t\tariaHandlesText.startHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_START_HANDLE_DESCRIPTION);\n\t\t\tariaHandlesText.endHandleText = RangeSlider.i18nBundle.getText(RANGE_SLIDER_END_HANDLE_DESCRIPTION);\n\t\t}\n\n\t\treturn ariaHandlesText;\n\t}\n\n\tget _ariaValueNow() {\n\t\treturn Math.abs(this.endValue - this.startValue);\n\t}\n\n\t/**\n\t * Check if the previously saved state is outdated. That would mean\n\t * either it is the initial rendering or that a property has been changed\n\t * programmatically - because the previous state is always updated in\n\t * the interaction handlers.\n\t *\n\t * Normalize current properties, update the previously stored state.\n\t * Update the visual UI representation of the Slider.\n\t *\n\t */\n\tonBeforeRendering() {\n\t\tif (this.startValue > this.endValue) {\n\t\t\tconst affectedValue = this._valueAffected === \"startValue\" ? \"endValue\" : \"startValue\";\n\n\t\t\tthis._swapValues();\n\t\t\tthis._setAffectedValue(affectedValue);\n\t\t\tthis.update(affectedValue, this.startValue, this.endValue);\n\t\t}\n\n\t\tif (!this.isCurrentStateOutdated()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.notResized = true;\n\t\tthis.syncUIAndState();\n\t\tthis._updateHandlesAndRange(0);\n\t\tthis.update(this._valueAffected, this.startValue, this.endValue);\n\t}\n\n\tonAfterRendering(): void {\n\t\tsuper.onAfterRendering();\n\n\t\t[...this.getDomRef()!.querySelectorAll(\"[ui5-slider-tooltip]\")].forEach(tooltip => {\n\t\t\t(tooltip as SliderTooltip).repositionTooltip();\n\t\t});\n\t}\n\n\tsyncUIAndState() {\n\t\t// Validate step and update the stored state for the step property.\n\t\tif (this.isPropertyUpdated(\"step\")) {\n\t\t\tthis._validateStep(this.step);\n\t\t\tthis.storePropertyState(\"step\");\n\t\t}\n\n\t\t// Recalculate the tickmarks and labels and update the stored state.\n\t\tif (this.isPropertyUpdated(\"min\", \"max\", \"startValue\", \"endValue\")) {\n\t\t\tthis.storePropertyState(\"min\", \"max\");\n\n\t\t\t// Here the value props are changed programmatically (not by user interaction)\n\t\t\t// and it won't be \"stepified\" (rounded to the nearest step). 'Clip' them within\n\t\t\t// min and max bounderies and update the previous state reference.\n\t\t\tconst normalizedStartValue = SliderBase.clipValue(this.startValue, this._effectiveMin, this._effectiveMax);\n\t\t\tthis.startValue = normalizedStartValue;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"startValue\");\n\t\t\tthis.storePropertyState(\"startValue\");\n\n\t\t\tconst normalizedEndValue = SliderBase.clipValue(this.endValue, this._effectiveMin, this._effectiveMax);\n\t\t\tthis.endValue = normalizedEndValue;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"endValue\");\n\t\t\tthis.storePropertyState(\"endValue\");\n\t\t}\n\n\t\t// Labels must be updated if any of the min/max/step/labelInterval props are changed\n\t\tif (this.labelInterval && this.showTickmarks) {\n\t\t\tthis._createLabels();\n\t\t}\n\n\t\t// Update the stored state for the labelInterval, if changed\n\t\tif (this.isPropertyUpdated(\"labelInterval\")) {\n\t\t\tthis.storePropertyState(\"labelInterval\");\n\t\t}\n\t}\n\n\t_onfocusin() {\n\t\t// If this is the initial focusin of the component save its initial\n\t\t// value properties so they could be restored on ESC key press\n\t\tif (!this._endValueInitial) {\n\t\t\tthis._startValueInitial = this.startValue;\n\t\t\tthis._endValueInitial = this.endValue;\n\t\t}\n\n\t\tthis._tooltipsOpen = this.showTooltip;\n\t}\n\n\t/**\n\t * Handles focus out event of the focusable components inner elements.\n\t * Prevent focusout when the focus is getting initially set within the slider before the\n\t * slider customElement itself is finished focusing.\n\t *\n\t * Prevents the focus from leaving the Range Slider when the focus is managed between\n\t * its inner elements in result of user interactions.\n\t *\n\t * Resets the stored Range Slider's initial values saved when it was first focused\n\t * @private\n\t */\n\t_onfocusout(e: FocusEvent) {\n\t\tif (this._isFocusing()) {\n\t\t\tthis._preventFocusOut();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._setAffectedValue(undefined);\n\t\tthis._startValueInitial = undefined;\n\t\tthis._endValueInitial = undefined;\n\n\t\tif (this.showTooltip && !(e.relatedTarget as HTMLInputElement)?.hasAttribute(\"ui5-slider-tooltip\")) {\n\t\t\tthis._tooltipsOpen = false;\n\t\t}\n\t}\n\n\t/**\n\t* Handles keyup logic. If one of the handles came across the other\n\t* swap the start and end values. Reset the affected value by the finished\n\t* user interaction.\n\t* @private\n\t*/\n\t_onkeyup(e: KeyboardEvent) {\n\t\tsuper._onKeyupBase();\n\n\t\tif (!isEnter(e)) {\n\t\t\tthis._setAffectedValue(undefined);\n\t\t}\n\n\t\tif (this.startValue !== this._startValueAtBeginningOfAction || this.endValue !== this._endValueAtBeginningOfAction) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\n\t\tthis._startValueAtBeginningOfAction = undefined;\n\t\tthis._endValueAtBeginningOfAction = undefined;\n\t}\n\n\t_handleActionKeyPress(e: KeyboardEvent) {\n\t\tthis._startValueAtBeginningOfAction = this.startValue;\n\t\tthis._endValueAtBeginningOfAction = this.endValue;\n\n\t\tif (isEscape(e)) {\n\t\t\tthis.update(undefined, this._startValueInitial, this._endValueInitial);\n\t\t\treturn;\n\t\t}\n\n\t\t// Set the target of the interaction based on the focused inner element\n\t\tthis._setAffectedValueByFocusedElement();\n\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst affectedValue = this._valueAffected!;\n\n\t\t// If home/end key is pressed and no single handle is focused the active element\n\t\t// is the range selection - update both start and end values. Otherwise, if 'home'\n\t\t// is pressed the 'startValue'will be used for the start-handle offset calculation,\n\t\t// if 'End' is pressed - the 'endValue' will be used for the end-handle update.\n\t\tif ((isEnd(e) || isHome(e)) && !affectedValue) {\n\t\t\tthis._homeEndForSelectedRange(e, isHome(e) ? \"startValue\" : \"endValue\", min, max);\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate how much the value should be increased/decreased based on the action key\n\t\tconst newValueOffset = this._handleActionKeyPressBase(e, affectedValue);\n\n\t\tif (!newValueOffset) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update a single value if one of the handles is focused or the range if not already at min or max\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tif (affectedValue && !this._isPressInCurrentRange) {\n\t\t\tconst propValue = this[affectedValue as keyof RangeSlider] as number;\n\t\t\tconst newValue = ctor.clipValue(newValueOffset + propValue, min, max);\n\t\t\tthis.update(affectedValue, newValue, undefined);\n\t\t} else if ((newValueOffset < 0 && this.startValue > min) || (newValueOffset > 0 && this.endValue < max)) {\n\t\t\tconst newStartValue = ctor.clipValue(newValueOffset + this.startValue, min, max);\n\t\t\tconst newEndValue = ctor.clipValue(newValueOffset + this.endValue, min, max);\n\t\t\tthis.update(affectedValue, newStartValue, newEndValue);\n\t\t}\n\n\t\tthis.tooltipStartValue = this.startValue.toString();\n\t\tthis.tooltipEndValue = this.endValue.toString();\n\t}\n\n\t/**\n\t * Determines affected value (start/end) depending on the currently\n\t * active inner element within the Range Slider - used in the keyboard handling.\n\t * @private\n\t */\n\t_setAffectedValueByFocusedElement() {\n\t\tif (this.shadowRoot!.activeElement === this._startHandle) {\n\t\t\tthis._setAffectedValue(\"startValue\");\n\t\t}\n\n\t\tif (this.shadowRoot!.activeElement === this._endHandle) {\n\t\t\tthis._setAffectedValue(\"endValue\");\n\t\t}\n\n\t\tif (this.shadowRoot!.activeElement === this._progressBar) {\n\t\t\tthis._setAffectedValue(undefined);\n\t\t}\n\n\t\tthis._setIsPressInCurrentRange(!this._valueAffected);\n\t}\n\n\t/**\n\t * Calculates the start and end values when the 'Home\" or 'End' keys\n\t * are pressed on the selected range bar.\n\t * @private\n\t */\n\t_homeEndForSelectedRange(e: KeyboardEvent, affectedValue: string, min: number, max: number) {\n\t\tconst newValueOffset = this._handleActionKeyPressBase(e, affectedValue);\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst newStartValue = ctor.clipValue(newValueOffset + this.startValue, min, max);\n\t\tconst newEndValue = ctor.clipValue(newValueOffset + this.endValue, min, max);\n\n\t\tthis.update(undefined, newStartValue, newEndValue);\n\t}\n\n\t/**\n\t * Update values, stored inner state and the visual UI representation of the component.\n\t * If no specific type of value property is passed - the range is selected - update both handles,\n\t * otherwise update the handle corresponding to the affected by the user interacton value prop.\n\t * @private\n\t */\n\tupdate(affectedValue: string | undefined, startValue: number | undefined, endValue: number | undefined) {\n\t\tif (!affectedValue) {\n\t\t\tthis.startValue = startValue!;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"startValue\");\n\n\t\t\tthis.endValue = endValue!;\n\t\t\tthis.updateStateStorageAndFireInputEvent(\"endValue\");\n\t\t\tthis._updateHandlesAndRange(0);\n\t\t} else {\n\t\t\tconst newValue = endValue && affectedValue === \"endValue\" ? endValue : startValue;\n\t\t\tthis._updateHandlesAndRange(newValue || 0);\n\n\t\t\tif (affectedValue === \"startValue\") {\n\t\t\t\tthis.startValue = newValue!;\n\t\t\t\tthis.updateStateStorageAndFireInputEvent(\"startValue\");\n\t\t\t}\n\n\t\t\tif (affectedValue === \"endValue\") {\n\t\t\t\tthis.endValue = newValue!;\n\t\t\t\tthis.updateStateStorageAndFireInputEvent(\"endValue\");\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Called when the user starts interacting with the slider\n\t * @private\n\t */\n\t_onmousedown(e: TouchEvent | MouseEvent) {\n\t\tif ((e as MouseEvent)?.button && (e as MouseEvent)?.button !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If step is 0 no interaction is available because there is no constant\n\t\t// (equal for all user environments) quantitative representation of the value\n\t\tif (this.disabled || this._effectiveStep === 0 || (e.target as HTMLElement).hasAttribute(\"ui5-slider-tooltip\")) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Calculate the new value from the press position of the event\n\t\tconst newValue = this.handleDownBase(e);\n\n\t\t// Determine the rest of the needed details from the start of the interaction.\n\t\tthis._saveInteractionStartData(e, newValue);\n\n\t\tthis.rangePressed = this._isPressInCurrentRange;\n\n\t\t// Do not yet update the RangeSlider if press is in range or over a handle.\n\t\tif (this._isPressInCurrentRange || this._handeIsPressed) {\n\t\t\tthis._handeIsPressed = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Update Slider UI and internal state\n\t\tthis.update(this._valueAffected, newValue, undefined);\n\t}\n\n\t/**\n\t * Determines and saves needed values from the start of the interaction:\n\t *\n\t * Is the value calculated is within the currently selected range;\n\t * Initial pageX position of the start handle affected by the interaction;\n\t * Initial pageX value of the pressed postion;\n\t * Affected value property by the action;\n\t * @private\n\t */\n\t_saveInteractionStartData(e: TouchEvent | MouseEvent, newValue: number) {\n\t\tconst progressBarDom = this.shadowRoot!.querySelector(\".ui5-slider-progress\")!.getBoundingClientRect();\n\n\t\t// Save the state of the value properties on the start of the interaction\n\t\tthis._startValueAtBeginningOfAction = this.startValue;\n\t\tthis._endValueAtBeginningOfAction = this.endValue;\n\n\t\t// Save the initial press point coordinates (position)\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tthis._initialPageXPosition = ctor.getPageXValueFromEvent(e);\n\t\t// Which element of the Range Slider is pressed and which value property to be modified on further interaction\n\t\tthis._pressTargetAndAffectedValue(this._initialPageXPosition, newValue);\n\t\t// Use the progress bar to save the initial coordinates of the start-handle when the interaction begins.\n\t\tthis._initialStartHandlePageX = this.directionStart === \"left\" ? progressBarDom.left : progressBarDom.right;\n\t}\n\n\t/**\n\t * Called when the user moves the slider\n\t * @private\n\t */\n\t_handleMove(e: TouchEvent | MouseEvent) {\n\t\te.preventDefault();\n\n\t\t// If 'step' is 0 no interaction is available as there is no constant quantitative representation of the value\n\t\tif (this.disabled || this._effectiveStep === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update UI and state when dragging a single Range Slider handle\n\t\tif (!this._isPressInCurrentRange) {\n\t\t\tthis._updateValueOnHandleDrag(e);\n\t\t\treturn;\n\t\t}\n\n\t\t// Updates UI and state when dragging of the whole selected range\n\t\tthis._updateValueOnRangeDrag(e);\n\n\t\tthis.tooltipStartValue = this.startValue.toString();\n\t\tthis.tooltipEndValue = this.endValue.toString();\n\t}\n\n\t/**\n\t * Updates UI and state when dragging a single Range Slider handle\n\t * @private\n\t */\n\t_updateValueOnHandleDrag(event: TouchEvent | MouseEvent) {\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst newValue = ctor.getValueFromInteraction(event, this._effectiveStep, this._effectiveMin, this._effectiveMax, this.getBoundingClientRect(), this.directionStart);\n\t\tthis.update(this._valueAffected, newValue, undefined);\n\t}\n\n\t/**\n\t * Updates UI and state when dragging of the whole selected range\n\t * @private\n\t */\n\t_updateValueOnRangeDrag(event: TouchEvent | MouseEvent) {\n\t\t// Calculate the new 'start' and 'end' values from the offset between the original press point and the current position of the mouse\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst currentPageXPos = ctor.getPageXValueFromEvent(event);\n\t\tconst newValues = this._calculateRangeOffset(currentPageXPos, this._initialStartHandlePageX!);\n\n\t\t// No matter the which value is set as the one to be modified (by prev. user action) we want to modify both of them\n\t\tthis._setAffectedValue(undefined);\n\n\t\t// Update the UI and the state according to the calculated new values\n\t\tthis.update(undefined, newValues[0], newValues[1]);\n\t}\n\n\t_handleUp() {\n\t\tthis._setAffectedValueByFocusedElement();\n\t\tthis._setAffectedValue(undefined);\n\n\t\tif (this.startValue !== this._startValueAtBeginningOfAction || this.endValue !== this._endValueAtBeginningOfAction) {\n\t\t\tthis.fireDecoratorEvent(\"change\");\n\t\t}\n\n\t\tthis._setIsPressInCurrentRange(false);\n\t\tthis.handleUpBase();\n\n\t\tthis.rangePressed = false;\n\t\tthis._startValueAtBeginningOfAction = undefined;\n\t\tthis._endValueAtBeginningOfAction = undefined;\n\t}\n\n\t/**\n\t * Determines where the press occured and which values of the Range Slider\n\t * handles should be updated on further interaction.\n\t *\n\t * If the press is not in the selected range or over one of the Range Slider handles\n\t * determines which one from the value/endValue properties has to be updated\n\t * after the user action (based on closest handle).\n\t *\n\t * Set flags if the press is over a handle or in the selected range,\n\t * in such cases no values are changed on interaction start, but could be\n\t * updated later when dragging.\n\t * @private\n\t */\n\t_pressTargetAndAffectedValue(clientX: number, value: number) {\n\t\tconst startHandle = this.shadowRoot!.querySelector(\".ui5-slider-handle--start\")!;\n\t\tconst endHandle = this.shadowRoot!.querySelector(\".ui5-slider-handle--end\")!;\n\n\t\t// Check if the press point is in the bounds of any of the Range Slider handles\n\t\tconst handleStartDomRect = startHandle.getBoundingClientRect();\n\t\tconst handleEndDomRect = endHandle.getBoundingClientRect();\n\t\tconst inHandleStartDom = clientX >= handleStartDomRect.left && clientX <= handleStartDomRect.right;\n\t\tconst inHandleEndDom = clientX >= handleEndDomRect.left && clientX <= handleEndDomRect.right;\n\n\t\t// Remove the flag for value in current range if the press action is over one of the handles\n\t\tif (inHandleEndDom || inHandleStartDom) {\n\t\t\tthis._handeIsPressed = true;\n\t\t}\n\n\t\t// Return that handle that is closer to the press point\n\t\tif (inHandleEndDom || value > this.endValue) {\n\t\t\tthis._setAffectedValue(\"endValue\");\n\t\t}\n\n\t\t// If one of the handle is pressed return that one\n\t\tif (inHandleStartDom || value < this.startValue) {\n\t\t\tthis._setAffectedValue(\"startValue\");\n\t\t}\n\n\t\t// Flag if press is in the current select range\n\t\tconst isNewValueInCurrentRange = this._startValueAtBeginningOfAction !== undefined && this._endValueAtBeginningOfAction !== undefined && value >= this._startValueAtBeginningOfAction && value <= this._endValueAtBeginningOfAction;\n\t\tthis._setIsPressInCurrentRange(!(this._valueAffected || this._handeIsPressed) ? isNewValueInCurrentRange : false);\n\t}\n\n\t/**\n\t * Sets the value property (start/end) that will get updated\n\t * by a user action depending on that user action's characteristics\n\t * - mouse press position - cursor coordinates relative to the start/end handles\n\t * - selected inner element via a keyboard navigation\n\t * @param affectedValue The value that will get modified by the interaction\n\t * @private\n\t */\n\t_setAffectedValue(affectedValue: AffectedValue | undefined) {\n\t\tthis._valueAffected = affectedValue;\n\n\t\t// If the values have been swapped reset the reversed flag\n\t\tif (this._areValuesReversed()) {\n\t\t\tthis._setValuesAreReversed();\n\t\t}\n\t}\n\n\t/**\n\t * Flag if press action is made on the currently selected range of values\n\t * @param isPressInCurrentRange Did the current press action occur in the current range (between the two handles)\n\t * @private\n\t */\n\t_setIsPressInCurrentRange(isPressInCurrentRange: boolean) {\n\t\tthis._isPressInCurrentRange = isPressInCurrentRange;\n\t}\n\n\t/**\n\t * Manage the focus between the focusable inner elements within the component.\n\t *\n\t * On initial focusin or if the whole range is affected by the user interaction\n\t * set the focus on the progress selection, otherwise on one of the Range Slider\n\t * handles based on the determined affected value by the user action.\n\t *\n\t * If one of the handles came across the other one in result of a user action\n\t * switch the focus between them to keep it visually consistent.\n\t *\n\t * Note:\n\t * In some cases this function is going to get called twice on one user action.\n\t *\n\t * 1. When the focus is initially set to an inner element it is done in the very beginning,\n\t * of an interaction - on 'mousedown' and 'keydown' events. The focus of the host custom element\n\t * is still not being received, causining an immediate focusout that we prevent by\n\t * calling this function once again.\n\t *\n\t * 2. When the focused is manually switched from one inner element to another.\n\t * The focusout handler is one and the same for all focusable parts within the\n\t * Range Slider and when is called it checks if it should keep the focus within\n\t * the component and which part of it should get focused if that is the case.\n\t * @protected\n\t */\n\tfocusInnerElement() {\n\t\tconst isReversed = this._areValuesReversed();\n\t\tconst affectedValue = this._valueAffected;\n\n\t\tif (this._isPressInCurrentRange || !affectedValue) {\n\t\t\tthis._progressBar.focus();\n\t\t}\n\n\t\tif ((affectedValue === \"startValue\" && !isReversed) || (affectedValue === \"endValue\" && isReversed)) {\n\t\t\tthis._startHandle.focus();\n\t\t\tthis.bringToFrontTooltip(\"start\");\n\t\t}\n\n\t\tif ((affectedValue === \"endValue\" && !isReversed) || (affectedValue === \"startValue\" && isReversed)) {\n\t\t\tthis._endHandle.focus();\n\t\t\tthis.bringToFrontTooltip(\"end\");\n\t\t}\n\t}\n\n\t/**\n\t * Calculates startValue/endValue properties when the whole range is moved.\n\t *\n\t * Uses the change of the position of the start handle and adds the initially\n\t * selected range to it, to determine the whole range offset.\n\t * @param currentPageXPos The current horizontal position of the cursor/touch\n\t * @param initialStartHandlePageXPos The initial horizontal position of the start handle\n\t * @private\n\t */\n\t_calculateRangeOffset(currentPageXPos: number, initialStartHandlePageXPos: number) {\n\t\t// Return the current values if there is no difference in the\n\t\t// positions of the initial press and the current pointer\n\t\tif (this._initialPageXPosition === currentPageXPos) {\n\t\t\treturn [this.startValue, this.endValue];\n\t\t}\n\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst selectedRange = this.endValue - this.startValue;\n\n\t\t// Computes the new value based on the difference of the current cursor location from the start of the interaction\n\t\tlet startValue = this._calculateStartValueByOffset(currentPageXPos, initialStartHandlePageXPos);\n\n\t\t// When the end handle reaches the max possible value prevent the start handle from moving\n\t\t// And the opposite - if the start handle reaches the beginning of the slider keep the initially selected range.\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tstartValue = ctor.clipValue(startValue, min, max - selectedRange);\n\n\t\treturn [startValue, startValue + selectedRange];\n\t}\n\n\t/**\n\t * Computes the new value based on the difference of the current cursor location from the\n\t * start of the interaction.\n\t * @param currentPageXPos The current horizontal position of the cursor/touch\n\t * @param initialStartHandlePageXPos The initial horizontal position of the start handle\n\t * @private\n\t */\n\t_calculateStartValueByOffset(currentPageXPos: number, initialStartHandlePageXPos: number) {\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst step = this._effectiveStep;\n\t\tconst dom = this.getBoundingClientRect();\n\n\t\tlet startValue;\n\t\tlet startValuePageX;\n\t\tlet positionOffset;\n\n\t\t/* Depending on the dragging direction:\n\t\t- calculate the new position of the start handle from its old pageX value combined with the movement offset;\n\t\t- calculate the start value based on its new pageX coordinates;\n\t\t- 'stepify' the calculated value based on the specified step property; */\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tif (currentPageXPos > this._initialPageXPosition!) {\n\t\t\t// Difference between the new position of the pointer and when the press event initial occured\n\t\t\tpositionOffset = currentPageXPos - this._initialPageXPosition!;\n\n\t\t\tstartValuePageX = initialStartHandlePageXPos + positionOffset;\n\t\t\tstartValue = ctor.computedValueFromPageX(startValuePageX, min, max, dom, this.directionStart);\n\t\t\tstartValue = ctor.getSteppedValue(startValue, step, min);\n\t\t} else {\n\t\t\tpositionOffset = this._initialPageXPosition! - currentPageXPos;\n\t\t\tstartValuePageX = initialStartHandlePageXPos - positionOffset;\n\t\t\tstartValue = ctor.computedValueFromPageX(startValuePageX, min, max, dom, this.directionStart);\n\t\t\tstartValue = ctor.getSteppedValue(startValue, step, min);\n\t\t}\n\n\t\treturn startValue;\n\t}\n\n\t/**\n\t * Updates the visual representation of the component by calculating\n\t * the styles of the handles and the range selection based on the new state.\n\t * @private\n\t */\n\t_updateHandlesAndRange(newValue: number) {\n\t\tconst max = this._effectiveMax;\n\t\tconst min = this._effectiveMin;\n\t\tconst prevStartValue = this.getStoredPropertyState(\"startValue\") || 0;\n\t\tconst prevEndValue = this.getStoredPropertyState(\"endValue\") || 0;\n\t\tconst affectedValue = this._valueAffected;\n\n\t\t// The value according to which we update the UI can be either the startValue\n\t\t// or the endValue property. It is determined in _getClosestHandle()\n\t\t// depending on to which handle is closer the user interaction.\n\t\tif (affectedValue === \"startValue\") {\n\t\t\tthis._selectedRange = (prevEndValue - newValue) / (max - min);\n\t\t\tthis._firstHandlePositionFromStart = ((newValue - min) / (max - min)) * 100;\n\t\t} else if (affectedValue === \"endValue\") {\n\t\t\tthis._selectedRange = ((newValue - prevStartValue)) / (max - min);\n\t\t\tthis._secondHandlePositionFromStart = ((newValue - min) / (max - min)) * 100;\n\t\t} else {\n\t\t\t// When both values are changed - UI sync or moving the whole selected range:\n\t\t\tthis._selectedRange = ((this.endValue - this.startValue)) / (max - min);\n\t\t\tthis._firstHandlePositionFromStart = ((this.startValue - min) / (max - min)) * 100;\n\t\t\tthis._secondHandlePositionFromStart = ((this.endValue - min) / (max - min)) * 100;\n\t\t}\n\t}\n\n\tbringToFrontTooltip(handle: \"start\" | \"end\") {\n\t\tconst tooltipSelector = handle === \"start\"\n\t\t\t? \"[data-sap-ui-start-value]\"\n\t\t\t: \"[data-sap-ui-end-value]\";\n\n\t\tconst tooltip = this.shadowRoot!.querySelector(tooltipSelector) as SliderTooltip;\n\n\t\tif (tooltip?.hidePopover && tooltip?.showPopover) {\n\t\t\tconst frame = requestAnimationFrame(() => {\n\t\t\t\tif (tooltip.getDomRef()?.offsetParent === null) {\n\t\t\t\t\tcancelAnimationFrame(frame);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttooltip.hidePopover();\n\t\t\t\ttooltip.showPopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t_onTooltopForwardFocus(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\n\t\ttooltip.followRef?.focus();\n\t}\n\n\t_onTooltipChange(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\t\tconst isStart = tooltip.hasAttribute(\"data-sap-ui-start-value\");\n\t\tconst inputValue = parseFloat(e.detail.value as string);\n\t\tconst isInvalid = inputValue > this._effectiveMax || inputValue < this._effectiveMin;\n\n\t\tif (isInvalid) {\n\t\t\tif (isStart) {\n\t\t\t\tthis.tooltipStartValueState = ValueState.Negative;\n\t\t\t\tthis.tooltipStartValue = e.detail.value;\n\t\t\t} else {\n\t\t\t\tthis.tooltipEndValueState = ValueState.Negative;\n\t\t\t\tthis.tooltipEndValue = e.detail.value;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst clampedValue = Math.min(this.max, Math.max(this.min, inputValue));\n\n\t\tif (isStart) {\n\t\t\tthis.startValue = clampedValue;\n\t\t\tthis._lastValidStartValue = clampedValue.toString();\n\t\t} else {\n\t\t\tthis.endValue = clampedValue;\n\t\t\tthis._lastValidEndValue = clampedValue.toString();\n\t\t}\n\n\t\tif (this.startValue > this.endValue) {\n\t\t\tthis._areInputValuesSwapped = true;\n\n\t\t\tconst temp = this.startValue;\n\t\t\tthis.startValue = this.endValue;\n\t\t\tthis.endValue = temp;\n\n\t\t\tconst tempValid = this._lastValidStartValue;\n\t\t\tthis._lastValidStartValue = this._lastValidEndValue;\n\t\t\tthis._lastValidEndValue = tempValid;\n\n\t\t\tconst oppositeSelector = isStart\n\t\t\t\t? \"[data-sap-ui-end-value]\"\n\t\t\t\t: \"[data-sap-ui-start-value]\";\n\n\t\t\tconst oppositeInput = this.shadowRoot!.querySelector(oppositeSelector) as SliderTooltip;\n\t\t\toppositeInput?.focus();\n\t\t}\n\n\t\tthis.bringToFrontTooltip(isStart ? \"start\" : \"end\");\n\t\tthis.update(\"value\", this.startValue, this.endValue);\n\t\tthis.fireDecoratorEvent(\"change\");\n\t}\n\n\t_onTooltipFocusChange(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\t\tconst isStart = tooltip.hasAttribute(\"data-sap-ui-start-value\");\n\t\tconst value = isStart ? this.tooltipStartValue : this.tooltipEndValue;\n\t\tconst isInvalid = parseFloat(value) > this._effectiveMax || parseFloat(value) < this._effectiveMin;\n\n\t\tif (isInvalid) {\n\t\t\tif (isStart) {\n\t\t\t\tthis.tooltipStartValueState = ValueState.None;\n\t\t\t\tthis.tooltipStartValue = this.startValue.toString();\n\t\t\t} else {\n\t\t\t\tthis.tooltipEndValueState = ValueState.None;\n\t\t\t\tthis.tooltipEndValue = this.endValue.toString();\n\t\t\t}\n\t\t}\n\t}\n\n\t_onTooltipOpen() {\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);\n\t\tthis.tooltipStartValue = this.startValue.toFixed(stepPrecision);\n\t\tthis.tooltipEndValue = this.endValue.toFixed(stepPrecision);\n\t}\n\n\t_onTooltipInput(e: CustomEvent) {\n\t\tconst tooltip = e.target as SliderTooltip;\n\t\tconst isStart = tooltip.hasAttribute(\"data-sap-ui-start-value\");\n\n\t\tif (isStart) {\n\t\t\tthis.tooltipStartValue = e.detail.value;\n\t\t} else {\n\t\t\tthis.tooltipEndValue = e.detail.value;\n\t\t}\n\t}\n\n\t_onTooltipKeydown(e: KeyboardEvent) {\n\t\tif (isF2(e)) {\n\t\t\te.preventDefault();\n\t\t\t(e.target as SliderTooltip).followRef?.focus();\n\t\t}\n\t}\n\n\t_getFormattedValue(value: string) {\n\t\tconst valueNumber = parseFloat(value);\n\t\tconst ctor = this.constructor as typeof RangeSlider;\n\t\tconst stepPrecision = ctor._getDecimalPrecisionOfNumber(this._effectiveStep);\n\n\t\treturn valueNumber.toFixed(stepPrecision).toString();\n\t}\n\n\t/**\n\t * Swaps the start and end values of the handles if one came accros the other:\n\t * - If the start value is greater than the endValue swap them and their handles\n\t * - If the endValue become less than the start value swap them and their handles\n\t *\n\t * Switches the focus to the opposite of the currently focused handle.\n\t *\n\t * Note: Only the property values are reversed, the DOM elements of the handles\n\t * corresponding to them are never switched.\n\t * @private\n\t */\n\t_swapValues() {\n\t\tconst affectedValue = this._valueAffected;\n\t\tif (!affectedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (affectedValue === \"startValue\" && this.startValue > this.endValue) {\n\t\t\tconst prevEndValue = this.endValue;\n\t\t\tthis.endValue = this.startValue;\n\t\t\tthis.startValue = prevEndValue;\n\t\t}\n\n\t\tif (affectedValue === \"endValue\" && this.endValue < this.startValue) {\n\t\t\tconst prevStartValue = this.startValue;\n\t\t\tthis.startValue = this.endValue;\n\t\t\tthis.endValue = prevStartValue;\n\t\t}\n\n\t\tthis._setValuesAreReversed();\n\t\tthis._updateHandlesAndRange(this[affectedValue]);\n\n\t\tif (!this._areInputValuesSwapped) {\n\t\t\tthis.focusInnerElement();\n\t\t}\n\n\t\tthis.syncUIAndState();\n\t\tthis._areInputValuesSwapped = false;\n\t}\n\n\t/**\n\t * Flag that we have swapped the values of the 'start' and 'end' properties,\n\t * to correctly switch the focus within the component from one handle to another\n\t * when the swapping is finished. As we only swap property values and not\n\t * the handle elements themselves, we must also swap their focus.\n\t * @private\n\t */\n\t_setValuesAreReversed() {\n\t\tthis._reversedValues = !this._reversedValues;\n\t}\n\n\t_areValuesReversed() {\n\t\treturn this._reversedValues;\n\t}\n\n\tget tickmarksObject() {\n\t\tconst count = this._tickmarksCount;\n\t\tconst arr = [];\n\n\t\tif (this._hiddenTickmarks) {\n\t\t\treturn [false, false];\n\t\t}\n\n\t\tfor (let i = 0; i <= count; i++) {\n\t\t\tconst isBiggerThanStartValue = this._effectiveMin + (i * this.step) >= this.startValue;\n\t\t\tconst isBiggerThanEndValue = this._effectiveMin + (i * this.step) <= this.endValue;\n\n\t\t\tarr.push(isBiggerThanStartValue && isBiggerThanEndValue);\n\t\t}\n\n\t\treturn arr;\n\t}\n\n\tget _startHandle() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-slider-handle--start\")!;\n\t}\n\n\tget _endHandle() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-slider-handle--end\")!;\n\t}\n\n\tget _progressBar() {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(\".ui5-slider-progress\")!;\n\t}\n\n\tget _ariaLabelledByStartHandleText() {\n\t\treturn this.accessibleName ? [\"ui5-slider-accName\", \"ui5-slider-startHandleDesc\"].join(\" \").trim() : \"ui5-slider-startHandleDesc\";\n\t}\n\n\tget _ariaLabelledByEndHandleText() {\n\t\treturn this.accessibleName ? [\"ui5-slider-accName\", \"ui5-slider-endHandleDesc\"].join(\" \").trim() : \"ui5-slider-endHandleDesc\";\n\t}\n\n\tget _ariaLabelledByInputText() {\n\t\treturn RangeSlider.i18nBundle.getText(SLIDER_TOOLTIP_INPUT_LABEL);\n\t}\n\n\tget _ariaDescribedByInputText() {\n\t\treturn RangeSlider.i18nBundle.getText(SLIDER_TOOLTIP_INPUT_DESCRIPTION);\n\t}\n\n\tget styles() {\n\t\treturn {\n\t\t\tprogress: {\n\t\t\t\t\"width\": `${this._selectedRange! * 100}%`,\n\t\t\t\t\"transform-origin\": `${this.directionStart} top`,\n\t\t\t\t[this.directionStart]: `calc(${this._firstHandlePositionFromStart!}% + var(--_ui5_slider_active_progress_left))`,\n\t\t\t},\n\t\t\tstartHandle: {\n\t\t\t\t[this.directionStart]: `${this._firstHandlePositionFromStart!}%`,\n\t\t\t},\n\t\t\tendHandle: {\n\t\t\t\t[this.directionStart]: `${this._secondHandlePositionFromStart!}%`,\n\t\t\t},\n\t\t};\n\t}\n}\n\nRangeSlider.define();\n\nexport default RangeSlider;\n"]}
@@ -1,4 +1,5 @@
1
1
  import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
2
3
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
3
4
  import type { ITabbable } from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
4
5
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
@@ -92,12 +93,13 @@ declare class SegmentedButton extends UI5Element {
92
93
  * **Note:** Use the `ui5-segmented-button-item` for the intended design.
93
94
  * @public
94
95
  */
95
- items: Array<ISegmentedButtonItem>;
96
+ items: DefaultSlot<ISegmentedButtonItem>;
96
97
  static i18nBundle: I18nBundle;
97
98
  _itemNavigation: ItemNavigation;
98
99
  hasPreviouslyFocusedItem: boolean;
99
100
  _selectedItem?: ISegmentedButtonItem;
100
- _actionCanceled: boolean;
101
+ _cancelAction: boolean;
102
+ _isSpacePressed: boolean;
101
103
  constructor();
102
104
  onBeforeRendering(): void;
103
105
  normalizeSelection(): void;
@@ -9,13 +9,12 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
9
9
  import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
10
10
  import property from "@ui5/webcomponents-base/dist/decorators/property.js";
11
11
  import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
12
- import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
12
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
13
13
  import { getEffectiveAriaLabelText, getAssociatedLabelForTexts, getEffectiveAriaDescriptionText, } from "@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js";
14
14
  import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
15
15
  import ItemNavigation from "@ui5/webcomponents-base/dist/delegate/ItemNavigation.js";
16
16
  import i18n from "@ui5/webcomponents-base/dist/decorators/i18n.js";
17
- import { getScopedVarName } from "@ui5/webcomponents-base/dist/CustomElementsScope.js";
18
- import { isSpace, isEnter, isShift, isEscape, } from "@ui5/webcomponents-base/dist/Keys.js";
17
+ import { isSpace, isEnter, isShift, isEscape, isSpaceShift, } from "@ui5/webcomponents-base/dist/Keys.js";
19
18
  import { SEGMENTEDBUTTON_ARIA_DESCRIPTION, SEGMENTEDBUTTON_ARIA_DESCRIBEDBY } from "./generated/i18n/i18n-defaults.js";
20
19
  import "./SegmentedButtonItem.js";
21
20
  import SegmentedButtonSelectionMode from "./types/SegmentedButtonSelectionMode.js";
@@ -66,7 +65,8 @@ let SegmentedButton = SegmentedButton_1 = class SegmentedButton extends UI5Eleme
66
65
  getItemsCallback: () => this.navigatableItems,
67
66
  });
68
67
  this.hasPreviouslyFocusedItem = false;
69
- this._actionCanceled = false;
68
+ this._cancelAction = false;
69
+ this._isSpacePressed = false;
70
70
  }
71
71
  onBeforeRendering() {
72
72
  const items = this.getSlottedNodes("items");
@@ -78,7 +78,7 @@ let SegmentedButton = SegmentedButton_1 = class SegmentedButton extends UI5Eleme
78
78
  });
79
79
  this.normalizeSelection();
80
80
  if (!this.itemsFitContent) {
81
- this.style.setProperty(getScopedVarName("--_ui5_segmented_btn_items_count"), `${visibleItems.length}`);
81
+ this.style.setProperty("--_ui5_segmented_btn_items_count", `${visibleItems.length}`);
82
82
  }
83
83
  }
84
84
  normalizeSelection() {
@@ -139,19 +139,29 @@ let SegmentedButton = SegmentedButton_1 = class SegmentedButton extends UI5Eleme
139
139
  }
140
140
  else if (isSpace(e)) {
141
141
  e.preventDefault(); // Prevent scrolling
142
- this._actionCanceled = false; // Reset the action cancellation flag
142
+ this._isSpacePressed = true;
143
143
  }
144
144
  else if (isShift(e) || isEscape(e)) {
145
- this._actionCanceled = true; // Set the flag to cancel the action
145
+ this._cancelAction = true; // Set the flag to cancel the action
146
146
  }
147
147
  }
148
148
  _onkeyup(e) {
149
- if (isSpace(e)) {
150
- // Only select if the action was not canceled
151
- if (!this._actionCanceled) {
152
- this._selectItem(e);
149
+ const isSpaceKey = isSpace(e);
150
+ const isCancelKey = isShift(e) || isEscape(e);
151
+ if (isSpaceKey || isSpaceShift(e)) {
152
+ if (this._cancelAction) {
153
+ this._cancelAction = false;
154
+ this._isSpacePressed = false;
155
+ e.preventDefault();
156
+ return;
153
157
  }
154
- this._actionCanceled = false; // Reset the flag after handling
158
+ this._isSpacePressed = false;
159
+ }
160
+ else if (isCancelKey && !this._isSpacePressed) {
161
+ this._cancelAction = false;
162
+ }
163
+ if (isSpaceKey) {
164
+ this._selectItem(e);
155
165
  }
156
166
  }
157
167
  _onmousedown(e) {