@ui5/webcomponents 2.7.0-rc.0 → 2.7.0-rc.1

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 (546) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cypress/specs/Card.cy.ts +51 -0
  3. package/cypress/specs/ColorPicker.cy.ts +98 -0
  4. package/cypress/specs/Label.cy.ts +128 -0
  5. package/cypress/specs/Tag.cy.ts +76 -0
  6. package/cypress/specs/Text.cy.ts +31 -0
  7. package/cypress/specs/Title.cy.ts +37 -0
  8. package/cypress/specs/Toolbar.cy.ts +49 -0
  9. package/cypress/support/commands/ColorPalette.commands.ts +6 -0
  10. package/cypress/support/commands/ColorPicker.commands.ts +24 -0
  11. package/cypress/support/commands.ts +3 -0
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/CardHeader.d.ts +1 -1
  14. package/dist/CardHeader.js +1 -1
  15. package/dist/CardHeader.js.map +1 -1
  16. package/dist/CardHeaderTemplate.js +1 -1
  17. package/dist/CardHeaderTemplate.js.map +1 -1
  18. package/dist/ColorPalette.d.ts +20 -12
  19. package/dist/ColorPalette.js +37 -32
  20. package/dist/ColorPalette.js.map +1 -1
  21. package/dist/ColorPaletteTemplate.js +2 -2
  22. package/dist/ColorPaletteTemplate.js.map +1 -1
  23. package/dist/ColorPicker.d.ts +30 -28
  24. package/dist/ColorPicker.js +145 -99
  25. package/dist/ColorPicker.js.map +1 -1
  26. package/dist/ColorPickerTemplate.js +5 -3
  27. package/dist/ColorPickerTemplate.js.map +1 -1
  28. package/dist/DateTimeInput.d.ts +20 -0
  29. package/dist/DateTimeInput.js +44 -0
  30. package/dist/DateTimeInput.js.map +1 -0
  31. package/dist/Input.d.ts +5 -1
  32. package/dist/Input.js +14 -12
  33. package/dist/Input.js.map +1 -1
  34. package/dist/Popup.js +0 -2
  35. package/dist/Popup.js.map +1 -1
  36. package/dist/TabContainer.js +3 -3
  37. package/dist/TabContainer.js.map +1 -1
  38. package/dist/TimePicker.d.ts +21 -1
  39. package/dist/TimePicker.js +44 -2
  40. package/dist/TimePicker.js.map +1 -1
  41. package/dist/TimePickerPopoverTemplate.js +29 -2
  42. package/dist/TimePickerPopoverTemplate.js.map +1 -1
  43. package/dist/TimePickerTemplate.js +4 -3
  44. package/dist/TimePickerTemplate.js.map +1 -1
  45. package/dist/Toolbar.d.ts +1 -3
  46. package/dist/Toolbar.js +3 -42
  47. package/dist/Toolbar.js.map +1 -1
  48. package/dist/ToolbarButton.d.ts +1 -5
  49. package/dist/ToolbarButton.js +6 -4
  50. package/dist/ToolbarButton.js.map +1 -1
  51. package/dist/ToolbarButtonTemplate.js +1 -1
  52. package/dist/ToolbarButtonTemplate.js.map +1 -1
  53. package/dist/ToolbarItem.d.ts +6 -17
  54. package/dist/ToolbarItem.js +18 -8
  55. package/dist/ToolbarItem.js.map +1 -1
  56. package/dist/ToolbarPopoverButtonTemplate.js +1 -1
  57. package/dist/ToolbarPopoverButtonTemplate.js.map +1 -1
  58. package/dist/ToolbarPopoverSelectTemplate.js +1 -1
  59. package/dist/ToolbarPopoverSelectTemplate.js.map +1 -1
  60. package/dist/ToolbarSelect.d.ts +9 -11
  61. package/dist/ToolbarSelect.js +41 -41
  62. package/dist/ToolbarSelect.js.map +1 -1
  63. package/dist/ToolbarSelectTemplate.js +1 -1
  64. package/dist/ToolbarSelectTemplate.js.map +1 -1
  65. package/dist/ToolbarTemplate.js +1 -1
  66. package/dist/ToolbarTemplate.js.map +1 -1
  67. package/dist/TreeItemCustom.js +5 -1
  68. package/dist/TreeItemCustom.js.map +1 -1
  69. package/dist/bundle.esm.d.ts +0 -2
  70. package/dist/bundle.esm.js +0 -5
  71. package/dist/bundle.esm.js.map +1 -1
  72. package/dist/colorpicker-utils/ColorValue.d.ts +53 -0
  73. package/dist/colorpicker-utils/ColorValue.js +143 -0
  74. package/dist/colorpicker-utils/ColorValue.js.map +1 -0
  75. package/dist/css/themes/Avatar.css +1 -1
  76. package/dist/css/themes/AvatarGroup.css +1 -1
  77. package/dist/css/themes/Bar.css +1 -1
  78. package/dist/css/themes/Breadcrumbs.css +1 -1
  79. package/dist/css/themes/BusyIndicator.css +1 -1
  80. package/dist/css/themes/Button.css +1 -1
  81. package/dist/css/themes/Calendar.css +1 -1
  82. package/dist/css/themes/CalendarHeader.css +1 -1
  83. package/dist/css/themes/CalendarLegend.css +1 -1
  84. package/dist/css/themes/CalendarLegendItem.css +1 -1
  85. package/dist/css/themes/Card.css +1 -1
  86. package/dist/css/themes/CardHeader.css +1 -1
  87. package/dist/css/themes/Carousel.css +1 -1
  88. package/dist/css/themes/CheckBox.css +1 -1
  89. package/dist/css/themes/ColorPalette.css +1 -1
  90. package/dist/css/themes/ColorPaletteItem.css +1 -1
  91. package/dist/css/themes/ColorPalettePopover.css +1 -1
  92. package/dist/css/themes/ColorPicker.css +1 -1
  93. package/dist/css/themes/ComboBox.css +1 -1
  94. package/dist/css/themes/ComboBoxItem.css +1 -1
  95. package/dist/css/themes/DatePicker.css +1 -1
  96. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  97. package/dist/css/themes/DayPicker.css +1 -1
  98. package/dist/css/themes/Dialog.css +1 -1
  99. package/dist/css/themes/FileUploader.css +1 -1
  100. package/dist/css/themes/Form.css +1 -1
  101. package/dist/css/themes/FormItem.css +1 -1
  102. package/dist/css/themes/FormItemSpan.css +1 -1
  103. package/dist/css/themes/GrowingButton.css +1 -1
  104. package/dist/css/themes/Icon.css +1 -1
  105. package/dist/css/themes/Input.css +1 -1
  106. package/dist/css/themes/InputIcon.css +1 -1
  107. package/dist/css/themes/InputSharedStyles.css +1 -1
  108. package/dist/css/themes/Link.css +1 -1
  109. package/dist/css/themes/List.css +1 -1
  110. package/dist/css/themes/ListItem.css +1 -1
  111. package/dist/css/themes/ListItemBase.css +1 -1
  112. package/dist/css/themes/ListItemCustom.css +1 -1
  113. package/dist/css/themes/ListItemGroup.css +1 -1
  114. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  115. package/dist/css/themes/ListItemIcon.css +1 -1
  116. package/dist/css/themes/Menu.css +1 -1
  117. package/dist/css/themes/MenuItem.css +1 -1
  118. package/dist/css/themes/MessageStrip.css +1 -1
  119. package/dist/css/themes/MonthPicker.css +1 -1
  120. package/dist/css/themes/MultiComboBox.css +1 -1
  121. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  122. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  123. package/dist/css/themes/MultiInput.css +1 -1
  124. package/dist/css/themes/NavigationMenu.css +1 -1
  125. package/dist/css/themes/NavigationMenuItem.css +1 -1
  126. package/dist/css/themes/OptionBase.css +1 -1
  127. package/dist/css/themes/Panel.css +1 -1
  128. package/dist/css/themes/Popover.css +1 -1
  129. package/dist/css/themes/PopupsCommon.css +1 -1
  130. package/dist/css/themes/ProgressIndicator.css +1 -1
  131. package/dist/css/themes/RadioButton.css +1 -1
  132. package/dist/css/themes/RangeSlider.css +1 -1
  133. package/dist/css/themes/RatingIndicator.css +1 -1
  134. package/dist/css/themes/ResponsivePopover.css +1 -1
  135. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  136. package/dist/css/themes/SegmentedButton.css +1 -1
  137. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  138. package/dist/css/themes/Select.css +1 -1
  139. package/dist/css/themes/SliderBase.css +1 -1
  140. package/dist/css/themes/SplitButton.css +1 -1
  141. package/dist/css/themes/StepInput.css +1 -1
  142. package/dist/css/themes/SuggestionItem.css +1 -1
  143. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  144. package/dist/css/themes/Switch.css +1 -1
  145. package/dist/css/themes/TabContainer.css +1 -1
  146. package/dist/css/themes/TabInOverflow.css +1 -1
  147. package/dist/css/themes/TabInStrip.css +1 -1
  148. package/dist/css/themes/TabSemanticIcon.css +1 -1
  149. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  150. package/dist/css/themes/Table.css +1 -1
  151. package/dist/css/themes/TableCellBase.css +1 -1
  152. package/dist/css/themes/TableHeaderRow.css +1 -1
  153. package/dist/css/themes/TableRow.css +1 -1
  154. package/dist/css/themes/TableRowActionBase.css +1 -1
  155. package/dist/css/themes/TableRowBase.css +1 -1
  156. package/dist/css/themes/Tag.css +1 -1
  157. package/dist/css/themes/Text.css +1 -1
  158. package/dist/css/themes/TextArea.css +1 -1
  159. package/dist/css/themes/TimePicker.css +1 -1
  160. package/dist/css/themes/TimePickerPopover.css +1 -1
  161. package/dist/css/themes/Toast.css +1 -1
  162. package/dist/css/themes/ToggleButton.css +1 -1
  163. package/dist/css/themes/Token.css +1 -1
  164. package/dist/css/themes/Tokenizer.css +1 -1
  165. package/dist/css/themes/TokenizerPopover.css +1 -1
  166. package/dist/css/themes/Toolbar.css +1 -1
  167. package/dist/css/themes/ToolbarPopover.css +1 -1
  168. package/dist/css/themes/TreeItem.css +1 -1
  169. package/dist/css/themes/ValueStateMessage.css +1 -1
  170. package/dist/css/themes/YearPicker.css +1 -1
  171. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  172. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  173. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  174. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  175. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  176. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  177. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  178. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  179. package/dist/custom-elements-internal.json +24 -3
  180. package/dist/custom-elements.json +24 -3
  181. package/dist/features/ColorPaletteMoreColors.d.ts +1 -11
  182. package/dist/features/ColorPaletteMoreColors.js +3 -18
  183. package/dist/features/ColorPaletteMoreColors.js.map +1 -1
  184. package/dist/features/ColorPaletteMoreColorsTemplate.js +1 -1
  185. package/dist/features/ColorPaletteMoreColorsTemplate.js.map +1 -1
  186. package/dist/features/InputSuggestions.d.ts +1 -2
  187. package/dist/features/InputSuggestions.js +3 -5
  188. package/dist/features/InputSuggestions.js.map +1 -1
  189. package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
  190. package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
  191. package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
  192. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  193. package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
  194. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  195. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  196. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  197. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  198. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  199. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  200. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  201. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  202. package/dist/generated/i18n/i18n-defaults.d.ts +5 -1
  203. package/dist/generated/i18n/i18n-defaults.js +6 -2
  204. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  205. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  206. package/dist/generated/themes/Avatar.css.js +1 -1
  207. package/dist/generated/themes/Avatar.css.js.map +1 -1
  208. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  209. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  210. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  211. package/dist/generated/themes/Bar.css.d.ts +1 -1
  212. package/dist/generated/themes/Bar.css.js +1 -1
  213. package/dist/generated/themes/Bar.css.js.map +1 -1
  214. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  215. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  216. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  217. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  218. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  219. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  220. package/dist/generated/themes/Button.css.d.ts +1 -1
  221. package/dist/generated/themes/Button.css.js +1 -1
  222. package/dist/generated/themes/Button.css.js.map +1 -1
  223. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  224. package/dist/generated/themes/Calendar.css.js +1 -1
  225. package/dist/generated/themes/Calendar.css.js.map +1 -1
  226. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  227. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  228. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  229. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  230. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  231. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  232. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  233. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  234. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  235. package/dist/generated/themes/Card.css.d.ts +1 -1
  236. package/dist/generated/themes/Card.css.js +1 -1
  237. package/dist/generated/themes/Card.css.js.map +1 -1
  238. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  239. package/dist/generated/themes/CardHeader.css.js +1 -1
  240. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  241. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  242. package/dist/generated/themes/Carousel.css.js +1 -1
  243. package/dist/generated/themes/Carousel.css.js.map +1 -1
  244. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  245. package/dist/generated/themes/CheckBox.css.js +1 -1
  246. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  247. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  248. package/dist/generated/themes/ColorPalette.css.js +1 -1
  249. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  250. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  251. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  252. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  253. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  254. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  255. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  256. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  257. package/dist/generated/themes/ColorPicker.css.js +1 -1
  258. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  259. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  260. package/dist/generated/themes/ComboBox.css.js +1 -1
  261. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  262. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  263. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  264. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  265. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  266. package/dist/generated/themes/DatePicker.css.js +1 -1
  267. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  268. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  269. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  270. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  271. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  272. package/dist/generated/themes/DayPicker.css.js +1 -1
  273. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  274. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  275. package/dist/generated/themes/Dialog.css.js +1 -1
  276. package/dist/generated/themes/Dialog.css.js.map +1 -1
  277. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  278. package/dist/generated/themes/FileUploader.css.js +1 -1
  279. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  280. package/dist/generated/themes/Form.css.d.ts +1 -1
  281. package/dist/generated/themes/Form.css.js +1 -1
  282. package/dist/generated/themes/Form.css.js.map +1 -1
  283. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  284. package/dist/generated/themes/FormItem.css.js +1 -1
  285. package/dist/generated/themes/FormItem.css.js.map +1 -1
  286. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  287. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  288. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  289. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  290. package/dist/generated/themes/GrowingButton.css.js +1 -1
  291. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  292. package/dist/generated/themes/Icon.css.d.ts +1 -1
  293. package/dist/generated/themes/Icon.css.js +1 -1
  294. package/dist/generated/themes/Icon.css.js.map +1 -1
  295. package/dist/generated/themes/Input.css.d.ts +1 -1
  296. package/dist/generated/themes/Input.css.js +1 -1
  297. package/dist/generated/themes/Input.css.js.map +1 -1
  298. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  299. package/dist/generated/themes/InputIcon.css.js +1 -1
  300. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  301. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  302. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  303. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  304. package/dist/generated/themes/Link.css.d.ts +1 -1
  305. package/dist/generated/themes/Link.css.js +1 -1
  306. package/dist/generated/themes/Link.css.js.map +1 -1
  307. package/dist/generated/themes/List.css.d.ts +1 -1
  308. package/dist/generated/themes/List.css.js +1 -1
  309. package/dist/generated/themes/List.css.js.map +1 -1
  310. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  311. package/dist/generated/themes/ListItem.css.js +1 -1
  312. package/dist/generated/themes/ListItem.css.js.map +1 -1
  313. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  314. package/dist/generated/themes/ListItemBase.css.js +1 -1
  315. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  316. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  317. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  318. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  319. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  320. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  321. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  322. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  323. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  324. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  325. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  326. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  327. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  328. package/dist/generated/themes/Menu.css.d.ts +1 -1
  329. package/dist/generated/themes/Menu.css.js +1 -1
  330. package/dist/generated/themes/Menu.css.js.map +1 -1
  331. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  332. package/dist/generated/themes/MenuItem.css.js +1 -1
  333. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  334. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  335. package/dist/generated/themes/MessageStrip.css.js +1 -1
  336. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  337. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  338. package/dist/generated/themes/MonthPicker.css.js +1 -1
  339. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  340. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  341. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  342. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  343. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  344. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  345. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  346. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  347. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  348. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  349. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  350. package/dist/generated/themes/MultiInput.css.js +1 -1
  351. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  352. package/dist/generated/themes/NavigationMenu.css.d.ts +1 -1
  353. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  354. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  355. package/dist/generated/themes/NavigationMenuItem.css.d.ts +1 -1
  356. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  357. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  358. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  359. package/dist/generated/themes/OptionBase.css.js +1 -1
  360. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  361. package/dist/generated/themes/Panel.css.d.ts +1 -1
  362. package/dist/generated/themes/Panel.css.js +1 -1
  363. package/dist/generated/themes/Panel.css.js.map +1 -1
  364. package/dist/generated/themes/Popover.css.d.ts +1 -1
  365. package/dist/generated/themes/Popover.css.js +1 -1
  366. package/dist/generated/themes/Popover.css.js.map +1 -1
  367. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  368. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  369. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  370. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  371. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  372. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  373. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  374. package/dist/generated/themes/RadioButton.css.js +1 -1
  375. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  376. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  377. package/dist/generated/themes/RangeSlider.css.js +1 -1
  378. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  379. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  380. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  381. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  382. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  383. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  384. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  385. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  386. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  387. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  388. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  389. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  390. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  391. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  392. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  393. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  394. package/dist/generated/themes/Select.css.d.ts +1 -1
  395. package/dist/generated/themes/Select.css.js +1 -1
  396. package/dist/generated/themes/Select.css.js.map +1 -1
  397. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  398. package/dist/generated/themes/SliderBase.css.js +1 -1
  399. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  400. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  401. package/dist/generated/themes/SplitButton.css.js +1 -1
  402. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  403. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  404. package/dist/generated/themes/StepInput.css.js +1 -1
  405. package/dist/generated/themes/StepInput.css.js.map +1 -1
  406. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  407. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  408. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  409. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  410. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  411. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  412. package/dist/generated/themes/Switch.css.d.ts +1 -1
  413. package/dist/generated/themes/Switch.css.js +1 -1
  414. package/dist/generated/themes/Switch.css.js.map +1 -1
  415. package/dist/generated/themes/TabContainer.css.d.ts +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/TabInOverflow.css.d.ts +1 -1
  419. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  420. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  421. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  422. package/dist/generated/themes/TabInStrip.css.js +1 -1
  423. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  424. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  425. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  426. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  427. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  428. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  429. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  430. package/dist/generated/themes/Table.css.d.ts +1 -1
  431. package/dist/generated/themes/Table.css.js +1 -1
  432. package/dist/generated/themes/Table.css.js.map +1 -1
  433. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  434. package/dist/generated/themes/TableCellBase.css.js +1 -1
  435. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  436. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  437. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  438. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  439. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  440. package/dist/generated/themes/TableRow.css.js +1 -1
  441. package/dist/generated/themes/TableRow.css.js.map +1 -1
  442. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  443. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  444. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  445. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  446. package/dist/generated/themes/TableRowBase.css.js +1 -1
  447. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  448. package/dist/generated/themes/Tag.css.d.ts +1 -1
  449. package/dist/generated/themes/Tag.css.js +1 -1
  450. package/dist/generated/themes/Tag.css.js.map +1 -1
  451. package/dist/generated/themes/Text.css.d.ts +1 -1
  452. package/dist/generated/themes/Text.css.js +1 -1
  453. package/dist/generated/themes/Text.css.js.map +1 -1
  454. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  455. package/dist/generated/themes/TextArea.css.js +1 -1
  456. package/dist/generated/themes/TextArea.css.js.map +1 -1
  457. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  458. package/dist/generated/themes/TimePicker.css.js +1 -1
  459. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  460. package/dist/generated/themes/TimePickerPopover.css.d.ts +1 -1
  461. package/dist/generated/themes/TimePickerPopover.css.js +1 -1
  462. package/dist/generated/themes/TimePickerPopover.css.js.map +1 -1
  463. package/dist/generated/themes/Toast.css.d.ts +1 -1
  464. package/dist/generated/themes/Toast.css.js +1 -1
  465. package/dist/generated/themes/Toast.css.js.map +1 -1
  466. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  467. package/dist/generated/themes/ToggleButton.css.js +1 -1
  468. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  469. package/dist/generated/themes/Token.css.d.ts +1 -1
  470. package/dist/generated/themes/Token.css.js +1 -1
  471. package/dist/generated/themes/Token.css.js.map +1 -1
  472. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  473. package/dist/generated/themes/Tokenizer.css.js +1 -1
  474. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  475. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  476. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  477. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  478. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  479. package/dist/generated/themes/Toolbar.css.js +1 -1
  480. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  481. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  482. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  483. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  484. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  485. package/dist/generated/themes/TreeItem.css.js +1 -1
  486. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  487. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  488. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  489. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  490. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  491. package/dist/generated/themes/YearPicker.css.js +1 -1
  492. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  493. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  494. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  495. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  496. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  497. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  498. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  499. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  500. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  501. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  502. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  503. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  504. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  505. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  506. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  507. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  508. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  509. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  510. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  511. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  512. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  513. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  514. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  515. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  516. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  517. package/dist/web-types.json +1 -1
  518. package/package.json +13 -10
  519. package/src/CardHeaderTemplate.tsx +1 -2
  520. package/src/ColorPaletteTemplate.tsx +2 -2
  521. package/src/ColorPickerTemplate.tsx +37 -37
  522. package/src/TimePickerPopoverTemplate.tsx +48 -1
  523. package/src/TimePickerTemplate.tsx +7 -5
  524. package/src/ToolbarButtonTemplate.tsx +1 -0
  525. package/src/ToolbarPopoverButtonTemplate.tsx +1 -0
  526. package/src/ToolbarPopoverSelectTemplate.tsx +4 -0
  527. package/src/ToolbarSelectTemplate.tsx +4 -0
  528. package/src/ToolbarTemplate.tsx +1 -0
  529. package/src/features/ColorPaletteMoreColorsTemplate.tsx +2 -2
  530. package/src/i18n/messagebundle.properties +17 -5
  531. package/src/i18n/messagebundle_de.properties +1 -1
  532. package/src/i18n/messagebundle_en.properties +3 -1
  533. package/src/i18n/messagebundle_en_US_sappsd.properties +3 -1
  534. package/src/i18n/messagebundle_en_US_saprigi.properties +3 -1
  535. package/src/i18n/messagebundle_en_US_saptrc.properties +3 -1
  536. package/src/themes/ColorPicker.css +20 -4
  537. package/src/themes/TabInOverflow.css +6 -6
  538. package/src/themes/TimePicker.css +4 -0
  539. package/src/themes/TimePickerPopover.css +5 -0
  540. package/src/themes/base/TabContainer-parameters.css +2 -1
  541. package/src/themes/base/sizes-parameters.css +6 -0
  542. package/src/themes/sap_fiori_3_hcb/TabContainer-parameters.css +2 -1
  543. package/src/themes/sap_fiori_3_hcw/TabContainer-parameters.css +2 -1
  544. package/src/themes/sap_horizon_hcb/TabContainer-parameters.css +2 -1
  545. package/src/themes/sap_horizon_hcw/TabContainer-parameters.css +2 -1
  546. package/vitest.config.js +9 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.7.0-rc.1](https://github.com/SAP/ui5-webcomponents/compare/v2.7.0-rc.0...v2.7.0-rc.1) (2025-01-23)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **popup:** applying focus twice ([#10556](https://github.com/SAP/ui5-webcomponents/issues/10556)) ([27721a9](https://github.com/SAP/ui5-webcomponents/commit/27721a9518ac03efc0d2fb764442334bb07c6daf))
12
+ * **ui5-card:** fix accessibiity role position ([#10437](https://github.com/SAP/ui5-webcomponents/issues/10437)) ([c9d7f3f](https://github.com/SAP/ui5-webcomponents/commit/c9d7f3ffec9ce02d465de03a5a946144ba31f0d5))
13
+ * **ui5-tab:** semantic icon is properly aligned in high contrast themes ([#10467](https://github.com/SAP/ui5-webcomponents/issues/10467)) ([e263974](https://github.com/SAP/ui5-webcomponents/commit/e2639745f6aa1ae669dce7f3205a531a672ed711)), closes [#10455](https://github.com/SAP/ui5-webcomponents/issues/10455)
14
+ * **ui5-time-picker:** display value state message in popover headers ([#10582](https://github.com/SAP/ui5-webcomponents/issues/10582)) ([df57f06](https://github.com/SAP/ui5-webcomponents/commit/df57f06a5e10f44ac784b33bc79b1e705f106476))
15
+ * **ui5-toolbar:** correct event handlers attachment ([#10546](https://github.com/SAP/ui5-webcomponents/issues/10546)) ([f6d6c67](https://github.com/SAP/ui5-webcomponents/commit/f6d6c6703a02785fc790ef0794c972aeee115c60))
16
+ * **ui5-tree:** improve keydown handling in content slot ([#10520](https://github.com/SAP/ui5-webcomponents/issues/10520)) ([1e01523](https://github.com/SAP/ui5-webcomponents/commit/1e01523569701da558d0ee3470c6936358dea457)), closes [#10474](https://github.com/SAP/ui5-webcomponents/issues/10474)
17
+
18
+
19
+ ### Features
20
+
21
+ * **ui5-color-picker:** add HSL color selection ([#10157](https://github.com/SAP/ui5-webcomponents/issues/10157)) ([8d0e5a4](https://github.com/SAP/ui5-webcomponents/commit/8d0e5a492c9705499571ef223524f051454e766c)), closes [#10275](https://github.com/SAP/ui5-webcomponents/issues/10275)
22
+ * update business-suite/icons to v2.087 & 1.087 ([#10605](https://github.com/SAP/ui5-webcomponents/issues/10605)) ([6b7dbf0](https://github.com/SAP/ui5-webcomponents/commit/6b7dbf09dd253de3e399d257441a386dc000c5ff))
23
+ * update tnt/icons to v3.5 & 2.11 ([#10600](https://github.com/SAP/ui5-webcomponents/issues/10600)) ([5d4e3ba](https://github.com/SAP/ui5-webcomponents/commit/5d4e3ba1a74b2f4bea2321371656cbdbebc27975))
24
+
25
+
26
+
27
+
28
+
6
29
  # [2.7.0-rc.0](https://github.com/SAP/ui5-webcomponents/compare/v2.6.2...v2.7.0-rc.0) (2025-01-16)
7
30
 
8
31
 
@@ -0,0 +1,51 @@
1
+ import { html } from "lit";
2
+ import "../../src/Card.js";
3
+ import "../../src/CardHeader.js";
4
+
5
+ const interactiveCardHeader = html` <ui5-card>
6
+ <ui5-card-header
7
+ id="cardHeader1"
8
+ slot="header"
9
+ additional-text="4 of 10"
10
+ title-text="Quick Links"
11
+ subtitle-text="Quick links sub title"
12
+ interactive
13
+ >
14
+ </ui5-card-header>
15
+ </ui5-card>`;
16
+
17
+ const cardHeader = html` <ui5-card>
18
+ <ui5-card-header
19
+ id="cardHeader2"
20
+ slot="header"
21
+ additional-text="4 of 10"
22
+ title-text="Quick Links"
23
+ subtitle-text="Quick links sub title"
24
+ >
25
+ </ui5-card-header>
26
+ </ui5-card>`;
27
+
28
+ describe("Card header", () => {
29
+ it("Tests that aria attribute are correct on interactive header", () => {
30
+ cy.mount(interactiveCardHeader);
31
+
32
+ // assert
33
+ cy.get("#cardHeader1")
34
+ .shadow()
35
+ .find(".ui5-card-header-focusable-element")
36
+ .should("have.attr", "role", "button")
37
+ .and("have.attr", "tabindex", "0")
38
+ .and("have.attr", "aria-roledescription", "Interactive Card Header");
39
+ });
40
+ it("Tests that aria attribute are correct on a header", () => {
41
+ cy.mount(cardHeader);
42
+
43
+ // assert
44
+ cy.get("#cardHeader2")
45
+ .shadow()
46
+ .find(".ui5-card-header-focusable-element")
47
+ .should("have.attr", "role", "group")
48
+ .and("have.attr", "tabindex", "0")
49
+ .and("have.attr", "aria-roledescription", "Card Header");
50
+ });
51
+ });
@@ -24,4 +24,102 @@ describe("Color Picker tests", () => {
24
24
  .find("#alpha")
25
25
  .should("not.exist");
26
26
  });
27
+
28
+ it("should toggle display to RGB or HSL when button is selected", () => {
29
+ cy.mount(html`<ui5-color-picker value="rgba(112, 178, 225, 1)"></ui5-color-picker>`);
30
+
31
+ cy.get("ui5-color-picker")
32
+ .as("colorPicker");
33
+
34
+ cy.get<ColorPicker>("@colorPicker")
35
+ .ui5ColorPickerToggleColorMode();
36
+
37
+ cy.get<ColorPicker>("@colorPicker")
38
+ .shadow()
39
+ .find("#hue")
40
+ .should("have.attr", "value", "205");
41
+
42
+ cy.get<ColorPicker>("@colorPicker")
43
+ .shadow()
44
+ .find("#saturation")
45
+ .should("have.attr", "value", "65");
46
+
47
+ cy.get<ColorPicker>("@colorPicker")
48
+ .shadow()
49
+ .find("#light")
50
+ .should("have.attr", "value", "66");
51
+ });
52
+
53
+ it("should update value when hue is changed via the input field", () => {
54
+ cy.mount(html`<ui5-color-picker value="rgba(112, 178, 225, 1)"></ui5-color-picker>`);
55
+
56
+ cy.get("ui5-color-picker")
57
+ .as("colorPicker");
58
+
59
+ cy.get<ColorPicker>("@colorPicker")
60
+ .ui5ColorPickerToggleColorMode();
61
+
62
+ cy.get<ColorPicker>("@colorPicker")
63
+ .ui5ColorPickerUpdateInput("#hue", "130");
64
+
65
+ cy.get<ColorPicker>("@colorPicker")
66
+ .should("have.attr", "value", "rgba(112, 225, 131, 1)");
67
+ });
68
+
69
+ it("should update value when saturation is changed via the input field", () => {
70
+ cy.mount(html`<ui5-color-picker value="rgba(112, 225, 131, 1)"></ui5-color-picker>`);
71
+
72
+ cy.get("ui5-color-picker")
73
+ .as("colorPicker");
74
+
75
+ cy.get<ColorPicker>("@colorPicker")
76
+ .ui5ColorPickerToggleColorMode();
77
+
78
+ cy.get<ColorPicker>("@colorPicker")
79
+ .ui5ColorPickerUpdateInput("#saturation", "44");
80
+
81
+ cy.get<ColorPicker>("@colorPicker")
82
+ .should("have.attr", "value", "rgba(130, 206, 143, 1)");
83
+ });
84
+
85
+ it("should update value when light is changed via the input field", () => {
86
+ cy.mount(html`<ui5-color-picker value="rgba(130, 206, 143, 1)"></ui5-color-picker>`);
87
+
88
+ cy.get("ui5-color-picker")
89
+ .as("colorPicker");
90
+
91
+ cy.get<ColorPicker>("@colorPicker")
92
+ .ui5ColorPickerToggleColorMode();
93
+
94
+ cy.get<ColorPicker>("@colorPicker")
95
+ .ui5ColorPickerUpdateInput("#light", "30");
96
+
97
+ cy.get<ColorPicker>("@colorPicker")
98
+ .should("have.attr", "value", "rgba(43, 110, 54, 1)");
99
+ });
100
+
101
+ it("should show correct accessibility info for HSL inputs", () => {
102
+ cy.mount(html`<ui5-color-picker></ui5-color-picker>`);
103
+
104
+ cy.get("ui5-color-picker")
105
+ .as("colorPicker");
106
+
107
+ cy.get<ColorPicker>("@colorPicker")
108
+ .ui5ColorPickerToggleColorMode();
109
+
110
+ cy.get<ColorPicker>("@colorPicker")
111
+ .shadow()
112
+ .find("#hue")
113
+ .should("have.attr", "accessible-name", "Hue");
114
+
115
+ cy.get<ColorPicker>("@colorPicker")
116
+ .shadow()
117
+ .find("#saturation")
118
+ .should("have.attr", "accessible-name", "Saturation");
119
+
120
+ cy.get<ColorPicker>("@colorPicker")
121
+ .shadow()
122
+ .find("#light")
123
+ .should("have.attr", "accessible-name", "Light");
124
+ });
27
125
  });
@@ -0,0 +1,128 @@
1
+ import { html } from "lit";
2
+ import "../../src/Label.js";
3
+ import "../../src/Input.js";
4
+ import "../../src/TextArea.js";
5
+ import "../../src/DatePicker.js";
6
+ import "../../test/pages/modules/LabelPageCustomElement.js";
7
+ import {
8
+ LABEL_COLON,
9
+ } from "../../src/generated/i18n/i18n-defaults.js";
10
+
11
+ describe("Label", () => {
12
+ describe("General API ", () => {
13
+ it("tests initial rendering - root and slot", () => {
14
+ cy.mount(html`<ui5-label>Basic Label</ui5-label>`);
15
+ cy.get("[ui5-label]").shadow().find(".ui5-label-root").should("exist");
16
+ cy.get("[ui5-label]").shadow().find("slot:not([name])");
17
+ });
18
+
19
+ it("should show required star", () => {
20
+ cy.mount(html`<ui5-label required>Required Label</ui5-label>`);
21
+ cy.get("[ui5-label]")
22
+ .shadow()
23
+ .find(".ui5-label-required-colon")
24
+ .then($el => {
25
+ return getComputedStyle($el[0], ":after").content;
26
+ })
27
+ .should("equal", `"*"`);
28
+ });
29
+
30
+ it("tests show-colon does not force truncation", () => {
31
+ cy.mount(html`
32
+ <ui5-label id="showColon-false">Basic Label</ui5-label>
33
+ <ui5-label show-colon id="showColon-true">Basic Label</ui5-label>
34
+ `);
35
+
36
+ cy.get("#showColon-true").shadow().find(".ui5-label-text-wrapper").invoke("width")
37
+ .then($labelWithColonWidth => {
38
+ cy.get("#showColon-false").shadow().find(".ui5-label-text-wrapper").should("have.css", "width", `${$labelWithColonWidth}px`);
39
+ });
40
+ });
41
+
42
+ it("should wrap the text of the label by default and truncate when wrappingType is None", () => {
43
+ cy.mount(html`
44
+ <ui5-label id="wrapping-label-1" style="width: 200px">Reprehenderit amet cillum tempor ex eu dolor adipisicing reprehenderit pariatur.</ui5-label>
45
+ <ui5-label id="truncated-label-1" wrapping-type="None" style="width: 200px">Reprehenderit amet cillum tempor ex eu dolor adipisicing reprehenderit pariatur.</ui5-label>
46
+ `);
47
+
48
+ cy.get("#wrapping-label-1").invoke("height").then($wrappingLabelHeight => {
49
+ cy.get("#truncated-label-1").invoke("height").should($truncatedLabelHeight => {
50
+ expect($wrappingLabelHeight).to.be.greaterThan(16);
51
+ expect($truncatedLabelHeight).to.be.lessThan(17);
52
+ });
53
+ });
54
+ });
55
+
56
+ it("colon symbol should be taken from the i18n bundle", () => {
57
+ cy.mount(html`<ui5-label show-colon id="showColon-true">Basic Label</ui5-label>`);
58
+
59
+ cy.get("#showColon-true").shadow().find(".ui5-label-required-colon").then($el => {
60
+ return getComputedStyle($el[0], ":before").content;
61
+ })
62
+ .should("equal", `"${LABEL_COLON.defaultText}"`);
63
+ });
64
+ });
65
+
66
+ describe("linked element with 'for' property", () => {
67
+ it("should focus ui5-input on click and set correct aria-label", () => {
68
+ cy.mount(html`
69
+ <ui5-label for="form-ui5-input">Label for Input</ui5-label>
70
+ <ui5-input id="form-ui5-input" style="width: 200px"></ui5-input>
71
+ `);
72
+
73
+ cy.get("[ui5-label]").realClick();
74
+ cy.get("[ui5-input]").should("be.focused");
75
+
76
+ cy.get("[ui5-input]").shadow().find(".ui5-input-inner").should("have.attr", "aria-label", "Label for Input");
77
+ });
78
+
79
+ it("should focus native HTML input on click", () => {
80
+ cy.mount(html`
81
+ <ui5-label for="native-input">Label for Native Input</ui5-label>
82
+ <input id="native-input" />
83
+ `);
84
+
85
+ cy.get("[ui5-label]").realClick();
86
+ cy.get("#native-input").should("be.focused");
87
+ });
88
+
89
+ it("should focus ui5-textarea on click", () => {
90
+ cy.mount(html`
91
+ <ui5-label for="ui5-textarea">Label for Textarea</ui5-label>
92
+ <ui5-textarea id="ui5-textarea"></ui5-textarea>
93
+ `);
94
+
95
+ cy.get("[ui5-label]").realClick();
96
+ cy.get("#ui5-textarea").should("be.focused");
97
+ });
98
+
99
+ it("should focus native HTML textarea on click", () => {
100
+ cy.mount(html`
101
+ <ui5-label for="native-textarea">Label for Native Textarea</ui5-label>
102
+ <textarea id="native-textarea"></textarea>
103
+ `);
104
+
105
+ cy.get("[ui5-label]").realClick();
106
+ cy.get("#native-textarea").should("be.focused");
107
+ });
108
+
109
+ it("should focus ui5-date-picker on click", () => {
110
+ cy.mount(html`
111
+ <ui5-label for="ui5-datepicker">Label for Date Picker</ui5-label>
112
+ <ui5-date-picker id="ui5-datepicker"></ui5-date-picker>
113
+ `);
114
+
115
+ cy.get("[ui5-label]").realClick();
116
+ cy.get("#ui5-datepicker").should("be.focused");
117
+ });
118
+
119
+ it("should focus within a shadow root", () => {
120
+ cy.mount(html`
121
+ <label-page-custom-element id="custom-element-with-label"></label-page-custom-element>
122
+ `);
123
+
124
+ cy.get("#custom-element-with-label").shadow().find("[ui5-label]").realClick();
125
+ cy.get("#custom-element-with-label").shadow().find("#input").should("be.focused");
126
+ });
127
+ });
128
+ });
@@ -0,0 +1,76 @@
1
+ import { html } from "lit";
2
+ import "../../src/Tag.js";
3
+ import "@ui5/webcomponents-icons/dist/accept.js";
4
+ import {
5
+ TAG_ROLE_DESCRIPTION,
6
+ TAG_SUCCESS,
7
+ TAG_DESCRIPTION_TAG,
8
+ } from "../../src/generated/i18n/i18n-defaults.js";
9
+
10
+ describe("Tag", () => {
11
+ describe("Tag rendering", () => {
12
+ it("initial rendering", () => {
13
+ cy.mount(html`<ui5-tag id="tagWithTextAndIcon" style="width: 300px" color-scheme="1" design="Set1">
14
+ <ui5-icon name="accept" slot="icon"></ui5-icon>bigger width
15
+ </ui5-tag>
16
+ <ui5-tag design="Positive" id="interactiveTag" interactive>
17
+ Interactive
18
+ </ui5-tag>
19
+ <ui5-tag design="Positive" id="noninteractiveTag">
20
+ Noninteractive
21
+ </ui5-tag>`);
22
+
23
+ cy.get("#tagWithTextAndIcon").shadow().find(".ui5-tag-root").should("have.prop", "tagName", "DIV");
24
+
25
+ cy.get("#interactiveTag").shadow().find(".ui5-tag-root").should("have.prop", "tagName", "BUTTON");
26
+
27
+ cy.get("#interactiveTag").shadow().find(".ui5-tag-root").should("have.attr", "aria-roledescription", `${TAG_ROLE_DESCRIPTION.defaultText}`);
28
+
29
+ cy.get("#interactiveTag").shadow().find(".ui5-tag-root").should("have.attr", "aria-description", `${TAG_SUCCESS.defaultText}`);
30
+
31
+ cy.get("#noninteractiveTag").shadow().find(".ui5-hidden-text").should("have.text", `${TAG_DESCRIPTION_TAG.defaultText} ${TAG_SUCCESS.defaultText}`);
32
+ });
33
+
34
+ it("tests that label is rendered if there is text content", () => {
35
+ cy.mount(html`<ui5-tag id="tagWithTextAndIcon" style="width: 300px" color-scheme="1" design="Set1">
36
+ <ui5-icon name="accept" slot="icon"></ui5-icon>bigger width
37
+ </ui5-tag>`);
38
+
39
+ cy.get("[ui5-tag]").shadow().find(".ui5-tag-text").should("exist");
40
+ });
41
+
42
+ it("tests that label is NOT rendered if there is only icon", () => {
43
+ cy.mount(html`<ui5-tag style="width: 300px">
44
+ <ui5-icon name="accept" slot="icon"></ui5-icon>
45
+ </ui5-tag>`);
46
+
47
+ cy.get("[ui5-tag]").shadow().find(".ui5-tag-text").should("not.exist");
48
+ });
49
+ });
50
+
51
+ describe("Wrapping", () => {
52
+ it("tests if tag text wraps - default wrappingType", () => {
53
+ cy.mount(html`<ui5-tag id="tagWithWrappingDefault" style="width: 300px">
54
+ <ui5-icon name="accept" slot="icon"></ui5-icon>Some long text with more lines text wrapping-type="Normal"
55
+ </ui5-tag>`);
56
+
57
+ cy.get("#tagWithWrappingDefault").shadow().find(".ui5-tag-root").should("have.css", "white-space", "normal");
58
+ });
59
+
60
+ it("tests if tag text wraps - wrappingType Normal", () => {
61
+ cy.mount(html`<ui5-tag id="tagWithWrappingNormal" style="width: 300px" wrapping-type="Normal">
62
+ <ui5-icon name="accept" slot="icon"></ui5-icon>Some long text with more lines text wrapping-type="Normal"
63
+ </ui5-tag>`);
64
+
65
+ cy.get("#tagWithWrappingNormal").shadow().find(".ui5-tag-root").should("have.css", "white-space", "normal");
66
+ });
67
+
68
+ it("tests if tag text wraps - wrappingType None", () => {
69
+ cy.mount(html`<ui5-tag id="tagWithWrappingNone" style="width: 300px" wrapping-type="None">
70
+ <ui5-icon name="accept" slot="icon"></ui5-icon>Some long text with more lines text wrapping-type="None"
71
+ </ui5-tag>`);
72
+
73
+ cy.get("#tagWithWrappingNone").shadow().find(".ui5-tag-root").should("have.css", "white-space", "nowrap");
74
+ });
75
+ });
76
+ });
@@ -0,0 +1,31 @@
1
+ import { html } from "lit";
2
+ import "../../src/Text.js";
3
+
4
+ describe("Text", () => {
5
+ it("tests root element is bdi", () => {
6
+ cy.mount(html`<ui5-text >Text</ui5-text>`);
7
+ cy.get("[ui5-text]").shadow().find(":first-child").should("have.prop", "tagName", "SPAN");
8
+ });
9
+
10
+ it("tests default wrapping behavior", () => {
11
+ cy.mount(html`<ui5-text >Text</ui5-text>`);
12
+ cy.get("[ui5-text]").should("have.css", "word-wrap", "break-word");
13
+ });
14
+
15
+ it("tests maxLines default behavior", () => {
16
+ cy.mount(html`<ui5-text >Text</ui5-text>`);
17
+ cy.get("[ui5-text]").should("have.css", "-webkit-line-clamp", "none");
18
+ });
19
+
20
+ it("tests maxLines", () => {
21
+ cy.mount(html`<ui5-text max-lines="1">Text</ui5-text>`);
22
+ cy.get("[ui5-text]").should("have.css", "-webkit-line-clamp", "1");
23
+ });
24
+
25
+ it("tests emptyIndicatorMode", () => {
26
+ cy.mount(html`<ui5-text empty-indicator-mode="On"></ui5-text>`);
27
+
28
+ cy.get("[ui5-text]").shadow().find(".empty-indicator").should("have.text", "–");
29
+ cy.get("[ui5-text]").shadow().find(".empty-indicator-aria-label").should("have.text", "Empty Value");
30
+ });
31
+ });
@@ -0,0 +1,37 @@
1
+ import { html } from "lit";
2
+ import "../../src/Title.js";
3
+
4
+ describe("Title", () => {
5
+ describe("Rendering ", () => {
6
+ it("h{n} tags rendered correctly", () => {
7
+ cy.mount(html`<ui5-title id="titleH1" level="H1">Title Size 1</ui5-title>`);
8
+ cy.get("#titleH1").shadow().find("h1").should("exist");
9
+
10
+ cy.mount(html`<ui5-title id="titleAuto">Title Size Auto (2)</ui5-title>`);
11
+ cy.get("#titleAuto").shadow().find("h2").should("exist");
12
+
13
+ cy.mount(html`<ui5-title id="titleH2" level="H2">Title Size 2</ui5-title>`);
14
+ cy.get("#titleH2").shadow().find("h2").should("exist");
15
+
16
+ cy.mount(html`<ui5-title id="titleH3" level="H3">Title Size 3</ui5-title>`);
17
+ cy.get("#titleH3").shadow().find("h3").should("exist");
18
+
19
+ cy.mount(html`<ui5-title id="titleH4" level="H4">Title Size 4</ui5-title>`);
20
+ cy.get("#titleH4").shadow().find("h4").should("exist");
21
+
22
+ cy.mount(html`<ui5-title id="titleH5" level="H5">Title Size 5</ui5-title>`);
23
+ cy.get("#titleH5").shadow().find("h5").should("exist");
24
+
25
+ cy.mount(html`<ui5-title id="titleH6" level="H6">Title Size 6</ui5-title>`);
26
+ cy.get("#titleH6").shadow().find("h6").should("exist");
27
+ });
28
+
29
+ it("should wrap the text of the title", () => {
30
+ cy.mount(html`<ui5-title size="H6" level="H6" id="wrapping-title" style="width: 200px;">Wrapping Title Lorem Ipsum Dolor, Sit Amet Consectetur Adipisicing Elit. Numquam, Ab.</ui5-title>`);
31
+ cy.get("#wrapping-title").should("have.css", "height", "64px");
32
+
33
+ cy.mount(html`<ui5-title size="H6" level="H6" id="truncated-title" wrapping-type="None" style="width: 200px;">Truncated Title Lorem Ipsum Dolor, Sit Amet Consectetur Adipisicing Elit. Numquam, Ab.</ui5-title>`);
34
+ cy.get("#truncated-title").should("have.css", "height", "16px");
35
+ });
36
+ });
37
+ });
@@ -122,4 +122,53 @@ describe("Toolbar general interaction", () => {
122
122
  .find(".ui5-tb-overflow-btn-hidden")
123
123
  .should("exist", "hidden class attached to tb button, meaning it's not shown as expected");
124
124
  });
125
+
126
+ it("Should call event handlers on abstract item", () => {
127
+ cy.mount(html`
128
+ <ui5-toolbar>
129
+ <ui5-toolbar-button text="Button 1"></ui5-toolbar-button>
130
+ <ui5-toolbar-select>
131
+ <ui5-toolbar-select-option>1</ui5-toolbar-select-option>
132
+ <ui5-toolbar-select-option selected>2</ui5-toolbar-select-option>
133
+ <ui5-toolbar-select-option>3</ui5-toolbar-select-option>
134
+ </ui5-toolbar-select>
135
+ </ui5-toolbar>
136
+ `);
137
+
138
+ cy.get("ui5-toolbar-button[text='Button 1']")
139
+ .then(button => {
140
+ button.get(0).addEventListener("click", cy.stub().as("clicked"));
141
+ });
142
+
143
+ cy.get("ui5-button", { includeShadowDom: true }).contains("Button 1")
144
+ .click();
145
+
146
+ cy.get("@clicked")
147
+ .should("have.been.calledOnce");
148
+
149
+ cy.get("ui5-toolbar-select")
150
+ .then(select => {
151
+ select.get(0).addEventListener("ui5-click", cy.stub().as("clicked"));
152
+ select.get(0).addEventListener("ui5-change", cy.stub().as("changed"));
153
+ select.get(0).addEventListener("ui5-open", cy.stub().as("opened"));
154
+ select.get(0).addEventListener("ui5-close", cy.stub().as("closed"));
155
+ });
156
+
157
+ cy.get("ui5-select", { includeShadowDom: true })
158
+ .click();
159
+
160
+ cy.get("@clicked")
161
+ .should("have.been.calledOnce");
162
+ cy.get("@opened")
163
+ .should("have.been.calledOnce");
164
+
165
+ cy.get("ui5-option", { includeShadowDom: true })
166
+ .first()
167
+ .click();
168
+
169
+ cy.get("@changed")
170
+ .should("have.been.calledOnce");
171
+ cy.get("@closed")
172
+ .should("have.been.calledOnce");
173
+ });
125
174
  });
@@ -43,6 +43,7 @@ Cypress.Commands.add("ui5ColorPaletteCheckSelectedColor", { prevSubject: true },
43
43
  .shadow()
44
44
  .find("ui5-dialog")
45
45
  .find("ui5-button")
46
+ .should("have.attr", "design", "Emphasized") // The OK button is Emphasized (the Cancel button is Transparent)
46
47
  .as("okButton");
47
48
 
48
49
  cy.get("@redColor")
@@ -59,4 +60,9 @@ Cypress.Commands.add("ui5ColorPaletteCheckSelectedColor", { prevSubject: true },
59
60
 
60
61
  cy.get("@okButton")
61
62
  .realClick();
63
+
64
+ cy.get("@colorPalette")
65
+ .shadow()
66
+ .find("ui5-dialog")
67
+ .should("not.be.visible"); // Make sure the dialog is closed at the end of the command (otherwise the next command will sometimes assert against the old dialog values)
62
68
  });
@@ -0,0 +1,24 @@
1
+ Cypress.Commands.add("ui5ColorPickerToggleColorMode", { prevSubject: true }, subject => {
2
+ cy.wrap(subject)
3
+ .as("colorPicker")
4
+ .should("be.visible");
5
+
6
+ cy.get("@colorPicker")
7
+ .shadow()
8
+ .find("#toggle-picker-mode")
9
+ .realClick();
10
+ });
11
+
12
+ Cypress.Commands.add("ui5ColorPickerUpdateInput", { prevSubject: true }, (subject, name, value) => {
13
+ cy.wrap(subject)
14
+ .as("colorPicker")
15
+ .should("be.visible");
16
+
17
+ cy.get("@colorPicker")
18
+ .shadow()
19
+ .find(name)
20
+ .realClick({ clickCount: 2 })
21
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
22
+ .realType(value)
23
+ .realPress("Enter");
24
+ });
@@ -38,6 +38,7 @@
38
38
 
39
39
  import { internals, isPhone } from "@ui5/webcomponents-base/dist/Device.js";
40
40
  import "./commands/Menu.commands.js";
41
+ import "./commands/ColorPicker.commands.js";
41
42
  import "./commands/ColorPalette.commands.js";
42
43
 
43
44
  type SimulationDevices = "phone"
@@ -51,6 +52,8 @@ declare global {
51
52
  ui5MenuItemClick(): Chainable<void>
52
53
  ui5DOMRef(): Chainable<void>
53
54
  ui5MenuItemPress(key: any): Chainable<void>
55
+ ui5ColorPickerToggleColorMode(): Chainable<void>
56
+ ui5ColorPickerUpdateInput(name: string, value: string): Chainable<void>
54
57
  ui5ColorPaletteCheckSelectedColor(colorPaletteItem: string, values: {r: string, g: string, b: string, a: string}): Chainable<void>
55
58
  }
56
59
  }