@ui5/webcomponents 2.10.0-rc.1 → 2.10.0-rc.3

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 (488) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cypress/specs/Button.cy.tsx +21 -4
  3. package/cypress/specs/Card.cy.tsx +8 -0
  4. package/cypress/specs/Carousel.cy.tsx +565 -11
  5. package/cypress/specs/Carousel.mobile.cy.tsx +67 -0
  6. package/cypress/specs/DateTimePicker.cy.tsx +299 -212
  7. package/cypress/specs/FormSupport.cy.tsx +33 -0
  8. package/cypress/specs/Input.cy.tsx +1 -2
  9. package/cypress/specs/Popover.cy.tsx +44 -10
  10. package/cypress/specs/Table.cy.tsx +20 -0
  11. package/cypress/specs/TableGrowing.cy.tsx +55 -7
  12. package/cypress/support/commands/DateTimePicker.commands.ts +81 -36
  13. package/cypress/support/commands.ts +4 -0
  14. package/dist/.tsbuildinfo +1 -1
  15. package/dist/AvatarGroup.d.ts +2 -1
  16. package/dist/AvatarGroup.js.map +1 -1
  17. package/dist/AvatarGroupTemplate.js +1 -0
  18. package/dist/AvatarGroupTemplate.js.map +1 -1
  19. package/dist/Button.d.ts +10 -4
  20. package/dist/Button.js +39 -10
  21. package/dist/Button.js.map +1 -1
  22. package/dist/ButtonTemplate.js +3 -4
  23. package/dist/ButtonTemplate.js.map +1 -1
  24. package/dist/Carousel.d.ts +3 -1
  25. package/dist/Carousel.js.map +1 -1
  26. package/dist/CheckBox.d.ts +3 -0
  27. package/dist/CheckBox.js +3 -0
  28. package/dist/CheckBox.js.map +1 -1
  29. package/dist/ExpandableText.d.ts +3 -1
  30. package/dist/ExpandableText.js.map +1 -1
  31. package/dist/MenuItem.d.ts +0 -1
  32. package/dist/MenuItem.js +0 -3
  33. package/dist/MenuItem.js.map +1 -1
  34. package/dist/MultiComboBox.d.ts +3 -1
  35. package/dist/MultiComboBox.js.map +1 -1
  36. package/dist/Panel.d.ts +3 -1
  37. package/dist/Panel.js +1 -1
  38. package/dist/Panel.js.map +1 -1
  39. package/dist/Popover.js +2 -2
  40. package/dist/Popover.js.map +1 -1
  41. package/dist/SplitButton.d.ts +3 -3
  42. package/dist/SplitButton.js.map +1 -1
  43. package/dist/TableGrowing.js +1 -2
  44. package/dist/TableGrowing.js.map +1 -1
  45. package/dist/TableHeaderCellActionBase.d.ts +3 -1
  46. package/dist/TableHeaderCellActionBase.js.map +1 -1
  47. package/dist/TableRow.d.ts +3 -1
  48. package/dist/TableRow.js +1 -1
  49. package/dist/TableRow.js.map +1 -1
  50. package/dist/TableRowActionBase.d.ts +3 -1
  51. package/dist/TableRowActionBase.js.map +1 -1
  52. package/dist/TableTemplate.js +1 -1
  53. package/dist/TableTemplate.js.map +1 -1
  54. package/dist/Tokenizer.d.ts +3 -1
  55. package/dist/Tokenizer.js.map +1 -1
  56. package/dist/Tree.js +3 -0
  57. package/dist/Tree.js.map +1 -1
  58. package/dist/css/themes/Avatar.css +1 -1
  59. package/dist/css/themes/AvatarGroup.css +1 -1
  60. package/dist/css/themes/Bar.css +1 -1
  61. package/dist/css/themes/Breadcrumbs.css +1 -1
  62. package/dist/css/themes/BusyIndicator.css +1 -1
  63. package/dist/css/themes/Button.css +1 -1
  64. package/dist/css/themes/ButtonBadge.css +1 -1
  65. package/dist/css/themes/Calendar.css +1 -1
  66. package/dist/css/themes/CalendarHeader.css +1 -1
  67. package/dist/css/themes/CalendarLegend.css +1 -1
  68. package/dist/css/themes/CalendarLegendItem.css +1 -1
  69. package/dist/css/themes/Card.css +1 -1
  70. package/dist/css/themes/CardHeader.css +1 -1
  71. package/dist/css/themes/Carousel.css +1 -1
  72. package/dist/css/themes/CheckBox.css +1 -1
  73. package/dist/css/themes/ColorPalette.css +1 -1
  74. package/dist/css/themes/ColorPaletteItem.css +1 -1
  75. package/dist/css/themes/ColorPalettePopover.css +1 -1
  76. package/dist/css/themes/ColorPicker.css +1 -1
  77. package/dist/css/themes/ComboBox.css +1 -1
  78. package/dist/css/themes/ComboBoxItem.css +1 -1
  79. package/dist/css/themes/DatePicker.css +1 -1
  80. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  81. package/dist/css/themes/DayPicker.css +1 -1
  82. package/dist/css/themes/Dialog.css +1 -1
  83. package/dist/css/themes/FileUploader.css +1 -1
  84. package/dist/css/themes/Form.css +1 -1
  85. package/dist/css/themes/FormItem.css +1 -1
  86. package/dist/css/themes/FormItemSpan.css +1 -1
  87. package/dist/css/themes/GrowingButton.css +1 -1
  88. package/dist/css/themes/Icon.css +1 -1
  89. package/dist/css/themes/Input.css +1 -1
  90. package/dist/css/themes/InputIcon.css +1 -1
  91. package/dist/css/themes/InputSharedStyles.css +1 -1
  92. package/dist/css/themes/Link.css +1 -1
  93. package/dist/css/themes/List.css +1 -1
  94. package/dist/css/themes/ListItem.css +1 -1
  95. package/dist/css/themes/ListItemBase.css +1 -1
  96. package/dist/css/themes/ListItemCustom.css +1 -1
  97. package/dist/css/themes/ListItemGroup.css +1 -1
  98. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  99. package/dist/css/themes/ListItemIcon.css +1 -1
  100. package/dist/css/themes/Menu.css +1 -1
  101. package/dist/css/themes/MenuItem.css +1 -1
  102. package/dist/css/themes/MessageStrip.css +1 -1
  103. package/dist/css/themes/MonthPicker.css +1 -1
  104. package/dist/css/themes/MultiComboBox.css +1 -1
  105. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  106. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  107. package/dist/css/themes/MultiInput.css +1 -1
  108. package/dist/css/themes/OptionBase.css +1 -1
  109. package/dist/css/themes/Panel.css +1 -1
  110. package/dist/css/themes/Popover.css +1 -1
  111. package/dist/css/themes/PopupsCommon.css +1 -1
  112. package/dist/css/themes/ProgressIndicator.css +1 -1
  113. package/dist/css/themes/RadioButton.css +1 -1
  114. package/dist/css/themes/RangeSlider.css +1 -1
  115. package/dist/css/themes/RatingIndicator.css +1 -1
  116. package/dist/css/themes/ResponsivePopover.css +1 -1
  117. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  118. package/dist/css/themes/SegmentedButton.css +1 -1
  119. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  120. package/dist/css/themes/Select.css +1 -1
  121. package/dist/css/themes/SliderBase.css +1 -1
  122. package/dist/css/themes/SplitButton.css +1 -1
  123. package/dist/css/themes/StepInput.css +1 -1
  124. package/dist/css/themes/SuggestionItem.css +1 -1
  125. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  126. package/dist/css/themes/Switch.css +1 -1
  127. package/dist/css/themes/TabContainer.css +1 -1
  128. package/dist/css/themes/TabInOverflow.css +1 -1
  129. package/dist/css/themes/TabInStrip.css +1 -1
  130. package/dist/css/themes/TabSemanticIcon.css +1 -1
  131. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  132. package/dist/css/themes/TableCellBase.css +1 -1
  133. package/dist/css/themes/TableHeaderRow.css +1 -1
  134. package/dist/css/themes/TableRow.css +1 -1
  135. package/dist/css/themes/TableRowActionBase.css +1 -1
  136. package/dist/css/themes/TableRowBase.css +1 -1
  137. package/dist/css/themes/Tag.css +1 -1
  138. package/dist/css/themes/Text.css +1 -1
  139. package/dist/css/themes/TextArea.css +1 -1
  140. package/dist/css/themes/TimePicker.css +1 -1
  141. package/dist/css/themes/Toast.css +1 -1
  142. package/dist/css/themes/ToggleButton.css +1 -1
  143. package/dist/css/themes/Token.css +1 -1
  144. package/dist/css/themes/Tokenizer.css +1 -1
  145. package/dist/css/themes/TokenizerPopover.css +1 -1
  146. package/dist/css/themes/Toolbar.css +1 -1
  147. package/dist/css/themes/ToolbarPopover.css +1 -1
  148. package/dist/css/themes/TreeItem.css +1 -1
  149. package/dist/css/themes/ValueStateMessage.css +1 -1
  150. package/dist/css/themes/YearPicker.css +1 -1
  151. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  152. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  153. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  154. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  155. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  156. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  157. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  158. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  159. package/dist/custom-elements-internal.json +111 -11
  160. package/dist/custom-elements.json +20 -6
  161. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  162. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  163. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  164. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  165. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  166. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  167. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  168. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  169. package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
  170. package/dist/generated/i18n/i18n-defaults.js +2 -1
  171. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  172. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  173. package/dist/generated/themes/Avatar.css.js +1 -1
  174. package/dist/generated/themes/Avatar.css.js.map +1 -1
  175. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  176. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  177. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  178. package/dist/generated/themes/Bar.css.d.ts +1 -1
  179. package/dist/generated/themes/Bar.css.js +1 -1
  180. package/dist/generated/themes/Bar.css.js.map +1 -1
  181. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  182. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  183. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  184. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  185. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  186. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  187. package/dist/generated/themes/Button.css.d.ts +1 -1
  188. package/dist/generated/themes/Button.css.js +1 -1
  189. package/dist/generated/themes/Button.css.js.map +1 -1
  190. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  191. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  192. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  193. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  194. package/dist/generated/themes/Calendar.css.js +1 -1
  195. package/dist/generated/themes/Calendar.css.js.map +1 -1
  196. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  197. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  198. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  199. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  200. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  201. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  202. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  203. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  204. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  205. package/dist/generated/themes/Card.css.d.ts +1 -1
  206. package/dist/generated/themes/Card.css.js +1 -1
  207. package/dist/generated/themes/Card.css.js.map +1 -1
  208. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  209. package/dist/generated/themes/CardHeader.css.js +1 -1
  210. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  211. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  212. package/dist/generated/themes/Carousel.css.js +1 -1
  213. package/dist/generated/themes/Carousel.css.js.map +1 -1
  214. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  215. package/dist/generated/themes/CheckBox.css.js +1 -1
  216. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  217. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  218. package/dist/generated/themes/ColorPalette.css.js +1 -1
  219. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  220. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  221. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  222. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  223. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  224. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  225. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  226. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  227. package/dist/generated/themes/ColorPicker.css.js +1 -1
  228. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  229. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  230. package/dist/generated/themes/ComboBox.css.js +1 -1
  231. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  232. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  233. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  234. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  235. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  236. package/dist/generated/themes/DatePicker.css.js +1 -1
  237. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  238. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  239. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  240. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  241. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  242. package/dist/generated/themes/DayPicker.css.js +1 -1
  243. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  244. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  245. package/dist/generated/themes/Dialog.css.js +1 -1
  246. package/dist/generated/themes/Dialog.css.js.map +1 -1
  247. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  248. package/dist/generated/themes/FileUploader.css.js +1 -1
  249. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  250. package/dist/generated/themes/Form.css.d.ts +1 -1
  251. package/dist/generated/themes/Form.css.js +1 -1
  252. package/dist/generated/themes/Form.css.js.map +1 -1
  253. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  254. package/dist/generated/themes/FormItem.css.js +1 -1
  255. package/dist/generated/themes/FormItem.css.js.map +1 -1
  256. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  257. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  258. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  259. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  260. package/dist/generated/themes/GrowingButton.css.js +1 -1
  261. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  262. package/dist/generated/themes/Icon.css.d.ts +1 -1
  263. package/dist/generated/themes/Icon.css.js +1 -1
  264. package/dist/generated/themes/Icon.css.js.map +1 -1
  265. package/dist/generated/themes/Input.css.d.ts +1 -1
  266. package/dist/generated/themes/Input.css.js +1 -1
  267. package/dist/generated/themes/Input.css.js.map +1 -1
  268. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  269. package/dist/generated/themes/InputIcon.css.js +1 -1
  270. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  271. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  272. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  273. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  274. package/dist/generated/themes/Link.css.d.ts +1 -1
  275. package/dist/generated/themes/Link.css.js +1 -1
  276. package/dist/generated/themes/Link.css.js.map +1 -1
  277. package/dist/generated/themes/List.css.d.ts +1 -1
  278. package/dist/generated/themes/List.css.js +1 -1
  279. package/dist/generated/themes/List.css.js.map +1 -1
  280. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  281. package/dist/generated/themes/ListItem.css.js +1 -1
  282. package/dist/generated/themes/ListItem.css.js.map +1 -1
  283. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  284. package/dist/generated/themes/ListItemBase.css.js +1 -1
  285. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  286. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  287. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  288. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  289. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  290. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  291. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  292. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  293. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  294. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  295. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  296. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  297. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  298. package/dist/generated/themes/Menu.css.d.ts +1 -1
  299. package/dist/generated/themes/Menu.css.js +1 -1
  300. package/dist/generated/themes/Menu.css.js.map +1 -1
  301. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  302. package/dist/generated/themes/MenuItem.css.js +1 -1
  303. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  304. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  305. package/dist/generated/themes/MessageStrip.css.js +1 -1
  306. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  307. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  308. package/dist/generated/themes/MonthPicker.css.js +1 -1
  309. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  310. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  311. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  312. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  313. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  314. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  315. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  316. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  317. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  318. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  319. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  320. package/dist/generated/themes/MultiInput.css.js +1 -1
  321. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  322. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  323. package/dist/generated/themes/OptionBase.css.js +1 -1
  324. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  325. package/dist/generated/themes/Panel.css.d.ts +1 -1
  326. package/dist/generated/themes/Panel.css.js +1 -1
  327. package/dist/generated/themes/Panel.css.js.map +1 -1
  328. package/dist/generated/themes/Popover.css.d.ts +1 -1
  329. package/dist/generated/themes/Popover.css.js +1 -1
  330. package/dist/generated/themes/Popover.css.js.map +1 -1
  331. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  332. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  333. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  334. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  335. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  336. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  337. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  338. package/dist/generated/themes/RadioButton.css.js +1 -1
  339. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  340. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  341. package/dist/generated/themes/RangeSlider.css.js +1 -1
  342. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  343. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  344. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  345. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  346. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  347. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  348. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  349. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  350. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  351. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  352. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  353. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  354. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  355. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  356. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  357. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  358. package/dist/generated/themes/Select.css.d.ts +1 -1
  359. package/dist/generated/themes/Select.css.js +1 -1
  360. package/dist/generated/themes/Select.css.js.map +1 -1
  361. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  362. package/dist/generated/themes/SliderBase.css.js +1 -1
  363. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  364. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  365. package/dist/generated/themes/SplitButton.css.js +1 -1
  366. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  367. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  368. package/dist/generated/themes/StepInput.css.js +1 -1
  369. package/dist/generated/themes/StepInput.css.js.map +1 -1
  370. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  371. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  372. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  373. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  374. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  375. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  376. package/dist/generated/themes/Switch.css.d.ts +1 -1
  377. package/dist/generated/themes/Switch.css.js +1 -1
  378. package/dist/generated/themes/Switch.css.js.map +1 -1
  379. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  380. package/dist/generated/themes/TabContainer.css.js +1 -1
  381. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  382. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  383. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  384. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  385. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  386. package/dist/generated/themes/TabInStrip.css.js +1 -1
  387. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  388. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  389. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  390. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  391. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  392. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  393. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  394. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  395. package/dist/generated/themes/TableCellBase.css.js +1 -1
  396. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  397. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  398. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  399. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  400. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  401. package/dist/generated/themes/TableRow.css.js +1 -1
  402. package/dist/generated/themes/TableRow.css.js.map +1 -1
  403. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  404. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  405. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  406. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  407. package/dist/generated/themes/TableRowBase.css.js +1 -1
  408. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  409. package/dist/generated/themes/Tag.css.d.ts +1 -1
  410. package/dist/generated/themes/Tag.css.js +1 -1
  411. package/dist/generated/themes/Tag.css.js.map +1 -1
  412. package/dist/generated/themes/Text.css.d.ts +1 -1
  413. package/dist/generated/themes/Text.css.js +1 -1
  414. package/dist/generated/themes/Text.css.js.map +1 -1
  415. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  416. package/dist/generated/themes/TextArea.css.js +1 -1
  417. package/dist/generated/themes/TextArea.css.js.map +1 -1
  418. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  419. package/dist/generated/themes/TimePicker.css.js +1 -1
  420. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  421. package/dist/generated/themes/Toast.css.d.ts +1 -1
  422. package/dist/generated/themes/Toast.css.js +1 -1
  423. package/dist/generated/themes/Toast.css.js.map +1 -1
  424. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  425. package/dist/generated/themes/ToggleButton.css.js +1 -1
  426. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  427. package/dist/generated/themes/Token.css.d.ts +1 -1
  428. package/dist/generated/themes/Token.css.js +1 -1
  429. package/dist/generated/themes/Token.css.js.map +1 -1
  430. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  431. package/dist/generated/themes/Tokenizer.css.js +1 -1
  432. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  433. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  434. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  435. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  436. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  437. package/dist/generated/themes/Toolbar.css.js +1 -1
  438. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  439. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  440. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  441. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  442. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  443. package/dist/generated/themes/TreeItem.css.js +1 -1
  444. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  445. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  446. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  447. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  448. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  449. package/dist/generated/themes/YearPicker.css.js +1 -1
  450. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  451. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  452. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  453. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  454. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  455. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  456. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  457. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  458. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  459. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  460. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  461. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  462. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  463. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  464. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  465. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  466. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  467. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  468. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  469. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  470. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  471. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  472. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  473. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  474. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  475. package/dist/vscode.html-custom-data.json +3 -3
  476. package/dist/web-types.json +9 -9
  477. package/package.json +9 -9
  478. package/src/AvatarGroupTemplate.tsx +1 -0
  479. package/src/ButtonTemplate.tsx +0 -6
  480. package/src/TableTemplate.tsx +1 -1
  481. package/src/i18n/messagebundle.properties +3 -0
  482. package/src/themes/Breadcrumbs.css +1 -1
  483. package/src/themes/CalendarLegendItem.css +14 -1
  484. package/src/themes/CheckBox.css +13 -0
  485. package/src/themes/base/CalendarLegendItem-parameters.css +1 -0
  486. package/src/themes/base/sizes-parameters.css +1 -1
  487. package/src/themes/sap_horizon/CalendarLegendItem-parameters.css +1 -0
  488. package/src/themes/sap_horizon_dark/CalendarLegendItem-parameters.css +1 -0
