@ui5/webcomponents 1.13.0-rc.2 → 1.13.0-rc.4

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 (633) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/Avatar.d.ts +9 -3
  3. package/dist/Avatar.js +29 -10
  4. package/dist/Avatar.js.map +1 -1
  5. package/dist/AvatarGroup.d.ts +1 -1
  6. package/dist/AvatarGroup.js.map +1 -1
  7. package/dist/Button.d.ts +6 -2
  8. package/dist/Button.js.map +1 -1
  9. package/dist/Card.d.ts +5 -7
  10. package/dist/Card.js +3 -6
  11. package/dist/Card.js.map +1 -1
  12. package/dist/Carousel.d.ts +1 -0
  13. package/dist/Carousel.js +1 -0
  14. package/dist/Carousel.js.map +1 -1
  15. package/dist/CheckBox.d.ts +10 -0
  16. package/dist/CheckBox.js +10 -0
  17. package/dist/CheckBox.js.map +1 -1
  18. package/dist/ComboBoxItem.d.ts +1 -1
  19. package/dist/ComboBoxItem.js.map +1 -1
  20. package/dist/Icon.d.ts +11 -0
  21. package/dist/Icon.js +11 -0
  22. package/dist/Icon.js.map +1 -1
  23. package/dist/Input.d.ts +5 -0
  24. package/dist/Input.js +5 -0
  25. package/dist/Input.js.map +1 -1
  26. package/dist/Link.d.ts +4 -1
  27. package/dist/Link.js.map +1 -1
  28. package/dist/ListItem.d.ts +8 -0
  29. package/dist/ListItem.js.map +1 -1
  30. package/dist/Menu.d.ts +21 -0
  31. package/dist/Menu.js +26 -6
  32. package/dist/Menu.js.map +1 -1
  33. package/dist/MenuItem.d.ts +23 -1
  34. package/dist/MenuItem.js +10 -3
  35. package/dist/MenuItem.js.map +1 -1
  36. package/dist/Popup.js +3 -3
  37. package/dist/Popup.js.map +1 -1
  38. package/dist/SliderBase.d.ts +7 -1
  39. package/dist/SliderBase.js.map +1 -1
  40. package/dist/Tab.d.ts +10 -4
  41. package/dist/Tab.js +14 -1
  42. package/dist/Tab.js.map +1 -1
  43. package/dist/TabContainer.d.ts +10 -10
  44. package/dist/TabContainer.js +10 -10
  45. package/dist/TabContainer.js.map +1 -1
  46. package/dist/TabSeparator.d.ts +4 -2
  47. package/dist/Table.d.ts +1 -1
  48. package/dist/Table.js +1 -0
  49. package/dist/Table.js.map +1 -1
  50. package/dist/Title.d.ts +1 -0
  51. package/dist/Title.js +1 -0
  52. package/dist/Title.js.map +1 -1
  53. package/dist/api.json +1 -1
  54. package/dist/assets/Title.3d358ef7.css +1 -0
  55. package/dist/assets/parameters-bundle.css.067142cc.js +1 -0
  56. package/dist/assets/parameters-bundle.css.0910d303.js +1 -0
  57. package/dist/assets/parameters-bundle.css.0c80e05a.js +1 -0
  58. package/dist/assets/parameters-bundle.css.0d6c19c9.js +1 -0
  59. package/dist/assets/parameters-bundle.css.2280ce3e.js +1 -0
  60. package/dist/assets/parameters-bundle.css.2480d334.js +1 -0
  61. package/dist/assets/parameters-bundle.css.3e7079bc.js +1 -0
  62. package/dist/assets/parameters-bundle.css.472c33c9.js +1 -0
  63. package/dist/assets/parameters-bundle.css.4cf7b367.js +1 -0
  64. package/dist/assets/parameters-bundle.css.64a1fcb3.js +1 -0
  65. package/dist/assets/parameters-bundle.css.691f8760.js +1 -0
  66. package/dist/assets/parameters-bundle.css.731f329b.js +1 -0
  67. package/dist/assets/parameters-bundle.css.7bae430d.js +1 -0
  68. package/dist/assets/parameters-bundle.css.8a87377e.js +1 -0
  69. package/dist/assets/parameters-bundle.css.a0b1bee1.js +1 -0
  70. package/dist/assets/parameters-bundle.css.ab21e265.js +1 -0
  71. package/dist/assets/parameters-bundle.css.b06aacf3.js +1 -0
  72. package/dist/assets/parameters-bundle.css.b7a02c6d.js +1 -0
  73. package/dist/assets/parameters-bundle.css.b8686554.js +1 -0
  74. package/dist/assets/parameters-bundle.css.b8d253d9.js +1 -0
  75. package/dist/assets/parameters-bundle.css.bdbac4ec.js +1 -0
  76. package/dist/assets/parameters-bundle.css.e59780e1.js +1 -0
  77. package/dist/assets/parameters-bundle.css.ef6e66b9.js +1 -0
  78. package/dist/assets/parameters-bundle.css.f3164b8d.js +1 -0
  79. package/dist/css/themes/Avatar.css +1 -1
  80. package/dist/css/themes/Card.css +1 -1
  81. package/dist/css/themes/CheckBox.css +1 -1
  82. package/dist/css/themes/ComboBox.css +1 -1
  83. package/dist/css/themes/FileUploader.css +1 -1
  84. package/dist/css/themes/Input.css +1 -1
  85. package/dist/css/themes/Link.css +1 -1
  86. package/dist/css/themes/Menu.css +1 -1
  87. package/dist/css/themes/MultiComboBox.css +1 -1
  88. package/dist/css/themes/Select.css +1 -1
  89. package/dist/css/themes/StepInput.css +1 -1
  90. package/dist/css/themes/Suggestions.css +1 -1
  91. package/dist/css/themes/TabContainer.css +1 -1
  92. package/dist/css/themes/TabInStrip.css +1 -1
  93. package/dist/css/themes/Title.css +1 -1
  94. package/dist/css/themes/sap_belize/parameters-bundle.css +1 -1
  95. package/dist/css/themes/sap_belize_hcb/parameters-bundle.css +1 -1
  96. package/dist/css/themes/sap_belize_hcw/parameters-bundle.css +1 -1
  97. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  98. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  99. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  100. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  101. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  102. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  103. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  104. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  105. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  106. package/dist/custom-elements.json +1 -1
  107. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  108. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  109. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  110. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  111. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  112. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  113. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  114. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  115. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  116. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  117. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  118. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  119. package/dist/generated/templates/AvatarGroupTemplate.lit.d.ts +4 -0
  120. package/dist/generated/templates/AvatarGroupTemplate.lit.js +6 -8
  121. package/dist/generated/templates/AvatarGroupTemplate.lit.js.map +1 -0
  122. package/dist/generated/templates/AvatarTemplate.lit.d.ts +4 -0
  123. package/dist/generated/templates/AvatarTemplate.lit.js +8 -11
  124. package/dist/generated/templates/AvatarTemplate.lit.js.map +1 -0
  125. package/dist/generated/templates/BadgeTemplate.lit.d.ts +4 -0
  126. package/dist/generated/templates/BadgeTemplate.lit.js +5 -7
  127. package/dist/generated/templates/BadgeTemplate.lit.js.map +1 -0
  128. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.d.ts +4 -0
  129. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js +5 -7
  130. package/dist/generated/templates/BreadcrumbsPopoverTemplate.lit.js.map +1 -0
  131. package/dist/generated/templates/BreadcrumbsTemplate.lit.d.ts +4 -0
  132. package/dist/generated/templates/BreadcrumbsTemplate.lit.js +6 -8
  133. package/dist/generated/templates/BreadcrumbsTemplate.lit.js.map +1 -0
  134. package/dist/generated/templates/BusyIndicatorTemplate.lit.d.ts +4 -0
  135. package/dist/generated/templates/BusyIndicatorTemplate.lit.js +7 -9
  136. package/dist/generated/templates/BusyIndicatorTemplate.lit.js.map +1 -0
  137. package/dist/generated/templates/ButtonTemplate.lit.d.ts +4 -0
  138. package/dist/generated/templates/ButtonTemplate.lit.js +6 -8
  139. package/dist/generated/templates/ButtonTemplate.lit.js.map +1 -0
  140. package/dist/generated/templates/CalendarHeaderTemplate.lit.d.ts +4 -0
  141. package/dist/generated/templates/CalendarHeaderTemplate.lit.js +6 -8
  142. package/dist/generated/templates/CalendarHeaderTemplate.lit.js.map +1 -0
  143. package/dist/generated/templates/CalendarTemplate.lit.d.ts +4 -0
  144. package/dist/generated/templates/CalendarTemplate.lit.js +4 -6
  145. package/dist/generated/templates/CalendarTemplate.lit.js.map +1 -0
  146. package/dist/generated/templates/CardHeaderTemplate.lit.d.ts +4 -0
  147. package/dist/generated/templates/CardHeaderTemplate.lit.js +9 -11
  148. package/dist/generated/templates/CardHeaderTemplate.lit.js.map +1 -0
  149. package/dist/generated/templates/CardTemplate.lit.d.ts +4 -0
  150. package/dist/generated/templates/CardTemplate.lit.js +5 -7
  151. package/dist/generated/templates/CardTemplate.lit.js.map +1 -0
  152. package/dist/generated/templates/CarouselTemplate.lit.d.ts +4 -0
  153. package/dist/generated/templates/CarouselTemplate.lit.js +13 -15
  154. package/dist/generated/templates/CarouselTemplate.lit.js.map +1 -0
  155. package/dist/generated/templates/CheckBoxTemplate.lit.d.ts +4 -0
  156. package/dist/generated/templates/CheckBoxTemplate.lit.js +7 -9
  157. package/dist/generated/templates/CheckBoxTemplate.lit.js.map +1 -0
  158. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.d.ts +4 -0
  159. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js +4 -6
  160. package/dist/generated/templates/ColorPaletteDialogTemplate.lit.js.map +1 -0
  161. package/dist/generated/templates/ColorPaletteItemTemplate.lit.d.ts +4 -0
  162. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js +4 -6
  163. package/dist/generated/templates/ColorPaletteItemTemplate.lit.js.map +1 -0
  164. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.d.ts +4 -0
  165. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js +5 -7
  166. package/dist/generated/templates/ColorPalettePopoverTemplate.lit.js.map +1 -0
  167. package/dist/generated/templates/ColorPaletteTemplate.lit.d.ts +4 -0
  168. package/dist/generated/templates/ColorPaletteTemplate.lit.js +9 -11
  169. package/dist/generated/templates/ColorPaletteTemplate.lit.js.map +1 -0
  170. package/dist/generated/templates/ColorPickerTemplate.lit.d.ts +4 -0
  171. package/dist/generated/templates/ColorPickerTemplate.lit.js +4 -6
  172. package/dist/generated/templates/ColorPickerTemplate.lit.js.map +1 -0
  173. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.d.ts +4 -0
  174. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +22 -24
  175. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js.map +1 -0
  176. package/dist/generated/templates/ComboBoxTemplate.lit.d.ts +4 -0
  177. package/dist/generated/templates/ComboBoxTemplate.lit.js +7 -9
  178. package/dist/generated/templates/ComboBoxTemplate.lit.js.map +1 -0
  179. package/dist/generated/templates/CustomListItemTemplate.lit.d.ts +4 -0
  180. package/dist/generated/templates/CustomListItemTemplate.lit.js +19 -21
  181. package/dist/generated/templates/CustomListItemTemplate.lit.js.map +1 -0
  182. package/dist/generated/templates/DatePickerPopoverTemplate.lit.d.ts +4 -0
  183. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js +7 -9
  184. package/dist/generated/templates/DatePickerPopoverTemplate.lit.js.map +1 -0
  185. package/dist/generated/templates/DatePickerTemplate.lit.d.ts +4 -0
  186. package/dist/generated/templates/DatePickerTemplate.lit.js +6 -8
  187. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -0
  188. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.d.ts +4 -0
  189. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js +9 -11
  190. package/dist/generated/templates/DateTimePickerPopoverTemplate.lit.js.map +1 -0
  191. package/dist/generated/templates/DayPickerTemplate.lit.d.ts +4 -0
  192. package/dist/generated/templates/DayPickerTemplate.lit.js +13 -15
  193. package/dist/generated/templates/DayPickerTemplate.lit.js.map +1 -0
  194. package/dist/generated/templates/DialogTemplate.lit.d.ts +4 -0
  195. package/dist/generated/templates/DialogTemplate.lit.js +10 -12
  196. package/dist/generated/templates/DialogTemplate.lit.js.map +1 -0
  197. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.d.ts +4 -0
  198. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +8 -10
  199. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js.map +1 -0
  200. package/dist/generated/templates/FileUploaderTemplate.lit.d.ts +4 -0
  201. package/dist/generated/templates/FileUploaderTemplate.lit.js +7 -9
  202. package/dist/generated/templates/FileUploaderTemplate.lit.js.map +1 -0
  203. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.d.ts +4 -0
  204. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +4 -6
  205. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js.map +1 -0
  206. package/dist/generated/templates/IconTemplate.lit.d.ts +4 -0
  207. package/dist/generated/templates/IconTemplate.lit.js +11 -10
  208. package/dist/generated/templates/IconTemplate.lit.js.map +1 -0
  209. package/dist/generated/templates/InputPopoverTemplate.lit.d.ts +4 -0
  210. package/dist/generated/templates/InputPopoverTemplate.lit.js +24 -26
  211. package/dist/generated/templates/InputPopoverTemplate.lit.js.map +1 -0
  212. package/dist/generated/templates/InputTemplate.lit.d.ts +4 -0
  213. package/dist/generated/templates/InputTemplate.lit.js +9 -11
  214. package/dist/generated/templates/InputTemplate.lit.js.map +1 -0
  215. package/dist/generated/templates/LabelTemplate.lit.d.ts +4 -0
  216. package/dist/generated/templates/LabelTemplate.lit.js +4 -6
  217. package/dist/generated/templates/LabelTemplate.lit.js.map +1 -0
  218. package/dist/generated/templates/LinkTemplate.lit.d.ts +4 -0
  219. package/dist/generated/templates/LinkTemplate.lit.js +5 -7
  220. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -0
  221. package/dist/generated/templates/ListItemTemplate.lit.d.ts +4 -0
  222. package/dist/generated/templates/ListItemTemplate.lit.js +19 -21
  223. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -0
  224. package/dist/generated/templates/ListTemplate.lit.d.ts +4 -0
  225. package/dist/generated/templates/ListTemplate.lit.js +12 -14
  226. package/dist/generated/templates/ListTemplate.lit.js.map +1 -0
  227. package/dist/generated/templates/MenuTemplate.lit.d.ts +4 -0
  228. package/dist/generated/templates/MenuTemplate.lit.js +14 -14
  229. package/dist/generated/templates/MenuTemplate.lit.js.map +1 -0
  230. package/dist/generated/templates/MessageStripTemplate.lit.d.ts +4 -0
  231. package/dist/generated/templates/MessageStripTemplate.lit.js +8 -10
  232. package/dist/generated/templates/MessageStripTemplate.lit.js.map +1 -0
  233. package/dist/generated/templates/MonthPickerTemplate.lit.d.ts +4 -0
  234. package/dist/generated/templates/MonthPickerTemplate.lit.js +7 -9
  235. package/dist/generated/templates/MonthPickerTemplate.lit.js.map +1 -0
  236. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.d.ts +4 -0
  237. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +27 -29
  238. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js.map +1 -0
  239. package/dist/generated/templates/MultiComboBoxTemplate.lit.d.ts +4 -0
  240. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +9 -11
  241. package/dist/generated/templates/MultiComboBoxTemplate.lit.js.map +1 -0
  242. package/dist/generated/templates/MultiInputTemplate.lit.d.ts +4 -0
  243. package/dist/generated/templates/MultiInputTemplate.lit.js +13 -15
  244. package/dist/generated/templates/MultiInputTemplate.lit.js.map +1 -0
  245. package/dist/generated/templates/PanelTemplate.lit.d.ts +4 -0
  246. package/dist/generated/templates/PanelTemplate.lit.js +10 -12
  247. package/dist/generated/templates/PanelTemplate.lit.js.map +1 -0
  248. package/dist/generated/templates/PopoverTemplate.lit.d.ts +4 -0
  249. package/dist/generated/templates/PopoverTemplate.lit.js +9 -11
  250. package/dist/generated/templates/PopoverTemplate.lit.js.map +1 -0
  251. package/dist/generated/templates/PopupBlockLayerTemplate.lit.d.ts +4 -0
  252. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js +4 -6
  253. package/dist/generated/templates/PopupBlockLayerTemplate.lit.js.map +1 -0
  254. package/dist/generated/templates/PopupTemplate.lit.d.ts +4 -0
  255. package/dist/generated/templates/PopupTemplate.lit.js +4 -6
  256. package/dist/generated/templates/PopupTemplate.lit.js.map +1 -0
  257. package/dist/generated/templates/ProgressIndicatorTemplate.lit.d.ts +4 -0
  258. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js +14 -16
  259. package/dist/generated/templates/ProgressIndicatorTemplate.lit.js.map +1 -0
  260. package/dist/generated/templates/RadioButtonTemplate.lit.d.ts +4 -0
  261. package/dist/generated/templates/RadioButtonTemplate.lit.js +10 -9
  262. package/dist/generated/templates/RadioButtonTemplate.lit.js.map +1 -0
  263. package/dist/generated/templates/RangeSliderTemplate.lit.d.ts +4 -0
  264. package/dist/generated/templates/RangeSliderTemplate.lit.js +13 -15
  265. package/dist/generated/templates/RangeSliderTemplate.lit.js.map +1 -0
  266. package/dist/generated/templates/RatingIndicatorTemplate.lit.d.ts +4 -0
  267. package/dist/generated/templates/RatingIndicatorTemplate.lit.js +13 -15
  268. package/dist/generated/templates/RatingIndicatorTemplate.lit.js.map +1 -0
  269. package/dist/generated/templates/ResponsivePopoverTemplate.lit.d.ts +4 -0
  270. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js +16 -18
  271. package/dist/generated/templates/ResponsivePopoverTemplate.lit.js.map +1 -0
  272. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.d.ts +4 -0
  273. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +5 -7
  274. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -0
  275. package/dist/generated/templates/SegmentedButtonTemplate.lit.d.ts +4 -0
  276. package/dist/generated/templates/SegmentedButtonTemplate.lit.js +4 -6
  277. package/dist/generated/templates/SegmentedButtonTemplate.lit.js.map +1 -0
  278. package/dist/generated/templates/SelectPopoverTemplate.lit.d.ts +4 -0
  279. package/dist/generated/templates/SelectPopoverTemplate.lit.js +20 -22
  280. package/dist/generated/templates/SelectPopoverTemplate.lit.js.map +1 -0
  281. package/dist/generated/templates/SelectTemplate.lit.d.ts +4 -0
  282. package/dist/generated/templates/SelectTemplate.lit.js +6 -8
  283. package/dist/generated/templates/SelectTemplate.lit.js.map +1 -0
  284. package/dist/generated/templates/SliderBaseTemplate.lit.d.ts +4 -0
  285. package/dist/generated/templates/SliderBaseTemplate.lit.js +11 -13
  286. package/dist/generated/templates/SliderBaseTemplate.lit.js.map +1 -0
  287. package/dist/generated/templates/SliderTemplate.lit.d.ts +4 -0
  288. package/dist/generated/templates/SliderTemplate.lit.js +12 -14
  289. package/dist/generated/templates/SliderTemplate.lit.js.map +1 -0
  290. package/dist/generated/templates/SplitButtonTemplate.lit.d.ts +4 -0
  291. package/dist/generated/templates/SplitButtonTemplate.lit.js +5 -7
  292. package/dist/generated/templates/SplitButtonTemplate.lit.js.map +1 -0
  293. package/dist/generated/templates/StandardListItemTemplate.lit.d.ts +4 -0
  294. package/dist/generated/templates/StandardListItemTemplate.lit.js +29 -31
  295. package/dist/generated/templates/StandardListItemTemplate.lit.js.map +1 -0
  296. package/dist/generated/templates/StepInputTemplate.lit.d.ts +4 -0
  297. package/dist/generated/templates/StepInputTemplate.lit.js +7 -9
  298. package/dist/generated/templates/StepInputTemplate.lit.js.map +1 -0
  299. package/dist/generated/templates/SuggestionListItemTemplate.lit.d.ts +4 -0
  300. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +32 -34
  301. package/dist/generated/templates/SuggestionListItemTemplate.lit.js.map +1 -0
  302. package/dist/generated/templates/SwitchTemplate.lit.d.ts +4 -0
  303. package/dist/generated/templates/SwitchTemplate.lit.js +8 -10
  304. package/dist/generated/templates/SwitchTemplate.lit.js.map +1 -0
  305. package/dist/generated/templates/TabContainerPopoverTemplate.lit.d.ts +4 -0
  306. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +5 -7
  307. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js.map +1 -0
  308. package/dist/generated/templates/TabContainerTemplate.lit.d.ts +4 -0
  309. package/dist/generated/templates/TabContainerTemplate.lit.js +14 -16
  310. package/dist/generated/templates/TabContainerTemplate.lit.js.map +1 -0
  311. package/dist/generated/templates/TabInOverflowTemplate.lit.d.ts +4 -0
  312. package/dist/generated/templates/TabInOverflowTemplate.lit.js +9 -11
  313. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -0
  314. package/dist/generated/templates/TabInStripTemplate.lit.d.ts +4 -0
  315. package/dist/generated/templates/TabInStripTemplate.lit.js +11 -14
  316. package/dist/generated/templates/TabInStripTemplate.lit.js.map +1 -0
  317. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.d.ts +4 -0
  318. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js +4 -6
  319. package/dist/generated/templates/TabSeparatorInOverflowTemplate.lit.js.map +1 -0
  320. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.d.ts +4 -0
  321. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js +4 -6
  322. package/dist/generated/templates/TabSeparatorInStripTemplate.lit.js.map +1 -0
  323. package/dist/generated/templates/TabTemplate.lit.d.ts +4 -0
  324. package/dist/generated/templates/TabTemplate.lit.js +5 -7
  325. package/dist/generated/templates/TabTemplate.lit.js.map +1 -0
  326. package/dist/generated/templates/TableCellTemplate.lit.d.ts +4 -0
  327. package/dist/generated/templates/TableCellTemplate.lit.js +4 -6
  328. package/dist/generated/templates/TableCellTemplate.lit.js.map +1 -0
  329. package/dist/generated/templates/TableColumnTemplate.lit.d.ts +4 -0
  330. package/dist/generated/templates/TableColumnTemplate.lit.js +4 -6
  331. package/dist/generated/templates/TableColumnTemplate.lit.js.map +1 -0
  332. package/dist/generated/templates/TableGroupRowTemplate.lit.d.ts +4 -0
  333. package/dist/generated/templates/TableGroupRowTemplate.lit.js +4 -6
  334. package/dist/generated/templates/TableGroupRowTemplate.lit.js.map +1 -0
  335. package/dist/generated/templates/TableRowTemplate.lit.d.ts +4 -0
  336. package/dist/generated/templates/TableRowTemplate.lit.js +15 -17
  337. package/dist/generated/templates/TableRowTemplate.lit.js.map +1 -0
  338. package/dist/generated/templates/TableTemplate.lit.d.ts +4 -0
  339. package/dist/generated/templates/TableTemplate.lit.js +14 -16
  340. package/dist/generated/templates/TableTemplate.lit.js.map +1 -0
  341. package/dist/generated/templates/TextAreaPopoverTemplate.lit.d.ts +4 -0
  342. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +8 -10
  343. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js.map +1 -0
  344. package/dist/generated/templates/TextAreaTemplate.lit.d.ts +4 -0
  345. package/dist/generated/templates/TextAreaTemplate.lit.js +8 -10
  346. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -0
  347. package/dist/generated/templates/TimePickerPopoverTemplate.lit.d.ts +4 -0
  348. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js +4 -6
  349. package/dist/generated/templates/TimePickerPopoverTemplate.lit.js.map +1 -0
  350. package/dist/generated/templates/TimePickerTemplate.lit.d.ts +4 -0
  351. package/dist/generated/templates/TimePickerTemplate.lit.js +6 -8
  352. package/dist/generated/templates/TimePickerTemplate.lit.js.map +1 -0
  353. package/dist/generated/templates/TimeSelectionTemplate.lit.d.ts +4 -0
  354. package/dist/generated/templates/TimeSelectionTemplate.lit.js +8 -10
  355. package/dist/generated/templates/TimeSelectionTemplate.lit.js.map +1 -0
  356. package/dist/generated/templates/TitleTemplate.lit.d.ts +4 -0
  357. package/dist/generated/templates/TitleTemplate.lit.js +10 -12
  358. package/dist/generated/templates/TitleTemplate.lit.js.map +1 -0
  359. package/dist/generated/templates/ToastTemplate.lit.d.ts +4 -0
  360. package/dist/generated/templates/ToastTemplate.lit.js +5 -7
  361. package/dist/generated/templates/ToastTemplate.lit.js.map +1 -0
  362. package/dist/generated/templates/ToggleButtonTemplate.lit.d.ts +4 -0
  363. package/dist/generated/templates/ToggleButtonTemplate.lit.js +6 -8
  364. package/dist/generated/templates/ToggleButtonTemplate.lit.js.map +1 -0
  365. package/dist/generated/templates/TokenTemplate.lit.d.ts +4 -0
  366. package/dist/generated/templates/TokenTemplate.lit.js +7 -9
  367. package/dist/generated/templates/TokenTemplate.lit.js.map +1 -0
  368. package/dist/generated/templates/TokenizerPopoverTemplate.lit.d.ts +4 -0
  369. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js +9 -11
  370. package/dist/generated/templates/TokenizerPopoverTemplate.lit.js.map +1 -0
  371. package/dist/generated/templates/TokenizerTemplate.lit.d.ts +4 -0
  372. package/dist/generated/templates/TokenizerTemplate.lit.js +6 -8
  373. package/dist/generated/templates/TokenizerTemplate.lit.js.map +1 -0
  374. package/dist/generated/templates/TreeItemBaseTemplate.lit.d.ts +4 -0
  375. package/dist/generated/templates/TreeItemBaseTemplate.lit.js +23 -25
  376. package/dist/generated/templates/TreeItemBaseTemplate.lit.js.map +1 -0
  377. package/dist/generated/templates/TreeItemCustomTemplate.lit.d.ts +4 -0
  378. package/dist/generated/templates/TreeItemCustomTemplate.lit.js +23 -25
  379. package/dist/generated/templates/TreeItemCustomTemplate.lit.js.map +1 -0
  380. package/dist/generated/templates/TreeItemTemplate.lit.d.ts +4 -0
  381. package/dist/generated/templates/TreeItemTemplate.lit.js +25 -27
  382. package/dist/generated/templates/TreeItemTemplate.lit.js.map +1 -0
  383. package/dist/generated/templates/TreeTemplate.lit.d.ts +4 -0
  384. package/dist/generated/templates/TreeTemplate.lit.js +5 -7
  385. package/dist/generated/templates/TreeTemplate.lit.js.map +1 -0
  386. package/dist/generated/templates/WheelSliderTemplate.lit.d.ts +4 -0
  387. package/dist/generated/templates/WheelSliderTemplate.lit.js +7 -9
  388. package/dist/generated/templates/WheelSliderTemplate.lit.js.map +1 -0
  389. package/dist/generated/templates/YearPickerTemplate.lit.d.ts +4 -0
  390. package/dist/generated/templates/YearPickerTemplate.lit.js +7 -9
  391. package/dist/generated/templates/YearPickerTemplate.lit.js.map +1 -0
  392. package/dist/generated/themes/Avatar.css.js +1 -1
  393. package/dist/generated/themes/Avatar.css.js.map +1 -1
  394. package/dist/generated/themes/Card.css.js +1 -1
  395. package/dist/generated/themes/Card.css.js.map +1 -1
  396. package/dist/generated/themes/CheckBox.css.js +1 -1
  397. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  398. package/dist/generated/themes/ComboBox.css.js +1 -1
  399. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  400. package/dist/generated/themes/FileUploader.css.js +1 -1
  401. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  402. package/dist/generated/themes/Input.css.js +1 -1
  403. package/dist/generated/themes/Input.css.js.map +1 -1
  404. package/dist/generated/themes/Link.css.js +1 -1
  405. package/dist/generated/themes/Link.css.js.map +1 -1
  406. package/dist/generated/themes/Menu.css.js +1 -1
  407. package/dist/generated/themes/Menu.css.js.map +1 -1
  408. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  409. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  410. package/dist/generated/themes/Select.css.js +1 -1
  411. package/dist/generated/themes/Select.css.js.map +1 -1
  412. package/dist/generated/themes/StepInput.css.js +1 -1
  413. package/dist/generated/themes/StepInput.css.js.map +1 -1
  414. package/dist/generated/themes/Suggestions.css.js +1 -1
  415. package/dist/generated/themes/Suggestions.css.js.map +1 -1
  416. package/dist/generated/themes/TabContainer.css.js +1 -1
  417. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  418. package/dist/generated/themes/TabInStrip.css.js +1 -1
  419. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  420. package/dist/generated/themes/Title.css.js +1 -1
  421. package/dist/generated/themes/Title.css.js.map +1 -1
  422. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  423. package/dist/generated/themes/sap_belize/parameters-bundle.css.js.map +1 -1
  424. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  425. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js.map +1 -1
  426. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  427. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js.map +1 -1
  428. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  429. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  430. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  431. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  432. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  433. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  434. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  435. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  436. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  437. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  438. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  439. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  440. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  441. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  442. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  443. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  444. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  445. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  446. package/package.json +7 -8
  447. package/src/Avatar.hbs +12 -6
  448. package/src/CheckBox.hbs +1 -0
  449. package/src/Icon.hbs +1 -0
  450. package/src/InputPopover.hbs +1 -1
  451. package/src/List.hbs +1 -1
  452. package/src/Menu.hbs +12 -1
  453. package/src/MonthPicker.hbs +0 -1
  454. package/src/MultiComboBox.hbs +0 -1
  455. package/src/TabInStrip.hbs +2 -4
  456. package/src/YearPicker.hbs +0 -1
  457. package/src/themes/Avatar.css +16 -0
  458. package/src/themes/Card.css +2 -2
  459. package/src/themes/CheckBox.css +13 -23
  460. package/src/themes/FileUploader.css +5 -5
  461. package/src/themes/Input.css +13 -8
  462. package/src/themes/Link.css +10 -3
  463. package/src/themes/Menu.css +4 -0
  464. package/src/themes/StepInput.css +5 -5
  465. package/src/themes/Suggestions.css +12 -0
  466. package/src/themes/TabContainer.css +2 -0
  467. package/src/themes/TabInStrip.css +6 -1
  468. package/src/themes/Title.css +8 -1
  469. package/src/themes/base/Input-parameters.css +1 -2
  470. package/src/themes/base/Link-parameters.css +2 -0
  471. package/src/themes/base/sizes-parameters.css +1 -1
  472. package/src/themes/sap_belize/Input-parameters.css +0 -1
  473. package/src/themes/sap_belize_hcb/Input-parameters.css +0 -1
  474. package/src/themes/sap_belize_hcw/Input-parameters.css +0 -1
  475. package/src/themes/sap_horizon/CheckBox-parameters.css +4 -9
  476. package/src/themes/sap_horizon/Input-parameters.css +0 -5
  477. package/src/themes/sap_horizon/Link-parameters.css +1 -0
  478. package/src/themes/sap_horizon_dark/CheckBox-parameters.css +4 -9
  479. package/src/themes/sap_horizon_dark/Input-parameters.css +0 -5
  480. package/src/themes/sap_horizon_dark/Link-parameters.css +1 -0
  481. package/src/themes/sap_horizon_exp/Input-parameters.css +0 -5
  482. package/src/themes/sap_horizon_hcb/CheckBox-parameters.css +2 -7
  483. package/src/themes/sap_horizon_hcb/Link-parameters.css +1 -0
  484. package/src/themes/sap_horizon_hcw/CheckBox-parameters.css +2 -7
  485. package/src/themes/sap_horizon_hcw/Link-parameters.css +1 -0
  486. package/LICENSE.txt +0 -201
  487. package/dist/assets/Title.d6aa17aa.css +0 -1
  488. package/dist/assets/parameters-bundle.css.040aa3dd.js +0 -1
  489. package/dist/assets/parameters-bundle.css.1b6e2478.js +0 -1
  490. package/dist/assets/parameters-bundle.css.21513a38.js +0 -1
  491. package/dist/assets/parameters-bundle.css.2c8496aa.js +0 -1
  492. package/dist/assets/parameters-bundle.css.3c25e356.js +0 -1
  493. package/dist/assets/parameters-bundle.css.4daa1648.js +0 -1
  494. package/dist/assets/parameters-bundle.css.52765351.js +0 -1
  495. package/dist/assets/parameters-bundle.css.699b96c0.js +0 -1
  496. package/dist/assets/parameters-bundle.css.6db4d34a.js +0 -1
  497. package/dist/assets/parameters-bundle.css.70a65e3a.js +0 -1
  498. package/dist/assets/parameters-bundle.css.71348be9.js +0 -1
  499. package/dist/assets/parameters-bundle.css.71c92b92.js +0 -1
  500. package/dist/assets/parameters-bundle.css.75b9ef28.js +0 -1
  501. package/dist/assets/parameters-bundle.css.7629e56e.js +0 -1
  502. package/dist/assets/parameters-bundle.css.91aaddc5.js +0 -1
  503. package/dist/assets/parameters-bundle.css.9bd22734.js +0 -1
  504. package/dist/assets/parameters-bundle.css.b7a262bf.js +0 -1
  505. package/dist/assets/parameters-bundle.css.b8f73a77.js +0 -1
  506. package/dist/assets/parameters-bundle.css.c565b624.js +0 -1
  507. package/dist/assets/parameters-bundle.css.cbd268df.js +0 -1
  508. package/dist/assets/parameters-bundle.css.d8251aad.js +0 -1
  509. package/dist/assets/parameters-bundle.css.f2cd40dd.js +0 -1
  510. package/dist/assets/parameters-bundle.css.f36b416c.js +0 -1
  511. package/dist/assets/parameters-bundle.css.f552e9e6.js +0 -1
  512. package/dist/assets/test/pages/ComboBox.html.8efde534.js +0 -1
  513. package/dist/assets/test/pages/Icon.html.2b52be1e.js +0 -1
  514. package/dist/assets/test/pages/Label.html.1a32d008.js +0 -4
  515. package/dist/assets/test/pages/Popups.html.11aeb74f.js +0 -1
  516. package/dist/test/pages/72override.html +0 -33
  517. package/dist/test/pages/AnimanitionOff.html +0 -52
  518. package/dist/test/pages/Avatar.html +0 -264
  519. package/dist/test/pages/AvatarGroup.html +0 -376
  520. package/dist/test/pages/Badge.html +0 -75
  521. package/dist/test/pages/Breadcrumbs.html +0 -239
  522. package/dist/test/pages/BusyIndicator.html +0 -278
  523. package/dist/test/pages/Button.html +0 -273
  524. package/dist/test/pages/Calendar.html +0 -98
  525. package/dist/test/pages/Card.html +0 -347
  526. package/dist/test/pages/Carousel.html +0 -584
  527. package/dist/test/pages/CheckBox.html +0 -90
  528. package/dist/test/pages/ColorPalette.html +0 -126
  529. package/dist/test/pages/ColorPalettePopover.html +0 -141
  530. package/dist/test/pages/ColorPicker.html +0 -66
  531. package/dist/test/pages/ComboBox.html +0 -292
  532. package/dist/test/pages/Components.html +0 -106
  533. package/dist/test/pages/CoreControls.html +0 -203
  534. package/dist/test/pages/CoreControls_exp.html +0 -203
  535. package/dist/test/pages/CustomCSS.html +0 -55
  536. package/dist/test/pages/DatePicker.html +0 -205
  537. package/dist/test/pages/DatePicker_test_page.html +0 -106
  538. package/dist/test/pages/DateRangePicker.html +0 -64
  539. package/dist/test/pages/DateTimePicker.html +0 -190
  540. package/dist/test/pages/DateTimePicker_Timezone.html +0 -72
  541. package/dist/test/pages/DayPicker.html +0 -37
  542. package/dist/test/pages/Dialog.html +0 -799
  543. package/dist/test/pages/DialogLifecycle.html +0 -62
  544. package/dist/test/pages/DialogSemantic.html +0 -58
  545. package/dist/test/pages/Eventing.html +0 -33
  546. package/dist/test/pages/F6Test1.html +0 -42
  547. package/dist/test/pages/F6Test2.html +0 -42
  548. package/dist/test/pages/F6Test3.html +0 -39
  549. package/dist/test/pages/F6Test4.html +0 -46
  550. package/dist/test/pages/F6Test5.html +0 -42
  551. package/dist/test/pages/F6Test6.html +0 -39
  552. package/dist/test/pages/F6Test7.html +0 -36
  553. package/dist/test/pages/FileUploader.html +0 -138
  554. package/dist/test/pages/FormComponents.html +0 -72
  555. package/dist/test/pages/FormSupport.html +0 -59
  556. package/dist/test/pages/HCB.html +0 -45
  557. package/dist/test/pages/Icon.html +0 -278
  558. package/dist/test/pages/Icon_and_theming.html +0 -67
  559. package/dist/test/pages/Icon_custom.html +0 -26
  560. package/dist/test/pages/Input.html +0 -731
  561. package/dist/test/pages/InputFieldLabels.html +0 -355
  562. package/dist/test/pages/InputFieldMinWidth.html +0 -230
  563. package/dist/test/pages/InputIcons.html +0 -80
  564. package/dist/test/pages/Input_quickview.html +0 -204
  565. package/dist/test/pages/InputsAlignment.html +0 -131
  566. package/dist/test/pages/InputsLazyLoading.html +0 -244
  567. package/dist/test/pages/ItemNavigation.html +0 -94
  568. package/dist/test/pages/Kitchen.html +0 -637
  569. package/dist/test/pages/Kitchen.openui5.html +0 -570
  570. package/dist/test/pages/Label.html +0 -161
  571. package/dist/test/pages/Link.html +0 -201
  572. package/dist/test/pages/List.html +0 -465
  573. package/dist/test/pages/ListGrowing_Button.html +0 -64
  574. package/dist/test/pages/ListGrowing_Scroll.html +0 -93
  575. package/dist/test/pages/List_keyboard_support.html +0 -130
  576. package/dist/test/pages/List_test_page.html +0 -371
  577. package/dist/test/pages/LitKeyFunction.html +0 -40
  578. package/dist/test/pages/MemoryLeak.html +0 -78
  579. package/dist/test/pages/Menu.html +0 -145
  580. package/dist/test/pages/MessagePage.html +0 -39
  581. package/dist/test/pages/MessageStrip.html +0 -55
  582. package/dist/test/pages/MultiComboBox.html +0 -489
  583. package/dist/test/pages/MultiInput.html +0 -451
  584. package/dist/test/pages/MultiInput_Suggestions.html +0 -161
  585. package/dist/test/pages/OpenUI5-second.html +0 -60
  586. package/dist/test/pages/OpenUI5.html +0 -83
  587. package/dist/test/pages/Panel.html +0 -226
  588. package/dist/test/pages/Popover.html +0 -624
  589. package/dist/test/pages/PopoverArrowBounds.html +0 -52
  590. package/dist/test/pages/Popups.html +0 -131
  591. package/dist/test/pages/ProgressIndicator.html +0 -151
  592. package/dist/test/pages/RTL.html +0 -118
  593. package/dist/test/pages/RadioButton.html +0 -201
  594. package/dist/test/pages/RangeSlider.html +0 -96
  595. package/dist/test/pages/RatingIndicator.html +0 -97
  596. package/dist/test/pages/ResizeHandler.html +0 -74
  597. package/dist/test/pages/ResponsivePopover.html +0 -267
  598. package/dist/test/pages/SegmentedButton.html +0 -151
  599. package/dist/test/pages/Select.html +0 -260
  600. package/dist/test/pages/Simple.html +0 -25
  601. package/dist/test/pages/Slider.html +0 -79
  602. package/dist/test/pages/SplitButton.html +0 -101
  603. package/dist/test/pages/StepInput.html +0 -189
  604. package/dist/test/pages/Switch.html +0 -97
  605. package/dist/test/pages/TabContainer.html +0 -904
  606. package/dist/test/pages/Table-perf-pure.html +0 -73
  607. package/dist/test/pages/Table-perf.html +0 -76
  608. package/dist/test/pages/Table.html +0 -2808
  609. package/dist/test/pages/Table2.html +0 -53
  610. package/dist/test/pages/TableAllPopin.html +0 -228
  611. package/dist/test/pages/TableCustomStyling.html +0 -89
  612. package/dist/test/pages/TableGrouping.html +0 -109
  613. package/dist/test/pages/TableGrowingWithButton.html +0 -805
  614. package/dist/test/pages/TableGrowingWithScroll.html +0 -801
  615. package/dist/test/pages/TableSelection.html +0 -445
  616. package/dist/test/pages/Test.html +0 -15
  617. package/dist/test/pages/TextArea.html +0 -222
  618. package/dist/test/pages/TimePicker.html +0 -81
  619. package/dist/test/pages/TimeSelection.html +0 -31
  620. package/dist/test/pages/Title.html +0 -37
  621. package/dist/test/pages/Toast.html +0 -111
  622. package/dist/test/pages/ToggleButton.html +0 -71
  623. package/dist/test/pages/Tree.html +0 -307
  624. package/dist/test/pages/WheelSlider_Test_Page.html +0 -26
  625. package/dist/test/pages/base/AriaLabelHelper.html +0 -334
  626. package/dist/test/pages/base/DOMObserver.html +0 -20
  627. package/dist/test/pages/base/IconCollection.html +0 -23
  628. package/dist/test/pages/base/IconCollectionInCustomTheme.html +0 -25
  629. package/dist/test/pages/base/InvisibleMessage.html +0 -44
  630. package/dist/test/pages/form.html +0 -123
  631. package/dist/test/pages/i18n-defaultLang.html +0 -31
  632. package/dist/test/pages/i18n-demo.html +0 -79
  633. package/global.d.ts +0 -12
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.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isChrome } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getNextZIndex, 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 PopupTemplate from \"./generated/templates/PopupTemplate.lit.js\";\nimport PopupBlockLayer from \"./generated/templates/PopupBlockLayerTemplate.lit.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 popupStaticAreaStyles from \"./generated/themes/PopupStaticAreaStyles.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 * <h3 class=\"comment-api-title\">Overview</h3>\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components, it is highly recommended that you extend\n * at least Popup in order to have consistency with other popups in terms of modal behavior and z-index management.\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 \"open\" and \"close\" 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 * - It is in the static area\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 Popup class automatically assigns \"z-index\"\n * - Each time a popup is opened, it gets a higher than the previously opened popup z-index\n *\n * 5. 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 *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Popup\n * @extends sap.ui.webc.base.UI5Element\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: popupStlyes,\n\ttemplate: PopupTemplate,\n\tstaticAreaTemplate: PopupBlockLayer,\n\tstaticAreaStyles: popupStaticAreaStyles,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#before-open\n * @allowPreventDefault\n */\n@event(\"before-open\")\n\n/**\n * Fired after the component is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#after-open\n */\n@event(\"after-open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#before-close\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.\n */\n@event(\"before-close\", {\n\tescPressed: { type: Boolean },\n})\n\n/**\n * Fired after the component is closed. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#after-close\n */\n@event(\"after-close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n *\n * @private\n * @event sap.ui.webc.main.Popup#scroll\n */\n@event(\"scroll\")\nabstract class Popup extends UI5Element {\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Popup.prototype.initialFocus\n\t * @defaultvalue \"\"\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 * @type {boolean}\n\t * @name sap.ui.webc.main.Popup.prototype.preventFocusRestore\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore!: boolean;\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Popup.prototype.open\n\t * @defaultvalue false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates if the element is already open\n\t * @private\n\t * @type {boolean}\n\t * @defaultvalue false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\topened!: boolean;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Popup.prototype.accessibleName\n\t * @defaultvalue undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Popup.prototype.accessibleNameRef\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Allows setting a custom role. Available options are:\n\t * <ul>\n\t * <li><code>Dialog</code></li>\n\t * <li><code>None</code></li>\n\t * <li><code>AlertDialog</code></li>\n\t * </ul>\n\t * @type {sap.ui.webc.main.types.PopupAccessibleRole}\n\t * @name sap.ui.webc.main.Popup.prototype.accessibleRole\n\t * @defaultvalue \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.Dialog })\n\taccessibleRole!: PopupAccessibleRole;\n\n\t/**\n\t * Defines the current media query size.\n\t *\n\t * @type {string}\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_disableInitialFocus!: boolean;\n\n\t@property({ type: Boolean })\n\t_blockLayerHidden!: boolean;\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 *\n\t * @private\n\t * @type {boolean}\n\t * @defaultvalue false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup!: boolean;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.Popup.prototype.default\n\t * @slot content\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_zIndex?: number;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._blockLayerHidden = !this.isOpen() || !this.isTopModalPopup;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tif (this.isOpen()) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\tget _displayProp() {\n\t\treturn \"block\";\n\t}\n\n\t_resize() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\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.fireEvent<PopupScrollEventDetail>(\"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.isOpen();\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\tthis._root.removeAttribute(\"tabindex\");\n\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\tthis._root.tabIndex = -1;\n\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({ focusVisible: true } as FocusOptions);\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({ focusVisible: true } as FocusOptions);\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, or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tawait this.applyFocus();\n\t}\n\n\t/**\n\t * Focuses the element denoted by <code>initialFocus</code>, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Popup#applyFocus\n\t * @async\n\t * @returns {Promise} Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus() {\n\t\tawait this._waitForDomRef();\n\n\t\tconst element = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus)\n\t\t\t|| await getFirstFocusableElement(this)\n\t\t\t|| 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({ focusVisible: true } as FocusOptions);\n\t\t}\n\t}\n\n\t/**\n\t * Tells if the component is opened\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Popup#isOpen\n\t * @returns {boolean}\n\t */\n\tisOpen() {\n\t\treturn this.opened;\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t/**\n\t * Shows the block layer (for modal popups only) and sets the correct z-index for the purpose of popup stacking\n\t * @protected\n\t */\n\tasync _open(preventInitialFocus: boolean) {\n\t\tconst prevented = !this.fireEvent(\"before-open\", {}, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal && !this.shouldHideBackdrop) {\n\t\t\t// create static area item ref for block layer\n\t\t\tthis.getStaticAreaItemDomRef();\n\t\t\tthis._blockLayerHidden = false;\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._zIndex = getNextZIndex();\n\t\tthis.style.zIndex = this._zIndex?.toString() || \"\";\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\n\t\tif (!this._disableInitialFocus && !preventInitialFocus) {\n\t\t\tthis.applyInitialFocus();\n\t\t}\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.opened = true;\n\t\tthis.open = true;\n\n\t\tawait renderFinished();\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\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 * @public\n\t * @method\n\t * @name sap.ui.webc.main.Popup#close\n\t * @returns {void}\n\t */\n\tclose(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {\n\t\tif (!this.opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent<PopupBeforeCloseEventDetail>(\"before-close\", { escPressed }, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal) {\n\t\t\tthis._blockLayerHidden = true;\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.opened = false;\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.fireEvent(\"after-close\", {}, false, false);\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\tif (!this._focusedElementBeforeOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen.focus({ focusVisible: true } as FocusOptions);\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\tthis.style.display = this._displayProp;\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.style.display = \"none\";\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 *\n\t * @protected\n\t * @abstract\n\t * @returns {boolean}\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Implement this getter with relevant logic in order to hide the block layer (f.e. based on a public property)\n\t *\n\t * @protected\n\t * @abstract\n\t * @returns {boolean}\n\t */\n\tabstract get shouldHideBackdrop(): 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 *\n\t * @protected\n\t * @abstract\n\t * @returns {string | undefined}\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @returns {string | undefined}\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role(): string | undefined {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : this.accessibleRole.toLowerCase();\n\t}\n\n\tget _ariaModal(): string | 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\tblockLayer: {\n\t\t\t\t\"zIndex\": this._zIndex ? this._zIndex - 1 : \"\",\n\t\t\t},\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\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\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;\n\nexport type {\n\tPopupScrollEventDetail,\n\tPopupBeforeCloseEventDetail,\n};\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.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 litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { isChrome } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport { getFirstFocusableElement, getLastFocusableElement } from \"@ui5/webcomponents-base/dist/util/FocusableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AriaLabelHelper.js\";\nimport getEffectiveScrollbarStyle from \"@ui5/webcomponents-base/dist/util/getEffectiveScrollbarStyle.js\";\nimport { hasStyle, createStyle } from \"@ui5/webcomponents-base/dist/ManagedStyles.js\";\nimport { isEnter, isTabPrevious } from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getNextZIndex, 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 PopupTemplate from \"./generated/templates/PopupTemplate.lit.js\";\nimport PopupBlockLayer from \"./generated/templates/PopupBlockLayerTemplate.lit.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 popupStaticAreaStyles from \"./generated/themes/PopupStaticAreaStyles.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 * <h3 class=\"comment-api-title\">Overview</h3>\n * Base class for all popup Web Components.\n *\n * If you need to create your own popup-like custom UI5 Web Components, it is highly recommended that you extend\n * at least Popup in order to have consistency with other popups in terms of modal behavior and z-index management.\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 \"open\" and \"close\" 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 * - It is in the static area\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 Popup class automatically assigns \"z-index\"\n * - Each time a popup is opened, it gets a higher than the previously opened popup z-index\n *\n * 5. 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 *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Popup\n * @extends sap.ui.webc.base.UI5Element\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: popupStlyes,\n\ttemplate: PopupTemplate,\n\tstaticAreaTemplate: PopupBlockLayer,\n\tstaticAreaStyles: popupStaticAreaStyles,\n})\n/**\n * Fired before the component is opened. This event can be cancelled, which will prevent the popup from opening. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#before-open\n * @allowPreventDefault\n */\n@event(\"before-open\")\n\n/**\n * Fired after the component is opened. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#after-open\n */\n@event(\"after-open\")\n\n/**\n * Fired before the component is closed. This event can be cancelled, which will prevent the popup from closing. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#before-close\n * @allowPreventDefault\n * @param {boolean} escPressed Indicates that <code>ESC</code> key has triggered the event.\n */\n@event(\"before-close\", {\n\tescPressed: { type: Boolean },\n})\n\n/**\n * Fired after the component is closed. <b>This event does not bubble.</b>\n *\n * @public\n * @event sap.ui.webc.main.Popup#after-close\n */\n@event(\"after-close\")\n\n/**\n * Fired whenever the popup content area is scrolled\n *\n * @private\n * @event sap.ui.webc.main.Popup#scroll\n */\n@event(\"scroll\")\nabstract class Popup extends UI5Element {\n\t/**\n\t * Defines the ID of the HTML Element, which will get the initial focus.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Popup.prototype.initialFocus\n\t * @defaultvalue \"\"\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 * @type {boolean}\n\t * @name sap.ui.webc.main.Popup.prototype.preventFocusRestore\n\t * @defaultvalue false\n\t * @public\n\t * @since 1.0.0-rc.8\n\t*/\n\t@property({ type: Boolean })\n\tpreventFocusRestore!: boolean;\n\n\t/**\n\t * Indicates if the element is open\n\t * @public\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.Popup.prototype.open\n\t * @defaultvalue false\n\t * @since 1.2.0\n\t */\n\t@property({ type: Boolean })\n\topen!: boolean;\n\n\t/**\n\t * Indicates if the element is already open\n\t * @private\n\t * @type {boolean}\n\t * @defaultvalue false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\topened!: boolean;\n\n\t/**\n\t * Defines the accessible name of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Popup.prototype.accessibleName\n\t * @defaultvalue undefined\n\t * @public\n\t * @since 1.0.0-rc.15\n\t */\n\t@property({ defaultValue: undefined })\n\taccessibleName?: string;\n\n\t/**\n\t * Defines the IDs of the elements that label the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.Popup.prototype.accessibleNameRef\n\t * @defaultvalue \"\"\n\t * @public\n\t * @since 1.1.0\n\t */\n\t@property({ defaultValue: \"\" })\n\taccessibleNameRef!: string;\n\n\t/**\n\t * Allows setting a custom role. Available options are:\n\t * <ul>\n\t * <li><code>Dialog</code></li>\n\t * <li><code>None</code></li>\n\t * <li><code>AlertDialog</code></li>\n\t * </ul>\n\t * @type {sap.ui.webc.main.types.PopupAccessibleRole}\n\t * @name sap.ui.webc.main.Popup.prototype.accessibleRole\n\t * @defaultvalue \"Dialog\"\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property({ type: PopupAccessibleRole, defaultValue: PopupAccessibleRole.Dialog })\n\taccessibleRole!: PopupAccessibleRole;\n\n\t/**\n\t * Defines the current media query size.\n\t *\n\t * @type {string}\n\t * @private\n\t */\n\t@property()\n\tmediaRange!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_disableInitialFocus!: boolean;\n\n\t@property({ type: Boolean })\n\t_blockLayerHidden!: boolean;\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 *\n\t * @private\n\t * @type {boolean}\n\t * @defaultvalue false\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\tisTopModalPopup!: boolean;\n\n\t/**\n\t * Defines the content of the Popup.\n\t * @type {HTMLElement[]}\n\t * @name sap.ui.webc.main.Popup.prototype.default\n\t * @slot content\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent!: Array<HTMLElement>\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_shouldFocusRoot?: boolean;\n\t_zIndex?: number;\n\t_focusedElementBeforeOpen?: HTMLElement | null;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._resizeHandler = this._resize.bind(this);\n\t}\n\n\tonBeforeRendering() {\n\t\tthis._blockLayerHidden = !this.isOpen() || !this.isTopModalPopup;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tif (this.isOpen()) {\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t\tthis._removeOpenedPopup();\n\t\t}\n\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\tget _displayProp() {\n\t\treturn \"block\";\n\t}\n\n\t_resize() {\n\t\tthis.mediaRange = MediaRange.getCurrentRange(MediaRange.RANGESETS.RANGE_4STEPS, this.getDomRef()!.offsetWidth);\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.fireEvent<PopupScrollEventDetail>(\"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.isOpen();\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\tthis._root.removeAttribute(\"tabindex\");\n\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\tthis._root.tabIndex = -1;\n\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({ focusVisible: true } as FocusOptions);\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({ focusVisible: true } as FocusOptions);\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, or the first focusable element otherwise.\n\t * @protected\n\t */\n\tasync applyInitialFocus() {\n\t\tawait this.applyFocus();\n\t}\n\n\t/**\n\t * Focuses the element denoted by <code>initialFocus</code>, if provided,\n\t * or the first focusable element otherwise.\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Popup#applyFocus\n\t * @async\n\t * @returns {Promise} Promise that resolves when the focus is applied\n\t */\n\tasync applyFocus() {\n\t\tawait this._waitForDomRef();\n\n\t\tconst element = (this.getRootNode() as Document).getElementById(this.initialFocus)\n\t\t\t|| document.getElementById(this.initialFocus)\n\t\t\t|| await getFirstFocusableElement(this)\n\t\t\t|| 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({ focusVisible: true } as FocusOptions);\n\t\t}\n\t}\n\n\t/**\n\t * Tells if the component is opened\n\t * @public\n\t * @method\n\t * @name sap.ui.webc.main.Popup#isOpen\n\t * @returns {boolean}\n\t */\n\tisOpen() {\n\t\treturn this.opened;\n\t}\n\n\tisFocusWithin() {\n\t\treturn isFocusedElementWithinNode(this._root);\n\t}\n\n\t/**\n\t * Shows the block layer (for modal popups only) and sets the correct z-index for the purpose of popup stacking\n\t * @protected\n\t */\n\tasync _open(preventInitialFocus: boolean) {\n\t\tconst prevented = !this.fireEvent(\"before-open\", {}, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal && !this.shouldHideBackdrop) {\n\t\t\t// create static area item ref for block layer\n\t\t\tthis.getStaticAreaItemDomRef();\n\t\t\tthis._blockLayerHidden = false;\n\t\t\tPopup.blockPageScrolling(this);\n\t\t}\n\n\t\tthis._zIndex = getNextZIndex();\n\t\tthis.style.zIndex = this._zIndex?.toString() || \"\";\n\n\t\tthis._focusedElementBeforeOpen = getFocusedElement();\n\n\t\tthis._show();\n\n\t\tthis._addOpenedPopup();\n\n\t\tthis.opened = true;\n\t\tthis.open = true;\n\n\t\tawait renderFinished();\n\n\t\tif (!this._disableInitialFocus && !preventInitialFocus) {\n\t\t\tawait this.applyInitialFocus();\n\t\t}\n\n\t\tthis.fireEvent(\"after-open\", {}, false, false);\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 * @public\n\t * @method\n\t * @name sap.ui.webc.main.Popup#close\n\t * @returns {void}\n\t */\n\tclose(escPressed = false, preventRegistryUpdate = false, preventFocusRestore = false) {\n\t\tif (!this.opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst prevented = !this.fireEvent<PopupBeforeCloseEventDetail>(\"before-close\", { escPressed }, true, false);\n\t\tif (prevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isModal) {\n\t\t\tthis._blockLayerHidden = true;\n\t\t\tPopup.unblockPageScrolling(this);\n\t\t}\n\n\t\tthis.hide();\n\t\tthis.opened = false;\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.fireEvent(\"after-close\", {}, false, false);\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\tif (!this._focusedElementBeforeOpen) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._focusedElementBeforeOpen.focus({ focusVisible: true } as FocusOptions);\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\tthis.style.display = this._displayProp;\n\t}\n\n\t/**\n\t * Sets \"none\" display to the popup\n\t * @protected\n\t */\n\thide() {\n\t\tthis.style.display = \"none\";\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 *\n\t * @protected\n\t * @abstract\n\t * @returns {boolean}\n\t */\n\tabstract get isModal(): boolean\n\n\t/**\n\t * Implement this getter with relevant logic in order to hide the block layer (f.e. based on a public property)\n\t *\n\t * @protected\n\t * @abstract\n\t * @returns {boolean}\n\t */\n\tabstract get shouldHideBackdrop(): 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 *\n\t * @protected\n\t * @abstract\n\t * @returns {string | undefined}\n\t */\n\tabstract get _ariaLabelledBy(): string | undefined\n\n\t/**\n\t * Ensures ariaLabel is never null or empty string\n\t * @returns {string | undefined}\n\t * @protected\n\t */\n\tget _ariaLabel() {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget _root(): HTMLElement {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-popup-root\")!;\n\t}\n\n\tget _role(): string | undefined {\n\t\treturn (this.accessibleRole === PopupAccessibleRole.None) ? undefined : this.accessibleRole.toLowerCase();\n\t}\n\n\tget _ariaModal(): string | 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\tblockLayer: {\n\t\t\t\t\"zIndex\": this._zIndex ? this._zIndex - 1 : \"\",\n\t\t\t},\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\t\"ui5-content-native-scrollbars\": getEffectiveScrollbarStyle(),\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;\n\nexport type {\n\tPopupScrollEventDetail,\n\tPopupBeforeCloseEventDetail,\n};\n"]}
@@ -19,7 +19,7 @@ type DirectionStart = "left" | "right";
19
19
  * @tagname ui5-slider
