@sapudex/web-components 0.127.6 → 0.138.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/bundle.esm.js +2 -0
  2. package/dist/Accordion.d.ts +1 -1
  3. package/dist/Accordion.js +1 -1
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/AccordionItem.d.ts +1 -1
  6. package/dist/AccordionItem.js +2 -2
  7. package/dist/AccordionItem.js.map +1 -1
  8. package/dist/Checkbox.d.ts +1 -1
  9. package/dist/Checkbox.js +1 -1
  10. package/dist/Checkbox.js.map +1 -1
  11. package/dist/CountrySelector.d.ts +24 -6
  12. package/dist/CountrySelector.js +25 -7
  13. package/dist/CountrySelector.js.map +1 -1
  14. package/dist/DatePicker.d.ts +1 -0
  15. package/dist/DatePicker.js +4 -1
  16. package/dist/DatePicker.js.map +1 -1
  17. package/dist/Dropdown.d.ts +1 -1
  18. package/dist/Dropdown.js +3 -3
  19. package/dist/Dropdown.js.map +1 -1
  20. package/dist/FilterMenu.d.ts +19 -5
  21. package/dist/FilterMenu.js +57 -20
  22. package/dist/FilterMenu.js.map +1 -1
  23. package/dist/Footer.d.ts +9 -1
  24. package/dist/Footer.js +8 -1
  25. package/dist/Footer.js.map +1 -1
  26. package/dist/Link.d.ts +1 -1
  27. package/dist/Link.js +1 -1
  28. package/dist/Link.js.map +1 -1
  29. package/dist/List.d.ts +1 -1
  30. package/dist/List.js +17 -1
  31. package/dist/List.js.map +1 -1
  32. package/dist/ListGroupHeader.d.ts +2 -2
  33. package/dist/ListGroupHeader.js +2 -2
  34. package/dist/ListGroupHeader.js.map +1 -1
  35. package/dist/ListItem.d.ts +3 -3
  36. package/dist/ListItem.js +6 -7
  37. package/dist/ListItem.js.map +1 -1
  38. package/dist/ListSelectAll.d.ts +1 -1
  39. package/dist/ListSelectAll.js +1 -1
  40. package/dist/ListSelectAll.js.map +1 -1
  41. package/dist/MastheadItem.d.ts +9 -1
  42. package/dist/MastheadItem.js +26 -9
  43. package/dist/MastheadItem.js.map +1 -1
  44. package/dist/MastheadMenu.d.ts +5 -0
  45. package/dist/MastheadMenu.js +24 -0
  46. package/dist/MastheadMenu.js.map +1 -1
  47. package/dist/MastheadMenuItem.d.ts +2 -3
  48. package/dist/MastheadMenuItem.js +2 -17
  49. package/dist/MastheadMenuItem.js.map +1 -1
  50. package/dist/MastheadMobileMenu.d.ts +25 -5
  51. package/dist/MastheadMobileMenu.js +135 -21
  52. package/dist/MastheadMobileMenu.js.map +1 -1
  53. package/dist/MastheadProfileMenu.d.ts +13 -4
  54. package/dist/MastheadProfileMenu.js +40 -9
  55. package/dist/MastheadProfileMenu.js.map +1 -1
  56. package/dist/MastheadShell.d.ts +3 -0
  57. package/dist/MastheadShell.js +42 -8
  58. package/dist/MastheadShell.js.map +1 -1
  59. package/dist/MediaPlayer.d.ts +3 -3
  60. package/dist/MediaPlayer.js +115 -25
  61. package/dist/MediaPlayer.js.map +1 -1
  62. package/dist/PhoneNumberField.d.ts +26 -0
  63. package/dist/PhoneNumberField.js +46 -2
  64. package/dist/PhoneNumberField.js.map +1 -1
  65. package/dist/ReviewItem.d.ts +105 -0
  66. package/dist/ReviewItem.js +157 -0
  67. package/dist/ReviewItem.js.map +1 -0
  68. package/dist/Search.d.ts +15 -1
  69. package/dist/Search.js +30 -5
  70. package/dist/Search.js.map +1 -1
  71. package/dist/SecondaryNavigation.d.ts +1 -0
  72. package/dist/SecondaryNavigation.js +11 -10
  73. package/dist/SecondaryNavigation.js.map +1 -1
  74. package/dist/SecondaryNavigationItem.js +1 -1
  75. package/dist/SecondaryNavigationItem.js.map +1 -1
  76. package/dist/SecondaryNavigationItemBase.js +1 -1
  77. package/dist/SecondaryNavigationItemBase.js.map +1 -1
  78. package/dist/SelectBox.d.ts +33 -9
  79. package/dist/SelectBox.js +119 -60
  80. package/dist/SelectBox.js.map +1 -1
  81. package/dist/Switch.d.ts +19 -0
  82. package/dist/Switch.js +19 -0
  83. package/dist/Switch.js.map +1 -1
  84. package/dist/Tab.d.ts +1 -1
  85. package/dist/Tab.js +1 -1
  86. package/dist/Tab.js.map +1 -1
  87. package/dist/TabNavigation.d.ts +1 -1
  88. package/dist/TabNavigation.js +1 -1
  89. package/dist/TabNavigation.js.map +1 -1
  90. package/dist/Tag.d.ts +9 -1
  91. package/dist/Tag.js +20 -3
  92. package/dist/Tag.js.map +1 -1
  93. package/dist/TagGroup.d.ts +94 -0
  94. package/dist/TagGroup.js +174 -0
  95. package/dist/TagGroup.js.map +1 -0
  96. package/dist/TextArea.d.ts +13 -0
  97. package/dist/TextArea.js +15 -0
  98. package/dist/TextArea.js.map +1 -1
  99. package/dist/TextField.d.ts +23 -13
  100. package/dist/TextField.js +16 -2
  101. package/dist/TextField.js.map +1 -1
  102. package/dist/Tooltip.d.ts +1 -1
  103. package/dist/Tooltip.js +1 -1
  104. package/dist/Tooltip.js.map +1 -1
  105. package/dist/assets/{bundle.esm-7d53f4f2.js → bundle.esm-bb1c7413.js} +190 -188
  106. package/dist/assets/messagebundle_en-c677773a.js +1 -0
  107. package/dist/assets/parameters-bundle.css-c897ae23.js +2 -0
  108. package/dist/assets/video.es-60bfb78c.js +228 -0
  109. package/dist/css/themes/CountrySelector.css +1 -1
  110. package/dist/css/themes/FilterMenu.css +1 -1
  111. package/dist/css/themes/ListItem.css +1 -1
  112. package/dist/css/themes/MastheadItem.css +1 -1
  113. package/dist/css/themes/MastheadMobileMenu.css +1 -1
  114. package/dist/css/themes/PhoneNumberField.css +1 -1
  115. package/dist/css/themes/RatingIndicator.css +1 -1
  116. package/dist/css/themes/ReviewItem.css +1 -0
  117. package/dist/css/themes/Search.css +1 -1
  118. package/dist/css/themes/SecondaryNavigation.css +1 -1
  119. package/dist/css/themes/SecondaryNavigationItem.css +1 -1
  120. package/dist/css/themes/SecondaryNavigationSubItem.css +1 -1
  121. package/dist/css/themes/SelectBox.css +1 -1
  122. package/dist/css/themes/Slider.css +1 -1
  123. package/dist/css/themes/Tag.css +1 -1
  124. package/dist/css/themes/TagGroup.css +1 -0
  125. package/dist/css/themes/TextArea.css +1 -1
  126. package/dist/css/themes/TextField.css +1 -1
  127. package/dist/css/themes/Toast.css +1 -1
  128. package/dist/css/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css +1 -1
  129. package/dist/custom-elements-internal.json +783 -362
  130. package/dist/custom-elements.json +751 -369
  131. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  132. package/dist/generated/assets/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.json +1 -1
  133. package/dist/generated/i18n/i18n-defaults.d.ts +3 -1
  134. package/dist/generated/i18n/i18n-defaults.js +6 -4
  135. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  136. package/dist/generated/templates/CountrySelectorTemplate.lit.js +3 -3
  137. package/dist/generated/templates/CountrySelectorTemplate.lit.js.map +1 -1
  138. package/dist/generated/templates/DatePickerTemplate.lit.js +1 -1
  139. package/dist/generated/templates/DatePickerTemplate.lit.js.map +1 -1
  140. package/dist/generated/templates/DropdownTemplate.lit.js +2 -2
  141. package/dist/generated/templates/DropdownTemplate.lit.js.map +1 -1
  142. package/dist/generated/templates/FilterMenuTemplate.lit.js +1 -1
  143. package/dist/generated/templates/FilterMenuTemplate.lit.js.map +1 -1
  144. package/dist/generated/templates/FooterTemplate.lit.js +9 -9
  145. package/dist/generated/templates/FooterTemplate.lit.js.map +1 -1
  146. package/dist/generated/templates/HeroBannerTemplate.lit.js +7 -8
  147. package/dist/generated/templates/HeroBannerTemplate.lit.js.map +1 -1
  148. package/dist/generated/templates/ListItemTemplate.lit.js +6 -6
  149. package/dist/generated/templates/ListItemTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/ListSelectAllTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ListSelectAllTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/MastheadItemTemplate.lit.js +3 -3
  153. package/dist/generated/templates/MastheadItemTemplate.lit.js.map +1 -1
  154. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js +1 -1
  155. package/dist/generated/templates/MastheadMenuItemTemplate.lit.js.map +1 -1
  156. package/dist/generated/templates/MastheadMenuTemplate.lit.js +2 -2
  157. package/dist/generated/templates/MastheadMenuTemplate.lit.js.map +1 -1
  158. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js +16 -12
  159. package/dist/generated/templates/MastheadMobileMenuTemplate.lit.js.map +1 -1
  160. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js +2 -2
  161. package/dist/generated/templates/MastheadProfileMenuTemplate.lit.js.map +1 -1
  162. package/dist/generated/templates/MastheadShellTemplate.lit.js +7 -7
  163. package/dist/generated/templates/MastheadShellTemplate.lit.js.map +1 -1
  164. package/dist/generated/templates/MediaPlayerTemplate.lit.js +2 -2
  165. package/dist/generated/templates/MediaPlayerTemplate.lit.js.map +1 -1
  166. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js +5 -2
  167. package/dist/generated/templates/PhoneNumberFieldTemplate.lit.js.map +1 -1
  168. package/dist/generated/templates/ReviewItemTemplate.lit.d.ts +4 -0
  169. package/dist/generated/templates/ReviewItemTemplate.lit.js +8 -0
  170. package/dist/generated/templates/ReviewItemTemplate.lit.js.map +1 -0
  171. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js +7 -6
  172. package/dist/generated/templates/SecondaryNavigationTemplate.lit.js.map +1 -1
  173. package/dist/generated/templates/SelectBoxTemplate.lit.js +2 -2
  174. package/dist/generated/templates/SelectBoxTemplate.lit.js.map +1 -1
  175. package/dist/generated/templates/TabHeaderTemplate.lit.js +2 -2
  176. package/dist/generated/templates/TabHeaderTemplate.lit.js.map +1 -1
  177. package/dist/generated/templates/TabInOverflowTemplate.lit.js +6 -6
  178. package/dist/generated/templates/TabInOverflowTemplate.lit.js.map +1 -1
  179. package/dist/generated/templates/TabNavigationTemplate.lit.js +3 -1
  180. package/dist/generated/templates/TabNavigationTemplate.lit.js.map +1 -1
  181. package/dist/generated/templates/TagGroupTemplate.lit.d.ts +4 -0
  182. package/dist/generated/templates/TagGroupTemplate.lit.js +8 -0
  183. package/dist/generated/templates/TagGroupTemplate.lit.js.map +1 -0
  184. package/dist/generated/templates/TagTemplate.lit.js +11 -7
  185. package/dist/generated/templates/TagTemplate.lit.js.map +1 -1
  186. package/dist/generated/templates/TextAreaTemplate.lit.js +1 -1
  187. package/dist/generated/templates/TextAreaTemplate.lit.js.map +1 -1
  188. package/dist/generated/templates/TextFieldTemplate.lit.js +1 -1
  189. package/dist/generated/templates/TextFieldTemplate.lit.js.map +1 -1
  190. package/dist/generated/themes/CountrySelector.css.js +1 -1
  191. package/dist/generated/themes/CountrySelector.css.js.map +1 -1
  192. package/dist/generated/themes/FilterMenu.css.js +1 -1
  193. package/dist/generated/themes/FilterMenu.css.js.map +1 -1
  194. package/dist/generated/themes/ListItem.css.js +1 -1
  195. package/dist/generated/themes/ListItem.css.js.map +1 -1
  196. package/dist/generated/themes/MastheadItem.css.js +1 -1
  197. package/dist/generated/themes/MastheadItem.css.js.map +1 -1
  198. package/dist/generated/themes/MastheadMobileMenu.css.js +1 -1
  199. package/dist/generated/themes/MastheadMobileMenu.css.js.map +1 -1
  200. package/dist/generated/themes/PhoneNumberField.css.js +1 -1
  201. package/dist/generated/themes/PhoneNumberField.css.js.map +1 -1
  202. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  203. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  204. package/dist/generated/themes/ReviewItem.css.d.ts +3 -0
  205. package/dist/generated/themes/ReviewItem.css.js +9 -0
  206. package/dist/generated/themes/ReviewItem.css.js.map +1 -0
  207. package/dist/generated/themes/Search.css.js +1 -1
  208. package/dist/generated/themes/Search.css.js.map +1 -1
  209. package/dist/generated/themes/SecondaryNavigation.css.js +1 -1
  210. package/dist/generated/themes/SecondaryNavigation.css.js.map +1 -1
  211. package/dist/generated/themes/SecondaryNavigationItem.css.js +1 -1
  212. package/dist/generated/themes/SecondaryNavigationItem.css.js.map +1 -1
  213. package/dist/generated/themes/SecondaryNavigationSubItem.css.js +1 -1
  214. package/dist/generated/themes/SecondaryNavigationSubItem.css.js.map +1 -1
  215. package/dist/generated/themes/SelectBox.css.js +1 -1
  216. package/dist/generated/themes/SelectBox.css.js.map +1 -1
  217. package/dist/generated/themes/Slider.css.js +1 -1
  218. package/dist/generated/themes/Slider.css.js.map +1 -1
  219. package/dist/generated/themes/Tag.css.js +1 -1
  220. package/dist/generated/themes/Tag.css.js.map +1 -1
  221. package/dist/generated/themes/TagGroup.css.d.ts +3 -0
  222. package/dist/generated/themes/TagGroup.css.js +9 -0
  223. package/dist/generated/themes/TagGroup.css.js.map +1 -0
  224. package/dist/generated/themes/TextArea.css.js +1 -1
  225. package/dist/generated/themes/TextArea.css.js.map +1 -1
  226. package/dist/generated/themes/TextField.css.js +1 -1
  227. package/dist/generated/themes/TextField.css.js.map +1 -1
  228. package/dist/generated/themes/Toast.css.js +1 -1
  229. package/dist/generated/themes/Toast.css.js.map +1 -1
  230. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js +1 -1
  231. package/dist/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.js.map +1 -1
  232. package/dist/i18n/messagebundle.properties +7 -3
  233. package/dist/i18n/messagebundle_en.properties +5 -3
  234. package/dist/vscode.html-custom-data.json +148 -78
  235. package/dist/web-types.json +382 -142
  236. package/package.json +8 -8
  237. package/src/Accordion.ts +1 -1
  238. package/src/AccordionItem.ts +2 -2
  239. package/src/Checkbox.ts +1 -1
  240. package/src/CountrySelector.hbs +19 -15
  241. package/src/CountrySelector.ts +42 -9
  242. package/src/DatePicker.hbs +7 -8
  243. package/src/DatePicker.ts +14 -10
  244. package/src/Dropdown.hbs +3 -0
  245. package/src/Dropdown.ts +3 -3
  246. package/src/FilterMenu.hbs +58 -59
  247. package/src/FilterMenu.ts +91 -37
  248. package/src/Footer.hbs +9 -0
  249. package/src/Footer.ts +10 -1
  250. package/src/HeroBanner.hbs +4 -1
  251. package/src/Link.ts +1 -1
  252. package/src/List.ts +43 -23
  253. package/src/ListGroupHeader.ts +2 -2
  254. package/src/ListItem.hbs +4 -2
  255. package/src/ListItem.ts +8 -10
  256. package/src/ListSelectAll.hbs +1 -1
  257. package/src/ListSelectAll.ts +1 -1
  258. package/src/MastheadItem.hbs +5 -3
  259. package/src/MastheadItem.ts +35 -8
  260. package/src/MastheadMenu.hbs +4 -2
  261. package/src/MastheadMenu.ts +30 -0
  262. package/src/MastheadMenuItem.hbs +0 -2
  263. package/src/MastheadMenuItem.ts +2 -16
  264. package/src/MastheadMobileMenu.hbs +36 -10
  265. package/src/MastheadMobileMenu.ts +162 -22
  266. package/src/MastheadProfileMenu.hbs +6 -2
  267. package/src/MastheadProfileMenu.ts +66 -20
  268. package/src/MastheadShell.hbs +10 -4
  269. package/src/MastheadShell.ts +49 -8
  270. package/src/MediaPlayer.hbs +1 -3
  271. package/src/MediaPlayer.ts +122 -26
  272. package/src/PhoneNumberField.hbs +18 -3
  273. package/src/PhoneNumberField.ts +67 -2
  274. package/src/ReviewItem.hbs +20 -0
  275. package/src/ReviewItem.ts +227 -0
  276. package/src/Search.ts +41 -4
  277. package/src/SecondaryNavigation.hbs +9 -7
  278. package/src/SecondaryNavigation.ts +13 -11
  279. package/src/SecondaryNavigationItem.ts +1 -1
  280. package/src/SecondaryNavigationItemBase.ts +1 -1
  281. package/src/SelectBox.hbs +9 -7
  282. package/src/SelectBox.ts +153 -72
  283. package/src/Switch.ts +21 -0
  284. package/src/Tab.ts +1 -1
  285. package/src/TabHeader.hbs +3 -1
  286. package/src/TabInOverflow.hbs +16 -4
  287. package/src/TabNavigation.hbs +15 -7
  288. package/src/TabNavigation.ts +1 -1
  289. package/src/Tag.hbs +28 -12
  290. package/src/Tag.ts +25 -4
  291. package/src/TagGroup.hbs +48 -0
  292. package/src/TagGroup.ts +222 -0
  293. package/src/TextArea.hbs +36 -33
  294. package/src/TextArea.ts +25 -0
  295. package/src/TextField.hbs +8 -6
  296. package/src/TextField.ts +50 -18
  297. package/src/Tooltip.ts +1 -1
  298. package/src/generated/i18n/i18n-defaults.ts +2 -2
  299. package/src/generated/templates/CountrySelectorTemplate.lit.ts +3 -3
  300. package/src/generated/templates/DatePickerTemplate.lit.ts +1 -1
  301. package/src/generated/templates/DropdownTemplate.lit.ts +2 -2
  302. package/src/generated/templates/FilterMenuTemplate.lit.ts +1 -1
  303. package/src/generated/templates/FooterTemplate.lit.ts +9 -9
  304. package/src/generated/templates/HeroBannerTemplate.lit.ts +7 -8
  305. package/src/generated/templates/ListItemTemplate.lit.ts +6 -6
  306. package/src/generated/templates/ListSelectAllTemplate.lit.ts +1 -1
  307. package/src/generated/templates/MastheadItemTemplate.lit.ts +3 -3
  308. package/src/generated/templates/MastheadMenuItemTemplate.lit.ts +1 -1
  309. package/src/generated/templates/MastheadMenuTemplate.lit.ts +2 -2
  310. package/src/generated/templates/MastheadMobileMenuTemplate.lit.ts +16 -12
  311. package/src/generated/templates/MastheadProfileMenuTemplate.lit.ts +2 -2
  312. package/src/generated/templates/MastheadShellTemplate.lit.ts +7 -7
  313. package/src/generated/templates/MediaPlayerTemplate.lit.ts +2 -2
  314. package/src/generated/templates/PhoneNumberFieldTemplate.lit.ts +5 -2
  315. package/src/generated/templates/ReviewItemTemplate.lit.ts +13 -0
  316. package/src/generated/templates/SecondaryNavigationTemplate.lit.ts +7 -6
  317. package/src/generated/templates/SelectBoxTemplate.lit.ts +2 -2
  318. package/src/generated/templates/TabHeaderTemplate.lit.ts +2 -2
  319. package/src/generated/templates/TabInOverflowTemplate.lit.ts +6 -6
  320. package/src/generated/templates/TabNavigationTemplate.lit.ts +3 -1
  321. package/src/generated/templates/TagGroupTemplate.lit.ts +13 -0
  322. package/src/generated/templates/TagTemplate.lit.ts +11 -7
  323. package/src/generated/templates/TextAreaTemplate.lit.ts +1 -1
  324. package/src/generated/templates/TextFieldTemplate.lit.ts +1 -1
  325. package/src/generated/themes/CountrySelector.css.ts +1 -1
  326. package/src/generated/themes/FilterMenu.css.ts +1 -1
  327. package/src/generated/themes/ListItem.css.ts +1 -1
  328. package/src/generated/themes/MastheadItem.css.ts +1 -1
  329. package/src/generated/themes/MastheadMobileMenu.css.ts +1 -1
  330. package/src/generated/themes/PhoneNumberField.css.ts +1 -1
  331. package/src/generated/themes/RatingIndicator.css.ts +1 -1
  332. package/src/generated/themes/ReviewItem.css.ts +13 -0
  333. package/src/generated/themes/Search.css.ts +1 -1
  334. package/src/generated/themes/SecondaryNavigation.css.ts +1 -1
  335. package/src/generated/themes/SecondaryNavigationItem.css.ts +1 -1
  336. package/src/generated/themes/SecondaryNavigationSubItem.css.ts +1 -1
  337. package/src/generated/themes/SelectBox.css.ts +1 -1
  338. package/src/generated/themes/Slider.css.ts +1 -1
  339. package/src/generated/themes/Tag.css.ts +1 -1
  340. package/src/generated/themes/TagGroup.css.ts +13 -0
  341. package/src/generated/themes/TextArea.css.ts +1 -1
  342. package/src/generated/themes/TextField.css.ts +1 -1
  343. package/src/generated/themes/Toast.css.ts +1 -1
  344. package/src/generated/themes/overrides/@ui5/webcomponents/sap_glow/parameters-bundle.css.ts +1 -1
  345. package/src/i18n/messagebundle.properties +7 -3
  346. package/src/i18n/messagebundle_en.properties +5 -3
  347. package/src/themes/CountrySelector.css +49 -26
  348. package/src/themes/FilterMenu.css +52 -15
  349. package/src/themes/ListItem.css +4 -0
  350. package/src/themes/MastheadItem.css +12 -2
  351. package/src/themes/MastheadMobileMenu.css +4 -0
  352. package/src/themes/PhoneNumberField.css +14 -1
  353. package/src/themes/ReviewItem.css +121 -0
  354. package/src/themes/Search.css +9 -0
  355. package/src/themes/SecondaryNavigation.css +13 -14
  356. package/src/themes/SecondaryNavigationItem.css +3 -2
  357. package/src/themes/SecondaryNavigationSubItem.css +5 -5
  358. package/src/themes/SelectBox.css +34 -0
  359. package/src/themes/Tag.css +20 -0
  360. package/src/themes/TagGroup.css +90 -0
  361. package/src/themes/TextArea.css +13 -0
  362. package/src/themes/TextField.css +25 -8
  363. package/src/themes/Toast.css +4 -0
  364. package/dist/assets/messagebundle_en-6dcc9ab4.js +0 -1
  365. package/dist/assets/parameters-bundle.css-de55cf62.js +0 -2
  366. package/dist/assets/video.es-17aecf95.js +0 -219