@@ -31,60 +31,66 @@ describe("DateTimePicker general interaction", () => {
31
31
  const PREVIOUS_VALUE = "13/04/2020, 03:16:16 AM";
32
32
 
33
33
  cy.mount(<DateTimePicker id="dtSeconds" formatPattern="dd/MM/yyyy, hh:mm:ss a" value={PREVIOUS_VALUE} />);
34
- cy.ui5DateTimePickerOpen("#dtSeconds");
35
34
 
36
- cy.get("#dtSeconds")
35
+ cy.get<DateTimePicker>("#dtSeconds")
36
+ .as("dtp")
37
+ .ui5DateTimePickerOpen();
38
+
39
+ cy.get("@dtp")
37
40
  .shadow()
38
41
  .find("ui5-datetime-input")
39
42
  .should("have.value", PREVIOUS_VALUE);
40
43
 
41
- cy.ui5DateTimePickerGetPopover("#dtSeconds").within(() => {
42
- // Adjust hours:
43
- cy.get("ui5-time-selection-clocks")
44
- .shadow()
45
- .as("clocks");
46
-
47
- cy.get("@clocks")
48
- .find(`ui5-toggle-spin-button[data-ui5-clock="hours"]`)
49
- .realClick()
50
- .should("be.focused");
51
-
52
- cy.realPress("ArrowDown");
53
- cy.realPress("Space");
54
-
55
- // Adjust minutes.
56
- cy.get("@clocks")
57
- .find(`ui5-toggle-spin-button[data-ui5-clock="minutes"]`)
58
- .realClick()
59
- .should("be.focused");
60
-
61
- cy.realPress("ArrowDown");
62
- cy.realPress("ArrowDown");
63
- cy.realPress("Space");
64
-
65
- // Adjust seconds.
66
- cy.get("@clocks")
67
- .find(`ui5-toggle-spin-button[data-ui5-clock="seconds"]`)
68
- .realClick()
69
- .should("be.focused");
70
-
71
- cy.realPress("ArrowUp");
72
- cy.realPress("ArrowUp");
73
- cy.realPress("ArrowUp");
74
- cy.realType("p");
75
-
76
- // Confirm.
77
- cy.get("#ok").realClick();
78
- });
44
+ cy.get<DateTimePicker>("@dtp")
45
+ .ui5DateTimePickerGetPopover()
46
+ .within(() => {
47
+ // Adjust hours:
48
+ cy.get("[ui5-time-selection-clocks]")
49
+ .shadow()
50
+ .as("clocks");
51
+
52
+ cy.get("@clocks")
53
+ .find(`[ui5-toggle-spin-button][data-ui5-clock="hours"]`)
54
+ .realClick()
55
+ .should("be.focused");
56
+
57
+ cy.realPress("ArrowDown");
58
+ cy.realPress("Space");
59
+
60
+ // Adjust minutes.
61
+ cy.get("@clocks")
62
+ .find(`[ui5-toggle-spin-button][data-ui5-clock="minutes"]`)
63
+ .realClick()
64
+ .should("be.focused");
65
+
66
+ cy.realPress("ArrowDown");
67
+ cy.realPress("ArrowDown");
68
+ cy.realPress("Space");
69
+
70
+ // Adjust seconds.
71
+ cy.get("@clocks")
72
+ .find(`[ui5-toggle-spin-button][data-ui5-clock="seconds"]`)
73
+ .realClick()
74
+ .should("be.focused");
75
+
76
+ cy.realPress("ArrowUp");
77
+ cy.realPress("ArrowUp");
78
+ cy.realPress("ArrowUp");
79
+ cy.realType("p");
80
+
81
+ // Confirm.
82
+ cy.get("#ok").realClick();
83
+ });
79
84
 
80
85
  // Only the time parts have been updated.
81
- cy.get("#dtSeconds")
86
+ cy.get<DateTimePicker>("@dtp")
82
87
  .shadow()
83
88
  .find("ui5-datetime-input")
84
89
  .should("be.focused")
85
90
  .should("have.attr", "value", "13/04/2020, 02:14:19 PM");
86
91
 
87
- cy.ui5DateTimePickerIsOpen("#dtSeconds").should("equal", false);
92
+ cy.get<DateTimePicker>("@dtp")
93
+ .ui5DateTimePickerExpectToBeClosed();
88
94
 
89
95
  setAnimationMode(AnimationMode.Full);
90
96
  });
