@ui5/webcomponents 2.3.0-rc.0 → 2.3.0-rc.2

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 (388) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cypress/specs/Eventing.cy.ts +44 -0
  3. package/cypress/specs/F6.cy.ts +659 -0
  4. package/cypress/specs/Form.cy.ts +381 -0
  5. package/cypress/specs/FormSupport.cy.ts +896 -0
  6. package/cypress/specs/LitKeyFunction.cy.ts +50 -0
  7. package/cypress/specs/RTL.cy.ts +19 -0
  8. package/cypress/specs/base/AriaLabelHelper.cy.ts +282 -0
  9. package/cypress/specs/base/IconCollection.cy.ts +58 -0
  10. package/cypress/specs/base/IgnoreCustomElements.cy.ts +35 -0
  11. package/cypress/specs/base/InvisibleMessage.cy.ts +31 -0
  12. package/cypress/specs/base/Tooltips.cy.ts +55 -0
  13. package/cypress/specs/base/css/redfish.custom.theme.css +13 -0
  14. package/cypress.config.js +3 -1
  15. package/dist/.tsbuildinfo +1 -1
  16. package/dist/Calendar.js +4 -1
  17. package/dist/Calendar.js.map +1 -1
  18. package/dist/List.d.ts +2 -0
  19. package/dist/List.js +19 -15
  20. package/dist/List.js.map +1 -1
  21. package/dist/MultiComboBox.d.ts +1 -0
  22. package/dist/MultiComboBox.js +4 -1
  23. package/dist/MultiComboBox.js.map +1 -1
  24. package/dist/TabContainer.js +37 -31
  25. package/dist/TabContainer.js.map +1 -1
  26. package/dist/bundle.common.bootstrap.d.ts +11 -0
  27. package/dist/bundle.common.bootstrap.js +2 -0
  28. package/dist/bundle.common.bootstrap.js.map +1 -1
  29. package/dist/bundle.esm.d.ts +11 -0
  30. package/dist/css/themes/Avatar.css +1 -1
  31. package/dist/css/themes/AvatarGroup.css +1 -1
  32. package/dist/css/themes/Bar.css +1 -1
  33. package/dist/css/themes/Breadcrumbs.css +1 -1
  34. package/dist/css/themes/BusyIndicator.css +1 -1
  35. package/dist/css/themes/Button.css +1 -1
  36. package/dist/css/themes/Calendar.css +1 -1
  37. package/dist/css/themes/CalendarHeader.css +1 -1
  38. package/dist/css/themes/CalendarLegend.css +1 -1
  39. package/dist/css/themes/CalendarLegendItem.css +1 -1
  40. package/dist/css/themes/Card.css +1 -1
  41. package/dist/css/themes/CardHeader.css +1 -1
  42. package/dist/css/themes/Carousel.css +1 -1
  43. package/dist/css/themes/CheckBox.css +1 -1
  44. package/dist/css/themes/ColorPalette.css +1 -1
  45. package/dist/css/themes/ColorPaletteItem.css +1 -1
  46. package/dist/css/themes/ColorPalettePopover.css +1 -1
  47. package/dist/css/themes/ColorPicker.css +1 -1
  48. package/dist/css/themes/ComboBox.css +1 -1
  49. package/dist/css/themes/DatePicker.css +1 -1
  50. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  51. package/dist/css/themes/DayPicker.css +1 -1
  52. package/dist/css/themes/Dialog.css +1 -1
  53. package/dist/css/themes/FileUploader.css +1 -1
  54. package/dist/css/themes/Form.css +1 -1
  55. package/dist/css/themes/FormItem.css +1 -1
  56. package/dist/css/themes/FormLabelSpan.css +1 -1
  57. package/dist/css/themes/GrowingButton.css +1 -1
  58. package/dist/css/themes/Icon.css +1 -1
  59. package/dist/css/themes/Input.css +1 -1
  60. package/dist/css/themes/InputIcon.css +1 -1
  61. package/dist/css/themes/InputSharedStyles.css +1 -1
  62. package/dist/css/themes/Link.css +1 -1
  63. package/dist/css/themes/List.css +1 -1
  64. package/dist/css/themes/ListItem.css +1 -1
  65. package/dist/css/themes/ListItemBase.css +1 -1
  66. package/dist/css/themes/ListItemCustom.css +1 -1
  67. package/dist/css/themes/ListItemGroup.css +1 -1
  68. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  69. package/dist/css/themes/ListItemIcon.css +1 -1
  70. package/dist/css/themes/Menu.css +1 -1
  71. package/dist/css/themes/MenuItem.css +1 -1
  72. package/dist/css/themes/MessageStrip.css +1 -1
  73. package/dist/css/themes/MonthPicker.css +1 -1
  74. package/dist/css/themes/MultiComboBox.css +1 -1
  75. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  76. package/dist/css/themes/MultiInput.css +1 -1
  77. package/dist/css/themes/NavigationMenu.css +1 -1
  78. package/dist/css/themes/NavigationMenuItem.css +1 -1
  79. package/dist/css/themes/OptionBase.css +1 -1
  80. package/dist/css/themes/Panel.css +1 -1
  81. package/dist/css/themes/Popover.css +1 -1
  82. package/dist/css/themes/PopupsCommon.css +1 -1
  83. package/dist/css/themes/ProgressIndicator.css +1 -1
  84. package/dist/css/themes/RadioButton.css +1 -1
  85. package/dist/css/themes/RangeSlider.css +1 -1
  86. package/dist/css/themes/RatingIndicator.css +1 -1
  87. package/dist/css/themes/ResponsivePopover.css +1 -1
  88. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  89. package/dist/css/themes/SegmentedButton.css +1 -1
  90. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  91. package/dist/css/themes/Select.css +1 -1
  92. package/dist/css/themes/SliderBase.css +1 -1
  93. package/dist/css/themes/SplitButton.css +1 -1
  94. package/dist/css/themes/StepInput.css +1 -1
  95. package/dist/css/themes/SuggestionItem.css +1 -1
  96. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  97. package/dist/css/themes/Switch.css +1 -1
  98. package/dist/css/themes/TabContainer.css +1 -1
  99. package/dist/css/themes/TabInOverflow.css +1 -1
  100. package/dist/css/themes/TabInStrip.css +1 -1
  101. package/dist/css/themes/TabSemanticIcon.css +1 -1
  102. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  103. package/dist/css/themes/Table.css +1 -1
  104. package/dist/css/themes/TableCellBase.css +1 -1
  105. package/dist/css/themes/TableHeaderRow.css +1 -1
  106. package/dist/css/themes/TableRow.css +1 -1
  107. package/dist/css/themes/TableRowBase.css +1 -1
  108. package/dist/css/themes/Tag.css +1 -1
  109. package/dist/css/themes/Text.css +1 -1
  110. package/dist/css/themes/TextArea.css +1 -1
  111. package/dist/css/themes/TimePicker.css +1 -1
  112. package/dist/css/themes/Toast.css +1 -1
  113. package/dist/css/themes/ToggleButton.css +1 -1
  114. package/dist/css/themes/Token.css +1 -1
  115. package/dist/css/themes/Tokenizer.css +1 -1
  116. package/dist/css/themes/TokenizerPopover.css +1 -1
  117. package/dist/css/themes/Toolbar.css +1 -1
  118. package/dist/css/themes/ToolbarPopover.css +1 -1
  119. package/dist/css/themes/TreeItem.css +1 -1
  120. package/dist/css/themes/ValueStateMessage.css +1 -1
  121. package/dist/css/themes/YearPicker.css +1 -1
  122. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  123. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  124. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  125. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  126. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  127. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  128. package/dist/css/themes/sap_horizon_dark_exp/parameters-bundle.css +1 -1
  129. package/dist/css/themes/sap_horizon_exp/parameters-bundle.css +1 -1
  130. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  131. package/dist/css/themes/sap_horizon_hcb_exp/parameters-bundle.css +1 -1
  132. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  133. package/dist/css/themes/sap_horizon_hcw_exp/parameters-bundle.css +1 -1
  134. package/dist/custom-elements-internal.json +52 -0
  135. package/dist/custom-elements.json +25 -0
  136. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  137. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  138. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  139. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  140. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  141. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  142. package/dist/generated/assets/themes/sap_horizon_dark_exp/parameters-bundle.css.json +1 -1
  143. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  144. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  145. package/dist/generated/assets/themes/sap_horizon_hcb_exp/parameters-bundle.css.json +1 -1
  146. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  147. package/dist/generated/assets/themes/sap_horizon_hcw_exp/parameters-bundle.css.json +1 -1
  148. package/dist/generated/templates/LinkTemplate.lit.js +1 -1
  149. package/dist/generated/templates/LinkTemplate.lit.js.map +1 -1
  150. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  151. package/dist/generated/templates/ListTemplate.lit.js.map +1 -1
  152. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js +1 -1
  153. package/dist/generated/templates/SegmentedButtonItemTemplate.lit.js.map +1 -1
  154. package/dist/generated/themes/Avatar.css.js +1 -1
  155. package/dist/generated/themes/Avatar.css.js.map +1 -1
  156. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  157. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  158. package/dist/generated/themes/Bar.css.js +1 -1
  159. package/dist/generated/themes/Bar.css.js.map +1 -1
  160. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  161. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  162. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  163. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  164. package/dist/generated/themes/Button.css.js +1 -1
  165. package/dist/generated/themes/Button.css.js.map +1 -1
  166. package/dist/generated/themes/Calendar.css.js +1 -1
  167. package/dist/generated/themes/Calendar.css.js.map +1 -1
  168. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  169. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  170. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  171. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  172. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  173. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  174. package/dist/generated/themes/Card.css.js +1 -1
  175. package/dist/generated/themes/Card.css.js.map +1 -1
  176. package/dist/generated/themes/CardHeader.css.js +1 -1
  177. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  178. package/dist/generated/themes/Carousel.css.js +1 -1
  179. package/dist/generated/themes/Carousel.css.js.map +1 -1
  180. package/dist/generated/themes/CheckBox.css.js +1 -1
  181. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  182. package/dist/generated/themes/ColorPalette.css.js +1 -1
  183. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  184. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  185. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  186. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  187. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  188. package/dist/generated/themes/ColorPicker.css.js +1 -1
  189. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  190. package/dist/generated/themes/ComboBox.css.js +1 -1
  191. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  192. package/dist/generated/themes/DatePicker.css.js +1 -1
  193. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  194. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  195. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  196. package/dist/generated/themes/DayPicker.css.js +1 -1
  197. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  198. package/dist/generated/themes/Dialog.css.js +1 -1
  199. package/dist/generated/themes/Dialog.css.js.map +1 -1
  200. package/dist/generated/themes/FileUploader.css.js +1 -1
  201. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  202. package/dist/generated/themes/Form.css.js +1 -1
  203. package/dist/generated/themes/Form.css.js.map +1 -1
  204. package/dist/generated/themes/FormItem.css.js +1 -1
  205. package/dist/generated/themes/FormItem.css.js.map +1 -1
  206. package/dist/generated/themes/FormLabelSpan.css.js +1 -1
  207. package/dist/generated/themes/FormLabelSpan.css.js.map +1 -1
  208. package/dist/generated/themes/GrowingButton.css.js +1 -1
  209. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  210. package/dist/generated/themes/Icon.css.js +1 -1
  211. package/dist/generated/themes/Icon.css.js.map +1 -1
  212. package/dist/generated/themes/Input.css.js +1 -1
  213. package/dist/generated/themes/Input.css.js.map +1 -1
  214. package/dist/generated/themes/InputIcon.css.js +1 -1
  215. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  216. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  217. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  218. package/dist/generated/themes/Link.css.js +1 -1
  219. package/dist/generated/themes/Link.css.js.map +1 -1
  220. package/dist/generated/themes/List.css.js +1 -1
  221. package/dist/generated/themes/List.css.js.map +1 -1
  222. package/dist/generated/themes/ListItem.css.js +1 -1
  223. package/dist/generated/themes/ListItem.css.js.map +1 -1
  224. package/dist/generated/themes/ListItemBase.css.js +1 -1
  225. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  226. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  227. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  228. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  229. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  230. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  231. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  232. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  233. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  234. package/dist/generated/themes/Menu.css.js +1 -1
  235. package/dist/generated/themes/Menu.css.js.map +1 -1
  236. package/dist/generated/themes/MenuItem.css.js +1 -1
  237. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  238. package/dist/generated/themes/MessageStrip.css.js +1 -1
  239. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  240. package/dist/generated/themes/MonthPicker.css.js +1 -1
  241. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  242. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  243. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  244. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  245. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  246. package/dist/generated/themes/MultiInput.css.js +1 -1
  247. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  248. package/dist/generated/themes/NavigationMenu.css.js +1 -1
  249. package/dist/generated/themes/NavigationMenu.css.js.map +1 -1
  250. package/dist/generated/themes/NavigationMenuItem.css.js +1 -1
  251. package/dist/generated/themes/NavigationMenuItem.css.js.map +1 -1
  252. package/dist/generated/themes/OptionBase.css.js +1 -1
  253. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  254. package/dist/generated/themes/Panel.css.js +1 -1
  255. package/dist/generated/themes/Panel.css.js.map +1 -1
  256. package/dist/generated/themes/Popover.css.js +1 -1
  257. package/dist/generated/themes/Popover.css.js.map +1 -1
  258. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  259. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  260. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  261. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  262. package/dist/generated/themes/RadioButton.css.js +1 -1
  263. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  264. package/dist/generated/themes/RangeSlider.css.js +1 -1
  265. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  266. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  267. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  268. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  269. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  270. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  271. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  272. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  273. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  274. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  275. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  276. package/dist/generated/themes/Select.css.js +1 -1
  277. package/dist/generated/themes/Select.css.js.map +1 -1
  278. package/dist/generated/themes/SliderBase.css.js +1 -1
  279. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  280. package/dist/generated/themes/SplitButton.css.js +1 -1
  281. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  282. package/dist/generated/themes/StepInput.css.js +1 -1
  283. package/dist/generated/themes/StepInput.css.js.map +1 -1
  284. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  285. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  286. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  287. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  288. package/dist/generated/themes/Switch.css.js +1 -1
  289. package/dist/generated/themes/Switch.css.js.map +1 -1
  290. package/dist/generated/themes/TabContainer.css.js +1 -1
  291. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  292. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  293. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  294. package/dist/generated/themes/TabInStrip.css.js +1 -1
  295. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  296. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  297. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  298. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  299. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  300. package/dist/generated/themes/Table.css.js +1 -1
  301. package/dist/generated/themes/Table.css.js.map +1 -1
  302. package/dist/generated/themes/TableCellBase.css.js +1 -1
  303. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  304. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  305. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  306. package/dist/generated/themes/TableRow.css.js +1 -1
  307. package/dist/generated/themes/TableRow.css.js.map +1 -1
  308. package/dist/generated/themes/TableRowBase.css.js +1 -1
  309. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  310. package/dist/generated/themes/Tag.css.js +1 -1
  311. package/dist/generated/themes/Tag.css.js.map +1 -1
  312. package/dist/generated/themes/Text.css.js +1 -1
  313. package/dist/generated/themes/Text.css.js.map +1 -1
  314. package/dist/generated/themes/TextArea.css.js +1 -1
  315. package/dist/generated/themes/TextArea.css.js.map +1 -1
  316. package/dist/generated/themes/TimePicker.css.js +1 -1
  317. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  318. package/dist/generated/themes/Toast.css.js +1 -1
  319. package/dist/generated/themes/Toast.css.js.map +1 -1
  320. package/dist/generated/themes/ToggleButton.css.js +1 -1
  321. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  322. package/dist/generated/themes/Token.css.js +1 -1
  323. package/dist/generated/themes/Token.css.js.map +1 -1
  324. package/dist/generated/themes/Tokenizer.css.js +1 -1
  325. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  326. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  327. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  328. package/dist/generated/themes/Toolbar.css.js +1 -1
  329. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  330. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  331. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  332. package/dist/generated/themes/TreeItem.css.js +1 -1
  333. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  334. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  335. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  336. package/dist/generated/themes/YearPicker.css.js +1 -1
  337. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  338. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  339. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  340. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  341. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  342. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  343. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  344. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  345. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  346. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  347. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  348. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  349. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  350. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js +1 -1
  351. package/dist/generated/themes/sap_horizon_dark_exp/parameters-bundle.css.js.map +1 -1
  352. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  353. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js.map +1 -1
  354. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  355. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  356. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js +1 -1
  357. package/dist/generated/themes/sap_horizon_hcb_exp/parameters-bundle.css.js.map +1 -1
  358. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  359. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  360. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js +1 -1
  361. package/dist/generated/themes/sap_horizon_hcw_exp/parameters-bundle.css.js.map +1 -1
  362. package/dist/types/NotificationListGrowingMode.d.ts +18 -0
  363. package/dist/types/NotificationListGrowingMode.js +20 -0
  364. package/dist/types/NotificationListGrowingMode.js.map +1 -0
  365. package/dist/vscode.html-custom-data.json +1 -1
  366. package/dist/web-types.json +10 -2
  367. package/package.json +9 -9
  368. package/src/Link.hbs +1 -0
  369. package/src/List.hbs +2 -1
  370. package/src/SegmentedButtonItem.hbs +1 -1
  371. package/src/themes/Breadcrumbs.css +10 -0
  372. package/src/themes/Dialog.css +5 -1
  373. package/src/themes/GrowingButton.css +1 -1
  374. package/src/themes/Popover.css +2 -1
  375. package/src/themes/base/Dialog-parameters.css +0 -1
  376. package/src/themes/base/PopupBlockLayer-parameters.css +1 -0
  377. package/src/themes/sap_fiori_3_hcb/Dialog-parameters.css +0 -1
  378. package/src/themes/sap_fiori_3_hcb/PopupBlockLayer-parameters.css +5 -0
  379. package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  380. package/src/themes/sap_fiori_3_hcw/Dialog-parameters.css +0 -1
  381. package/src/themes/sap_fiori_3_hcw/PopupBlockLayer-parameters.css +5 -0
  382. package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  383. package/src/themes/sap_horizon_hcb/Dialog-parameters.css +0 -1
  384. package/src/themes/sap_horizon_hcb/PopupBlockLayer-parameters.css +5 -0
  385. package/src/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  386. package/src/themes/sap_horizon_hcw/Dialog-parameters.css +0 -1
  387. package/src/themes/sap_horizon_hcw/PopupBlockLayer-parameters.css +5 -0
  388. package/src/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