20
20
  * @public
21
21
  */
22
- declare class SliderBase extends UI5Element {
22
+ declare abstract class SliderBase extends UI5Element {
23
23
  /**
24
24
  * Defines the minimum value of the slider.
25
25
  *
@@ -123,6 +123,12 @@ declare class SliderBase extends UI5Element {
123
123
  _handleUp(): void;
124
124
  _onmousedown(e: TouchEvent | MouseEvent): void;
125
125
  _handleActionKeyPress(e: Event): void;
126
+ abstract styles: {
127
+ label: object;
128
+ labelContainer: object;
129
+ };
130
+ abstract tickmarksObject: any;
131
+ abstract _ariaLabelledByText: string;
126
132
  static get ACTION_KEYS(): ((event: KeyboardEvent) => boolean)[];
127
133
  static get MIN_SPACE_BETWEEN_TICKMARKS(): number;
128
134
  static get TOOLTIP_VISIBILITY(): {
@@ -1 +1 @@
1
- {"version":3,"file":"SliderBase.js","sourceRoot":"","sources":["../src/SliderBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Float from \"@ui5/webcomponents-base/dist/types/Float.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isPhone, supportsTouch } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { PassiveEventListenerObject } from \"@ui5/webcomponents-base/dist/types.js\";\nimport \"@ui5/webcomponents-icons/dist/direction-arrows.js\";\nimport {\n\tisEscape, isHome, isEnd, isUp, isDown, isRight, isLeft, isUpCtrl, isDownCtrl, isRightCtrl, isLeftCtrl, isPlus, isMinus, isPageUp, isPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\n\n// Styles\nimport sliderBaseStyles from \"./generated/themes/SliderBase.css.js\";\n\ntype StateStorage = {\n\t[key: string]: number | undefined,\n}\n\ntype DirectionStart = \"left\" | \"right\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.SliderBase\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-slider\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: sliderBaseStyles,\n})\n/**\n * Fired when the value changes and the user has finished interacting with the slider.\n *\n * @event sap.ui.webc.main.SliderBase#change\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when the value changes due to user interaction that is not yet finished - during mouse/touch dragging.\n *\n * @event sap.ui.webc.main.SliderBase#input\n * @public\n */\n@event(\"input\")\nclass SliderBase extends UI5Element {\n\t/**\n\t * Defines the minimum value of the slider.\n\t *\n\t * @type {sap.ui.webc.base.types.Float}\n\t * @name sap.ui.webc.main.SliderBase.prototype.min\n\t * @defaultvalue 0\n\t * @public\n\t */\n\t@property({ validator: Float, defaultValue: 0 })\n\tmin!: number;\n\n\t/**\n\t * Defines the maximum value of the slider.\n\t *\n\t * @type {sap.ui.webc.base.types.Float}\n\t * @name sap.ui.webc.main.SliderBase.prototype.max\n\t * @defaultvalue 100\n\t * @public\n\t */\n\t@property({ validator: Float, defaultValue: 100 })\n\tmax!: number;\n\n\t/**\n\t * Defines the size of the slider's selection intervals (e.g. min = 0, max = 10, step = 5 would result in possible selection of the values 0, 5, 10).\n\t * <br><br>\n\t * <b>Note:</b> If set to 0 the slider handle movement is disabled. When negative number or value other than a number, the component fallbacks to its default value.\n\t *\n\t * @type {sap.ui.webc.base.types.Integer}\n\t * @name sap.ui.webc.main.SliderBase.prototype.step\n\t * @defaultvalue 1\n\t * @public\n\t */\n\t@property({ validator: Float, defaultValue: 1 })\n\tstep!: number;\n\n\t/**\n\t * Displays a label with a value on every N-th step.\n\t * <br><br>\n\t * <b>Note:</b> The step and tickmarks properties must be enabled.\n\t * Example - if the step value is set to 2 and the label interval is also specified to 2 - then every second\n\t * tickmark will be labelled, which means every 4th value number.\n\t *\n\t * @type {sap.ui.webc.base.types.Integer}\n\t * @name sap.ui.webc.main.SliderBase.prototype.labelInterval\n\t * @defaultvalue 0\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\tlabelInterval!: number;\n\n\t/**\n\t * Enables tickmarks visualization for each step.\n\t * <br><br>\n\t * <b>Note:</b> The step must be a positive number.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.SliderBase.prototype.showTickmarks\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTickmarks!: boolean;\n\n\t/**\n\t * Enables handle tooltip displaying the current value.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.SliderBase.prototype.showTooltip\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTooltip!: boolean;\n\n\t/**\n\t * Defines whether the slider is in disabled state.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.SliderBase.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.SliderBase.prototype.accessibleName\n\t * @defaultvalue: \"\"\n\t * @public\n\t * @since 1.4.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ defaultValue: \"hidden\" })\n\t_tooltipVisibility!: string;\n\n\t@property({ type: Boolean })\n\t_labelsOverlapping!: boolean;\n\n\t@property({ type: Boolean })\n\t_hiddenTickmarks!: boolean;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_moveHandler: (e: TouchEvent | MouseEvent) => void;\n\t_upHandler: () => void;\n\t_stateStorage: StateStorage;\n\t_ontouchstart: PassiveEventListenerObject;\n\tnotResized = false;\n\t_isUserInteraction = false;\n\t_isInnerElementFocusing = false;\n\t_oldNumberOfLabels?: number;\n\t_labelWidth = 0;\n\t_labelValues?: Array<string>;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._resizeHandler = this._handleResize.bind(this);\n\t\tthis._moveHandler = this._handleMove.bind(this);\n\t\tthis._upHandler = this._handleUp.bind(this);\n\n\t\tthis._stateStorage = {\n\t\t\tstep: undefined,\n\t\t\tmin: undefined,\n\t\t\tmax: undefined,\n\t\t\tlabelInterval: undefined,\n\t\t};\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tthis._onmousedown(e);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\t_handleMove(e: TouchEvent | MouseEvent) {} // eslint-disable-line\n\n\t_handleUp() {}\n\n\t_onmousedown(e: TouchEvent | MouseEvent) {} // eslint-disable-line\n\n\t_handleActionKeyPress(e: Event) {} // eslint-disable-line\n\n\tstatic get ACTION_KEYS() {\n\t\treturn [\n\t\t\tisLeft,\n\t\t\tisRight,\n\t\t\tisUp,\n\t\t\tisDown,\n\t\t\tisLeftCtrl,\n\t\t\tisRightCtrl,\n\t\t\tisUpCtrl,\n\t\t\tisDownCtrl,\n\t\t\tisPlus,\n\t\t\tisMinus,\n\t\t\tisHome,\n\t\t\tisEnd,\n\t\t\tisPageUp,\n\t\t\tisPageDown,\n\t\t\tisEscape,\n\t\t];\n\t}\n\n\tstatic get MIN_SPACE_BETWEEN_TICKMARKS() {\n\t\treturn 8;\n\t}\n\n\tstatic get TOOLTIP_VISIBILITY() {\n\t\treturn {\n\t\t\tVISIBLE: \"visible\",\n\t\t\tHIDDEN: \"hidden\",\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-slider-root-phone\": isPhone(),\n\t\t\t},\n\t\t\tlabelContainer: {\n\t\t\t\t\"ui5-slider-hidden-labels\": this._labelsOverlapping,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\tonAfterRendering() {\n\t\t// Only call if the resize is triggered by a state changes other than\n\t\t// the ones that occured on the previous resize and those caused by user interaction.\n\t\tif (this.notResized) {\n\t\t\tthis._resizeHandler();\n\t\t}\n\t}\n\n\t/** Shows the tooltip(s) if the <code>showTooltip</code> property is set to true\n\t *\n\t * @private\n\t */\n\t_onmouseover() {\n\t\tif (this.showTooltip) {\n\t\t\tthis._tooltipVisibility = SliderBase.TOOLTIP_VISIBILITY.VISIBLE;\n\t\t}\n\t}\n\n\t/**\n\t * Hides the tooltip(s) if the <code>showTooltip</code> property is set to true\n\t *\n\t * @private\n\t */\n\t_onmouseout() {\n\t\tif (this.showTooltip && !this.shadowRoot!.activeElement) {\n\t\t\tthis._tooltipVisibility = SliderBase.TOOLTIP_VISIBILITY.HIDDEN;\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this.disabled || this._effectiveStep === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (SliderBase._isActionKey(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._isUserInteraction = true;\n\t\t\tthis._handleActionKeyPress(e);\n\t\t}\n\t}\n\n\t_onkeyup() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isUserInteraction = false;\n\t}\n\n\t/**\n\t * Flags if an inner element is currently being focused\n\t *\n\t * @private\n\t */\n\t_preserveFocus(isFocusing: boolean) {\n\t\tthis._isInnerElementFocusing = isFocusing;\n\t}\n\n\t/**\n\t * Return if an inside element within the component is currently being focused\n\t *\n\t * @private\n\t */\n\t_isFocusing() {\n\t\treturn this._isInnerElementFocusing;\n\t}\n\n\t/**\n\t * Prevent focus out when inner element within the component is currently being in process of focusing in.\n\t *\n\t * @private\n\t */\n\t_preventFocusOut() {\n\t\tthis.focusInnerElement();\n\t}\n\n\t/**\n\t * Manages the focus between the component's inner elements\n\t * @protected\n\t */\n\tfocusInnerElement() {\n\t\tthis.focus();\n\t}\n\n\t/**\n\t * Handle the responsiveness of the Slider's UI elements when resizing\n\t *\n\t * @private\n\t */\n\t_handleResize() {\n\t\tif (!this.showTickmarks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Mark resizing to avoid unneccessary calls to that function after rendering\n\t\tthis.notResized = false;\n\n\t\t// Convert the string represented calculation expression to a normal one\n\t\t// Check the distance in pixels exist between every tickmark\n\t\tconst spaceBetweenTickmarks = this._spaceBetweenTickmarks();\n\n\t\t// If the pixels between the tickmarks are less than 8 only the first and the last one should be visible\n\t\t// In such case the labels must correspond to the tickmarks, only the first and the last one should exist.\n\t\tif (spaceBetweenTickmarks < SliderBase.MIN_SPACE_BETWEEN_TICKMARKS) {\n\t\t\tthis._hiddenTickmarks = true;\n\t\t\tthis._labelsOverlapping = true;\n\t\t} else {\n\t\t\tthis._hiddenTickmarks = false;\n\t\t}\n\n\t\tif (this.labelInterval <= 0 || this._hiddenTickmarks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if there are any overlapping labels.\n\t\t// If so - only the first and the last one should be visible\n\t\tconst labelItems = this.shadowRoot!.querySelectorAll(\".ui5-slider-labels li\");\n\t\tthis._labelsOverlapping = [...labelItems].some(label => label.scrollWidth > label.clientWidth);\n\t}\n\n\t/**\n\t * Called when the user starts interacting with the slider.\n\t * After a down event on the slider root, listen for move events on window, so the slider value\n\t * is updated even if the user drags the pointer outside the slider root.\n\t *\n\t * @protected\n\t */\n\thandleDownBase(e: TouchEvent | MouseEvent) {\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst domRect = this.getBoundingClientRect();\n\t\tconst directionStart = this.directionStart;\n\t\tconst step = this._effectiveStep;\n\t\tconst newValue = SliderBase.getValueFromInteraction(e, step, min, max, domRect, directionStart);\n\n\t\t// Mark start of a user interaction\n\t\tthis._isUserInteraction = true;\n\n\t\twindow.addEventListener(\"mouseup\", this._upHandler);\n\t\twindow.addEventListener(\"touchend\", this._upHandler);\n\t\t// Only allow one type of move event to be listened to (the first one registered after the down event)\n\t\tif (supportsTouch() && e instanceof TouchEvent) {\n\t\t\twindow.addEventListener(\"touchmove\", this._moveHandler);\n\t\t} else {\n\t\t\twindow.addEventListener(\"mousemove\", this._moveHandler);\n\t\t}\n\n\t\tthis._handleFocusOnMouseDown(e);\n\t\treturn newValue;\n\t}\n\n\t/**\n\t * Forward the focus to an inner inner part within the component on press\n\t *\n\t * @private\n\t */\n\t_handleFocusOnMouseDown(e: TouchEvent | MouseEvent) {\n\t\tconst focusedElement = this.shadowRoot!.activeElement;\n\n\t\tif (!focusedElement || focusedElement !== e.target) {\n\t\t\tthis._preserveFocus(true);\n\t\t\tthis.focusInnerElement();\n\t\t}\n\t}\n\n\t/**\n\t * Called when the user finish interacting with the slider\n\t * Fires an <code>change</code> event indicating a final value change, after user interaction is finished.\n\t *\n\t * @protected\n\t */\n\thandleUpBase() {\n\t\twindow.removeEventListener(\"mouseup\", this._upHandler);\n\t\twindow.removeEventListener(\"touchend\", this._upHandler);\n\t\t// Only one of the following was attached, but it's ok to remove both as there is no error\n\t\twindow.removeEventListener(\"mousemove\", this._moveHandler);\n\t\twindow.removeEventListener(\"touchmove\", this._moveHandler);\n\n\t\tthis._isUserInteraction = false;\n\t\tthis._preserveFocus(false);\n\t}\n\n\t/**\n\t * Updates state storage for the value-related property\n\t * Fires an <code>input</code> event indicating a value change via interaction that is not yet finished.\n\t *\n\t * @protected\n\t */\n\tupdateStateStorageAndFireInputEvent(valueType: string) {\n\t\tthis.storePropertyState(valueType);\n\t\tif (this._isUserInteraction) {\n\t\t\tthis.fireEvent(\"input\");\n\t\t}\n\t}\n\n\t/**\n\t * Goes through the key shortcuts available for the component and returns 'true' if the event is triggered by one.\n\t *\n\t * @private\n\t */\n\tstatic _isActionKey(e: KeyboardEvent) {\n\t\treturn this.ACTION_KEYS.some(actionKey => actionKey(e));\n\t}\n\n\t/**\n\t * Locks the given value between min and max boundaries based on slider properties\n\t *\n\t * @protected\n\t */\n\tstatic clipValue(value: number, min: number, max: number): number {\n\t\tvalue = Math.min(Math.max(value, min), max);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Sets the slider value from an event\n\t *\n\t * @protected\n\t */\n\tstatic getValueFromInteraction(e: TouchEvent | MouseEvent, stepSize: number, min: number, max: number, boundingClientRect: DOMRect, directionStart: DirectionStart): number {\n\t\tconst pageX = this.getPageXValueFromEvent(e);\n\t\tconst value = this.computedValueFromPageX(pageX, min, max, boundingClientRect, directionStart);\n\t\tconst steppedValue = this.getSteppedValue(value, stepSize, min);\n\n\t\treturn this.clipValue(steppedValue, min, max);\n\t}\n\n\t/**\n\t * \"Stepify\" the raw value - calculate the new value depending on the specified step property\n\t *\n\t * @protected\n\t */\n\tstatic getSteppedValue(value: number, stepSize: number, min: number): number {\n\t\tconst stepModuloValue = Math.abs((value - min) % stepSize);\n\n\t\tif (stepSize === 0 || stepModuloValue === 0) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Clip (snap) the new value to the nearest step\n\t\tvalue = (stepModuloValue * 2 >= stepSize) ? (value + stepSize) - stepModuloValue : value - stepModuloValue;\n\n\t\t// If the step value is not a round number get its precision\n\t\tconst stepPrecision = SliderBase._getDecimalPrecisionOfNumber(stepSize);\n\t\treturn Number(value.toFixed(stepPrecision));\n\t}\n\n\t/**\n\t * Gets pageX value from event on user interaction with the Slider\n\t *\n\t * @protected\n\t */\n\tstatic getPageXValueFromEvent(e: TouchEvent | MouseEvent): number {\n\t\tif (supportsTouch() && e instanceof TouchEvent) {\n\t\t\tif (e.targetTouches && e.targetTouches.length > 0) {\n\t\t\t\treturn e.targetTouches[0].pageX;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn (e as MouseEvent).pageX; // MouseEvent\n\t}\n\n\t/**\n\t * Computes the new value (in %) from the pageX position of the cursor.\n\t * Returns the value rounded to a precision of at most 2 digits after decimal point.\n\t *\n\t * @protected\n\t */\n\tstatic computedValueFromPageX(pageX: number, min: number, max: number, boundingClientRect: DOMRect, directionStart: DirectionStart) {\n\t\t// Determine pageX position relative to the Slider DOM\n\t\tconst xRelativePosition = directionStart === \"left\" ? pageX - boundingClientRect[directionStart] : boundingClientRect[directionStart] - pageX;\n\t\t// Calculate the percentage complete (the \"progress\")\n\t\tconst percentageComplete = xRelativePosition / boundingClientRect.width;\n\t\t// Fit (map) the complete percentage between the min/max value range\n\t\treturn min + percentageComplete * (max - min);\n\t}\n\n\t/**\n\t * Calculates the precision (decimal places) of a number, returns 0 if integer\n\t * Handles scientific notation cases.\n\t * @private\n\t */\n\tstatic _getDecimalPrecisionOfNumber(value: number) {\n\t\tif (Number.isInteger(value)) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst match = (String(value)).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n\t\tif (!match || match.length < 2) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? Number(match[2]) : 0));\n\t}\n\n\t/**\n\t * In order to always keep the visual UI representation and the internal\n\t * state in sync, the component has a 'state storage' that is updated when the\n\t * current state is changed due to a user action.\n\t *\n\t * Check if the previously saved state is outdated. That would mean\n\t * a property has been changed programmatically because the previous state\n\t * is always updated in the interaction handlers.\n\t *\n\t * Will return true if any of the properties is not equal to its previously\n\t * stored value.\n\t *\n\t * @protected\n\t */\n\tisCurrentStateOutdated() {\n\t\treturn Object.entries(this._stateStorage).some(([propName, propValue]) => this[propName as keyof SliderBase] !== propValue);\n\t}\n\n\t/**\n\t * Returns the last stored value of a property\n\t *\n\t * @protected\n\t */\n\tgetStoredPropertyState(prop: string) {\n\t\treturn this._stateStorage[prop as keyof StateStorage];\n\t}\n\n\t/**\n\t * Check if one or more properties have been updated compared to their last\n\t * saved values in the state storage.\n\t *\n\t * @protected\n\t */\n\tisPropertyUpdated(...props: Array<string>) {\n\t\treturn props.some(prop => this.getStoredPropertyState(prop) !== this[prop as keyof SliderBase]);\n\t}\n\n\t/**\n\t * Updates the previously saved in the _stateStorage values of one or more properties.\n\t *\n\t * @protected\n\t */\n\tstorePropertyState(...props: Array<string>) {\n\t\tprops.forEach(prop => {\n\t\t\tthis._stateStorage[prop as keyof StateStorage] = this[prop as keyof SliderBase] as number;\n\t\t});\n\t}\n\n\t/**\n\t * Returns the start side of a direction - left for LTR, right for RTL\n\t */\n\tget directionStart() {\n\t\treturn this.effectiveDir === \"rtl\" ? \"right\" : \"left\";\n\t}\n\n\t/**\n\t * Calculates the labels amount, width and text and creates them\n\t *\n\t * @private\n\t */\n\t_createLabels() {\n\t\tif (!this.labelInterval || !this.showTickmarks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst labelInterval = this.labelInterval;\n\t\tconst step = this._effectiveStep;\n\t\tconst newNumberOfLabels = (this._effectiveMax - this._effectiveMin) / (step * labelInterval);\n\n\t\t// If the required labels are already rendered\n\t\tif (newNumberOfLabels === this._oldNumberOfLabels) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._oldNumberOfLabels = newNumberOfLabels;\n\t\tthis._labelWidth = 100 / newNumberOfLabels;\n\t\tthis._labelValues = [];\n\n\t\t// If the step value is not a round number get its precision\n\t\tconst stepPrecision = SliderBase._getDecimalPrecisionOfNumber(step);\n\n\t\t// numberOfLabels below can be float so that the \"distance betweenlabels labels\"\n\t\t// calculation to be precize (exactly the same as the distance between the tickmarks).\n\t\t// That's ok as the loop stop condition is set to an integer, so it will practically\n\t\t// \"floor\" the number of labels anyway.\n\t\tfor (let i = 0; i <= newNumberOfLabels; i++) {\n\t\t\t// Format the label numbers with the same decimal precision as the value of the step property\n\t\t\tconst labelItemNumber = ((i * step * labelInterval) + this._effectiveMin).toFixed(stepPrecision);\n\t\t\tthis._labelValues.push(labelItemNumber);\n\t\t}\n\t}\n\n\t_handleActionKeyPressBase(e: KeyboardEvent, affectedPropName: string) {\n\t\tconst isUpAction = SliderBase._isIncreaseValueAction(e);\n\t\tconst isBigStep = SliderBase._isBigStepAction(e);\n\n\t\tconst currentValue = this[affectedPropName as keyof SliderBase] as number;\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\n\t\t// We need to take into consideration the effective direction of the slider - rtl or ltr.\n\t\t// While in ltr, the left arrow key decreases the value, in rtl it should actually increase it.\n\t\tlet step = this.effectiveDir === \"rtl\" ? -this._effectiveStep : this._effectiveStep;\n\n\t\t// If the action key corresponds to a long step and the slider has more than 10 normal steps,\n\t\t// make a jump of 1/10th of the Slider's length, otherwise just use the normal step property.\n\t\tstep = isBigStep && ((max - min) / step > 10) ? (max - min) / 10 : step;\n\n\t\tif (isEnd(e)) {\n\t\t\treturn max - currentValue;\n\t\t}\n\n\t\tif (isHome(e)) {\n\t\t\treturn (currentValue - min) * -1;\n\t\t}\n\n\t\treturn isUpAction ? step : step * -1;\n\t}\n\n\tstatic _isDecreaseValueAction(e: KeyboardEvent) {\n\t\treturn isDown(e) || isDownCtrl(e) || isLeft(e) || isLeftCtrl(e) || isMinus(e) || isPageDown(e);\n\t}\n\n\tstatic _isIncreaseValueAction(e: KeyboardEvent) {\n\t\treturn isUp(e) || isUpCtrl(e) || isRight(e) || isRightCtrl(e) || isPlus(e) || isPageUp(e);\n\t}\n\n\tstatic _isBigStepAction(e: KeyboardEvent) {\n\t\treturn isDownCtrl(e) || isUpCtrl(e) || isLeftCtrl(e) || isRightCtrl(e) || isPageUp(e) || isPageDown(e);\n\t}\n\n\tget _tickmarksCount() {\n\t\treturn (this._effectiveMax - this._effectiveMin) / this._effectiveStep;\n\t}\n\n\t/**\n\t * Calculates space between tickmarks\n\t *\n\t * @private\n\t */\n\t_spaceBetweenTickmarks() {\n\t\treturn this.getBoundingClientRect().width / this._tickmarksCount;\n\t}\n\n\t/**\n\t * Notify in case of a invalid step value type\n\t *\n\t * @private\n\t */\n\t_validateStep(step: number) {\n\t\tif (step === 0) {\n\t\t\tconsole.warn(\"The 'step' property must be a positive float number\"); // eslint-disable-line\n\t\t}\n\n\t\tif (step < 0) {\n\t\t\tconsole.warn(\"The 'step' property must be a positive float number. The provided negative number has been converted to its positve equivalent\"); // eslint-disable-line\n\t\t}\n\n\t\tif (Number.isNaN(step)) {\n\t\t\tconsole.warn(\"The 'step' property must be a positive float number. It has been set to its default value of 1\"); // eslint-disable-line\n\t\t}\n\t}\n\n\tget _labels() {\n\t\treturn this._labelValues || [];\n\t}\n\n\t/**\n\t * Normalizes a new <code>step</code> property value.\n\t * If tickmarks are enabled recreates them according to it.\n\t *\n\t * @private\n\t */\n\tget _effectiveStep() {\n\t\tlet step = this.step;\n\n\t\tif (step < 0) {\n\t\t\tstep = Math.abs(step);\n\t\t}\n\n\t\tif (Number.isNaN(step)) {\n\t\t\tstep = 1;\n\t\t}\n\n\t\treturn step;\n\t}\n\n\tget _effectiveMin() {\n\t\treturn Math.min(this.min, this.max);\n\t}\n\n\tget _effectiveMax() {\n\t\treturn Math.max(this.min, this.max);\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.disabled ? \"-1\" : \"0\";\n\t}\n\n\tget _ariaLabelledByHandleRefs() {\n\t\treturn [`${this._id}-accName`, `${this._id}-sliderDesc`].join(\" \").trim();\n\t}\n}\n\nexport default SliderBase;\n"]}
1
+ {"version":3,"file":"SliderBase.js","sourceRoot":"","sources":["../src/SliderBase.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport Float from \"@ui5/webcomponents-base/dist/types/Float.js\";\nimport Integer from \"@ui5/webcomponents-base/dist/types/Integer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { isPhone, supportsTouch } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { PassiveEventListenerObject } from \"@ui5/webcomponents-base/dist/types.js\";\nimport \"@ui5/webcomponents-icons/dist/direction-arrows.js\";\nimport {\n\tisEscape, isHome, isEnd, isUp, isDown, isRight, isLeft, isUpCtrl, isDownCtrl, isRightCtrl, isLeftCtrl, isPlus, isMinus, isPageUp, isPageDown,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\n\n// Styles\nimport sliderBaseStyles from \"./generated/themes/SliderBase.css.js\";\n\ntype StateStorage = {\n\t[key: string]: number | undefined,\n}\n\ntype DirectionStart = \"left\" | \"right\";\n\n/**\n * @class\n *\n * <h3 class=\"comment-api-title\">Overview</h3>\n *\n *\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.SliderBase\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-slider\n * @public\n */\n@customElement({\n\trenderer: litRender,\n\tstyles: sliderBaseStyles,\n})\n/**\n * Fired when the value changes and the user has finished interacting with the slider.\n *\n * @event sap.ui.webc.main.SliderBase#change\n * @public\n */\n@event(\"change\")\n\n/**\n * Fired when the value changes due to user interaction that is not yet finished - during mouse/touch dragging.\n *\n * @event sap.ui.webc.main.SliderBase#input\n * @public\n */\n@event(\"input\")\nabstract class SliderBase extends UI5Element {\n\t/**\n\t * Defines the minimum value of the slider.\n\t *\n\t * @type {sap.ui.webc.base.types.Float}\n\t * @name sap.ui.webc.main.SliderBase.prototype.min\n\t * @defaultvalue 0\n\t * @public\n\t */\n\t@property({ validator: Float, defaultValue: 0 })\n\tmin!: number;\n\n\t/**\n\t * Defines the maximum value of the slider.\n\t *\n\t * @type {sap.ui.webc.base.types.Float}\n\t * @name sap.ui.webc.main.SliderBase.prototype.max\n\t * @defaultvalue 100\n\t * @public\n\t */\n\t@property({ validator: Float, defaultValue: 100 })\n\tmax!: number;\n\n\t/**\n\t * Defines the size of the slider's selection intervals (e.g. min = 0, max = 10, step = 5 would result in possible selection of the values 0, 5, 10).\n\t * <br><br>\n\t * <b>Note:</b> If set to 0 the slider handle movement is disabled. When negative number or value other than a number, the component fallbacks to its default value.\n\t *\n\t * @type {sap.ui.webc.base.types.Integer}\n\t * @name sap.ui.webc.main.SliderBase.prototype.step\n\t * @defaultvalue 1\n\t * @public\n\t */\n\t@property({ validator: Float, defaultValue: 1 })\n\tstep!: number;\n\n\t/**\n\t * Displays a label with a value on every N-th step.\n\t * <br><br>\n\t * <b>Note:</b> The step and tickmarks properties must be enabled.\n\t * Example - if the step value is set to 2 and the label interval is also specified to 2 - then every second\n\t * tickmark will be labelled, which means every 4th value number.\n\t *\n\t * @type {sap.ui.webc.base.types.Integer}\n\t * @name sap.ui.webc.main.SliderBase.prototype.labelInterval\n\t * @defaultvalue 0\n\t * @public\n\t */\n\t@property({ validator: Integer, defaultValue: 0 })\n\tlabelInterval!: number;\n\n\t/**\n\t * Enables tickmarks visualization for each step.\n\t * <br><br>\n\t * <b>Note:</b> The step must be a positive number.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.SliderBase.prototype.showTickmarks\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTickmarks!: boolean;\n\n\t/**\n\t * Enables handle tooltip displaying the current value.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.SliderBase.prototype.showTooltip\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowTooltip!: boolean;\n\n\t/**\n\t * Defines whether the slider is in disabled state.\n\t *\n\t * @type {boolean}\n\t * @name sap.ui.webc.main.SliderBase.prototype.disabled\n\t * @defaultvalue false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t *\n\t * @type {string}\n\t * @name sap.ui.webc.main.SliderBase.prototype.accessibleName\n\t * @defaultvalue: \"\"\n\t * @public\n\t * @since 1.4.0\n\t */\n\t@property()\n\taccessibleName!: string;\n\n\t/**\n\t * @private\n\t */\n\t@property({ defaultValue: \"hidden\" })\n\t_tooltipVisibility!: string;\n\n\t@property({ type: Boolean })\n\t_labelsOverlapping!: boolean;\n\n\t@property({ type: Boolean })\n\t_hiddenTickmarks!: boolean;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_moveHandler: (e: TouchEvent | MouseEvent) => void;\n\t_upHandler: () => void;\n\t_stateStorage: StateStorage;\n\t_ontouchstart: PassiveEventListenerObject;\n\tnotResized = false;\n\t_isUserInteraction = false;\n\t_isInnerElementFocusing = false;\n\t_oldNumberOfLabels?: number;\n\t_labelWidth = 0;\n\t_labelValues?: Array<string>;\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._resizeHandler = this._handleResize.bind(this);\n\t\tthis._moveHandler = this._handleMove.bind(this);\n\t\tthis._upHandler = this._handleUp.bind(this);\n\n\t\tthis._stateStorage = {\n\t\t\tstep: undefined,\n\t\t\tmin: undefined,\n\t\t\tmax: undefined,\n\t\t\tlabelInterval: undefined,\n\t\t};\n\n\t\tconst handleTouchStartEvent = (e: TouchEvent) => {\n\t\t\tthis._onmousedown(e);\n\t\t};\n\n\t\tthis._ontouchstart = {\n\t\t\thandleEvent: handleTouchStartEvent,\n\t\t\tpassive: true,\n\t\t};\n\t}\n\n\t_handleMove(e: TouchEvent | MouseEvent) {} // eslint-disable-line\n\n\t_handleUp() {}\n\n\t_onmousedown(e: TouchEvent | MouseEvent) {} // eslint-disable-line\n\n\t_handleActionKeyPress(e: Event) {} // eslint-disable-line\n\n\t// used in base template, but implemented in subclasses\n\tabstract styles: {\n\t\tlabel: object,\n\t\tlabelContainer: object,\n\t};\n\n\tabstract tickmarksObject: any;\n\tabstract _ariaLabelledByText: string;\n\n\tstatic get ACTION_KEYS() {\n\t\treturn [\n\t\t\tisLeft,\n\t\t\tisRight,\n\t\t\tisUp,\n\t\t\tisDown,\n\t\t\tisLeftCtrl,\n\t\t\tisRightCtrl,\n\t\t\tisUpCtrl,\n\t\t\tisDownCtrl,\n\t\t\tisPlus,\n\t\t\tisMinus,\n\t\t\tisHome,\n\t\t\tisEnd,\n\t\t\tisPageUp,\n\t\t\tisPageDown,\n\t\t\tisEscape,\n\t\t];\n\t}\n\n\tstatic get MIN_SPACE_BETWEEN_TICKMARKS() {\n\t\treturn 8;\n\t}\n\n\tstatic get TOOLTIP_VISIBILITY() {\n\t\treturn {\n\t\t\tVISIBLE: \"visible\",\n\t\t\tHIDDEN: \"hidden\",\n\t\t};\n\t}\n\n\tget classes() {\n\t\treturn {\n\t\t\troot: {\n\t\t\t\t\"ui5-slider-root-phone\": isPhone(),\n\t\t\t},\n\t\t\tlabelContainer: {\n\t\t\t\t\"ui5-slider-hidden-labels\": this._labelsOverlapping,\n\t\t\t},\n\t\t};\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\tonAfterRendering() {\n\t\t// Only call if the resize is triggered by a state changes other than\n\t\t// the ones that occured on the previous resize and those caused by user interaction.\n\t\tif (this.notResized) {\n\t\t\tthis._resizeHandler();\n\t\t}\n\t}\n\n\t/** Shows the tooltip(s) if the <code>showTooltip</code> property is set to true\n\t *\n\t * @private\n\t */\n\t_onmouseover() {\n\t\tif (this.showTooltip) {\n\t\t\tthis._tooltipVisibility = SliderBase.TOOLTIP_VISIBILITY.VISIBLE;\n\t\t}\n\t}\n\n\t/**\n\t * Hides the tooltip(s) if the <code>showTooltip</code> property is set to true\n\t *\n\t * @private\n\t */\n\t_onmouseout() {\n\t\tif (this.showTooltip && !this.shadowRoot!.activeElement) {\n\t\t\tthis._tooltipVisibility = SliderBase.TOOLTIP_VISIBILITY.HIDDEN;\n\t\t}\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (this.disabled || this._effectiveStep === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (SliderBase._isActionKey(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._isUserInteraction = true;\n\t\t\tthis._handleActionKeyPress(e);\n\t\t}\n\t}\n\n\t_onkeyup() {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isUserInteraction = false;\n\t}\n\n\t/**\n\t * Flags if an inner element is currently being focused\n\t *\n\t * @private\n\t */\n\t_preserveFocus(isFocusing: boolean) {\n\t\tthis._isInnerElementFocusing = isFocusing;\n\t}\n\n\t/**\n\t * Return if an inside element within the component is currently being focused\n\t *\n\t * @private\n\t */\n\t_isFocusing() {\n\t\treturn this._isInnerElementFocusing;\n\t}\n\n\t/**\n\t * Prevent focus out when inner element within the component is currently being in process of focusing in.\n\t *\n\t * @private\n\t */\n\t_preventFocusOut() {\n\t\tthis.focusInnerElement();\n\t}\n\n\t/**\n\t * Manages the focus between the component's inner elements\n\t * @protected\n\t */\n\tfocusInnerElement() {\n\t\tthis.focus();\n\t}\n\n\t/**\n\t * Handle the responsiveness of the Slider's UI elements when resizing\n\t *\n\t * @private\n\t */\n\t_handleResize() {\n\t\tif (!this.showTickmarks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Mark resizing to avoid unneccessary calls to that function after rendering\n\t\tthis.notResized = false;\n\n\t\t// Convert the string represented calculation expression to a normal one\n\t\t// Check the distance in pixels exist between every tickmark\n\t\tconst spaceBetweenTickmarks = this._spaceBetweenTickmarks();\n\n\t\t// If the pixels between the tickmarks are less than 8 only the first and the last one should be visible\n\t\t// In such case the labels must correspond to the tickmarks, only the first and the last one should exist.\n\t\tif (spaceBetweenTickmarks < SliderBase.MIN_SPACE_BETWEEN_TICKMARKS) {\n\t\t\tthis._hiddenTickmarks = true;\n\t\t\tthis._labelsOverlapping = true;\n\t\t} else {\n\t\t\tthis._hiddenTickmarks = false;\n\t\t}\n\n\t\tif (this.labelInterval <= 0 || this._hiddenTickmarks) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if there are any overlapping labels.\n\t\t// If so - only the first and the last one should be visible\n\t\tconst labelItems = this.shadowRoot!.querySelectorAll(\".ui5-slider-labels li\");\n\t\tthis._labelsOverlapping = [...labelItems].some(label => label.scrollWidth > label.clientWidth);\n\t}\n\n\t/**\n\t * Called when the user starts interacting with the slider.\n\t * After a down event on the slider root, listen for move events on window, so the slider value\n\t * is updated even if the user drags the pointer outside the slider root.\n\t *\n\t * @protected\n\t */\n\thandleDownBase(e: TouchEvent | MouseEvent) {\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\t\tconst domRect = this.getBoundingClientRect();\n\t\tconst directionStart = this.directionStart;\n\t\tconst step = this._effectiveStep;\n\t\tconst newValue = SliderBase.getValueFromInteraction(e, step, min, max, domRect, directionStart);\n\n\t\t// Mark start of a user interaction\n\t\tthis._isUserInteraction = true;\n\n\t\twindow.addEventListener(\"mouseup\", this._upHandler);\n\t\twindow.addEventListener(\"touchend\", this._upHandler);\n\t\t// Only allow one type of move event to be listened to (the first one registered after the down event)\n\t\tif (supportsTouch() && e instanceof TouchEvent) {\n\t\t\twindow.addEventListener(\"touchmove\", this._moveHandler);\n\t\t} else {\n\t\t\twindow.addEventListener(\"mousemove\", this._moveHandler);\n\t\t}\n\n\t\tthis._handleFocusOnMouseDown(e);\n\t\treturn newValue;\n\t}\n\n\t/**\n\t * Forward the focus to an inner inner part within the component on press\n\t *\n\t * @private\n\t */\n\t_handleFocusOnMouseDown(e: TouchEvent | MouseEvent) {\n\t\tconst focusedElement = this.shadowRoot!.activeElement;\n\n\t\tif (!focusedElement || focusedElement !== e.target) {\n\t\t\tthis._preserveFocus(true);\n\t\t\tthis.focusInnerElement();\n\t\t}\n\t}\n\n\t/**\n\t * Called when the user finish interacting with the slider\n\t * Fires an <code>change</code> event indicating a final value change, after user interaction is finished.\n\t *\n\t * @protected\n\t */\n\thandleUpBase() {\n\t\twindow.removeEventListener(\"mouseup\", this._upHandler);\n\t\twindow.removeEventListener(\"touchend\", this._upHandler);\n\t\t// Only one of the following was attached, but it's ok to remove both as there is no error\n\t\twindow.removeEventListener(\"mousemove\", this._moveHandler);\n\t\twindow.removeEventListener(\"touchmove\", this._moveHandler);\n\n\t\tthis._isUserInteraction = false;\n\t\tthis._preserveFocus(false);\n\t}\n\n\t/**\n\t * Updates state storage for the value-related property\n\t * Fires an <code>input</code> event indicating a value change via interaction that is not yet finished.\n\t *\n\t * @protected\n\t */\n\tupdateStateStorageAndFireInputEvent(valueType: string) {\n\t\tthis.storePropertyState(valueType);\n\t\tif (this._isUserInteraction) {\n\t\t\tthis.fireEvent(\"input\");\n\t\t}\n\t}\n\n\t/**\n\t * Goes through the key shortcuts available for the component and returns 'true' if the event is triggered by one.\n\t *\n\t * @private\n\t */\n\tstatic _isActionKey(e: KeyboardEvent) {\n\t\treturn this.ACTION_KEYS.some(actionKey => actionKey(e));\n\t}\n\n\t/**\n\t * Locks the given value between min and max boundaries based on slider properties\n\t *\n\t * @protected\n\t */\n\tstatic clipValue(value: number, min: number, max: number): number {\n\t\tvalue = Math.min(Math.max(value, min), max);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Sets the slider value from an event\n\t *\n\t * @protected\n\t */\n\tstatic getValueFromInteraction(e: TouchEvent | MouseEvent, stepSize: number, min: number, max: number, boundingClientRect: DOMRect, directionStart: DirectionStart): number {\n\t\tconst pageX = this.getPageXValueFromEvent(e);\n\t\tconst value = this.computedValueFromPageX(pageX, min, max, boundingClientRect, directionStart);\n\t\tconst steppedValue = this.getSteppedValue(value, stepSize, min);\n\n\t\treturn this.clipValue(steppedValue, min, max);\n\t}\n\n\t/**\n\t * \"Stepify\" the raw value - calculate the new value depending on the specified step property\n\t *\n\t * @protected\n\t */\n\tstatic getSteppedValue(value: number, stepSize: number, min: number): number {\n\t\tconst stepModuloValue = Math.abs((value - min) % stepSize);\n\n\t\tif (stepSize === 0 || stepModuloValue === 0) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Clip (snap) the new value to the nearest step\n\t\tvalue = (stepModuloValue * 2 >= stepSize) ? (value + stepSize) - stepModuloValue : value - stepModuloValue;\n\n\t\t// If the step value is not a round number get its precision\n\t\tconst stepPrecision = SliderBase._getDecimalPrecisionOfNumber(stepSize);\n\t\treturn Number(value.toFixed(stepPrecision));\n\t}\n\n\t/**\n\t * Gets pageX value from event on user interaction with the Slider\n\t *\n\t * @protected\n\t */\n\tstatic getPageXValueFromEvent(e: TouchEvent | MouseEvent): number {\n\t\tif (supportsTouch() && e instanceof TouchEvent) {\n\t\t\tif (e.targetTouches && e.targetTouches.length > 0) {\n\t\t\t\treturn e.targetTouches[0].pageX;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn (e as MouseEvent).pageX; // MouseEvent\n\t}\n\n\t/**\n\t * Computes the new value (in %) from the pageX position of the cursor.\n\t * Returns the value rounded to a precision of at most 2 digits after decimal point.\n\t *\n\t * @protected\n\t */\n\tstatic computedValueFromPageX(pageX: number, min: number, max: number, boundingClientRect: DOMRect, directionStart: DirectionStart) {\n\t\t// Determine pageX position relative to the Slider DOM\n\t\tconst xRelativePosition = directionStart === \"left\" ? pageX - boundingClientRect[directionStart] : boundingClientRect[directionStart] - pageX;\n\t\t// Calculate the percentage complete (the \"progress\")\n\t\tconst percentageComplete = xRelativePosition / boundingClientRect.width;\n\t\t// Fit (map) the complete percentage between the min/max value range\n\t\treturn min + percentageComplete * (max - min);\n\t}\n\n\t/**\n\t * Calculates the precision (decimal places) of a number, returns 0 if integer\n\t * Handles scientific notation cases.\n\t * @private\n\t */\n\tstatic _getDecimalPrecisionOfNumber(value: number) {\n\t\tif (Number.isInteger(value)) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst match = (String(value)).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n\t\tif (!match || match.length < 2) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn Math.max(0, (match[1] ? match[1].length : 0) - (match[2] ? Number(match[2]) : 0));\n\t}\n\n\t/**\n\t * In order to always keep the visual UI representation and the internal\n\t * state in sync, the component has a 'state storage' that is updated when the\n\t * current state is changed due to a user action.\n\t *\n\t * Check if the previously saved state is outdated. That would mean\n\t * a property has been changed programmatically because the previous state\n\t * is always updated in the interaction handlers.\n\t *\n\t * Will return true if any of the properties is not equal to its previously\n\t * stored value.\n\t *\n\t * @protected\n\t */\n\tisCurrentStateOutdated() {\n\t\treturn Object.entries(this._stateStorage).some(([propName, propValue]) => this[propName as keyof SliderBase] !== propValue);\n\t}\n\n\t/**\n\t * Returns the last stored value of a property\n\t *\n\t * @protected\n\t */\n\tgetStoredPropertyState(prop: string) {\n\t\treturn this._stateStorage[prop as keyof StateStorage];\n\t}\n\n\t/**\n\t * Check if one or more properties have been updated compared to their last\n\t * saved values in the state storage.\n\t *\n\t * @protected\n\t */\n\tisPropertyUpdated(...props: Array<string>) {\n\t\treturn props.some(prop => this.getStoredPropertyState(prop) !== this[prop as keyof SliderBase]);\n\t}\n\n\t/**\n\t * Updates the previously saved in the _stateStorage values of one or more properties.\n\t *\n\t * @protected\n\t */\n\tstorePropertyState(...props: Array<string>) {\n\t\tprops.forEach(prop => {\n\t\t\tthis._stateStorage[prop as keyof StateStorage] = this[prop as keyof SliderBase] as number;\n\t\t});\n\t}\n\n\t/**\n\t * Returns the start side of a direction - left for LTR, right for RTL\n\t */\n\tget directionStart() {\n\t\treturn this.effectiveDir === \"rtl\" ? \"right\" : \"left\";\n\t}\n\n\t/**\n\t * Calculates the labels amount, width and text and creates them\n\t *\n\t * @private\n\t */\n\t_createLabels() {\n\t\tif (!this.labelInterval || !this.showTickmarks) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst labelInterval = this.labelInterval;\n\t\tconst step = this._effectiveStep;\n\t\tconst newNumberOfLabels = (this._effectiveMax - this._effectiveMin) / (step * labelInterval);\n\n\t\t// If the required labels are already rendered\n\t\tif (newNumberOfLabels === this._oldNumberOfLabels) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._oldNumberOfLabels = newNumberOfLabels;\n\t\tthis._labelWidth = 100 / newNumberOfLabels;\n\t\tthis._labelValues = [];\n\n\t\t// If the step value is not a round number get its precision\n\t\tconst stepPrecision = SliderBase._getDecimalPrecisionOfNumber(step);\n\n\t\t// numberOfLabels below can be float so that the \"distance betweenlabels labels\"\n\t\t// calculation to be precize (exactly the same as the distance between the tickmarks).\n\t\t// That's ok as the loop stop condition is set to an integer, so it will practically\n\t\t// \"floor\" the number of labels anyway.\n\t\tfor (let i = 0; i <= newNumberOfLabels; i++) {\n\t\t\t// Format the label numbers with the same decimal precision as the value of the step property\n\t\t\tconst labelItemNumber = ((i * step * labelInterval) + this._effectiveMin).toFixed(stepPrecision);\n\t\t\tthis._labelValues.push(labelItemNumber);\n\t\t}\n\t}\n\n\t_handleActionKeyPressBase(e: KeyboardEvent, affectedPropName: string) {\n\t\tconst isUpAction = SliderBase._isIncreaseValueAction(e);\n\t\tconst isBigStep = SliderBase._isBigStepAction(e);\n\n\t\tconst currentValue = this[affectedPropName as keyof SliderBase] as number;\n\t\tconst min = this._effectiveMin;\n\t\tconst max = this._effectiveMax;\n\n\t\t// We need to take into consideration the effective direction of the slider - rtl or ltr.\n\t\t// While in ltr, the left arrow key decreases the value, in rtl it should actually increase it.\n\t\tlet step = this.effectiveDir === \"rtl\" ? -this._effectiveStep : this._effectiveStep;\n\n\t\t// If the action key corresponds to a long step and the slider has more than 10 normal steps,\n\t\t// make a jump of 1/10th of the Slider's length, otherwise just use the normal step property.\n\t\tstep = isBigStep && ((max - min) / step > 10) ? (max - min) / 10 : step;\n\n\t\tif (isEnd(e)) {\n\t\t\treturn max - currentValue;\n\t\t}\n\n\t\tif (isHome(e)) {\n\t\t\treturn (currentValue - min) * -1;\n\t\t}\n\n\t\treturn isUpAction ? step : step * -1;\n\t}\n\n\tstatic _isDecreaseValueAction(e: KeyboardEvent) {\n\t\treturn isDown(e) || isDownCtrl(e) || isLeft(e) || isLeftCtrl(e) || isMinus(e) || isPageDown(e);\n\t}\n\n\tstatic _isIncreaseValueAction(e: KeyboardEvent) {\n\t\treturn isUp(e) || isUpCtrl(e) || isRight(e) || isRightCtrl(e) || isPlus(e) || isPageUp(e);\n\t}\n\n\tstatic _isBigStepAction(e: KeyboardEvent) {\n\t\treturn isDownCtrl(e) || isUpCtrl(e) || isLeftCtrl(e) || isRightCtrl(e) || isPageUp(e) || isPageDown(e);\n\t}\n\n\tget _tickmarksCount() {\n\t\treturn (this._effectiveMax - this._effectiveMin) / this._effectiveStep;\n\t}\n\n\t/**\n\t * Calculates space between tickmarks\n\t *\n\t * @private\n\t */\n\t_spaceBetweenTickmarks() {\n\t\treturn this.getBoundingClientRect().width / this._tickmarksCount;\n\t}\n\n\t/**\n\t * Notify in case of a invalid step value type\n\t *\n\t * @private\n\t */\n\t_validateStep(step: number) {\n\t\tif (step === 0) {\n\t\t\tconsole.warn(\"The 'step' property must be a positive float number\"); // eslint-disable-line\n\t\t}\n\n\t\tif (step < 0) {\n\t\t\tconsole.warn(\"The 'step' property must be a positive float number. The provided negative number has been converted to its positve equivalent\"); // eslint-disable-line\n\t\t}\n\n\t\tif (Number.isNaN(step)) {\n\t\t\tconsole.warn(\"The 'step' property must be a positive float number. It has been set to its default value of 1\"); // eslint-disable-line\n\t\t}\n\t}\n\n\tget _labels() {\n\t\treturn this._labelValues || [];\n\t}\n\n\t/**\n\t * Normalizes a new <code>step</code> property value.\n\t * If tickmarks are enabled recreates them according to it.\n\t *\n\t * @private\n\t */\n\tget _effectiveStep() {\n\t\tlet step = this.step;\n\n\t\tif (step < 0) {\n\t\t\tstep = Math.abs(step);\n\t\t}\n\n\t\tif (Number.isNaN(step)) {\n\t\t\tstep = 1;\n\t\t}\n\n\t\treturn step;\n\t}\n\n\tget _effectiveMin() {\n\t\treturn Math.min(this.min, this.max);\n\t}\n\n\tget _effectiveMax() {\n\t\treturn Math.max(this.min, this.max);\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.disabled ? \"-1\" : \"0\";\n\t}\n\n\tget _ariaLabelledByHandleRefs() {\n\t\treturn [`${this._id}-accName`, `${this._id}-sliderDesc`].join(\" \").trim();\n\t}\n}\n\nexport default SliderBase;\n"]}
package/dist/Tab.d.ts CHANGED
@@ -7,6 +7,8 @@ import "@ui5/webcomponents-icons/dist/sys-enter-2.js";
7
7
  import SemanticColor from "./types/SemanticColor.js";
8
8
  import ListItemType from "./types/ListItemType.js";
9
9
  import type { ITab } from "./TabContainer.js";
10
+ import TabInStripTemplate from "./generated/templates/TabInStripTemplate.lit.js";
11
+ import TabInOverflowTemplate from "./generated/templates/TabInOverflowTemplate.lit.js";
10
12
  /**
11
13
  * @class
12
14
  * The <code>ui5-tab</code> represents a selectable item inside a <code>ui5-tabcontainer</code>.
@@ -40,7 +42,7 @@ declare class Tab extends UI5Element implements ITab, ITabbable {
40
42
  */
41
43
  disabled: boolean;
42
44
  /**
43
- * Represents the "additionalText" text, which is displayed in the tab.
45
+ * Represents the "additionalText" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the "additionalText" is displayed larger.
44
46
  * @type {string}
45
47
  * @defaultvalue ""
46
48
  * @public
@@ -149,7 +151,11 @@ declare class Tab extends UI5Element implements ITab, ITabbable {
149
151
  get effectiveHidden(): boolean;
150
152
  get tabs(): Array<Tab>;
151
153
  get ariaLabelledBy(): string;
152
- get stripClasses(): string;
154
+ get stripClasses(): {
155
+ itemClasses: string;
156
+ additionalTextClasses: string;
157
+ };
158
+ get additionalTextClasses(): string;
153
159
  get expandButtonTitle(): string;
154
160
  get _roleDescription(): string | undefined;
155
161
  get _ariaHasPopup(): "menu" | undefined;
@@ -158,8 +164,8 @@ declare class Tab extends UI5Element implements ITab, ITabbable {
158
164
  get semanticIconClasses(): string;
159
165
  get overflowClasses(): string;
160
166
  get overflowState(): ListItemType.Inactive | ListItemType.Active;
161
- static get stripTemplate(): import("@ui5/webcomponents-base/dist/renderer/executeTemplate.js").TemplateFunction;
162
- static get overflowTemplate(): import("@ui5/webcomponents-base/dist/renderer/executeTemplate.js").TemplateFunction;
167
+ static get stripTemplate(): typeof TabInStripTemplate;
168
+ static get overflowTemplate(): typeof TabInOverflowTemplate;
163
169
  static onDefine(): Promise<void>;
164
170
  }
165
171
  export default Tab;
package/dist/Tab.js CHANGED
@@ -169,7 +169,7 @@ let Tab = Tab_1 = class Tab extends UI5Element {
169
169
  classes.push("ui5-tab-strip-item--inline");
170
170
  }
171
171
  if (this.additionalText) {
172
- classes.push("ui5-tab-strip-item--withAddionalText");
172
+ classes.push("ui5-tab-strip-item--withAdditionalText");
173
173
  }
174
174
  if (!this.icon && !this._mixedMode) {
175
175
  classes.push("ui5-tab-strip-item--textOnly");
@@ -186,6 +186,19 @@ let Tab = Tab_1 = class Tab extends UI5Element {
186
186
  if (this.isSingleClickArea) {
187
187
  classes.push(`ui5-tab-strip-item--singleClickArea`);
188
188
  }
189
+ return {
190
+ itemClasses: classes.join(" "),
191
+ additionalTextClasses: this.additionalTextClasses,
192
+ };
193
+ }
194
+ get additionalTextClasses() {
195
+ const classes = [];
196
+ if (this.additionalText) {
197
+ classes.push("ui5-tab-strip-itemAdditionalText");
198
+ }
199
+ if (this.icon && !this.additionalText) {
200
+ classes.push("ui5-tab-strip-itemAdditionalText-hidden");
201
+ }
189
202
  return classes.join(" ");
190
203
  }
191
204
  get expandButtonTitle() {
package/dist/Tab.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../src/Tab.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tTAB_ARIA_DESIGN_POSITIVE,\n\tTAB_ARIA_DESIGN_NEGATIVE,\n\tTAB_ARIA_DESIGN_CRITICAL,\n\tTAB_ARIA_DESIGN_NEUTRAL,\n\tTABCONTAINER_END_OVERFLOW,\n\tTAB_SPLIT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport TabContainer from \"./TabContainer.js\";\nimport type { ITab } from \"./TabContainer.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport CustomListItem from \"./CustomListItem.js\";\n\n// Templates\nimport TabTemplate from \"./generated/templates/TabTemplate.lit.js\";\nimport TabInStripTemplate from \"./generated/templates/TabInStripTemplate.lit.js\";\nimport TabInOverflowTemplate from \"./generated/templates/TabInOverflowTemplate.lit.js\";\n\n// Styles\nimport css from \"./generated/themes/Tab.css.js\";\nimport stripCss from \"./generated/themes/TabInStrip.css.js\";\nimport overflowCss from \"./generated/themes/TabInOverflow.css.js\";\n\nconst DESIGN_DESCRIPTIONS = {\n\t[SemanticColor.Positive]: TAB_ARIA_DESIGN_POSITIVE,\n\t[SemanticColor.Negative]: TAB_ARIA_DESIGN_NEGATIVE,\n\t[SemanticColor.Neutral]: TAB_ARIA_DESIGN_NEUTRAL,\n\t[SemanticColor.Critical]: TAB_ARIA_DESIGN_CRITICAL,\n};\n\n/**\n * @class\n * The <code>ui5-tab</code> represents a selectable item inside a <code>ui5-tabcontainer</code>.\n * It defines both the item in the tab strip (top part of the <code>ui5-tabcontainer</code>) and the\n * content that is presented to the user once the tab is selected.\n *\n * @abstract\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Tab\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-tab\n * @implements sap.ui.webc.main.ITab\n * @public\n */\n@customElement({\n\ttag: \"ui5-tab\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TabTemplate,\n\tstyles: css,\n\tdependencies: [\n\t\tIcon,\n\t\tButton,\n\t\tCustomListItem,\n\t],\n})\nclass Tab extends UI5Element implements ITab, ITabbable {\n\t/**\n\t * The text to be displayed for the item.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.text\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Disabled tabs can't be selected.\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.disabled\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Represents the \"additionalText\" text, which is displayed in the tab.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.additionalText\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the icon source URI to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous built-in icons.\n\t * See all the available icons in the <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.icon\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the component's design color.\n\t * <br><br>\n\t * The design is applied to:\n\t * <ul>\n\t * <li>the component icon</li>\n\t * <li>the <code>text</code> when the component overflows</li>\n\t * <li>the tab selection line</li>\n\t * </ul>\n\t *\n\t * <br><br>\n\t * Available designs are: <code>\"Default\"</code>, <code>\"Neutral\"</code>, <code>\"Positive\"</code>, <code>\"Critical\"</code> and <code>\"Negative\"</code>.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> The design depends on the current theme.\n\t * @type {sap.ui.webc.main.types.SemanticColor}\n\t * @defaultvalue \"Default\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.design\n\t */\n\t@property({ type: SemanticColor, defaultValue: SemanticColor.Default })\n\tdesign!: SemanticColor;\n\n\t/**\n\t * Specifies if the component is selected.\n\t *\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.selected\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t@property({ type: Boolean })\n\t_selected!: boolean;\n\n\t@property({ type: Object })\n\t_realTab!: Tab;\n\n\t@property({ type: Boolean })\n\t_isTopLevelTab!: boolean;\n\n\t/**\n\t * Holds the content associated with this tab.\n\t *\n\t * @type {Node[]}\n\t * @public\n\t * @slot\n\t * @name sap.ui.webc.main.Tab.prototype.default\n\t */\n\t@slot({\n\t\ttype: Node,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Defines hierarchies with nested sub tabs.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-tab</code> and <code>ui5-tab-separator</code> for the intended design.\n\t *\n\t * @type {sap.ui.webc.main.ITab[]}\n\t * @public\n\t * @slot subTabs\n\t * @name sap.ui.webc.main.Tab.prototype.subTabs\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tsubTabs!: Array<ITab>\n\n\t_isInline?: boolean;\n\t_mixedMode?: boolean;\n\t_getElementInStrip?: () => ITab | null;\n\t_individualSlot!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset _tabIndex(val: string) {\n\t\tthis.getTabInStripDomRef()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.getTabInStripDomRef()!.getAttribute(\"tabindex\")!;\n\t}\n\n\tget displayText() {\n\t\tlet text = this.text;\n\n\t\tif (this._isInline && this.additionalText) {\n\t\t\ttext += ` (${this.additionalText})`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stripPresentation() {\n\t\treturn executeTemplate(Tab.stripTemplate, this);\n\t}\n\n\tget overflowPresentation() {\n\t\treturn executeTemplate(Tab.overflowTemplate, this);\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget requiresExpandButton() {\n\t\treturn this.subTabs.length > 0 && this._isTopLevelTab && this._hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.subTabs.length > 0 && this._isTopLevelTab && !this._hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this._realTab === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);\n\t}\n\n\tget _effectiveSlotName() {\n\t\treturn this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;\n\t}\n\n\tget _defaultSlotName() {\n\t\treturn this._realTab === this ? \"\" : \"disabled-slot\";\n\t}\n\n\tget _hasOwnContent() {\n\t\treturn willShowContent(this.content);\n\t}\n\n\t/**\n\t * Returns the DOM reference of the tab that is placed in the header.\n\t * <b>Note:</b> Tabs, placed in the <code>subTabs</code> slot of other tabs are not shown in the header. Calling this method on such tabs will return <code>null</code>.\n\t * <b>Note:</b> If you need a DOM ref to the tab content please use the <code>getDomRef</code> method.\n\t *\n\t * @function\n\t * @public\n * @name sap.ui.webc.main.Tab.prototype.getTabInStripDomRef\n\t * @since 1.0.0-rc.16\n\t */\n\tgetTabInStripDomRef() {\n\t\tif (this._getElementInStrip) {\n\t\t\treturn this._getElementInStrip();\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetFocusDomRef() {\n\t\tlet focusedDomRef = super.getFocusDomRef();\n\n\t\tif (this._getElementInStrip && this._getElementInStrip()) {\n\t\t\tfocusedDomRef = this._getElementInStrip()!;\n\t\t}\n\n\t\treturn focusedDomRef;\n\t}\n\n\tget isMixedModeTab() {\n\t\treturn !this.icon && this._mixedMode;\n\t}\n\n\tget isTextOnlyTab() {\n\t\treturn !this.icon && !this._mixedMode;\n\t}\n\n\tget isIconTab() {\n\t\treturn !!this.icon;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget effectiveSelected() {\n\t\tconst subItemSelected = this.tabs.some(elem => elem.effectiveSelected);\n\t\treturn this.selected || this._selected || subItemSelected;\n\t}\n\n\tget effectiveHidden() {\n\t\treturn !this.effectiveSelected;\n\t}\n\n\tget tabs(): Array<Tab> {\n\t\treturn this.subTabs.filter((tab): tab is Tab => !tab.isSeparator);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst labels = [];\n\n\t\tif (this.text) {\n\t\t\tlabels.push(`${this._id}-text`);\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tlabels.push(`${this._id}-additionalText`);\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tlabels.push(`${this._id}-icon`);\n\t\t}\n\n\t\tif (this._designDescription) {\n\t\t\tlabels.push(`${this._id}-designDescription`);\n\t\t}\n\n\t\treturn labels.join(\" \");\n\t}\n\n\tget stripClasses() {\n\t\tconst classes = [\"ui5-tab-strip-item\"];\n\n\t\tif (this.effectiveSelected) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--selected\");\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--disabled\");\n\t\t}\n\n\t\tif (this._isInline) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--inline\");\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withAddionalText\");\n\t\t}\n\n\t\tif (!this.icon && !this._mixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--textOnly\");\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withIcon\");\n\t\t}\n\n\t\tif (!this.icon && this._mixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--mixedMode\");\n\t\t}\n\n\t\tif (this.design !== SemanticColor.Default) {\n\t\t\tclasses.push(`ui5-tab-strip-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.isSingleClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--singleClickArea`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget expandButtonTitle() {\n\t\treturn Tab.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget _roleDescription() {\n\t\treturn this.subTabs.length > 0 ? Tab.i18nBundle.getText(TAB_SPLIT_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this.isSingleClickArea ? \"menu\" : undefined;\n\t}\n\n\tget semanticIconName() {\n\t\tswitch (this.design) {\n\t\tcase SemanticColor.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase SemanticColor.Negative:\n\t\t\treturn \"error\";\n\t\tcase SemanticColor.Critical:\n\t\t\treturn \"alert\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget _designDescription() {\n\t\tif (this.design === SemanticColor.Default) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tab.i18nBundle.getText(DESIGN_DESCRIPTIONS[this.design]);\n\t}\n\n\tget semanticIconClasses() {\n\t\tconst classes = [\"ui5-tab-semantic-icon\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-semantic-icon--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowClasses() {\n\t\tconst classes = [\"ui5-tab-overflow-item\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-overflow-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--disabled\");\n\t\t}\n\n\t\tif (this.selected) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--selectedSubTab\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowState() {\n\t\treturn (this.disabled || this.isSingleClickArea) ? ListItemType.Inactive : ListItemType.Active;\n\t}\n\n\tstatic get stripTemplate() {\n\t\treturn TabInStripTemplate;\n\t}\n\n\tstatic get overflowTemplate() {\n\t\treturn TabInOverflowTemplate;\n\t}\n\n\tstatic async onDefine() {\n\t\tTab.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerStaticAreaTabStyles(overflowCss);\n\nexport default Tab;\n"]}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../src/Tab.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport litRender from \"@ui5/webcomponents-base/dist/renderer/LitRenderer.js\";\nimport executeTemplate from \"@ui5/webcomponents-base/dist/renderer/executeTemplate.js\";\nimport willShowContent from \"@ui5/webcomponents-base/dist/util/willShowContent.js\";\nimport { getI18nBundle } from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport {\n\tTAB_ARIA_DESIGN_POSITIVE,\n\tTAB_ARIA_DESIGN_NEGATIVE,\n\tTAB_ARIA_DESIGN_CRITICAL,\n\tTAB_ARIA_DESIGN_NEUTRAL,\n\tTABCONTAINER_END_OVERFLOW,\n\tTAB_SPLIT_ROLE_DESCRIPTION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\nimport \"@ui5/webcomponents-icons/dist/error.js\";\nimport \"@ui5/webcomponents-icons/dist/alert.js\";\nimport \"@ui5/webcomponents-icons/dist/sys-enter-2.js\";\nimport SemanticColor from \"./types/SemanticColor.js\";\nimport ListItemType from \"./types/ListItemType.js\";\nimport TabContainer from \"./TabContainer.js\";\nimport type { ITab } from \"./TabContainer.js\";\nimport Icon from \"./Icon.js\";\nimport Button from \"./Button.js\";\nimport CustomListItem from \"./CustomListItem.js\";\n\n// Templates\nimport TabTemplate from \"./generated/templates/TabTemplate.lit.js\";\nimport TabInStripTemplate from \"./generated/templates/TabInStripTemplate.lit.js\";\nimport TabInOverflowTemplate from \"./generated/templates/TabInOverflowTemplate.lit.js\";\n\n// Styles\nimport css from \"./generated/themes/Tab.css.js\";\nimport stripCss from \"./generated/themes/TabInStrip.css.js\";\nimport overflowCss from \"./generated/themes/TabInOverflow.css.js\";\n\nconst DESIGN_DESCRIPTIONS = {\n\t[SemanticColor.Positive]: TAB_ARIA_DESIGN_POSITIVE,\n\t[SemanticColor.Negative]: TAB_ARIA_DESIGN_NEGATIVE,\n\t[SemanticColor.Neutral]: TAB_ARIA_DESIGN_NEUTRAL,\n\t[SemanticColor.Critical]: TAB_ARIA_DESIGN_CRITICAL,\n};\n\n/**\n * @class\n * The <code>ui5-tab</code> represents a selectable item inside a <code>ui5-tabcontainer</code>.\n * It defines both the item in the tab strip (top part of the <code>ui5-tabcontainer</code>) and the\n * content that is presented to the user once the tab is selected.\n *\n * @abstract\n * @constructor\n * @author SAP SE\n * @alias sap.ui.webc.main.Tab\n * @extends sap.ui.webc.base.UI5Element\n * @tagname ui5-tab\n * @implements sap.ui.webc.main.ITab\n * @public\n */\n@customElement({\n\ttag: \"ui5-tab\",\n\tlanguageAware: true,\n\trenderer: litRender,\n\ttemplate: TabTemplate,\n\tstyles: css,\n\tdependencies: [\n\t\tIcon,\n\t\tButton,\n\t\tCustomListItem,\n\t],\n})\nclass Tab extends UI5Element implements ITab, ITabbable {\n\t/**\n\t * The text to be displayed for the item.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.text\n\t */\n\t@property()\n\ttext!: string;\n\n\t/**\n\t * Disabled tabs can't be selected.\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.disabled\n\t */\n\t@property({ type: Boolean })\n\tdisabled!: boolean;\n\n\t/**\n\t * Represents the \"additionalText\" text, which is displayed in the tab. In the cases when in the same time there are tabs with icons and tabs without icons, if a tab has no icon the \"additionalText\" is displayed larger.\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.additionalText\n\t */\n\t@property()\n\tadditionalText!: string;\n\n\t/**\n\t * Defines the icon source URI to be displayed as graphical element within the component.\n\t * The SAP-icons font provides numerous built-in icons.\n\t * See all the available icons in the <ui5-link target=\"_blank\" href=\"https://sdk.openui5.org/test-resources/sap/m/demokit/iconExplorer/webapp/index.html\">Icon Explorer</ui5-link>.\n\t *\n\t * @type {string}\n\t * @defaultvalue \"\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.icon\n\t */\n\t@property()\n\ticon!: string;\n\n\t/**\n\t * Defines the component's design color.\n\t * <br><br>\n\t * The design is applied to:\n\t * <ul>\n\t * <li>the component icon</li>\n\t * <li>the <code>text</code> when the component overflows</li>\n\t * <li>the tab selection line</li>\n\t * </ul>\n\t *\n\t * <br><br>\n\t * Available designs are: <code>\"Default\"</code>, <code>\"Neutral\"</code>, <code>\"Positive\"</code>, <code>\"Critical\"</code> and <code>\"Negative\"</code>.\n\t *\n\t * <br><br>\n\t * <b>Note:</b> The design depends on the current theme.\n\t * @type {sap.ui.webc.main.types.SemanticColor}\n\t * @defaultvalue \"Default\"\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.design\n\t */\n\t@property({ type: SemanticColor, defaultValue: SemanticColor.Default })\n\tdesign!: SemanticColor;\n\n\t/**\n\t * Specifies if the component is selected.\n\t *\n\t * @type {boolean}\n\t * @defaultvalue false\n\t * @public\n\t * @name sap.ui.webc.main.Tab.prototype.selected\n\t */\n\t@property({ type: Boolean })\n\tselected!: boolean;\n\n\t@property({ type: Boolean })\n\t_selected!: boolean;\n\n\t@property({ type: Object })\n\t_realTab!: Tab;\n\n\t@property({ type: Boolean })\n\t_isTopLevelTab!: boolean;\n\n\t/**\n\t * Holds the content associated with this tab.\n\t *\n\t * @type {Node[]}\n\t * @public\n\t * @slot\n\t * @name sap.ui.webc.main.Tab.prototype.default\n\t */\n\t@slot({\n\t\ttype: Node,\n\t\t\"default\": true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcontent!: Array<Node>;\n\n\t/**\n\t * Defines hierarchies with nested sub tabs.\n\t * <br><br>\n\t * <b>Note:</b> Use <code>ui5-tab</code> and <code>ui5-tab-separator</code> for the intended design.\n\t *\n\t * @type {sap.ui.webc.main.ITab[]}\n\t * @public\n\t * @slot subTabs\n\t * @name sap.ui.webc.main.Tab.prototype.subTabs\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tsubTabs!: Array<ITab>\n\n\t_isInline?: boolean;\n\t_mixedMode?: boolean;\n\t_getElementInStrip?: () => ITab | null;\n\t_individualSlot!: string;\n\n\tstatic i18nBundle: I18nBundle;\n\n\tset _tabIndex(val: string) {\n\t\tthis.getTabInStripDomRef()!.setAttribute(\"tabindex\", val);\n\t}\n\n\tget _tabIndex() {\n\t\treturn this.getTabInStripDomRef()!.getAttribute(\"tabindex\")!;\n\t}\n\n\tget displayText() {\n\t\tlet text = this.text;\n\n\t\tif (this._isInline && this.additionalText) {\n\t\t\ttext += ` (${this.additionalText})`;\n\t\t}\n\n\t\treturn text;\n\t}\n\n\tget isSeparator() {\n\t\treturn false;\n\t}\n\n\tget stripPresentation() {\n\t\treturn executeTemplate(Tab.stripTemplate, this);\n\t}\n\n\tget overflowPresentation() {\n\t\treturn executeTemplate(Tab.overflowTemplate, this);\n\t}\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\tget requiresExpandButton() {\n\t\treturn this.subTabs.length > 0 && this._isTopLevelTab && this._hasOwnContent;\n\t}\n\n\tget isSingleClickArea() {\n\t\treturn this.subTabs.length > 0 && this._isTopLevelTab && !this._hasOwnContent;\n\t}\n\n\tget isOnSelectedTabPath(): boolean {\n\t\treturn this._realTab === this || this.tabs.some(subTab => subTab.isOnSelectedTabPath);\n\t}\n\n\tget _effectiveSlotName() {\n\t\treturn this.isOnSelectedTabPath ? this._individualSlot : `disabled-${this._individualSlot}`;\n\t}\n\n\tget _defaultSlotName() {\n\t\treturn this._realTab === this ? \"\" : \"disabled-slot\";\n\t}\n\n\tget _hasOwnContent() {\n\t\treturn willShowContent(this.content);\n\t}\n\n\t/**\n\t * Returns the DOM reference of the tab that is placed in the header.\n\t * <b>Note:</b> Tabs, placed in the <code>subTabs</code> slot of other tabs are not shown in the header. Calling this method on such tabs will return <code>null</code>.\n\t * <b>Note:</b> If you need a DOM ref to the tab content please use the <code>getDomRef</code> method.\n\t *\n\t * @function\n\t * @public\n * @name sap.ui.webc.main.Tab.prototype.getTabInStripDomRef\n\t * @since 1.0.0-rc.16\n\t */\n\tgetTabInStripDomRef() {\n\t\tif (this._getElementInStrip) {\n\t\t\treturn this._getElementInStrip();\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetFocusDomRef() {\n\t\tlet focusedDomRef = super.getFocusDomRef();\n\n\t\tif (this._getElementInStrip && this._getElementInStrip()) {\n\t\t\tfocusedDomRef = this._getElementInStrip()!;\n\t\t}\n\n\t\treturn focusedDomRef;\n\t}\n\n\tget isMixedModeTab() {\n\t\treturn !this.icon && this._mixedMode;\n\t}\n\n\tget isTextOnlyTab() {\n\t\treturn !this.icon && !this._mixedMode;\n\t}\n\n\tget isIconTab() {\n\t\treturn !!this.icon;\n\t}\n\n\tget effectiveDisabled() {\n\t\treturn this.disabled || undefined;\n\t}\n\n\tget effectiveSelected() {\n\t\tconst subItemSelected = this.tabs.some(elem => elem.effectiveSelected);\n\t\treturn this.selected || this._selected || subItemSelected;\n\t}\n\n\tget effectiveHidden() {\n\t\treturn !this.effectiveSelected;\n\t}\n\n\tget tabs(): Array<Tab> {\n\t\treturn this.subTabs.filter((tab): tab is Tab => !tab.isSeparator);\n\t}\n\n\tget ariaLabelledBy() {\n\t\tconst labels = [];\n\n\t\tif (this.text) {\n\t\t\tlabels.push(`${this._id}-text`);\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tlabels.push(`${this._id}-additionalText`);\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tlabels.push(`${this._id}-icon`);\n\t\t}\n\n\t\tif (this._designDescription) {\n\t\t\tlabels.push(`${this._id}-designDescription`);\n\t\t}\n\n\t\treturn labels.join(\" \");\n\t}\n\n\tget stripClasses() {\n\t\tconst classes = [\"ui5-tab-strip-item\"];\n\n\t\tif (this.effectiveSelected) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--selected\");\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--disabled\");\n\t\t}\n\n\t\tif (this._isInline) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--inline\");\n\t\t}\n\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withAdditionalText\");\n\t\t}\n\n\t\tif (!this.icon && !this._mixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--textOnly\");\n\t\t}\n\n\t\tif (this.icon) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--withIcon\");\n\t\t}\n\n\t\tif (!this.icon && this._mixedMode) {\n\t\t\tclasses.push(\"ui5-tab-strip-item--mixedMode\");\n\t\t}\n\n\t\tif (this.design !== SemanticColor.Default) {\n\t\t\tclasses.push(`ui5-tab-strip-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.isSingleClickArea) {\n\t\t\tclasses.push(`ui5-tab-strip-item--singleClickArea`);\n\t\t}\n\n\t\treturn {\n\t\t\titemClasses: classes.join(\" \"),\n\t\t\tadditionalTextClasses: this.additionalTextClasses,\n\t\t};\n\t}\n\n\tget additionalTextClasses() {\n\t\tconst classes = [];\n\t\tif (this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText\");\n\t\t}\n\n\t\tif (this.icon && !this.additionalText) {\n\t\t\tclasses.push(\"ui5-tab-strip-itemAdditionalText-hidden\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget expandButtonTitle() {\n\t\treturn Tab.i18nBundle.getText(TABCONTAINER_END_OVERFLOW);\n\t}\n\n\tget _roleDescription() {\n\t\treturn this.subTabs.length > 0 ? Tab.i18nBundle.getText(TAB_SPLIT_ROLE_DESCRIPTION) : undefined;\n\t}\n\n\tget _ariaHasPopup() {\n\t\treturn this.isSingleClickArea ? \"menu\" : undefined;\n\t}\n\n\tget semanticIconName() {\n\t\tswitch (this.design) {\n\t\tcase SemanticColor.Positive:\n\t\t\treturn \"sys-enter-2\";\n\t\tcase SemanticColor.Negative:\n\t\t\treturn \"error\";\n\t\tcase SemanticColor.Critical:\n\t\t\treturn \"alert\";\n\t\tdefault:\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tget _designDescription() {\n\t\tif (this.design === SemanticColor.Default) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Tab.i18nBundle.getText(DESIGN_DESCRIPTIONS[this.design]);\n\t}\n\n\tget semanticIconClasses() {\n\t\tconst classes = [\"ui5-tab-semantic-icon\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-semantic-icon--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowClasses() {\n\t\tconst classes = [\"ui5-tab-overflow-item\"];\n\n\t\tif (this.design !== SemanticColor.Default && this.design !== SemanticColor.Neutral) {\n\t\t\tclasses.push(`ui5-tab-overflow-item--${this.design.toLowerCase()}`);\n\t\t}\n\n\t\tif (this.effectiveDisabled) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--disabled\");\n\t\t}\n\n\t\tif (this.selected) {\n\t\t\tclasses.push(\"ui5-tab-overflow-item--selectedSubTab\");\n\t\t}\n\n\t\treturn classes.join(\" \");\n\t}\n\n\tget overflowState() {\n\t\treturn (this.disabled || this.isSingleClickArea) ? ListItemType.Inactive : ListItemType.Active;\n\t}\n\n\tstatic get stripTemplate() {\n\t\treturn TabInStripTemplate;\n\t}\n\n\tstatic get overflowTemplate() {\n\t\treturn TabInOverflowTemplate;\n\t}\n\n\tstatic async onDefine() {\n\t\tTab.i18nBundle = await getI18nBundle(\"@ui5/webcomponents\");\n\t}\n}\n\nTab.define();\n\nTabContainer.registerTabStyles(stripCss);\nTabContainer.registerStaticAreaTabStyles(overflowCss);\n\nexport default Tab;\n"]}
@@ -297,17 +297,17 @@ declare class TabContainer extends UI5Element {
297
297
  /**
298
298
  * Returns all slotted tabs and their subTabs in a flattened array.
299
299
  * The order of tabs is depth-first. For example, given the following slotted elements:
300
- * <code>
301
- * <ui5-tabcontainer>
302
- * <ui5-tab id="First" text="First">
300
+ * <pre><code>
301
+ * &lt;ui5-tabcontainer&gt;
302
+ * &lt;ui5-tab id="First" text="First"&gt;
303
303
  * ...
304
- * <ui5-tab slot="subTabs" id="Nested" text="Nested">...</ui5-tab>
305
- * </ui5-tab>
306
- * <ui5-tab id="Second" text="Second">...</ui5-tab>
307
- * <ui5-tab-separator id="sep"></ui5-tab-separator>
308
- * <ui5-tab id="Third" text="Third">...</ui5-tab>
309
- * </ui5-tabcontainer>
310
- * </code>
304
+ * &lt;ui5-tab slot="subTabs" id="Nested" text="Nested"&gt;...&lt;/ui5-tab&gt;
305
+ * &lt;/ui5-tab&gt;
306
+ * &lt;ui5-tab id="Second" text="Second"&gt;...&lt;/ui5-tab&gt;
307
+ * &lt;ui5-tab-separator id="sep"&gt;&lt;/ui5-tab-separator&gt;
308
+ * &lt;ui5-tab id="Third" text="Third"&gt;...&lt;/ui5-tab&gt;
309
+ * &lt;/ui5-tabcontainer&gt;
310
+ * </code></pre>
311
311
  * Calling <code>allItems</code> on this TabContainer will return the instances in the following order:
312
312
  * <code>[ ui5-tab#First, ui5-tab#Nested, ui5-tab#Second, ui5-tab-separator#sep, ui5-tab#Third ]</code>
313
313
  * @public
@@ -310,17 +310,17 @@ let TabContainer = TabContainer_1 = class TabContainer extends UI5Element {
310
310
  /**
311
311
  * Returns all slotted tabs and their subTabs in a flattened array.
312
312
  * The order of tabs is depth-first. For example, given the following slotted elements:
313
- * <code>
314
- * <ui5-tabcontainer>
315
- * <ui5-tab id="First" text="First">
313
+ * <pre><code>
314
+ * &lt;ui5-tabcontainer&gt;
315
+ * &lt;ui5-tab id="First" text="First"&gt;
316
316
  * ...
317
- * <ui5-tab slot="subTabs" id="Nested" text="Nested">...</ui5-tab>
318
- * </ui5-tab>
319
- * <ui5-tab id="Second" text="Second">...</ui5-tab>
320
- * <ui5-tab-separator id="sep"></ui5-tab-separator>
321
- * <ui5-tab id="Third" text="Third">...</ui5-tab>
322
- * </ui5-tabcontainer>
323
- * </code>
317
+ * &lt;ui5-tab slot="subTabs" id="Nested" text="Nested"&gt;...&lt;/ui5-tab&gt;
318
+ * &lt;/ui5-tab&gt;
319
+ * &lt;ui5-tab id="Second" text="Second"&gt;...&lt;/ui5-tab&gt;
320
+ * &lt;ui5-tab-separator id="sep"&gt;&lt;/ui5-tab-separator&gt;
321
+ * &lt;ui5-tab id="Third" text="Third"&gt;...&lt;/ui5-tab&gt;
322
+ * &lt;/ui5-tabcontainer&gt;
323
+ * </code></pre>
324
324
  * Calling <code>allItems</code> on this TabContainer will return the instances in the following order:
325
325
  * <code>[ ui5-tab#First, ui5-tab#Nested, ui5-tab#Second, ui5-tab-separator#sep, ui5-tab#Third ]</code>
326
326
  * @public