package/src/Switch.ts CHANGED
@@ -22,6 +22,26 @@ export enum SwitchColor {
22
22
  Semantic = "Semantic",
23
23
  }
24
24
 
25
+ /**
26
+ * @class
27
+ *
28
+ * <h3 class="comment-api-title">Overview</h3>
29
+ *
30
+ *
31
+ * <h3>Usage</h3>
32
+ *
33
+ * For the <code>udex-switch</code>
34
+ * <h3>ES6 Module Import</h3>
35
+ *
36
+ * <code>import "@udex/web-components/dist/Switch.js";</code>
37
+ *
38
+ * @constructor
39
+ * @author SAP SE
40
+ * @extends UI5Element
41
+ * @tagname udex-switch
42
+ * @public
43
+ */
44
+
25
45
  @customElement({
26
46
  tag: "udex-switch",
27
47
  renderer: litRender,
@@ -29,6 +49,7 @@ export enum SwitchColor {
29
49
  template: SwitchTemplate,
30
50
  dependencies: [Icon],
31
51
  })
52
+
32
53
  /**
33
54
  * Fired when the component checked state changes.
34
55
  *
package/src/Tab.ts CHANGED
@@ -67,7 +67,7 @@ interface ITab extends UI5Element {
67
67
  * For the <code>udex-tab</code>
68
68
  * <h3>ES6 Module Import</h3>
69
69
  *
70
- * <code>import @udex/web-components/dist/Tab.js";</code>
70
+ * <code>import "@udex/web-components/dist/Tab.js";</code>
71
71
  *
72
72
  * @constructor
73
73
  * @author SAP SE
package/src/TabHeader.hbs CHANGED
@@ -33,7 +33,9 @@
33
33
 
34
34
  {{#*inline "tab-content"}}
35
35
  {{#if hasIcon}}
36
- <span class="udex-tab-navigation__button-icon-outer">
36
+ <span class="udex-tab-navigation__button-icon-outer"
37
+ role="presentation"
38
+ aria-hidden="true">
37
39
  <ui5-icon
38
40
  class="udex-tab-navigation__button-icon"
39
41
  name="{{icon}}"
@@ -3,9 +3,12 @@
3
3
  id="{{this._id}}"
4
4
  class="udex-tab-overflow__button"
5
5
  role="tab"
6
+ aria-selected="{{this.effectiveSelected}}"
6
7
  tabindex="{{_tabIndex}}">
7
8
  {{#if hasIcon}}
8
- <span class="udex-tab-overflow__button-icon">
9
+ <span class="udex-tab-overflow__button-icon"
10
+ role="presentation"
11
+ aria-hidden="true">
9
12
  <ui5-icon
10
13
  name="{{icon}}"
11
14
  ></ui5-icon>
@@ -16,7 +19,10 @@
16
19
  {{/if}}
17
20
  {{text}}
18
21
  {{#if hasNotIcon}}
19
- <span class="udex-tab-overflow__button-badge"></span>
22
+ <span class="udex-tab-overflow__button-badge"
23
+ role="presentation"
24
+ aria-hidden="true">
25
+ </span>
20
26
  {{/if}}
21
27
  </button>
22
28
  {{else}}
@@ -26,9 +32,12 @@
26
32
  target="{{this.target}}"
27
33
  class="udex-tab-overflow__button"
28
34
  role="tab"
35
+ aria-selected="{{this.effectiveSelected}}"
29
36
  tabindex="{{_tabIndex}}">
30
37
  {{#if hasIcon}}
31
- <span class="udex-tab-overflow__button-icon">
38
+ <span class="udex-tab-overflow__button-icon"
39
+ role="presentation"
40
+ aria-hidden="true">
32
41
  <ui5-icon
33
42
  name="{{icon}}"
34
43
  ></ui5-icon>
@@ -39,7 +48,10 @@
39
48
  {{/if}}
40
49
  {{text}}
41
50
  {{#if hasNotIcon}}
42
- <span class="udex-tab-overflow__button-badge"></span>
51
+ <span class="udex-tab-overflow__button-badge"
52
+ role="presentation"
53
+ aria-hidden="true">
54
+ </span>
43
55
  {{/if}}
44
56
  </a>
45
57
  {{/if}}
@@ -37,13 +37,21 @@
37
37
  id="udex-{{__id}}-content"
38
38
  part="tab-navigation-content">
39
39
  {{#each items}}
40
- <div
41
- class="udex-tab-navigation__content-item"
42
- id="{{_contentId}}"
43
- aria-labelledby="{{_id}}"
44
- tabindex="{{_contentTabIndex}}">
45
- <slot name="{{this._slotName}}"></slot>
46
- </div>
40
+ {{#if this.selected}}
41
+ <div
42
+ class="udex-tab-navigation__content-item"
43
+ id="{{_contentId}}"
44
+ aria-labelledby="{{_id}}"
45
+ tabindex="{{_contentTabIndex}}">
46
+ <slot name="{{this._slotName}}"></slot>
47
+ </div>
48
+ {{else}}
49
+ <div
50
+ class="udex-tab-navigation__content-item"
51
+ id="{{_contentId}}">
52
+ <slot name="{{this._slotName}}"></slot>
53
+ </div>
54
+ {{/if}}
47
55
  {{/each}}
48
56
  </div>
49
57
  </div>
@@ -59,7 +59,7 @@ export enum Mode {
59
59
  * For the <code>udex-tab-navigation</code>
60
60
  * <h3>ES6 Module Import</h3>
61
61
  *
62
- * <code>import @udex/web-components/dist/TabNavigation.js";</code>
62
+ * <code>import "@udex/web-components/dist/TabNavigation.js";</code>
63
63
  *
64
64
  * @constructor
65
65
  * @author SAP SE
package/src/Tag.hbs CHANGED
@@ -2,30 +2,46 @@
2
2
  <div class="{{tagClasses}}">
3
3
  <span class="udex-tag__text">{{{text}}}</span>
4
4
  </div>
5
+ {{else if href}}
6
+ <a role="{{accessibleRole}}" class="{{tagClasses}}" @click="{{tagLinkClickHandler}}" href="{{href}}">
7
+ {{#if startIcon}}
8
+ <ui5-icon
9
+ class="udex-tag__icon udex-tag__icon--start"
10
+ name="{{icon}}">
11
+ </ui5-icon>
12
+ {{/if}}
13
+ <span class="udex-tag__text">{{{text}}}</span>
14
+ {{#if endIcon}}
15
+ <ui5-icon
16
+ class="udex-tag__icon udex-tag__icon--end"
17
+ name="{{icon}}">
18
+ </ui5-icon>
19
+ {{/if}}
20
+ </a>
5
21
  {{else if nonSelectable}}
6
22
  <div class="{{tagClasses}}">
7
23
  {{#if startIcon}}
8
24
  <button
9
- class="udex-tag__btn-icon"
10
- @click="{{iconClickHandler}}"
11
- role="{{accessibleRole}}"
12
- aria-label="{{iconAccessibleName}}">
25
+ class="udex-tag__btn-icon"
26
+ @click="{{iconClickHandler}}"
27
+ role="{{accessibleRole}}"
28
+ aria-label="{{iconAccessibleName}}">
13
29
  <ui5-icon
14
- class="udex-tag__icon udex-tag__icon--start"
15
- name="{{icon}}">
30
+ class="udex-tag__icon udex-tag__icon--start"
31
+ name="{{icon}}">
16
32
  </ui5-icon>
17
33
  </button>
18
34
  {{/if}}
19
35
  <span class="udex-tag__text">{{{text}}}</span>
20
36
  {{#if endIcon}}
21
37
  <button
22
- class="udex-tag__btn-icon"
23
- @click="{{iconClickHandler}}"
24
- role="{{accessibleRole}}"
25
- aria-label="{{iconAccessibleName}}">
38
+ class="udex-tag__btn-icon"
39
+ @click="{{iconClickHandler}}"
40
+ role="{{accessibleRole}}"
41
+ aria-label="{{iconAccessibleName}}">
26
42
  <ui5-icon
27
- class="udex-tag__icon udex-tag__icon--end"
28
- name="{{icon}}">
43
+ class="udex-tag__icon udex-tag__icon--end"
44
+ name="{{icon}}">
29
45
  </ui5-icon>
30
46
  </button>
31
47
  {{/if}}
package/src/Tag.ts CHANGED
@@ -40,7 +40,7 @@ export enum TagSize {
40
40
  * For the <code>udex-tag</code>
41
41
  * <h3>ES6 Module Import</h3>
42
42
  *
43
- * <code>import @udex/web-components/dist/Tag.js";</code>
43
+ * <code>import "@udex/web-components/dist/Tag.js";</code>
44
44
  *
45
45
  * @constructor
46
46
  * @author SAP SE
@@ -71,6 +71,12 @@ export enum TagSize {
71
71
  * @public
72
72
  */
73
73
  @event("iconClick")
74
+ /**
75
+ * Emitted when tag link was clicked
76
+ *
77
+ * @public
78
+ */
79
+ @event("tagLinkClick")
74
80
  class UDExTag extends UI5Element {
75
81
  /**
76
82
  * Defines the text of the tag
@@ -80,7 +86,14 @@ class UDExTag extends UI5Element {
80
86
  */
81
87
  @property()
82
88
  text!: string;
83
-
89
+ /**
90
+ * Defines the href for behavior of the tag as a link
91
+ *
92
+ * @default ""
93
+ * @public
94
+ */
95
+ @property()
96
+ href!: string;
84
97
  /**
85
98
  * Defines the design type of tag
86
99
  *
@@ -199,6 +212,9 @@ class UDExTag extends UI5Element {
199
212
  if (isDesktop()) {
200
213
  this.setAttribute("desktop", "");
201
214
  }
215
+ if (this.accessibleRole !== "button") {
216
+ this.shadowRoot?.firstElementChild?.removeAttribute("aria-pressed");
217
+ }
202
218
  }
203
219
 
204
220
  setSelected(): void {
@@ -234,10 +250,11 @@ class UDExTag extends UI5Element {
234
250
  get tagClasses(): string {
235
251
  const hasIconClass = this.hasIcon ? "udex-tag--has-icon" : "";
236
252
  const readOnlyClass = this.readOnly ? "udex-tag--readonly" : "";
237
- const nonSelectableClass = this.nonSelectable ? "udex-tag--nonselectable" : "";
253
+ const nonSelectableClass = this.nonSelectable && !this.href ? "udex-tag--nonselectable" : "";
254
+ const linkTagClass = this.href ? "udex-tag--link" : "";
238
255
  const selectableClass = this.selected ? "udex-tag--selected" : "";
239
256
  const designClass = `udex-tag-${this.design?.toLowerCase()}`;
240
- return `udex-tag udex-tag--${this.size.toLocaleLowerCase()} ${designClass} ${hasIconClass} ${readOnlyClass} ${nonSelectableClass} ${selectableClass}`.trim();
257
+ return `udex-tag udex-tag--${this.size.toLocaleLowerCase()} ${designClass} ${hasIconClass} ${readOnlyClass} ${nonSelectableClass} ${linkTagClass} ${selectableClass}`.trim();
241
258
  }
242
259
 
243
260
  get startIcon(): boolean {
@@ -278,6 +295,10 @@ class UDExTag extends UI5Element {
278
295
  get iconAccessibleName(): string {
279
296
  return this.accessibleName || this.text;
280
297
  }
298
+
299
+ tagLinkClickHandler(e: Event): void {
300
+ this.fireEvent("tagLinkClick", { originalEvent: e }, true);
301
+ }
281
302
  }
282
303
 
283
304
  UDExTag.define();
@@ -0,0 +1,48 @@
1
+ <div id="{{_id}}-tag-group" @ui5-selectionChange="{{tagClickHandler}}" role="group">
2
+ <ui5-tokenizer
3
+ part="tokenizer"
4
+ show-more
5
+ prevent-popover-open
6
+ ?disabled="{{disabled}}"
7
+ id="{{_id}}-tag-group-tokenizer"
8
+ class="udex-tag-group__tokenizer"
9
+ @ui5-show-more-items-press="{{showMoreItems}}"
10
+ ?expanded="{{tokenizerExpanded}}">
11
+ {{#each items}}
12
+ {{>TAG}}
13
+ {{/each}}
14
+ </ui5-tokenizer>
15
+ {{#if _isHiddenTags}}
16
+ <udex-tooltip @keydown="{{handleShowMoreButtonKeydown}}" id="{{_id}}-tag-group-tooltip" placement="{{tooltipPlacement}}">
17
+ <div role="group" class="udex-tag-group-tooltip__content">
18
+ {{#each hiddenTags}}
19
+ {{>TAG}}
20
+ {{/each}}
21
+ </div>
22
+ </udex-tooltip>
23
+ {{/if}}
24
+ </div>
25
+
26
+ {{#*inline "TAG"}}
27
+ <udex-tag
28
+ role="{{../tagRole}}"
29
+ accessible-role="option"
30
+ class="udex-tag-group__tag"
31
+ data-id="{{this.id}}"
32
+ part="token-{{@index}}"
33
+ ?read-only="{{../isReadOrDisplayOnly}}"
34
+ tabindex="{{../tagTabIndex}}"
35
+ id="{{_id}}-tag-group-tag"
36
+ text="{{this.text}}"
37
+ icon="{{this.icon}}"
38
+ href="{{this.href}}"
39
+ design="{{this.design}}"
40
+ size="{{this.size}}"
41
+ icon-placement="{{this.iconPlacement}}"
42
+ accessible-name="{{this.accessibleName}}"
43
+ ?non-selectable="{{this.nonSelectable}}"
44
+ ?data-overflows="{{this.overflows}}"
45
+ @keydown="{{../handleTagKeyDown}}"
46
+ @iconClick="{{../tagIconClickHandler}}">
47
+ ></udex-tag>
48
+ {{/inline}}
@@ -0,0 +1,222 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import Tokenizer from "@ui5/webcomponents/dist/Tokenizer.js";
3
+ import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
4
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
5
+ import { isEnter, isSpace, isEscape } from "@ui5/webcomponents-base/dist/Keys.js";
6
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
7
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
8
+ import event from "@ui5/webcomponents-base/dist/decorators/event.js";
9
+ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
10
+ import Token from "@ui5/webcomponents/dist/Token.js";
11
+ import UDExTag from "./Tag.js";
12
+ import UDExTooltip from "./Tooltip.js";
13
+
14
+ import TagGroupTemplate from "./generated/templates/TagGroupTemplate.lit.js";
15
+
16
+ // Styles
17
+ import TagGroupCss from "./generated/themes/TagGroup.css";
18
+
19
+ export enum PlacementType {
20
+ Left = "Left",
21
+ Right = "Right",
22
+ Top = "Top",
23
+ Bottom = "Bottom",
24
+ }
25
+
26
+ /**
27
+ * @class
28
+ *
29
+ * <h3 class="comment-api-title">Overview</h3>
30
+ *
31
+ *
32
+ * <h3>Usage</h3>
33
+ *
34
+ * For the <code>udex-tag-group</code>
35
+ * <h3>ES6 Module Import</h3>
36
+ *
37
+ * <code>import "@udex/web-components/dist/TagGroup.js";</code>
38
+ *
39
+ * @constructor
40
+ * @extends UI5Element
41
+ * @public
42
+ */
43
+ @customElement({
44
+ tag: "udex-tag-group",
45
+ renderer: litRender,
46
+ styles: TagGroupCss,
47
+ template: TagGroupTemplate,
48
+ dependencies: [UDExTag, UDExTooltip, Tokenizer, Token],
49
+ })
50
+ /**
51
+ * Emitted when tag was clicked
52
+ *
53
+ * @public
54
+ */
55
+ @event("tag-click")
56
+ /**
57
+ * Emitted when icon in tag was clicked
58
+ *
59
+ * @public
60
+ */
61
+ @event("tag-icon-click")
62
+ /**
63
+ * Emitted when the tooltip was opened, can be canceled
64
+ *
65
+ * @public
66
+ */
67
+ @event("show-more-tags")
68
+ /**
69
+ * Emitted when a keydown event occurs on a tag, can be canceled
70
+ * Emitted custom event with keycode and tag details
71
+ *
72
+ * @public
73
+ */
74
+ @event("tag-keydown")
75
+ class UDExTagGroup extends UI5Element {
76
+ /**
77
+ * Defines whether the UI5Tokenizer is expanded.
78
+ *
79
+ * @default false
80
+ * @public
81
+ */
82
+ @property({ type: Boolean })
83
+ tokenizerExpanded!: boolean;
84
+ /**
85
+ * Defines whether the component is in disabled state.
86
+ *
87
+ * @default false
88
+ * @public
89
+ */
90
+ @property({ type: Boolean })
91
+ disabled!: boolean;
92
+
93
+ /**
94
+ * Defines whether the component is readonly.
95
+ *
96
+ * @default false
97
+ * @public
98
+ */
99
+ @property({ type: Boolean })
100
+ readonly!: boolean;
101
+
102
+ /**
103
+ * Defines whether the component is displayonly.
104
+ *
105
+ * @default false
106
+ * @public
107
+ */
108
+ @property({ type: Boolean })
109
+ displayonly!: boolean;
110
+
111
+ /**
112
+ * Defines the tags.
113
+ *
114
+ * @public
115
+ */
116
+ @slot({ type: HTMLElement, "default": true })
117
+ items!: Array<UDExTag>;
118
+
119
+ /**
120
+ * Determines on which side of the component the Tooltip is displayed.
121
+ *
122
+ * @default "Bottom"
123
+ * @public
124
+ */
125
+ @property({ type: PlacementType, defaultValue: PlacementType.Bottom })
126
+ tooltipPlacement!: `${PlacementType}`;
127
+
128
+ /**
129
+ * @private
130
+ */
131
+ @property({ type: Boolean })
132
+ _isHiddenTags!: boolean;
133
+
134
+ _tokenizer!: Tokenizer;
135
+ _nMoreBtn!: HTMLElement | null;
136
+ _resizeHandler: () => void;
137
+
138
+ constructor() {
139
+ super();
140
+ this._resizeHandler = this._onResize.bind(this);
141
+ }
142
+
143
+ get hiddenTags(): Token[] {
144
+ return this._tokenizer?.overflownTokens || [];
145
+ }
146
+
147
+ get isReadOrDisplayOnly(): boolean {
148
+ return this.readonly || this.displayonly;
149
+ }
150
+
151
+ get tagTabIndex(): string {
152
+ return this.disabled ? "-1" : "";
153
+ }
154
+
155
+ get tokenizer(): Tokenizer {
156
+ return this.shadowRoot!.querySelector<Tokenizer>(`#${this._id}-tag-group-tokenizer`)!;
157
+ }
158
+
159
+ get tagRole(): string {
160
+ return this.displayonly || this.readonly ? "option" : "";
161
+ }
162
+
163
+ onAfterRendering(): void {
164
+ this._tokenizer = this.tokenizer;
165
+ this._nMoreBtn = this._tokenizer.shadowRoot?.querySelector(`.ui5-tokenizer-more-text`) || null;
166
+ if (!this.readonly && !this.disabled && this._nMoreBtn && !this._nMoreBtn.hasAttribute("tabindex")) {
167
+ this._nMoreBtn.setAttribute("tabindex", "0");
168
+ this._nMoreBtn.addEventListener("keydown", this._nMoreKeyDownHandler.bind(this));
169
+ }
170
+ }
171
+
172
+ _nMoreKeyDownHandler(e: Event) {
173
+ if (isSpace(e as KeyboardEvent) || isEnter(e as KeyboardEvent)) {
174
+ this.showMoreItems();
175
+ }
176
+ }
177
+
178
+ onEnterDOM(): void {
179
+ ResizeHandler.register(this, this._resizeHandler);
180
+ }
181
+
182
+ onExitDOM(): void {
183
+ ResizeHandler.deregister(this, this._resizeHandler);
184
+ this._nMoreBtn?.removeEventListener("keydown", this._nMoreKeyDownHandler.bind(this));
185
+ }
186
+
187
+ _onResize(): void {
188
+ this._isHiddenTags = false;
189
+ this._isHiddenTags = this._tokenizer?._nMoreCount > 0;
190
+ }
191
+
192
+ tagClickHandler(e: CustomEvent): void {
193
+ this.fireEvent("tag-click", { tag: e.target as HTMLElement });
194
+ }
195
+
196
+ tagIconClickHandler(e: CustomEvent): void {
197
+ this.fireEvent("tag-icon-click", { tag: e.target as HTMLElement });
198
+ }
199
+
200
+ handleShowMoreButtonKeydown(e: KeyboardEvent): void {
201
+ if (isEscape(e)) {
202
+ this._nMoreBtn?.focus();
203
+ }
204
+ }
205
+
206
+ handleTagKeyDown(e: KeyboardEvent): void {
207
+ this.fireEvent("tag-keydown", { originalEvent: e }, true);
208
+ }
209
+
210
+ showMoreItems(): void {
211
+ if (this.fireEvent("show-more-tags", {}, true)) {
212
+ const tooltip = this.shadowRoot!.querySelector<UDExTooltip>(`#${this._id}-tag-group-tooltip`)!;
213
+ if (this._nMoreBtn) {
214
+ tooltip?.onOpen(this._nMoreBtn);
215
+ }
216
+ }
217
+ }
218
+ }
219
+
220
+ UDExTagGroup.define();
221
+
222
+ export default UDExTagGroup;
package/src/TextArea.hbs CHANGED
@@ -1,38 +1,41 @@
1
1
  <div class="udex-textarea">
2
- {{#if label}}
3
- <label
4
- class="{{labelClasses}}"
5
- for="textarea"
6
- part="label"
7
- >
8
- {{label}}
9
- {{#if required}}
10
- *
2
+ <div class="udex-textarea__wrapper">
3
+ {{#if label}}
4
+ <label
5
+ class="{{labelClasses}}"
6
+ for="textarea"
7
+ part="label"
8
+ >
9
+ {{label}}
10
+ {{#if required}}
11
+ *
12
+ {{/if}}
13
+ </label>
11
14
  {{/if}}
12
- </label>
13
- {{/if}}
14
- <textarea
15
- id="textarea"
16
- class="udex-textarea__field"
17
- part="textarea"
18
- .value="{{value}}"
19
- maxlength="{{maxlength}}"
20
- rows="{{rows}}"
21
- ?disabled="{{disabled}}"
22
- ?readonly="{{isInputReadonly}}"
23
- ?required="{{required}}"
24
- ?aria-label="{{accessibleName}}"
25
- ?aria-describedby="{{ariaDescribedBy}}"
26
- ?aria-labelledby="{{accessibleNameRef}}"
27
- aria-required="{{required}}"
28
- aria-readonly="{{isInputReadonly}}"
29
- aria-invalid="{{ariaInvalid}}"
30
- @input="{{handleInput}}"
31
- @focus="{{handleFocus}}"
32
- @blur="{{handleBlur}}"
33
- @change="{{handleChange}}"
34
- >
35
- </textarea>
15
+ <textarea
16
+ id="textarea"
17
+ class="udex-textarea__field"
18
+ part="textarea"
19
+ .value="{{value}}"
20
+ maxlength="{{maxlength}}"
21
+ rows="{{rows}}"
22
+ ?disabled="{{disabled}}"
23
+ ?readonly="{{isInputReadonly}}"
24
+ ?required="{{required}}"
25
+ ?aria-label="{{accessibleName}}"
26
+ ?aria-describedby="{{ariaDescribedBy}}"
27
+ ?aria-labelledby="{{accessibleNameRef}}"
28
+ aria-required="{{required}}"
29
+ aria-readonly="{{isInputReadonly}}"
30
+ aria-invalid="{{ariaInvalid}}"
31
+ @input="{{handleInput}}"
32
+ @focus="{{handleFocus}}"
33
+ @click="{{handleClick}}"
34
+ @blur="{{handleBlur}}"
35
+ @change="{{handleChange}}"
36
+ >
37
+ </textarea>
38
+ </div>
36
39
  {{#if _supportingText}}
37
40
  <udex-status-message
38
41
  supporting-text-alignment="Right"
package/src/TextArea.ts CHANGED
@@ -6,6 +6,7 @@ import getEffectiveScrollbarStyle from "@ui5/webcomponents-base/dist/util/getEff
6
6
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
7
7
  import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
8
8
  import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
9
+ import { isDesktop } from "@ui5/webcomponents-base/dist/Device.js";
9
10
  import {
10
11
  READ_ONLY, TEXTAREA_CHARACTERS_LEFT, VALUE_STATE_TYPE_ERROR, VALUE_STATE_TYPE_STANDARD, VALUE_STATE_TYPE_SUCCESS, VALUE_STATE_TYPE_WARNING,
11
12
  } from "./generated/i18n/i18n-defaults.js";
@@ -214,6 +215,21 @@ class UDExTextArea extends UI5Element {
214
215
  @property({ defaultValue: "" })
215
216
  accessibleNameRef!: string;
216
217
 
218
+ /**
219
+ * Defines the active (focus)
220
+ * @default false
221
+ * @private
222
+ */
223
+ @property({ type: Boolean })
224
+ active!: boolean;
225
+ /**
226
+ * Defines is it the touch of the textarea (only for mobile devices).
227
+ * @default false
228
+ * @private
229
+ */
230
+ @property({ type: Boolean })
231
+ _isTouched!: boolean;
232
+
217
233
  static i18nBundle: I18nBundle;
218
234
 
219
235
  static async onDefine() {
@@ -317,16 +333,25 @@ class UDExTextArea extends UI5Element {
317
333
 
318
334
  handleFocus = () => {
319
335
  if (!this.disabled && !this.readonly && !this.displayonly) {
336
+ this.active = true;
320
337
  this.labelActiveClass = this._labelActiveClassName;
321
338
  }
322
339
  };
323
340
 
341
+ handleClick(): void {
342
+ if (!isDesktop()) {
343
+ this._isTouched = true;
344
+ }
345
+ }
346
+
324
347
  handleBlur = () => {
348
+ this._isTouched = false;
325
349
  if (this.value) {
326
350
  this.labelActiveClass = this._labelActiveClassName;
327
351
  } else {
328
352
  this.labelActiveClass = "";
329
353
  }
354
+ this.active = false;
330
355
  };
331
356
 
332
357
  get ariaInvalid() {