@@ -0,0 +1,896 @@
1
+ import { html } from "lit";
2
+ import "../../src/Button.js";
3
+ import "../../src/CheckBox.js";
4
+ import "../../src/ColorPicker.js";
5
+ import "../../src/ComboBox.js";
6
+ import "../../src/ComboBoxItem.js";
7
+ import "../../src/DatePicker.js";
8
+ import "../../src/DateRangePicker.js";
9
+ import "../../src/DateTimePicker.js";
10
+ import "../../src/Input.js";
11
+ import "../../src/MultiComboBox.js";
12
+ import "../../src/MultiComboBoxItem.js";
13
+ import "../../src/MultiInput.js";
14
+ import "../../src/Token.js";
15
+ import "../../src/RadioButton.js";
16
+ import "../../src/RangeSlider.js";
17
+ import "../../src/Select.js";
18
+ import "../../src/Option.js";
19
+ import "../../src/Slider.js";
20
+ import "../../src/StepInput.js";
21
+ import "../../src/Switch.js";
22
+ import "../../src/TextArea.js";
23
+ import "../../src/TimePicker.js";
24
+
25
+ const getFormData = ($form: HTMLFormElement) => {
26
+ const formData = new FormData($form);
27
+ const entries = [...formData.entries()];
28
+ return entries.map(entry => {
29
+ return `${entry[0]}=${entry[1] as string}`;
30
+ }).join("&");
31
+ };
32
+
33
+ describe("Form support", () => {
34
+ it("ui5-checkbox in form", () => {
35
+ cy.mount(html`<form method="get">
36
+ <ui5-checkbox id="cb1" text="ui5-checkbox without name"></ui5-checkbox>
37
+ <ui5-checkbox id="cb2" text="ui5-checkbox without name and value" checked></ui5-checkbox>
38
+ <ui5-checkbox id="cb3" name="checkbox3" text="ui5-checkbox with name and without value"></ui5-checkbox>
39
+ <ui5-checkbox id="cb4" name="checkbox4" checked text="ui5-checkbox with name and value"></ui5-checkbox>
40
+ <ui5-checkbox id="cb5" name="checkbox5" required text="ui5-checkbox with name, value and required"></ui5-checkbox>
41
+ <button type="submit">Submits forms</button>
42
+ </form>`);
43
+
44
+ cy.get("form")
45
+ .then($item => {
46
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
47
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
48
+ });
49
+
50
+ cy.get("button")
51
+ .realClick();
52
+
53
+ cy.get("@submit")
54
+ .should("have.not.been.called");
55
+
56
+ cy.get("#cb5")
57
+ .realClick();
58
+
59
+ cy.get("button")
60
+ .realClick();
61
+
62
+ cy.get("@submit")
63
+ .should("have.been.called");
64
+
65
+ cy.get("form")
66
+ .then($el => {
67
+ return getFormData($el.get(0));
68
+ })
69
+ .should("be.equal", "checkbox4=on&checkbox5=on");
70
+ });
71
+
72
+ it("ui5-color-picker in form", () => {
73
+ cy.mount(html`<form method="get">
74
+ <ui5-color-picker id="color_picker1"></ui5-color-picker>
75
+ <ui5-color-picker id="color_picker2" value="blue"></ui5-color-picker>
76
+ <ui5-color-picker id="color_picker3" name="color_picker3"></ui5-color-picker>
77
+ <ui5-color-picker id="color_picker4" name="color_picker4" value="blue"></ui5-color-picker>
78
+ <button type="submit">Submits forms</button>
79
+ </form>`);
80
+
81
+ cy.get("form")
82
+ .then($item => {
83
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
84
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
85
+ });
86
+
87
+ cy.get("button")
88
+ .realClick();
89
+
90
+ cy.get("@submit")
91
+ .should("have.been.called");
92
+
93
+ cy.get("form")
94
+ .then($el => {
95
+ return getFormData($el.get(0));
96
+ })
97
+ .should("be.equal", "color_picker3=rgba(255,255,255,1)&color_picker4=blue");
98
+ });
99
+
100
+ it("ui5-combobox in form", () => {
101
+ cy.mount(html`<form method="get">
102
+ <ui5-combobox id="combobox1"></ui5-combobox>
103
+ <ui5-combobox id="combobox2" value="ok"></ui5-combobox>
104
+ <ui5-combobox id="combobox3" name="combobox3"></ui5-combobox>
105
+ <ui5-combobox id="combobox4" name="combobox4" value="ok"></ui5-combobox>
106
+ <ui5-combobox id="combobox5" name="combobox5" required></ui5-combobox>
107
+ <button type="submit">Submits forms</button>
108
+ </form>`);
109
+
110
+ cy.get("form")
111
+ .then($item => {
112
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
113
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
114
+ });
115
+
116
+ cy.get("button")
117
+ .realClick();
118
+
119
+ cy.get("@submit")
120
+ .should("have.not.been.called");
121
+
122
+ cy.get("#combobox5")
123
+ .realClick();
124
+
125
+ cy.get("#combobox5")
126
+ .realType("ok", { delay: 100 });
127
+
128
+ cy.get("button")
129
+ .realClick();
130
+
131
+ cy.get("@submit")
132
+ .should("have.been.called");
133
+
134
+ cy.get("form")
135
+ .then($el => {
136
+ return getFormData($el.get(0));
137
+ })
138
+ .should("be.equal", "combobox3=&combobox4=ok&combobox5=ok");
139
+ });
140
+
141
+ it("ui5-date-picker in form", () => {
142
+ cy.mount(html`<form method="get">
143
+ <ui5-date-picker id="date_picker1"></ui5-date-picker>
144
+ <ui5-date-picker id="date_picker2" value="ok"></ui5-date-picker>
145
+ <ui5-date-picker id="date_picker3" name="date_picker3"></ui5-date-picker>
146
+ <ui5-date-picker id="date_picker4" name="date_picker4" value="ok"></ui5-date-picker>
147
+ <ui5-date-picker id="date_picker5" name="date_picker5" required></ui5-date-picker>
148
+ <button type="submit">Submits forms</button>
149
+ </form>`);
150
+
151
+ cy.get("form")
152
+ .then($item => {
153
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
154
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
155
+ });
156
+
157
+ cy.get("button")
158
+ .realClick();
159
+
160
+ cy.get("@submit")
161
+ .should("have.not.been.called");
162
+
163
+ cy.get("#date_picker5")
164
+ .realClick();
165
+
166
+ cy.get("#date_picker5")
167
+ .realType("ok", { delay: 100 });
168
+
169
+ cy.get("button")
170
+ .realClick();
171
+
172
+ cy.get("@submit")
173
+ .should("have.been.called");
174
+
175
+ cy.get("form")
176
+ .then($el => {
177
+ return getFormData($el.get(0));
178
+ })
179
+ .should("be.equal", "date_picker3=&date_picker4=ok&date_picker5=ok");
180
+ });
181
+
182
+ it("ui5-daterange-picker in form", () => {
183
+ cy.mount(html`<form method="get">
184
+ <ui5-daterange-picker id="daterange_picker1"></ui5-daterange-picker>
185
+ <ui5-daterange-picker id="daterange_picker2" value="ok"></ui5-daterange-picker>
186
+ <ui5-daterange-picker id="daterange_picker3" name="daterange_picker3"></ui5-daterange-picker>
187
+ <ui5-daterange-picker id="daterange_picker4" name="daterange_picker4" value="ok"></ui5-daterange-picker>
188
+ <ui5-daterange-picker id="daterange_picker5" name="daterange_picker5" required></ui5-daterange-picker>
189
+ <button type="submit">Submits forms</button>
190
+ </form>`);
191
+
192
+ cy.get("form")
193
+ .then($item => {
194
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
195
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
196
+ });
197
+
198
+ cy.get("button")
199
+ .realClick();
200
+
201
+ cy.get("@submit")
202
+ .should("have.not.been.called");
203
+
204
+ cy.get("#daterange_picker5")
205
+ .realClick();
206
+
207
+ cy.get("#daterange_picker5")
208
+ .realType("ok", { delay: 100 });
209
+
210
+ cy.get("button")
211
+ .realClick();
212
+
213
+ cy.get("@submit")
214
+ .should("have.been.called");
215
+
216
+ cy.get("form")
217
+ .then($el => {
218
+ return getFormData($el.get(0));
219
+ })
220
+ .should("be.equal", "daterange_picker3=&daterange_picker4=ok&daterange_picker5=ok");
221
+ });
222
+
223
+ it("ui5-datetime-picker in form", () => {
224
+ cy.mount(html`<form method="get">
225
+ <ui5-datetime-picker id="datetime_picker1"></ui5-datetime-picker>
226
+ <ui5-datetime-picker id="datetime_picker2" value="ok"></ui5-datetime-picker>
227
+ <ui5-datetime-picker id="datetime_picker3" name="datetime_picker3"></ui5-datetime-picker>
228
+ <ui5-datetime-picker id="datetime_picker4" name="datetime_picker4" value="ok"></ui5-datetime-picker>
229
+ <ui5-datetime-picker id="datetime_picker5" name="datetime_picker5" required></ui5-datetime-picker>
230
+ <button type="submit">Submits forms</button>
231
+ </form>`);
232
+
233
+ cy.get("form")
234
+ .then($item => {
235
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
236
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
237
+ });
238
+
239
+ cy.get("button")
240
+ .realClick();
241
+
242
+ cy.get("@submit")
243
+ .should("have.not.been.called");
244
+
245
+ cy.get("#datetime_picker5")
246
+ .realClick();
247
+
248
+ cy.get("#datetime_picker5")
249
+ .realType("ok", { delay: 100 });
250
+
251
+ cy.get("button")
252
+ .realClick();
253
+
254
+ cy.get("@submit")
255
+ .should("have.been.called");
256
+
257
+ cy.get("form")
258
+ .then($el => {
259
+ return getFormData($el.get(0));
260
+ })
261
+ .should("be.equal", "datetime_picker3=&datetime_picker4=ok&datetime_picker5=ok");
262
+ });
263
+
264
+ it("ui5-input in form", () => {
265
+ cy.mount(html`<form method="get">
266
+ <ui5-input id="input1"></ui5-input>
267
+ <ui5-input id="input2" value="ok"></ui5-input>
268
+ <ui5-input id="input3" name="input3"></ui5-input>
269
+ <ui5-input id="input4" name="input4" value="ok"></ui5-input>
270
+ <ui5-input id="input5" name="input5" required></ui5-input>
271
+ <button type="submit">Submits forms</button>
272
+ </form>`);
273
+
274
+ cy.get("form")
275
+ .then($item => {
276
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
277
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
278
+ });
279
+
280
+ cy.get("button")
281
+ .realClick();
282
+
283
+ cy.get("@submit")
284
+ .should("have.not.been.called");
285
+
286
+ cy.get("#input5")
287
+ .realClick();
288
+
289
+ cy.get("#input5")
290
+ .realType("ok", { delay: 100 });
291
+
292
+ cy.get("button")
293
+ .realClick();
294
+
295
+ cy.get("@submit")
296
+ .should("have.been.called");
297
+
298
+ cy.get("form")
299
+ .then($el => {
300
+ return getFormData($el.get(0));
301
+ })
302
+ .should("be.equal", "input3=&input4=ok&input5=ok");
303
+ });
304
+
305
+ it("ui5-multi-combobox in form", () => {
306
+ cy.mount(html`<form method="get">
307
+ <ui5-multi-combobox id="multi_combobox1"></ui5-multi-combobox>
308
+ <ui5-multi-combobox id="multi_combobox2" value="ok"></ui5-multi-combobox>
309
+ <ui5-multi-combobox id="multi_combobox3">
310
+ <ui5-mcb-item selected text="ok"></ui5-mcb-item>
311
+ </ui5-multi-combobox>
312
+ <ui5-multi-combobox id="multi_combobox4" value="ok">
313
+ <ui5-mcb-item selected text="ok"></ui5-mcb-item>
314
+ </ui5-multi-combobox>
315
+
316
+
317
+ <ui5-multi-combobox id="multi_combobox5" name="multi_combobox5"></ui5-multi-combobox>
318
+ <ui5-multi-combobox id="multi_combobox6" name="multi_combobox6" value="ok"></ui5-multi-combobox>
319
+ <ui5-multi-combobox id="multi_combobox7" name="multi_combobox7">
320
+ <ui5-mcb-item selected text="ok"></ui5-mcb-item>
321
+ </ui5-multi-combobox>
322
+ <ui5-multi-combobox id="multi_combobox8" name="multi_combobox8" value="ok">
323
+ <ui5-mcb-item selected text="ok"></ui5-mcb-item>
324
+ </ui5-multi-combobox>
325
+
326
+ <ui5-multi-combobox id="multi_combobox9" no-validation required
327
+ name="multi_combobox9"></ui5-multi-combobox>
328
+ <ui5-multi-combobox id="multi_combobox10" required name="multi_combobox10" value="ok"></ui5-multi-combobox>
329
+ <ui5-multi-combobox id="multi_combobox11" required name="multi_combobox11">
330
+ <ui5-mcb-item selected text="ok"></ui5-mcb-item>
331
+ </ui5-multi-combobox>
332
+ <ui5-multi-combobox id="multi_combobox12" required name="multi_combobox12" value="ok">
333
+ <ui5-mcb-item selected text="ok"></ui5-mcb-item>
334
+ </ui5-multi-combobox>
335
+ <button type="submit">Submits forms</button>
336
+ </form>`);
337
+
338
+ cy.get("form")
339
+ .then($item => {
340
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
341
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
342
+ });
343
+
344
+ cy.get("button")
345
+ .realClick();
346
+
347
+ cy.get("@submit")
348
+ .should("have.not.been.called");
349
+
350
+ cy.get("#multi_combobox9")
351
+ .realClick();
352
+
353
+ cy.get("#multi_combobox9")
354
+ .realType("ok", { delay: 100 });
355
+
356
+ cy.get("button")
357
+ .realClick();
358
+
359
+ cy.get("@submit")
360
+ .should("have.been.called");
361
+
362
+ cy.get("form")
363
+ .then($el => {
364
+ return getFormData($el.get(0));
365
+ })
366
+ .should("be.equal", "multi_combobox5=&multi_combobox6=ok&multi_combobox7=&multi_combobox7=ok&multi_combobox8=ok&multi_combobox8=ok&multi_combobox9=ok&multi_combobox10=ok&multi_combobox11=&multi_combobox11=ok&multi_combobox12=ok&multi_combobox12=ok");
367
+ });
368
+
369
+ it("ui5-multi-input in form", () => {
370
+ cy.mount(html`<form method="get">
371
+ <ui5-multi-input id="multi_input1"></ui5-multi-input>
372
+ <ui5-multi-input id="multi_input2" value="ok"></ui5-multi-input>
373
+ <ui5-multi-input id="multi_input3">
374
+ <ui5-token slot="tokens" text="ok"></ui5-token>
375
+ </ui5-multi-input>
376
+ <ui5-multi-input id="multi_input4" value="ok">
377
+ <ui5-token slot="tokens" text="ok"></ui5-token>
378
+ </ui5-multi-input>
379
+ <ui5-multi-input id="multi_input5" name="multi_input5"></ui5-multi-input>
380
+ <ui5-multi-input id="multi_input6" name="multi_input6" value="ok"></ui5-multi-input>
381
+ <ui5-multi-input id="multi_input7" name="multi_input7">
382
+ <ui5-token slot="tokens" text="ok"></ui5-token>
383
+ </ui5-multi-input>
384
+ <ui5-multi-input id="multi_input8" name="multi_input8" value="ok">
385
+ <ui5-token slot="tokens" text="ok"></ui5-token>
386
+ </ui5-multi-input>
387
+
388
+ <ui5-multi-input id="multi_input9" allow-custom-values required name="multi_input9"></ui5-multi-input>
389
+ <ui5-multi-input id="multi_input10" required name="multi_input10" value="ok"></ui5-multi-input>
390
+ <ui5-multi-input id="multi_input11" required name="multi_input11">
391
+ <ui5-token slot="tokens" text="ok"></ui5-token>
392
+ </ui5-multi-input>
393
+ <ui5-multi-input id="multi_input12" required name="multi_input12" value="ok">
394
+ <ui5-token slot="tokens" text="ok"></ui5-token>
395
+ </ui5-multi-input>
396
+ <button type="submit">Submits forms</button>
397
+ </form>`);
398
+
399
+ cy.get("form")
400
+ .then($item => {
401
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
402
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
403
+ });
404
+
405
+ cy.get("button")
406
+ .realClick();
407
+
408
+ cy.get("@submit")
409
+ .should("have.not.been.called");
410
+
411
+ cy.get("#multi_input9")
412
+ .realClick();
413
+
414
+ cy.get("#multi_input9")
415
+ .realType("ok", { delay: 100 });
416
+
417
+ cy.get("button")
418
+ .realClick();
419
+
420
+ cy.get("@submit")
421
+ .should("have.been.called");
422
+
423
+ cy.get("form")
424
+ .then($el => {
425
+ return getFormData($el.get(0));
426
+ })
427
+ .should("be.equal", "multi_input5=&multi_input6=ok&multi_input7=&multi_input7=ok&multi_input8=ok&multi_input8=ok&multi_input9=ok&multi_input10=ok&multi_input11=&multi_input11=ok&multi_input12=ok&multi_input12=ok");
428
+ });
429
+
430
+ it("ui5-radio-button in form 1", () => {
431
+ cy.mount(html`<form method="get">
432
+ <ui5-radio-button id="rb_1" required name="rb1"></ui5-radio-button>
433
+ <button type="submit">Submits forms</button>
434
+ </form>`);
435
+
436
+ cy.get("form")
437
+ .then($item => {
438
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
439
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
440
+ });
441
+
442
+ cy.get("button")
443
+ .realClick();
444
+
445
+ cy.get("@submit")
446
+ .should("have.not.been.called");
447
+
448
+ cy.get("#rb_1")
449
+ .realClick();
450
+
451
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
452
+ cy.wait(200);
453
+
454
+ cy.get("button")
455
+ .realClick();
456
+
457
+ cy.get("@submit")
458
+ .should("have.been.called");
459
+
460
+ cy.get("form")
461
+ .then($el => {
462
+ return getFormData($el.get(0));
463
+ })
464
+ .should("be.equal", "rb1=on");
465
+ });
466
+
467
+ it("ui5-radio-button in form 2", () => {
468
+ cy.mount(html`<form method="get">
469
+ <ui5-title>ui5-radio-button</ui5-title>
470
+ <ui5-radio-button required id="rb_2" required checked></ui5-radio-button>
471
+ <button type="submit">Submits forms</button>
472
+ </form>`);
473
+
474
+ cy.get("form")
475
+ .then($item => {
476
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
477
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
478
+ });
479
+
480
+ cy.get("button")
481
+ .realClick();
482
+
483
+ cy.get("@submit")
484
+ .should("have.been.called");
485
+
486
+ cy.get("form")
487
+ .then($el => {
488
+ return getFormData($el.get(0));
489
+ })
490
+ .should("be.equal", "");
491
+ });
492
+
493
+ it("ui5-radio-button in form 3", () => {
494
+ cy.mount(html`<form method="get">
495
+ <ui5-radio-button required name="rb3" id="rb_3" value="A" text="A"></ui5-radio-button>
496
+ <ui5-radio-button required name="rb3" id="rb_4" value="B" text="B"></ui5-radio-button>
497
+ <ui5-radio-button required value="C" text="C" checked></ui5-radio-button>
498
+ <button type="submit">Submits forms</button>
499
+ </form>`);
500
+
501
+ cy.get("form")
502
+ .then($item => {
503
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
504
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
505
+ });
506
+
507
+ cy.get("button")
508
+ .realClick();
509
+
510
+ cy.get("@submit")
511
+ .should("have.not.been.called");
512
+
513
+ cy.get("#rb_4")
514
+ .realClick();
515
+
516
+ // eslint-disable-next-line cypress/no-unnecessary-waiting
517
+ cy.wait(200);
518
+
519
+ cy.get("button")
520
+ .realClick();
521
+
522
+ cy.get("@submit")
523
+ .should("have.been.called");
524
+
525
+ cy.get("form")
526
+ .then($el => {
527
+ return getFormData($el.get(0));
528
+ })
529
+ .should("be.equal", "rb3=B");
530
+ });
531
+
532
+ it("ui5-range-slider in form", () => {
533
+ cy.mount(html`<form method="get">
534
+ <ui5-range-slider id="range_slider1"></ui5-range-slider>
535
+ <ui5-range-slider id="range_slider2" start-value="25" end-value="75"></ui5-range-slider>
536
+ <ui5-range-slider id="range_slider3" name="range_slider3"></ui5-range-slider>
537
+ <ui5-range-slider id="range_slider4" name="range_slider4" start-value="25" end-value="75"></ui5-range-slider>
538
+ <button type="submit">Submits forms</button>
539
+ </form>`);
540
+
541
+ cy.get("form")
542
+ .then($item => {
543
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
544
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
545
+ });
546
+
547
+ cy.get("button")
548
+ .realClick();
549
+
550
+ cy.get("@submit")
551
+ .should("have.been.called");
552
+
553
+ cy.get("form")
554
+ .then($el => {
555
+ return getFormData($el.get(0));
556
+ })
557
+ .should("be.equal", "range_slider3=0&range_slider3=100&range_slider4=25&range_slider4=75");
558
+ });
559
+
560
+ it("ui5-select in form", () => {
561
+ cy.mount(html`<form method="get">
562
+ <ui5-select id="select1">
563
+ <ui5-option selected>Option 1</ui5-option>
564
+ <ui5-option value="option2">Option 2</ui5-option>
565
+ <ui5-option value="">Option 3</ui5-option>
566
+ </ui5-select>
567
+ <ui5-select id="select2">
568
+ <ui5-option>Option 1</ui5-option>
569
+ <ui5-option value="option2" selected>Option 2</ui5-option>
570
+ <ui5-option value="">Option 3</ui5-option>
571
+ </ui5-select>
572
+ <ui5-select id="select3">
573
+ <ui5-option>Option 1</ui5-option>
574
+ <ui5-option value="option2">Option 2</ui5-option>
575
+ <ui5-option value="" selected>Option 3</ui5-option>
576
+ </ui5-select>
577
+
578
+ <ui5-select id="select4" name="select4">
579
+ <ui5-option selected>Option 1</ui5-option>
580
+ <ui5-option value="option2">Option 2</ui5-option>
581
+ <ui5-option value="">Option 3</ui5-option>
582
+ </ui5-select>
583
+ <ui5-select id="select5" name="select5">
584
+ <ui5-option>Option 1</ui5-option>
585
+ <ui5-option value="option2" selected>Option 2</ui5-option>
586
+ <ui5-option value="">Option 3</ui5-option>
587
+ </ui5-select>
588
+ <ui5-select id="select6" name="select6">
589
+ <ui5-option>Option 1</ui5-option>
590
+ <ui5-option value="option2">Option 2</ui5-option>
591
+ <ui5-option value="" selected>Option 3</ui5-option>
592
+ </ui5-select>
593
+
594
+ <ui5-select id="select7" name="select7" required>
595
+ <ui5-option selected>Option 1</ui5-option>
596
+ <ui5-option value="option2">Option 2</ui5-option>
597
+ <ui5-option value="">Option 3</ui5-option>
598
+ </ui5-select>
599
+ <ui5-select id="select8" name="select8" required>
600
+ <ui5-option>Option 1</ui5-option>
601
+ <ui5-option value="option2" selected>Option 2</ui5-option>
602
+ <ui5-option value="">Option 3</ui5-option>
603
+ </ui5-select>
604
+ <ui5-select id="select9" name="select9" required>
605
+ <ui5-option>Option 1</ui5-option>
606
+ <ui5-option value="option2">Option 2</ui5-option>
607
+ <ui5-option value="" selected>Option 3</ui5-option>
608
+ </ui5-select>
609
+
610
+ <button type="submit">Submits forms</button>
611
+ </form>`);
612
+
613
+ cy.get("form")
614
+ .then($item => {
615
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
616
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
617
+ });
618
+
619
+ cy.get("button")
620
+ .realClick();
621
+
622
+ cy.get("@submit")
623
+ .should("have.not.been.called");
624
+
625
+ cy.get("#select9")
626
+ .realClick();
627
+
628
+ cy.get("#select9")
629
+ .should("have.attr", "opened");
630
+
631
+ cy.get("#select9")
632
+ .find("[ui5-option]")
633
+ .eq(1)
634
+ .realClick();
635
+
636
+ cy.get("button")
637
+ .realClick();
638
+
639
+ cy.get("@submit")
640
+ .should("have.been.called");
641
+
642
+ cy.get("form")
643
+ .then($el => {
644
+ return getFormData($el.get(0));
645
+ })
646
+ .should("be.equal", "select4=Option 1&select5=option2&select6=&select7=Option 1&select8=option2&select9=option2");
647
+ });
648
+
649
+ it("ui5-slider in form", () => {
650
+ cy.mount(html`<form method="get">
651
+ <ui5-slider id="slider1"></ui5-slider>
652
+ <ui5-slider id="slider2" value="100"></ui5-slider>
653
+ <ui5-slider id="slider3" name="slider3"></ui5-slider>
654
+ <ui5-slider id="slider4" name="slider4" value="100"></ui5-slider>
655
+ <button type="submit">Submits forms</button>
656
+ </form>`);
657
+
658
+ cy.get("form")
659
+ .then($item => {
660
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
661
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
662
+ });
663
+
664
+ cy.get("button")
665
+ .realClick();
666
+
667
+ cy.get("@submit")
668
+ .should("have.been.called");
669
+
670
+ cy.get("form")
671
+ .then($el => {
672
+ return getFormData($el.get(0));
673
+ })
674
+ .should("be.equal", "slider3=0&slider4=100");
675
+ });
676
+
677
+ it("ui5-step-input in form", () => {
678
+ cy.mount(html`<form method="get">
679
+ <ui5-step-input id="step_input1"></ui5-step-input>
680
+ <ui5-step-input id="step_input2" value="4"></ui5-step-input>
681
+ <ui5-step-input id="step_input3" name="step_input3"></ui5-step-input>
682
+ <ui5-step-input id="step_input4" name="step_input4" value="4"></ui5-step-input>
683
+ <button type="submit">Submits forms</button>
684
+ </form>`);
685
+
686
+ cy.get("form")
687
+ .then($item => {
688
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
689
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
690
+ });
691
+
692
+ cy.get("button")
693
+ .realClick();
694
+
695
+ cy.get("@submit")
696
+ .should("have.been.called");
697
+
698
+ cy.get("form")
699
+ .then($el => {
700
+ return getFormData($el.get(0));
701
+ })
702
+ .should("be.equal", "step_input3=0&step_input4=4");
703
+ });
704
+
705
+ it("ui5-switch in form", () => {
706
+ cy.mount(html`<form method="get">
707
+ <ui5-switch id="switch1" text="ui5-switch without name"></ui5-switch>
708
+ <ui5-switch id="switch2" text="ui5-switch without name and value" checked></ui5-switch>
709
+ <ui5-switch id="switch3" name="switch3" text="ui5-switch with name and without value"></ui5-switch>
710
+ <ui5-switch id="switch4" name="switch4" checked text="ui5-switch with name and value"></ui5-switch>
711
+ <ui5-switch id="switch5" name="switch5" required text="ui5-switch with name, value and required"></ui5-switch>
712
+ <button type="submit">Submits forms</button>
713
+ </form>`);
714
+
715
+ cy.get("form")
716
+ .then($item => {
717
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
718
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
719
+ });
720
+
721
+ cy.get("button")
722
+ .realClick();
723
+
724
+ cy.get("@submit")
725
+ .should("have.not.been.called");
726
+
727
+ cy.get("#switch5")
728
+ .realClick();
729
+
730
+ cy.get("button")
731
+ .realClick();
732
+
733
+ cy.get("@submit")
734
+ .should("have.been.called");
735
+
736
+ cy.get("form")
737
+ .then($el => {
738
+ return getFormData($el.get(0));
739
+ })
740
+ .should("be.equal", "switch4=on&switch5=on");
741
+ });
742
+
743
+ it("ui5-textarea in form", () => {
744
+ cy.mount(html`<form method="get">
745
+ <ui5-textarea id="textarea1"></ui5-textarea>
746
+ <ui5-textarea id="textarea2" value="ok"></ui5-textarea>
747
+ <ui5-textarea id="textarea3" name="textarea3"></ui5-textarea>
748
+ <ui5-textarea id="textarea4" name="textarea4" value="ok"></ui5-textarea>
749
+ <ui5-textarea id="textarea5" name="textarea5" required></ui5-textarea>
750
+ <button type="submit">Submits forms</button>
751
+ </form>`);
752
+
753
+ cy.get("form")
754
+ .then($item => {
755
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
756
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
757
+ });
758
+
759
+ cy.get("button")
760
+ .realClick();
761
+
762
+ cy.get("@submit")
763
+ .should("have.not.been.called");
764
+
765
+ cy.get("#textarea5")
766
+ .realClick();
767
+
768
+ cy.get("#textarea5")
769
+ .realType("ok", { delay: 100 });
770
+
771
+ cy.get("button")
772
+ .realClick();
773
+
774
+ cy.get("@submit")
775
+ .should("have.been.called");
776
+
777
+ cy.get("form")
778
+ .then($el => {
779
+ return getFormData($el.get(0));
780
+ })
781
+ .should("be.equal", "textarea3=&textarea4=ok&textarea5=ok");
782
+ });
783
+
784
+ it("ui5-time-picker in form", () => {
785
+ /* eslint-disable no-irregular-whitespace */
786
+ cy.mount(html`<form method="get">
787
+ <ui5-time-picker id="time_picker1"></ui5-time-picker>
788
+ <ui5-time-picker id="time_picker2" value="1:10:10 PM"></ui5-time-picker>
789
+ <ui5-time-picker id="time_picker3" name="time_picker3" required></ui5-time-picker>
790
+ <ui5-time-picker id="time_picker4" name="time_picker4" value="1:10:10 PM" required></ui5-time-picker>
791
+ <button type="submit">Submits forms</button>
792
+ </form>`);
793
+ /* eslint-enable no-irregular-whitespace */
794
+
795
+ cy.get("form")
796
+ .then($item => {
797
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
798
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
799
+ });
800
+
801
+ cy.get("button")
802
+ .realClick();
803
+
804
+ cy.get("@submit")
805
+ .should("have.not.been.called");
806
+
807
+ cy.get("#time_picker3")
808
+ .realClick();
809
+
810
+ cy.get("#time_picker3")
811
+ .realType("ok", { delay: 100 });
812
+
813
+ cy.get("button")
814
+ .realClick();
815
+
816
+ cy.get("@submit")
817
+ .should("have.been.called");
818
+
819
+ cy.get("form")
820
+ .then($el => {
821
+ return getFormData($el.get(0));
822
+ })
823
+ .should("be.equal", "time_picker3=ok&time_picker4=1:10:10 PM");
824
+ });
825
+
826
+ it("Normal button does not submit forms", () => {
827
+ cy.mount(html`<form method="get">
828
+ <ui5-button id="b1">Does not submit forms</ui5-button>
829
+ </form>`);
830
+
831
+ cy.get("form")
832
+ .then($item => {
833
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
834
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
835
+ });
836
+
837
+ cy.get("#b1")
838
+ .realClick();
839
+
840
+ cy.get("@submit")
841
+ .should("have.not.been.called");
842
+ });
843
+
844
+ it("Submit button does submit forms", () => {
845
+ cy.mount(html`<form method="get">
846
+ <ui5-input name="input" value="ok"></ui5-input>
847
+ <ui5-input name="input_disabled" disabled value="ok"></ui5-input>
848
+ <ui5-select name="sel">
849
+ <ui5-option value="cozy">Cozy</ui5-option>
850
+ <ui5-option value="compact">Compact</ui5-option>
851
+ <ui5-option value="condensed" selected>Condensed</ui5-option>
852
+ </ui5-select>
853
+ <br><br>
854
+ <ui5-textarea id="ta" name="ta" value="ok"></ui5-textarea>
855
+ <ui5-textarea name="ta_disabled" disabled value="ok"></ui5-textarea>
856
+ <br><br>
857
+ <ui5-date-picker name="dp" value="Apr 10, 2019"></ui5-date-picker>
858
+ <ui5-date-picker name="dp_disabled" disabled value="Apr 10, 2019"></ui5-date-picker>
859
+ <br><br>
860
+ <ui5-checkbox name="cb" checked></ui5-checkbox>
861
+ <ui5-checkbox name="cb_disabled" disabled checked></ui5-checkbox>
862
+ <br><br>
863
+ <ui5-radio-button name="radio" text="A" value="a"></ui5-radio-button>
864
+ <ui5-radio-button name="radio" text="B" value="b" checked></ui5-radio-button>
865
+ <ui5-radio-button name="radio" text="C" value="c"></ui5-radio-button>
866
+ <br><br>
867
+ <ui5-step-input class="formsupport2auto" name="si" value="5" min="0" max="10" step="1"></ui5-step-input>
868
+ <ui5-step-input class="formsupport2auto" name="si_diabled" value="7" min="0" max="10" step="1"
869
+ disabled></ui5-step-input>
870
+ <br><br>
871
+ <ui5-button id="b1">Does not submit forms</ui5-button>
872
+ <ui5-button id="b2" submits>Submits forms</ui5-button>
873
+ </form>`);
874
+
875
+ cy.get("form")
876
+ .then($item => {
877
+ $item.get(0).addEventListener("submit", e => e.preventDefault());
878
+ $item.get(0).addEventListener("submit", cy.stub().as("submit"));
879
+ });
880
+
881
+ cy.get("#ta")
882
+ .realClick();
883
+
884
+ cy.get("#b2")
885
+ .realClick();
886
+
887
+ cy.get("@submit")
888
+ .should("have.been.called");
889
+
890
+ cy.get("form")
891
+ .then($el => {
892
+ return getFormData($el.get(0));
893
+ })
894
+ .should("be.equal", "input=ok&sel=condensed&ta=ok&dp=Apr 10, 2019&cb=on&radio=b&si=5");
895
+ });
896
+ });