@@ -92,58 +98,74 @@ describe("DateTimePicker general interaction", () => {
92
98
  it("tests picker opens/closes programmatically", () => {
93
99
  cy.mount(<DefaultDateTimePicker />);
94
100
 
95
- cy.ui5DateTimePickerOpen("#dt");
96
- cy.ui5DateTimePickerIsOpen("#dt").should("equal", true);
97
- cy.ui5DateTimePickerClose("#dt");
98
- cy.ui5DateTimePickerIsOpen("#dt").should("equal", false);
101
+ cy.get<DateTimePicker>("#dt")
102
+ .as("dtp")
103
+ .ui5DateTimePickerOpen();
104
+
105
+ cy.get<DateTimePicker>("@dtp")
106
+ .ui5DateTimePickerExpectToBeOpen();
107
+
108
+ cy.get<DateTimePicker>("@dtp")
109
+ .ui5DateTimePickerClose();
110
+
111
+ cy.get<DateTimePicker>("@dtp")
112
+ .ui5DateTimePickerExpectToBeClosed();
99
113
  });
100
114
 
101
115
  // Unstable but valid test, needs to be individually observed
102
- it.skip("tests selection of new date", () => {
116
+ it("tests selection of new date", () => {
103
117
  setAnimationMode(AnimationMode.None);
104
118
  const PREVIOUS_VALUE = "13/04/2020, 03:16:16 AM";
105
119
 
106
120
  cy.mount(<DateTimePicker id="dtSeconds" formatPattern="dd/MM/yyyy, hh:mm:ss a" value={PREVIOUS_VALUE} />);
107
- cy.ui5DateTimePickerOpen("#dtSeconds");
121
+
122
+ cy.get<DateTimePicker>("#dtSeconds")
123
+ .as("dtp")
124
+ .ui5DateTimePickerOpen();
108
125
 
109
126
  cy.get("#dtSeconds")
110
127
  .shadow()
111
128
  .as("DateTimePicker");
112
129
 
113
- cy.get("@DateTimePicker")
130
+ cy.get("@dtp")
131
+ .shadow()
114
132
  .find("ui5-datetime-input")
115
133
  .should("have.value", PREVIOUS_VALUE);
116
134
 
117
- cy.ui5DateTimePickerGetPopover("#dtSeconds").within(() => {
118
- // Click the currently selected day and then move to the next day.
119
- cy.get("ui5-calendar")
120
- .shadow()
121
- .as("calendar");
135
+ cy.get<DateTimePicker>("@dtp")
136
+ .ui5DateTimePickerGetPopover()
137
+ .within(() => {
138
+ // Click the currently selected day and then move to the next day.
139
+ cy.get("[ui5-calendar]")
140
+ .shadow()
141
+ .as("calendar");
122
142
 
123
- cy.get("@calendar")
124
- .find("ui5-daypicker")
125
- .shadow()
126
- .as("daypicker")
143
+ cy.get("@calendar")
144
+ .find("ui5-daypicker")
145
+ .shadow()
146
+ .as("daypicker")
127
147
 
128
- cy.get("@daypicker")
129
- .find(".ui5-dp-item--selected")
130
- .realClick()
131
- .should("be.focused");
148
+ cy.get("@daypicker")
149
+ .find(".ui5-dp-item--selected")
150
+ .realClick()
151
+ .should("be.focused");
132
152
 
133
- cy.realPress("ArrowRight");
134
- cy.realPress("Space");
153
+ cy.realPress("ArrowRight");
154
+ cy.realPress("Space");
135
155
 
136
- // Confirm the change.
137
- cy.get("#ok").realClick();
138
- });
156
+ // Confirm the change.
157
+ cy.get("#ok").realClick();
158
+ });
139
159
 
140
160
  // Only the date has changed; the time remains the same.
141
- cy.get("@DateTimePicker")
161
+ cy.get("@dtp")
162
+ .shadow()
142
163
  .find("ui5-datetime-input")
143
164
  .should("be.focused")
144
165
  .should("have.attr", "value", "14/04/2020, 03:16:16 AM");
145
166
 
146
- cy.ui5DateTimePickerIsOpen("#dtSeconds").should("equal", false);
167
+ cy.get<DateTimePicker>("@dtp").ui5DateTimePickerExpectToBeClosed();
168
+
147
169
  setAnimationMode(AnimationMode.Full);
148
170
  });
149
171
 
@@ -152,57 +174,81 @@ describe("DateTimePicker general interaction", () => {
152
174
  setAnimationMode(AnimationMode.None);
153
175
 
154
176
  const PREVIOUS_VALUE = "14/04/2020, 02:14:19 PM";
155
- cy.mount(<DateTimePickerWithSeconds initialValue={PREVIOUS_VALUE} />);
177
+ cy.mount(<>
178
+ <button>before</button>
179
+ <DateTimePickerWithSeconds initialValue={PREVIOUS_VALUE} />
180
+ </>);
156
181
 
157
182
  cy.get("#dtSeconds")
183
+ .as("dtp")
158
184
  .shadow()
159
- .find("ui5-datetime-input")
185
+ .find("[ui5-datetime-input]")
160
186
  .should("have.value", PREVIOUS_VALUE);
161
187
 
162
- // Simulate keyboard interactions
188
+ cy.get("button")
189
+ .contains("before")
190
+ .realClick();
191
+
192
+ cy.get("button")
193
+ .contains("before")
194
+ .should("be.focused");
195
+
163
196
  cy.realPress("Tab");
164
- cy.realPress(["Shift", "Tab"]);
165
- cy.realPress("Backspace");
166
- cy.get("#dtSeconds")
197
+
198
+ // Simulate keyboard interactions
199
+ cy.get("@dtp")
167
200
  .shadow()
168
- .find("ui5-datetime-input")
169
- .realClick()
201
+ .find("[ui5-datetime-input]")
170
202
  .should("be.focused");
203
+
204
+ cy.realPress("Backspace");
171
205
  cy.realType("wrongtext");
172
206
  cy.realPress("Tab");
173
207
 
174
- cy.ui5DateTimePickerOpen("#dtSeconds");
208
+ cy.get<DateTimePicker>("@dtp")
209
+ .ui5DateTimePickerOpen();
210
+
211
+ cy.get<DateTimePicker>("@dtp")
212
+ .ui5DateTimePickerExpectToBeOpen();
175
213
 
176
- // Act
177
214
  let selectedDate = "";
178
- cy.ui5DateTimePickerGetPopover("#dtSeconds").within(() => {
179
- cy.get("ui5-calendar")
180
- .shadow()
181
- .as("calendar");
182
-
183
- cy.get("@calendar")
184
- .find("ui5-daypicker")
185
- .shadow()
186
- .as("daypicker");
187
-
188
- cy.get("@daypicker")
189
- .find(".ui5-dp-item--now")
190
- .should("be.focused")
191
- .then($el => {
192
- const timestamp = $el.attr("data-sap-timestamp") || "";
193
- const date = new Date(parseInt(timestamp) * 1000);
194
- selectedDate = `${String(date.getDate()).padStart(2, "0")}/${String(date.getMonth() + 1).padStart(2, "0")}/${date.getFullYear()}`;
195
- })
196
- .realClick();
197
-
198
- cy.get("#ok").realClick();
199
- });
200
215
 
201
- cy.get("#dtSeconds")
202
- .shadow()
203
- .find("ui5-datetime-input")
204
- .should("be.focused")
205
- .should("have.attr", "value", selectedDate + ", 02:14:19 PM");
216
+ cy.get<DateTimePicker>("@dtp")
217
+ .ui5DateTimePickerGetPopover()
218
+ .within(() => {
219
+ cy.get("[ui5-calendar]")
220
+ .shadow()
221
+ .as("calendar");
222
+
223
+ cy.get("@calendar")
224
+ .find("ui5-daypicker")
225
+ .shadow()
226
+ .as("daypicker");
227
+
228
+ cy.get("@daypicker")
229
+ .find(".ui5-dp-item--now")
230
+ .realClick();
231
+
232
+ cy.get("@daypicker")
233
+ .find(".ui5-dp-item--now")
234
+ .should("be.focused")
235
+ .then($el => {
236
+ const timestamp = $el.attr("data-sap-timestamp") || "";
237
+ const date = new Date(parseInt(timestamp) * 1000);
238
+ selectedDate = `${String(date.getDate()).padStart(2, "0")}/${String(date.getMonth() + 1).padStart(2, "0")}/${date.getFullYear()}`;
239
+ })
240
+ })
241
+ .then(() => {
242
+ cy.get<DateTimePicker>("@dtp")
243
+ .ui5DateTimePickerGetSubmitButton()
244
+ .realClick();
245
+
246
+ cy.get("#dtSeconds")
247
+ .shadow()
248
+ .find("ui5-datetime-input")
249
+ .should("be.focused")
250
+ .and("have.attr", "value", selectedDate + ", 02:14:19 PM");
251
+ });
206
252
 
207
253
  setAnimationMode(AnimationMode.Full);
208
254
  });
@@ -213,19 +259,21 @@ describe("DateTimePicker general interaction", () => {
213
259
 
214
260
  cy.mount(<DateTimePickerWithSeconds />);
215
261
 
216
- cy.ui5DateTimePickerOpen("#dtSeconds");
262
+ cy.get<DateTimePicker>("#dtSeconds")
263
+ .as("dtp")
264
+ .ui5DateTimePickerOpen();
265
+
217
266
 
218
- cy.ui5DateTimePickerTimeSelectionClocksCount("#dtSeconds").then(clocksCount => {
219
- expect(clocksCount).to.equal(expectedClocksCount,
220
- "The picker should display 3 clocks for hours, minutes and seconds.");
221
- });
267
+ cy.get<DateTimePicker>("@dtp")
268
+ .ui5DateTimePickerTimeSelectionClocksCount()
269
+ .should("be.equal", expectedClocksCount)
222
270
 
223
- cy.ui5DateTimePickerPeriodSegmentedButtonCount("#dtSeconds").then(periodCount => {
224
- expect(periodCount).to.equal(expectedPeriodCount,
225
- "The picker should display 1 period selector.");
226
- });
271
+ cy.get<DateTimePicker>("@dtp")
272
+ .ui5DateTimePickerPeriodSegmentedButtonCount()
273
+ .should("be.equal", expectedPeriodCount)
227
274
 
228
- cy.ui5DateTimePickerClose("#dtSeconds");
275
+ cy.get<DateTimePicker>("@dtp")
276
+ .ui5DateTimePickerClose();
229
277
  });
230
278
 
231
279
  it("tests time controls for dtMinutes picker", () => {
@@ -234,51 +282,66 @@ describe("DateTimePicker general interaction", () => {
234
282
 
235
283
  cy.mount(<DateTimePickerWithMinutes />);
236
284
 
237
- cy.ui5DateTimePickerOpen("#dtMinutes");
285
+ cy.get<DateTimePicker>("#dtMinutes")
286
+ .as("dtp")
287
+ .ui5DateTimePickerOpen();
288
+
238
289
 
239
- cy.ui5DateTimePickerTimeSelectionClocksCount("#dtMinutes").then(clocksCount => {
240
- expect(clocksCount).to.equal(expectedClocksCount,
241
- "The picker should display 2 clocks for hours and minutes.");
242
- });
290
+ cy.get<DateTimePicker>("@dtp")
291
+ .ui5DateTimePickerTimeSelectionClocksCount()
292
+ .should("be.equal", expectedClocksCount)
243
293
 
244
- cy.ui5DateTimePickerPeriodSegmentedButtonCount("#dtMinutes").then(periodCount => {
245
- expect(periodCount).to.equal(expectedPeriodCount,
246
- "The picker should display 1 period selector.");
247
- });
294
+ cy.get<DateTimePicker>("@dtp")
295
+ .ui5DateTimePickerPeriodSegmentedButtonCount()
296
+ .should("be.equal", expectedPeriodCount)
248
297
 
249
- cy.ui5DateTimePickerClose("#dtMinutes");
298
+ cy.get<DateTimePicker>("@dtp")
299
+ .ui5DateTimePickerClose();
250
300
  });
251
301
 
252
302
  it("tests hours clock is active on picker open", () => {
253
303
  cy.mount(<DefaultDateTimePicker />);
254
- cy.ui5DateTimePickerOpen("#dt");
255
304
 
256
- cy.ui5DateTimePickerGetPopover("#dt").within(() => {
257
- cy.get("ui5-time-selection-clocks")
258
- .shadow()
259
- .as("clocks");
305
+ cy.get<DateTimePicker>("#dt")
306
+ .as("dtp")
307
+ .ui5DateTimePickerOpen();
260
308
 
261
- cy.get("@clocks")
262
- .find(`ui5-time-picker-clock[data-ui5-clock="hours"]`)
263
- .should("have.attr", "active", "");
264
- });
309
+ cy.get<DateTimePicker>("@dtp")
310
+ .ui5DateTimePickerGetPopover()
311
+ .within(() => {
312
+ cy.get("[ui5-time-selection-clocks]")
313
+ .shadow()
314
+ .as("clocks");
315
+
316
+ cy.get("@clocks")
317
+ .find(`[ui5-time-picker-clock][data-ui5-clock="hours"]`)
318
+ .should("have.attr", "active", "");
319
+ });
265
320
 
266
- cy.ui5DateTimePickerClose("#dt");
267
- cy.ui5DateTimePickerIsOpen("#dt").should("equal", false);
321
+ cy.get<DateTimePicker>("@dtp")
322
+ .ui5DateTimePickerClose();
323
+
324
+ cy.get<DateTimePicker>("@dtp")
325
+ .ui5DateTimePickerExpectToBeClosed();
268
326
  });
269
327
 
270
328
  // Unstable test, needs investigation
271
- it.skip("tests selection of 12:34:56 AM", () => {
329
+ it("tests selection of 12:34:56 AM", () => {
272
330
  setAnimationMode(AnimationMode.None);
273
331
 
274
332
  cy.mount(<DateTimePickerWithSeconds />);
275
333
 
276
- cy.ui5DateTimePickerOpen("#dtSeconds");
277
- cy.ui5DateTimePickerIsOpen("#dtSeconds").should("equal", true);
334
+ cy.get<DateTimePicker>("#dtSeconds")
335
+ .as("dtp")
336
+ .ui5DateTimePickerOpen();
337
+
338
+ cy.get<DateTimePicker>("@dtp")
339
+ .ui5DateTimePickerExpectToBeOpen();
278
340
 
279
- cy.ui5DateTimePickerGetPopover("#dtSeconds")
341
+ cy.get<DateTimePicker>("@dtp")
342
+ .ui5DateTimePickerGetPopover()
280
343
  .within(() => {
281
- cy.get("ui5-calendar")
344
+ cy.get("[ui5-calendar]")
282
345
  .shadow()
283
346
  .as("calendar");
284
347
 
@@ -292,38 +355,39 @@ describe("DateTimePicker general interaction", () => {
292
355
  .should("be.focused")
293
356
  .realClick();
294
357
 
295
- cy.get("ui5-time-selection-clocks")
358
+ cy.get("[ui5-time-selection-clocks]")
296
359
  .shadow()
297
360
  .as("clocks");
298
361
 
299
362
  cy.get("@clocks")
300
- .find(`ui5-toggle-spin-button[data-ui5-clock="hours"]`)
363
+ .find(`[ui5-toggle-spin-button][data-ui5-clock="hours"]`)
301
364
  .realClick()
302
- .should("be.focused")
303
- .realType("1")
304
- .realType("2");
365
+ .should("be.focused");
366
+
367
+ cy.realType("12")
305
368
 
306
369
  cy.get("@clocks")
307
- .find(`ui5-toggle-spin-button[data-ui5-clock="minutes"]`)
308
- .should("be.focused")
309
- .realType("3")
310
- .realType("4");
370
+ .find(`[ui5-toggle-spin-button][data-ui5-clock="minutes"]`)
371
+ .should("be.focused");
372
+
373
+ cy.realType("34");
311
374
 
312
375
  cy.get("@clocks")
313
- .find(`ui5-toggle-spin-button[data-ui5-clock="seconds"]`)
376
+ .find(`[ui5-toggle-spin-button][data-ui5-clock="seconds"]`)
314
377
  .should("be.focused")
315
- .realType("5")
316
- .realType("6")
317
- .realType("a");
318
378
 
319
- cy.get("#ok").realClick();
379
+ cy.realType("56a")
320
380
  });
321
381
 
382
+ cy.get<DateTimePicker>("@dtp")
383
+ .ui5DateTimePickerGetSubmitButton()
384
+ .realClick();
385
+
322
386
  cy.get("#dtSeconds")
323
387
  .shadow()
324
388
  .find("ui5-datetime-input")
325
389
  .should("be.focused")
326
- .should("have.attr", "value", "13/04/2020, 12:34:56 AM");
390
+ .and("have.attr", "value", "13/04/2020, 12:34:56 AM");
327
391
 
328
392
  setAnimationMode(AnimationMode.Full);
329
393
  });
@@ -331,22 +395,22 @@ describe("DateTimePicker general interaction", () => {
331
395
  it("tests change event is prevented on submit when prevent default is called", () => {
332
396
  cy.mount(<DefaultDateTimePicker />);
333
397
 
334
- cy.get("[ui5-datetime-picker]")
398
+ cy.get<DateTimePicker>("[ui5-datetime-picker]")
335
399
  .as("dtp")
336
400
 
337
- cy.get("@dtp")
401
+ cy.get<DateTimePicker>("@dtp")
338
402
  .shadow()
339
403
  .find("[ui5-datetime-input]")
340
404
  .as("input");
341
405
 
342
- cy.get("@dtp")
406
+ cy.get<DateTimePicker>("@dtp")
343
407
  .shadow()
344
408
  .find("ui5-responsive-popover ui5-calendar")
345
409
  .shadow()
346
410
  .find("ui5-daypicker")
347
411
  .as("daypicker");
348
412
 
349
- cy.get("@dtp")
413
+ cy.get<DateTimePicker>("@dtp")
350
414
  .then($el => {
351
415
  $el[0].addEventListener("ui5-change", (ev: Event) => {
352
416
  ev.preventDefault();
@@ -354,7 +418,8 @@ describe("DateTimePicker general interaction", () => {
354
418
  });
355
419
 
356
420
  // act: open the picker
357
- cy.ui5DateTimePickerOpen("#dt");
421
+ cy.get<DateTimePicker>("@dtp")
422
+ .ui5DateTimePickerOpen();
358
423
 
359
424
  // act: click today's date
360
425
  cy.get("@daypicker")
@@ -364,16 +429,15 @@ describe("DateTimePicker general interaction", () => {
364
429
  .realClick();
365
430
 
366
431
  // act: confirm selection
367
- cy.get("@dtp")
368
- .shadow()
369
- .find("ui5-responsive-popover #ok")
432
+ cy.get<DateTimePicker>("@dtp")
433
+ .ui5DateTimePickerGetSubmitButton()
370
434
  .realClick();
371
435
 
372
436
  // assert: the picker is closed
373
437
  cy.get("@dtp")
374
438
  .shadow()
375
- .find("ui5-responsive-popover")
376
- .should("exist").and("not.be.visible");
439
+ .find<ResponsivePopover>("[ui5-responsive-popover]")
440
+ .ui5ResponsivePopoverClosed();
377
441
 
378
442
  // assert: the value is not changed
379
443
  cy.get("@input")
@@ -390,45 +454,52 @@ describe("DateTimePicker general interaction", () => {
390
454
  ></DateTimePicker>
391
455
  );
392
456
 
393
- cy.ui5DateTimePickerOpen("#dtMinMaxDatesISO");
457
+ cy.get<DateTimePicker>("#dtMinMaxDatesISO")
458
+ .as("dtp")
459
+
460
+ cy.get<DateTimePicker>("@dtp")
461
+ .ui5DateTimePickerOpen();
394
462
 
395
- cy.ui5DateTimePickerGetPopover("#dtMinMaxDatesISO").within(() => {
396
- cy.get("ui5-calendar")
397
- .shadow()
398
- .find(".ui5-calheader")
399
- .as("calHeader");
463
+ cy.get<DateTimePicker>("@dtp")
464
+ .ui5DateTimePickerGetPopover()
465
+ .within(() => {
466
+ cy.get("[ui5-calendar]")
467
+ .shadow()
468
+ .find(".ui5-calheader")
469
+ .as("calHeader");
400
470
 
401
- cy.get("@calHeader")
402
- .find("div[data-ui5-cal-header-btn-prev]")
403
- .should("have.class", "ui5-calheader-arrowbtn-disabled");
471
+ cy.get("@calHeader")
472
+ .find("div[data-ui5-cal-header-btn-prev]")
473
+ .should("have.class", "ui5-calheader-arrowbtn-disabled");
404
474
 
405
- cy.get("@calHeader")
406
- .find("div[data-ui5-cal-header-btn-next]")
407
- .should("have.class", "ui5-calheader-arrowbtn-disabled");
408
- });
475
+ cy.get("@calHeader")
476
+ .find("div[data-ui5-cal-header-btn-next]")
477
+ .should("have.class", "ui5-calheader-arrowbtn-disabled");
478
+ });
409
479
  });
410
480
 
411
481
  it("picker popover should have accessible name", () => {
412
482
  cy.mount(<DefaultDateTimePicker />);
413
- cy.ui5DateTimePickerOpen("#dt");
414
483
 
415
- cy.ui5DateTimePickerGetPopover("#dt")
484
+ cy.get<DateTimePicker>("#dt")
485
+ .ui5DateTimePickerGetPopover()
416
486
  .should("have.attr", "accessible-name", "Choose Date and Time");
417
487
  });
418
488
 
419
489
  it("value state", () => {
420
490
  cy.mount(<DateTimePicker id="dtpValueState" valueState="Negative"></DateTimePicker>);
421
491
  cy.get("[ui5-datetime-picker]")
422
- .as("dateTimePicker");
492
+ .as("dtp");
423
493
 
424
- cy.get<DateTimePicker>("@dateTimePicker")
494
+ cy.get<DateTimePicker>("@dtp")
425
495
  .shadow()
426
496
  .find("ui5-datetime-input")
427
497
  .should("have.attr", "value-state", "Negative");
428
498
 
429
- cy.ui5DateTimePickerOpen("#dtpValueState");
499
+ cy.get<DateTimePicker>("@dtp")
500
+ .ui5DateTimePickerOpen();
430
501
 
431
- cy.get<DateTimePicker>("@dateTimePicker")
502
+ cy.get<DateTimePicker>("@dtp")
432
503
  .shadow()
433
504
  .find("[slot='header']")
434
505
  .first()
@@ -436,46 +507,62 @@ describe("DateTimePicker general interaction", () => {
436
507
  });
437
508
 
438
509
  // Unstable test, needs investigation
439
- it.skip("tests change event is fired on submit", () => {
510
+ it("tests change event is fired on submit", () => {
440
511
  cy.mount(<DefaultDateTimePicker />);
441
512
 
442
513
  const changeStub = cy.stub();
443
- cy.get("#dt").then($el => {
444
- $el[0].addEventListener("ui5-change", changeStub);
445
- });
514
+
515
+ cy.get("#dt")
516
+ .as("dtp")
517
+ .then($el => {
518
+ $el[0].addEventListener("ui5-change", changeStub);
519
+ });
446
520
 
447
521
  // Open the picker, select a date, and submit to fire the event
448
- cy.ui5DateTimePickerOpen("#dt");
449
- cy.ui5DateTimePickerGetPopover("#dt").within(() => {
450
- cy.get("ui5-calendar")
451
- .shadow()
452
- .as("calendar");
453
-
454
- cy.get("@calendar")
455
- .find("ui5-daypicker")
456
- .shadow()
457
- .as("daypicker");
458
-
459
- cy.get("@daypicker")
460
- .find("[data-sap-focus-ref]")
461
- .realClick()
462
- .should("be.focused");
463
- cy.get("#ok").realClick();
464
- });
522
+ cy.get<DateTimePicker>("@dtp")
523
+ .ui5DateTimePickerOpen();
524
+
525
+ cy.get<DateTimePicker>("@dtp")
526
+ .ui5DateTimePickerExpectToBeOpen();
527
+
528
+ cy.get<DateTimePicker>("@dtp")
529
+ .ui5DateTimePickerGetPopover()
530
+ .within(() => {
531
+ cy.get("[ui5-calendar]")
532
+ .shadow()
533
+ .as("calendar");
534
+
535
+ cy.get("@calendar")
536
+ .find("ui5-daypicker")
537
+ .shadow()
538
+ .as("daypicker");
539
+
540
+ cy.get("@daypicker")
541
+ .find("[data-sap-focus-ref]")
542
+ .realClick()
543
+ .should("be.focused");
544
+ });
545
+
546
+ cy.get<DateTimePicker>("@dtp")
547
+ .ui5DateTimePickerGetSubmitButton()
548
+ .realClick();
465
549
 
466
550
  // Assert the change event was fired once
467
551
  cy.wrap(changeStub).should("have.been.calledOnce");
468
552
 
469
553
  // Re-open the picker and submit without making a change
470
- cy.ui5DateTimePickerOpen("#dt");
471
- cy.ui5DateTimePickerGetPopover("#dt").within(() => {
472
- cy.get("#ok").realClick();
473
- });
554
+ cy.get<DateTimePicker>("@dtp")
555
+ .ui5DateTimePickerOpen();
556
+
557
+ cy.get<DateTimePicker>("@dtp")
558
+ .ui5DateTimePickerGetSubmitButton()
559
+ .realClick();
474
560
 
475
561
  // The change event should not have been fired a second time.
476
562
  cy.wrap(changeStub).should("have.been.calledOnce");
477
563
 
478
564
  // Verify the picker is closed
479
- cy.ui5DateTimePickerIsOpen("#dt").should("equal", false);
565
+ cy.get<DateTimePicker>("@dtp")
566
+ .ui5DateTimePickerExpectToBeClosed();
480
567
  });
481
568
  });