@ui5/webcomponents 2.7.0-rc.2 → 2.8.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cypress/specs/Avatar.cy.tsx +18 -0
  3. package/cypress/specs/{Button.cy.ts → Button.cy.tsx} +42 -37
  4. package/cypress/specs/CalendarLegend.cy.tsx +77 -0
  5. package/cypress/specs/Card.cy.tsx +330 -0
  6. package/cypress/specs/ColorPalette.cy.tsx +213 -0
  7. package/cypress/specs/{ColorPicker.cy.ts → ColorPicker.cy.tsx} +7 -9
  8. package/cypress/specs/{ComboBox.cy.ts → ComboBox.cy.tsx} +9 -10
  9. package/cypress/specs/{Dialog.cy.ts → Dialog.cy.tsx} +15 -13
  10. package/cypress/specs/{ExpandableText.cy.ts → ExpandableText.cy.tsx} +25 -22
  11. package/cypress/specs/{F6.cy.ts → F6.cy.tsx} +346 -301
  12. package/cypress/specs/{Form.cy.ts → Form.cy.tsx} +326 -324
  13. package/cypress/specs/FormSupport.cy.tsx +885 -0
  14. package/cypress/specs/Input.cy.tsx +537 -0
  15. package/cypress/specs/{Label.cy.ts → Label.cy.tsx} +62 -46
  16. package/cypress/specs/Link.cy.tsx +31 -0
  17. package/cypress/specs/{List.cy.ts → List.cy.tsx} +34 -36
  18. package/cypress/specs/{LitKeyFunction.cy.ts → LitKeyFunction.cy.tsx} +10 -9
  19. package/cypress/specs/{Menu.cy.ts → Menu.cy.tsx} +182 -102
  20. package/cypress/specs/MessageStrip.cy.tsx +164 -0
  21. package/cypress/specs/{MultiComboBox.cy.ts → MultiComboBox.cy.tsx} +16 -18
  22. package/cypress/specs/{MultiInput.cy.ts → MultiInput.cy.tsx} +15 -14
  23. package/cypress/specs/{Popover.cy.ts → Popover.cy.tsx} +28 -25
  24. package/cypress/specs/RTL.cy.tsx +18 -0
  25. package/cypress/specs/{RatingIndicator.cy.ts → RatingIndicator.cy.tsx} +28 -16
  26. package/cypress/specs/{ResponsivePopover.mobile.cy.ts → ResponsivePopover.mobile.cy.tsx} +35 -16
  27. package/cypress/specs/{Select.cy.ts → Select.cy.tsx} +14 -16
  28. package/cypress/specs/{StepInput.cy.ts → StepInput.cy.tsx} +4 -6
  29. package/cypress/specs/Table.cy.tsx +665 -0
  30. package/cypress/specs/{TableDragAndDrop.cy.ts → TableDragAndDrop.cy.tsx} +27 -24
  31. package/cypress/specs/{TableGrowing.cy.ts → TableGrowing.cy.tsx} +83 -75
  32. package/cypress/specs/TableLoading.cy.tsx +48 -0
  33. package/cypress/specs/{TableRowActions.cy.ts → TableRowActions.cy.tsx} +67 -61
  34. package/cypress/specs/{TableVirtualizer.cy.ts → TableVirtualizer.cy.tsx} +12 -15
  35. package/cypress/specs/{Tag.cy.ts → Tag.cy.tsx} +53 -31
  36. package/cypress/specs/{Text.cy.ts → Text.cy.tsx} +6 -7
  37. package/cypress/specs/{TextArea.cy.ts → TextArea.cy.tsx} +62 -49
  38. package/cypress/specs/Title.cy.tsx +36 -0
  39. package/cypress/specs/{Toast.cy.ts → Toast.cy.tsx} +17 -16
  40. package/cypress/specs/Tokenizer.cy.tsx +173 -0
  41. package/cypress/specs/{Toolbar.cy.ts → Toolbar.cy.tsx} +61 -63
  42. package/cypress/specs/{Tree.cy.ts → Tree.cy.tsx} +13 -12
  43. package/cypress/specs/base/{AccessibilityTextsHelper.cy.ts → AccessibilityTextsHelper.cy.tsx} +52 -41
  44. package/cypress/specs/base/{Events.cy.ts → Events.cy.tsx} +59 -57
  45. package/cypress/specs/base/{IconCollection.cy.ts → IconCollection.cy.tsx} +4 -4
  46. package/cypress/specs/base/{IgnoreCustomElements.cy.ts → IgnoreCustomElements.cy.tsx} +15 -12
  47. package/cypress/specs/base/Tooltips.cy.tsx +62 -0
  48. package/cypress/support/commands/ColorPalette.commands.ts +21 -3
  49. package/cypress/support/commands/Menu.commands.ts +7 -7
  50. package/cypress/support/commands.ts +1 -0
  51. package/cypress/tsconfig.json +2 -0
  52. package/dist/.tsbuildinfo +1 -1
  53. package/dist/Avatar.d.ts +1 -1
  54. package/dist/Avatar.js +2 -1
  55. package/dist/Avatar.js.map +1 -1
  56. package/dist/ButtonBadge.d.ts +11 -5
  57. package/dist/ButtonBadge.js +12 -3
  58. package/dist/ButtonBadge.js.map +1 -1
  59. package/dist/ButtonBadgeTemplate.js +1 -1
  60. package/dist/ButtonBadgeTemplate.js.map +1 -1
  61. package/dist/Calendar.d.ts +1 -0
  62. package/dist/Calendar.js +8 -3
  63. package/dist/Calendar.js.map +1 -1
  64. package/dist/DayPicker.d.ts +2 -0
  65. package/dist/DayPicker.js +12 -3
  66. package/dist/DayPicker.js.map +1 -1
  67. package/dist/DayPickerTemplate.js +1 -1
  68. package/dist/DayPickerTemplate.js.map +1 -1
  69. package/dist/FileUploader.js +1 -1
  70. package/dist/FileUploader.js.map +1 -1
  71. package/dist/Input.d.ts +3 -0
  72. package/dist/Input.js +18 -4
  73. package/dist/Input.js.map +1 -1
  74. package/dist/List.js +4 -0
  75. package/dist/List.js.map +1 -1
  76. package/dist/MenuItem.d.ts +5 -5
  77. package/dist/MenuItem.js.map +1 -1
  78. package/dist/MenuItemTemplate.js +1 -1
  79. package/dist/MenuItemTemplate.js.map +1 -1
  80. package/dist/MessageStrip.js +1 -3
  81. package/dist/MessageStrip.js.map +1 -1
  82. package/dist/RadioButtonGroup.js +3 -2
  83. package/dist/RadioButtonGroup.js.map +1 -1
  84. package/dist/Select.d.ts +1 -0
  85. package/dist/Select.js +7 -1
  86. package/dist/Select.js.map +1 -1
  87. package/dist/SelectPopoverTemplate.js +1 -1
  88. package/dist/SelectPopoverTemplate.js.map +1 -1
  89. package/dist/SpecialCalendarDate.d.ts +6 -0
  90. package/dist/SpecialCalendarDate.js +9 -0
  91. package/dist/SpecialCalendarDate.js.map +1 -1
  92. package/dist/TableVirtualizer.js +4 -2
  93. package/dist/TableVirtualizer.js.map +1 -1
  94. package/dist/Tokenizer.js +1 -1
  95. package/dist/Tokenizer.js.map +1 -1
  96. package/dist/YearPicker.js +2 -2
  97. package/dist/YearPicker.js.map +1 -1
  98. package/dist/css/themes/Avatar.css +1 -1
  99. package/dist/css/themes/AvatarGroup.css +1 -1
  100. package/dist/css/themes/Bar.css +1 -1
  101. package/dist/css/themes/Breadcrumbs.css +1 -1
  102. package/dist/css/themes/BusyIndicator.css +1 -1
  103. package/dist/css/themes/Button.css +1 -1
  104. package/dist/css/themes/ButtonBadge.css +1 -1
  105. package/dist/css/themes/Calendar.css +1 -1
  106. package/dist/css/themes/CalendarHeader.css +1 -1
  107. package/dist/css/themes/CalendarLegend.css +1 -1
  108. package/dist/css/themes/CalendarLegendItem.css +1 -1
  109. package/dist/css/themes/Card.css +1 -1
  110. package/dist/css/themes/CardHeader.css +1 -1
  111. package/dist/css/themes/Carousel.css +1 -1
  112. package/dist/css/themes/CheckBox.css +1 -1
  113. package/dist/css/themes/ColorPalette.css +1 -1
  114. package/dist/css/themes/ColorPaletteItem.css +1 -1
  115. package/dist/css/themes/ColorPalettePopover.css +1 -1
  116. package/dist/css/themes/ColorPicker.css +1 -1
  117. package/dist/css/themes/ComboBox.css +1 -1
  118. package/dist/css/themes/ComboBoxItem.css +1 -1
  119. package/dist/css/themes/DatePicker.css +1 -1
  120. package/dist/css/themes/DateTimePickerPopover.css +1 -1
  121. package/dist/css/themes/DayPicker.css +1 -1
  122. package/dist/css/themes/Dialog.css +1 -1
  123. package/dist/css/themes/FileUploader.css +1 -1
  124. package/dist/css/themes/Form.css +1 -1
  125. package/dist/css/themes/FormItem.css +1 -1
  126. package/dist/css/themes/FormItemSpan.css +1 -1
  127. package/dist/css/themes/GrowingButton.css +1 -1
  128. package/dist/css/themes/Icon.css +1 -1
  129. package/dist/css/themes/Input.css +1 -1
  130. package/dist/css/themes/InputIcon.css +1 -1
  131. package/dist/css/themes/InputSharedStyles.css +1 -1
  132. package/dist/css/themes/Link.css +1 -1
  133. package/dist/css/themes/List.css +1 -1
  134. package/dist/css/themes/ListItem.css +1 -1
  135. package/dist/css/themes/ListItemBase.css +1 -1
  136. package/dist/css/themes/ListItemCustom.css +1 -1
  137. package/dist/css/themes/ListItemGroup.css +1 -1
  138. package/dist/css/themes/ListItemGroupHeader.css +1 -1
  139. package/dist/css/themes/ListItemIcon.css +1 -1
  140. package/dist/css/themes/Menu.css +1 -1
  141. package/dist/css/themes/MenuItem.css +1 -1
  142. package/dist/css/themes/MessageStrip.css +1 -1
  143. package/dist/css/themes/MonthPicker.css +1 -1
  144. package/dist/css/themes/MultiComboBox.css +1 -1
  145. package/dist/css/themes/MultiComboBoxItem.css +1 -1
  146. package/dist/css/themes/MultiComboBoxPopover.css +1 -1
  147. package/dist/css/themes/MultiInput.css +1 -1
  148. package/dist/css/themes/OptionBase.css +1 -1
  149. package/dist/css/themes/Panel.css +1 -1
  150. package/dist/css/themes/Popover.css +1 -1
  151. package/dist/css/themes/PopupsCommon.css +1 -1
  152. package/dist/css/themes/ProgressIndicator.css +1 -1
  153. package/dist/css/themes/RadioButton.css +1 -1
  154. package/dist/css/themes/RangeSlider.css +1 -1
  155. package/dist/css/themes/RatingIndicator.css +1 -1
  156. package/dist/css/themes/ResponsivePopover.css +1 -1
  157. package/dist/css/themes/ResponsivePopoverCommon.css +1 -1
  158. package/dist/css/themes/SegmentedButton.css +1 -1
  159. package/dist/css/themes/SegmentedButtonItem.css +1 -1
  160. package/dist/css/themes/Select.css +1 -1
  161. package/dist/css/themes/SliderBase.css +1 -1
  162. package/dist/css/themes/SplitButton.css +1 -1
  163. package/dist/css/themes/StepInput.css +1 -1
  164. package/dist/css/themes/SuggestionItem.css +1 -1
  165. package/dist/css/themes/SuggestionItemCustom.css +1 -1
  166. package/dist/css/themes/Switch.css +1 -1
  167. package/dist/css/themes/TabContainer.css +1 -1
  168. package/dist/css/themes/TabInOverflow.css +1 -1
  169. package/dist/css/themes/TabInStrip.css +1 -1
  170. package/dist/css/themes/TabSemanticIcon.css +1 -1
  171. package/dist/css/themes/TabSeparatorInOverflow.css +1 -1
  172. package/dist/css/themes/Table.css +1 -1
  173. package/dist/css/themes/TableCellBase.css +1 -1
  174. package/dist/css/themes/TableHeaderRow.css +1 -1
  175. package/dist/css/themes/TableRow.css +1 -1
  176. package/dist/css/themes/TableRowActionBase.css +1 -1
  177. package/dist/css/themes/TableRowBase.css +1 -1
  178. package/dist/css/themes/Tag.css +1 -1
  179. package/dist/css/themes/Text.css +1 -1
  180. package/dist/css/themes/TextArea.css +1 -1
  181. package/dist/css/themes/TimePicker.css +1 -1
  182. package/dist/css/themes/Toast.css +1 -1
  183. package/dist/css/themes/ToggleButton.css +1 -1
  184. package/dist/css/themes/Token.css +1 -1
  185. package/dist/css/themes/Tokenizer.css +1 -1
  186. package/dist/css/themes/TokenizerPopover.css +1 -1
  187. package/dist/css/themes/Toolbar.css +1 -1
  188. package/dist/css/themes/ToolbarPopover.css +1 -1
  189. package/dist/css/themes/TreeItem.css +1 -1
  190. package/dist/css/themes/ValueStateMessage.css +1 -1
  191. package/dist/css/themes/YearPicker.css +1 -1
  192. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  193. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  194. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  195. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  196. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  197. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  198. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  199. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  200. package/dist/custom-elements-internal.json +10 -10
  201. package/dist/custom-elements.json +8 -8
  202. package/dist/features/InputSuggestions.d.ts +3 -3
  203. package/dist/features/InputSuggestions.js +8 -5
  204. package/dist/features/InputSuggestions.js.map +1 -1
  205. package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
  206. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  207. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  208. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  209. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  210. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  211. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  212. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  213. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  214. package/dist/generated/templates/TableGrowingTemplate.lit.js +2 -3
  215. package/dist/generated/templates/TableGrowingTemplate.lit.js.map +1 -1
  216. package/dist/generated/themes/Avatar.css.d.ts +1 -1
  217. package/dist/generated/themes/Avatar.css.js +1 -1
  218. package/dist/generated/themes/Avatar.css.js.map +1 -1
  219. package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
  220. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  221. package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
  222. package/dist/generated/themes/Bar.css.d.ts +1 -1
  223. package/dist/generated/themes/Bar.css.js +1 -1
  224. package/dist/generated/themes/Bar.css.js.map +1 -1
  225. package/dist/generated/themes/Breadcrumbs.css.d.ts +1 -1
  226. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  227. package/dist/generated/themes/Breadcrumbs.css.js.map +1 -1
  228. package/dist/generated/themes/BusyIndicator.css.d.ts +1 -1
  229. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  230. package/dist/generated/themes/BusyIndicator.css.js.map +1 -1
  231. package/dist/generated/themes/Button.css.d.ts +1 -1
  232. package/dist/generated/themes/Button.css.js +1 -1
  233. package/dist/generated/themes/Button.css.js.map +1 -1
  234. package/dist/generated/themes/ButtonBadge.css.d.ts +1 -1
  235. package/dist/generated/themes/ButtonBadge.css.js +1 -1
  236. package/dist/generated/themes/ButtonBadge.css.js.map +1 -1
  237. package/dist/generated/themes/Calendar.css.d.ts +1 -1
  238. package/dist/generated/themes/Calendar.css.js +1 -1
  239. package/dist/generated/themes/Calendar.css.js.map +1 -1
  240. package/dist/generated/themes/CalendarHeader.css.d.ts +1 -1
  241. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  242. package/dist/generated/themes/CalendarHeader.css.js.map +1 -1
  243. package/dist/generated/themes/CalendarLegend.css.d.ts +1 -1
  244. package/dist/generated/themes/CalendarLegend.css.js +1 -1
  245. package/dist/generated/themes/CalendarLegend.css.js.map +1 -1
  246. package/dist/generated/themes/CalendarLegendItem.css.d.ts +1 -1
  247. package/dist/generated/themes/CalendarLegendItem.css.js +1 -1
  248. package/dist/generated/themes/CalendarLegendItem.css.js.map +1 -1
  249. package/dist/generated/themes/Card.css.d.ts +1 -1
  250. package/dist/generated/themes/Card.css.js +1 -1
  251. package/dist/generated/themes/Card.css.js.map +1 -1
  252. package/dist/generated/themes/CardHeader.css.d.ts +1 -1
  253. package/dist/generated/themes/CardHeader.css.js +1 -1
  254. package/dist/generated/themes/CardHeader.css.js.map +1 -1
  255. package/dist/generated/themes/Carousel.css.d.ts +1 -1
  256. package/dist/generated/themes/Carousel.css.js +1 -1
  257. package/dist/generated/themes/Carousel.css.js.map +1 -1
  258. package/dist/generated/themes/CheckBox.css.d.ts +1 -1
  259. package/dist/generated/themes/CheckBox.css.js +1 -1
  260. package/dist/generated/themes/CheckBox.css.js.map +1 -1
  261. package/dist/generated/themes/ColorPalette.css.d.ts +1 -1
  262. package/dist/generated/themes/ColorPalette.css.js +1 -1
  263. package/dist/generated/themes/ColorPalette.css.js.map +1 -1
  264. package/dist/generated/themes/ColorPaletteItem.css.d.ts +1 -1
  265. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  266. package/dist/generated/themes/ColorPaletteItem.css.js.map +1 -1
  267. package/dist/generated/themes/ColorPalettePopover.css.d.ts +1 -1
  268. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  269. package/dist/generated/themes/ColorPalettePopover.css.js.map +1 -1
  270. package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
  271. package/dist/generated/themes/ColorPicker.css.js +1 -1
  272. package/dist/generated/themes/ColorPicker.css.js.map +1 -1
  273. package/dist/generated/themes/ComboBox.css.d.ts +1 -1
  274. package/dist/generated/themes/ComboBox.css.js +1 -1
  275. package/dist/generated/themes/ComboBox.css.js.map +1 -1
  276. package/dist/generated/themes/ComboBoxItem.css.d.ts +1 -1
  277. package/dist/generated/themes/ComboBoxItem.css.js +1 -1
  278. package/dist/generated/themes/ComboBoxItem.css.js.map +1 -1
  279. package/dist/generated/themes/DatePicker.css.d.ts +1 -1
  280. package/dist/generated/themes/DatePicker.css.js +1 -1
  281. package/dist/generated/themes/DatePicker.css.js.map +1 -1
  282. package/dist/generated/themes/DateTimePickerPopover.css.d.ts +1 -1
  283. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  284. package/dist/generated/themes/DateTimePickerPopover.css.js.map +1 -1
  285. package/dist/generated/themes/DayPicker.css.d.ts +1 -1
  286. package/dist/generated/themes/DayPicker.css.js +1 -1
  287. package/dist/generated/themes/DayPicker.css.js.map +1 -1
  288. package/dist/generated/themes/Dialog.css.d.ts +1 -1
  289. package/dist/generated/themes/Dialog.css.js +1 -1
  290. package/dist/generated/themes/Dialog.css.js.map +1 -1
  291. package/dist/generated/themes/FileUploader.css.d.ts +1 -1
  292. package/dist/generated/themes/FileUploader.css.js +1 -1
  293. package/dist/generated/themes/FileUploader.css.js.map +1 -1
  294. package/dist/generated/themes/Form.css.d.ts +1 -1
  295. package/dist/generated/themes/Form.css.js +1 -1
  296. package/dist/generated/themes/Form.css.js.map +1 -1
  297. package/dist/generated/themes/FormItem.css.d.ts +1 -1
  298. package/dist/generated/themes/FormItem.css.js +1 -1
  299. package/dist/generated/themes/FormItem.css.js.map +1 -1
  300. package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
  301. package/dist/generated/themes/FormItemSpan.css.js +1 -1
  302. package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
  303. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  304. package/dist/generated/themes/GrowingButton.css.js +1 -1
  305. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  306. package/dist/generated/themes/Icon.css.d.ts +1 -1
  307. package/dist/generated/themes/Icon.css.js +1 -1
  308. package/dist/generated/themes/Icon.css.js.map +1 -1
  309. package/dist/generated/themes/Input.css.d.ts +1 -1
  310. package/dist/generated/themes/Input.css.js +1 -1
  311. package/dist/generated/themes/Input.css.js.map +1 -1
  312. package/dist/generated/themes/InputIcon.css.d.ts +1 -1
  313. package/dist/generated/themes/InputIcon.css.js +1 -1
  314. package/dist/generated/themes/InputIcon.css.js.map +1 -1
  315. package/dist/generated/themes/InputSharedStyles.css.d.ts +1 -1
  316. package/dist/generated/themes/InputSharedStyles.css.js +1 -1
  317. package/dist/generated/themes/InputSharedStyles.css.js.map +1 -1
  318. package/dist/generated/themes/Link.css.d.ts +1 -1
  319. package/dist/generated/themes/Link.css.js +1 -1
  320. package/dist/generated/themes/Link.css.js.map +1 -1
  321. package/dist/generated/themes/List.css.d.ts +1 -1
  322. package/dist/generated/themes/List.css.js +1 -1
  323. package/dist/generated/themes/List.css.js.map +1 -1
  324. package/dist/generated/themes/ListItem.css.d.ts +1 -1
  325. package/dist/generated/themes/ListItem.css.js +1 -1
  326. package/dist/generated/themes/ListItem.css.js.map +1 -1
  327. package/dist/generated/themes/ListItemBase.css.d.ts +1 -1
  328. package/dist/generated/themes/ListItemBase.css.js +1 -1
  329. package/dist/generated/themes/ListItemBase.css.js.map +1 -1
  330. package/dist/generated/themes/ListItemCustom.css.d.ts +1 -1
  331. package/dist/generated/themes/ListItemCustom.css.js +1 -1
  332. package/dist/generated/themes/ListItemCustom.css.js.map +1 -1
  333. package/dist/generated/themes/ListItemGroup.css.d.ts +1 -1
  334. package/dist/generated/themes/ListItemGroup.css.js +1 -1
  335. package/dist/generated/themes/ListItemGroup.css.js.map +1 -1
  336. package/dist/generated/themes/ListItemGroupHeader.css.d.ts +1 -1
  337. package/dist/generated/themes/ListItemGroupHeader.css.js +1 -1
  338. package/dist/generated/themes/ListItemGroupHeader.css.js.map +1 -1
  339. package/dist/generated/themes/ListItemIcon.css.d.ts +1 -1
  340. package/dist/generated/themes/ListItemIcon.css.js +1 -1
  341. package/dist/generated/themes/ListItemIcon.css.js.map +1 -1
  342. package/dist/generated/themes/Menu.css.d.ts +1 -1
  343. package/dist/generated/themes/Menu.css.js +1 -1
  344. package/dist/generated/themes/Menu.css.js.map +1 -1
  345. package/dist/generated/themes/MenuItem.css.d.ts +1 -1
  346. package/dist/generated/themes/MenuItem.css.js +1 -1
  347. package/dist/generated/themes/MenuItem.css.js.map +1 -1
  348. package/dist/generated/themes/MessageStrip.css.d.ts +1 -1
  349. package/dist/generated/themes/MessageStrip.css.js +1 -1
  350. package/dist/generated/themes/MessageStrip.css.js.map +1 -1
  351. package/dist/generated/themes/MonthPicker.css.d.ts +1 -1
  352. package/dist/generated/themes/MonthPicker.css.js +1 -1
  353. package/dist/generated/themes/MonthPicker.css.js.map +1 -1
  354. package/dist/generated/themes/MultiComboBox.css.d.ts +1 -1
  355. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  356. package/dist/generated/themes/MultiComboBox.css.js.map +1 -1
  357. package/dist/generated/themes/MultiComboBoxItem.css.d.ts +1 -1
  358. package/dist/generated/themes/MultiComboBoxItem.css.js +1 -1
  359. package/dist/generated/themes/MultiComboBoxItem.css.js.map +1 -1
  360. package/dist/generated/themes/MultiComboBoxPopover.css.d.ts +1 -1
  361. package/dist/generated/themes/MultiComboBoxPopover.css.js +1 -1
  362. package/dist/generated/themes/MultiComboBoxPopover.css.js.map +1 -1
  363. package/dist/generated/themes/MultiInput.css.d.ts +1 -1
  364. package/dist/generated/themes/MultiInput.css.js +1 -1
  365. package/dist/generated/themes/MultiInput.css.js.map +1 -1
  366. package/dist/generated/themes/OptionBase.css.d.ts +1 -1
  367. package/dist/generated/themes/OptionBase.css.js +1 -1
  368. package/dist/generated/themes/OptionBase.css.js.map +1 -1
  369. package/dist/generated/themes/Panel.css.d.ts +1 -1
  370. package/dist/generated/themes/Panel.css.js +1 -1
  371. package/dist/generated/themes/Panel.css.js.map +1 -1
  372. package/dist/generated/themes/Popover.css.d.ts +1 -1
  373. package/dist/generated/themes/Popover.css.js +1 -1
  374. package/dist/generated/themes/Popover.css.js.map +1 -1
  375. package/dist/generated/themes/PopupsCommon.css.d.ts +1 -1
  376. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  377. package/dist/generated/themes/PopupsCommon.css.js.map +1 -1
  378. package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
  379. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  380. package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
  381. package/dist/generated/themes/RadioButton.css.d.ts +1 -1
  382. package/dist/generated/themes/RadioButton.css.js +1 -1
  383. package/dist/generated/themes/RadioButton.css.js.map +1 -1
  384. package/dist/generated/themes/RangeSlider.css.d.ts +1 -1
  385. package/dist/generated/themes/RangeSlider.css.js +1 -1
  386. package/dist/generated/themes/RangeSlider.css.js.map +1 -1
  387. package/dist/generated/themes/RatingIndicator.css.d.ts +1 -1
  388. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  389. package/dist/generated/themes/RatingIndicator.css.js.map +1 -1
  390. package/dist/generated/themes/ResponsivePopover.css.d.ts +1 -1
  391. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  392. package/dist/generated/themes/ResponsivePopover.css.js.map +1 -1
  393. package/dist/generated/themes/ResponsivePopoverCommon.css.d.ts +1 -1
  394. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  395. package/dist/generated/themes/ResponsivePopoverCommon.css.js.map +1 -1
  396. package/dist/generated/themes/SegmentedButton.css.d.ts +1 -1
  397. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  398. package/dist/generated/themes/SegmentedButton.css.js.map +1 -1
  399. package/dist/generated/themes/SegmentedButtonItem.css.d.ts +1 -1
  400. package/dist/generated/themes/SegmentedButtonItem.css.js +1 -1
  401. package/dist/generated/themes/SegmentedButtonItem.css.js.map +1 -1
  402. package/dist/generated/themes/Select.css.d.ts +1 -1
  403. package/dist/generated/themes/Select.css.js +1 -1
  404. package/dist/generated/themes/Select.css.js.map +1 -1
  405. package/dist/generated/themes/SliderBase.css.d.ts +1 -1
  406. package/dist/generated/themes/SliderBase.css.js +1 -1
  407. package/dist/generated/themes/SliderBase.css.js.map +1 -1
  408. package/dist/generated/themes/SplitButton.css.d.ts +1 -1
  409. package/dist/generated/themes/SplitButton.css.js +1 -1
  410. package/dist/generated/themes/SplitButton.css.js.map +1 -1
  411. package/dist/generated/themes/StepInput.css.d.ts +1 -1
  412. package/dist/generated/themes/StepInput.css.js +1 -1
  413. package/dist/generated/themes/StepInput.css.js.map +1 -1
  414. package/dist/generated/themes/SuggestionItem.css.d.ts +1 -1
  415. package/dist/generated/themes/SuggestionItem.css.js +1 -1
  416. package/dist/generated/themes/SuggestionItem.css.js.map +1 -1
  417. package/dist/generated/themes/SuggestionItemCustom.css.d.ts +1 -1
  418. package/dist/generated/themes/SuggestionItemCustom.css.js +1 -1
  419. package/dist/generated/themes/SuggestionItemCustom.css.js.map +1 -1
  420. package/dist/generated/themes/Switch.css.d.ts +1 -1
  421. package/dist/generated/themes/Switch.css.js +1 -1
  422. package/dist/generated/themes/Switch.css.js.map +1 -1
  423. package/dist/generated/themes/TabContainer.css.d.ts +1 -1
  424. package/dist/generated/themes/TabContainer.css.js +1 -1
  425. package/dist/generated/themes/TabContainer.css.js.map +1 -1
  426. package/dist/generated/themes/TabInOverflow.css.d.ts +1 -1
  427. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  428. package/dist/generated/themes/TabInOverflow.css.js.map +1 -1
  429. package/dist/generated/themes/TabInStrip.css.d.ts +1 -1
  430. package/dist/generated/themes/TabInStrip.css.js +1 -1
  431. package/dist/generated/themes/TabInStrip.css.js.map +1 -1
  432. package/dist/generated/themes/TabSemanticIcon.css.d.ts +1 -1
  433. package/dist/generated/themes/TabSemanticIcon.css.js +1 -1
  434. package/dist/generated/themes/TabSemanticIcon.css.js.map +1 -1
  435. package/dist/generated/themes/TabSeparatorInOverflow.css.d.ts +1 -1
  436. package/dist/generated/themes/TabSeparatorInOverflow.css.js +1 -1
  437. package/dist/generated/themes/TabSeparatorInOverflow.css.js.map +1 -1
  438. package/dist/generated/themes/Table.css.d.ts +1 -1
  439. package/dist/generated/themes/Table.css.js +1 -1
  440. package/dist/generated/themes/Table.css.js.map +1 -1
  441. package/dist/generated/themes/TableCellBase.css.d.ts +1 -1
  442. package/dist/generated/themes/TableCellBase.css.js +1 -1
  443. package/dist/generated/themes/TableCellBase.css.js.map +1 -1
  444. package/dist/generated/themes/TableHeaderRow.css.d.ts +1 -1
  445. package/dist/generated/themes/TableHeaderRow.css.js +1 -1
  446. package/dist/generated/themes/TableHeaderRow.css.js.map +1 -1
  447. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  448. package/dist/generated/themes/TableRow.css.js +1 -1
  449. package/dist/generated/themes/TableRow.css.js.map +1 -1
  450. package/dist/generated/themes/TableRowActionBase.css.d.ts +1 -1
  451. package/dist/generated/themes/TableRowActionBase.css.js +1 -1
  452. package/dist/generated/themes/TableRowActionBase.css.js.map +1 -1
  453. package/dist/generated/themes/TableRowBase.css.d.ts +1 -1
  454. package/dist/generated/themes/TableRowBase.css.js +1 -1
  455. package/dist/generated/themes/TableRowBase.css.js.map +1 -1
  456. package/dist/generated/themes/Tag.css.d.ts +1 -1
  457. package/dist/generated/themes/Tag.css.js +1 -1
  458. package/dist/generated/themes/Tag.css.js.map +1 -1
  459. package/dist/generated/themes/Text.css.d.ts +1 -1
  460. package/dist/generated/themes/Text.css.js +1 -1
  461. package/dist/generated/themes/Text.css.js.map +1 -1
  462. package/dist/generated/themes/TextArea.css.d.ts +1 -1
  463. package/dist/generated/themes/TextArea.css.js +1 -1
  464. package/dist/generated/themes/TextArea.css.js.map +1 -1
  465. package/dist/generated/themes/TimePicker.css.d.ts +1 -1
  466. package/dist/generated/themes/TimePicker.css.js +1 -1
  467. package/dist/generated/themes/TimePicker.css.js.map +1 -1
  468. package/dist/generated/themes/Toast.css.d.ts +1 -1
  469. package/dist/generated/themes/Toast.css.js +1 -1
  470. package/dist/generated/themes/Toast.css.js.map +1 -1
  471. package/dist/generated/themes/ToggleButton.css.d.ts +1 -1
  472. package/dist/generated/themes/ToggleButton.css.js +1 -1
  473. package/dist/generated/themes/ToggleButton.css.js.map +1 -1
  474. package/dist/generated/themes/Token.css.d.ts +1 -1
  475. package/dist/generated/themes/Token.css.js +1 -1
  476. package/dist/generated/themes/Token.css.js.map +1 -1
  477. package/dist/generated/themes/Tokenizer.css.d.ts +1 -1
  478. package/dist/generated/themes/Tokenizer.css.js +1 -1
  479. package/dist/generated/themes/Tokenizer.css.js.map +1 -1
  480. package/dist/generated/themes/TokenizerPopover.css.d.ts +1 -1
  481. package/dist/generated/themes/TokenizerPopover.css.js +1 -1
  482. package/dist/generated/themes/TokenizerPopover.css.js.map +1 -1
  483. package/dist/generated/themes/Toolbar.css.d.ts +1 -1
  484. package/dist/generated/themes/Toolbar.css.js +1 -1
  485. package/dist/generated/themes/Toolbar.css.js.map +1 -1
  486. package/dist/generated/themes/ToolbarPopover.css.d.ts +1 -1
  487. package/dist/generated/themes/ToolbarPopover.css.js +1 -1
  488. package/dist/generated/themes/ToolbarPopover.css.js.map +1 -1
  489. package/dist/generated/themes/TreeItem.css.d.ts +1 -1
  490. package/dist/generated/themes/TreeItem.css.js +1 -1
  491. package/dist/generated/themes/TreeItem.css.js.map +1 -1
  492. package/dist/generated/themes/ValueStateMessage.css.d.ts +1 -1
  493. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  494. package/dist/generated/themes/ValueStateMessage.css.js.map +1 -1
  495. package/dist/generated/themes/YearPicker.css.d.ts +1 -1
  496. package/dist/generated/themes/YearPicker.css.js +1 -1
  497. package/dist/generated/themes/YearPicker.css.js.map +1 -1
  498. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  499. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  500. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  501. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  502. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  503. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  504. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  505. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  506. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  507. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  508. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  509. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  510. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  511. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  512. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  513. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  514. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  515. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  516. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  517. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  518. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  519. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  520. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  521. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  522. package/dist/types/ButtonBadgeDesign.d.ts +1 -1
  523. package/dist/types/ButtonBadgeDesign.js +1 -1
  524. package/dist/types/ButtonBadgeDesign.js.map +1 -1
  525. package/dist/vscode.html-custom-data.json +4 -4
  526. package/dist/web-types.json +9 -9
  527. package/package.json +12 -10
  528. package/src/ButtonBadgeTemplate.tsx +1 -1
  529. package/src/DayPickerTemplate.tsx +1 -0
  530. package/src/MenuItemTemplate.tsx +0 -10
  531. package/src/SelectPopoverTemplate.tsx +1 -1
  532. package/src/TableGrowing.hbs +17 -19
  533. package/src/i18n/messagebundle_en_US_saprigi.properties +0 -2
  534. package/src/themes/DayPicker.css +1 -0
  535. package/src/themes/MenuItem.css +5 -1
  536. package/cypress/specs/Card.cy.ts +0 -51
  537. package/cypress/specs/ColorPalette.cy.ts +0 -46
  538. package/cypress/specs/FormSupport.cy.ts +0 -960
  539. package/cypress/specs/Input.cy.ts +0 -130
  540. package/cypress/specs/Link.cy.ts +0 -16
  541. package/cypress/specs/MessageStrip.cy.ts +0 -91
  542. package/cypress/specs/RTL.cy.ts +0 -17
  543. package/cypress/specs/Table.cy.ts +0 -636
  544. package/cypress/specs/TableLoading.cy.ts +0 -44
  545. package/cypress/specs/Title.cy.ts +0 -37
  546. package/cypress/specs/Tokenizer.cy.ts +0 -114
  547. package/cypress/specs/base/Tooltips.cy.ts +0 -55
  548. /package/cypress/specs/{TableUtils.cy.ts → TableUtils.cy.tsx} +0 -0
  549. /package/cypress/specs/base/{InvisibleMessage.cy.ts → InvisibleMessage.cy.tsx} +0 -0
@@ -0,0 +1,537 @@
1
+ import Input from "../../src/Input.js";
2
+ import SuggestionItem from "../../src/SuggestionItem.js";
3
+ import SuggestionItemCustom from "../../src/SuggestionItemCustom.js";
4
+ import SuggestionItemGroup from "../../src/SuggestionItemGroup.js";
5
+
6
+ describe("Input Tests", () => {
7
+ it("tets input event prevention", () => {
8
+ cy.mount(
9
+ <Input></Input>
10
+ );
11
+
12
+ cy.get("[ui5-input]")
13
+ .as("input");
14
+
15
+ cy.get<Input>("@input")
16
+ .then($input => {
17
+ $input.get(0).addEventListener("input", e => {
18
+ e.preventDefault();
19
+ (e.target as Input).value = "test";
20
+ });
21
+ });
22
+
23
+ cy.get<Input>("@input")
24
+ .realClick();
25
+
26
+ cy.realPress("a");
27
+
28
+ cy.get("@input")
29
+ .shadow()
30
+ .find("input")
31
+ .should("have.value", "test");
32
+ });
33
+
34
+ it("tests custom suggestion items tabindex", () => {
35
+ cy.mount(
36
+ <Input showSuggestions={true}>
37
+ <SuggestionItemCustom text="Item 1">Item 1</SuggestionItemCustom>
38
+ <SuggestionItemCustom text="Item 2">Item 2</SuggestionItemCustom>
39
+ <SuggestionItemCustom text="Item 3">Item 3</SuggestionItemCustom>
40
+ </Input>
41
+ );
42
+
43
+ cy.get("[ui5-input]")
44
+ .as("input");
45
+
46
+ cy.get<Input>("@input")
47
+ .shadow()
48
+ .find("input")
49
+ .as("inner");
50
+
51
+ cy.get("@inner").realClick();
52
+ cy.get("@inner").realType("i");
53
+ cy.get("@inner").realPress("ArrowDown");
54
+
55
+ cy.get("@input")
56
+ .find("[ui5-suggestion-item-custom]")
57
+ .shadow()
58
+ .find("li")
59
+ .should("not.have.attr", "tabindex", "0")
60
+ .should("have.attr", "role", "option");
61
+ });
62
+
63
+ it("tests regular suggestion items tabindex", () => {
64
+ cy.mount(
65
+ <Input showSuggestions={true}>
66
+ <SuggestionItem text="Item 1"></SuggestionItem>
67
+ <SuggestionItem text="Item 2"></SuggestionItem>
68
+ <SuggestionItem text="Item 3"></SuggestionItem>
69
+ </Input>
70
+ );
71
+
72
+ cy.get("[ui5-input]")
73
+ .as("input");
74
+
75
+ cy.get<Input>("@input")
76
+ .shadow()
77
+ .find("input")
78
+ .as("inner");
79
+
80
+ cy.get("@inner").realClick();
81
+ cy.get("@inner").realType("i");
82
+ cy.get("@inner").realPress("ArrowDown");
83
+
84
+ cy.get("@input")
85
+ .find("ui5-suggestion-item")
86
+ .shadow()
87
+ .find("li")
88
+ .should("not.have.attr", "tabindex", "0")
89
+ .should("have.attr", "role", "option");
90
+ });
91
+
92
+ it("tests suggestion group items tabindex", () => {
93
+ cy.mount(
94
+ <Input showSuggestions={true}>
95
+ <SuggestionItemGroup headerText="Group 1">
96
+ <SuggestionItem text="Item 1"></SuggestionItem>
97
+ <SuggestionItem text="Item 2"></SuggestionItem>
98
+ <SuggestionItem text="Item 3"></SuggestionItem>
99
+ </SuggestionItemGroup>
100
+ <SuggestionItemGroup headerText="Group 2">
101
+ <SuggestionItem text="Item 4"></SuggestionItem>
102
+ <SuggestionItem text="Item 5"></SuggestionItem>
103
+ <SuggestionItem text="Item 6"></SuggestionItem>
104
+ </SuggestionItemGroup>
105
+ </Input>
106
+ );
107
+
108
+ cy.get("[ui5-input]")
109
+ .as("input");
110
+
111
+ cy.get<Input>("@input")
112
+ .shadow()
113
+ .find("input")
114
+ .as("inner");
115
+
116
+ cy.get("@inner").realClick();
117
+ cy.get("@inner").realType("i");
118
+ cy.get("@inner").realPress("ArrowDown");
119
+
120
+ cy.get("@input")
121
+ .find("[ui5-suggestion-item-group]")
122
+ .shadow()
123
+ .find("[ui5-li-group-header]")
124
+ .shadow()
125
+ .find("ul")
126
+ .should("not.have.attr", "tabindex", "0");
127
+ });
128
+ });
129
+
130
+ describe("Input general interaction", () => {
131
+ it("handles suggestions selection cancel with ESC", () => {
132
+ cy.mount(
133
+ <Input id="myInputEsc" show-suggestions class="input3auto">
134
+ <SuggestionItem text="Chromium"></SuggestionItem>
135
+ <SuggestionItem text="Titanium"></SuggestionItem>
136
+ <SuggestionItem text="Iron"></SuggestionItem>
137
+ <SuggestionItem text="Gold"></SuggestionItem>
138
+ <SuggestionItem text="Silver"></SuggestionItem>
139
+ </Input>
140
+ );
141
+
142
+ cy.get("ui5-input")
143
+ .as("input");
144
+
145
+ cy.get("@input")
146
+ .shadow()
147
+ .find("ui5-responsive-popover")
148
+ .as("popover");
149
+
150
+ cy.get("@input")
151
+ .realClick();
152
+
153
+ cy.get("@input")
154
+ .realType("C");
155
+
156
+ cy.get("@popover")
157
+ .should("have.attr", "open");
158
+
159
+ cy.get("@input")
160
+ .realPress("ArrowDown");
161
+
162
+ cy.get("@input")
163
+ .should("have.attr", "value", "Titanium");
164
+
165
+ cy.get("@input")
166
+ .realPress("Escape");
167
+
168
+ cy.get("@input")
169
+ .should("have.value", "C");
170
+ });
171
+
172
+ it("tests selection-change with custom items", () => {
173
+ cy.mount(
174
+ <Input id="myInput2" showSuggestions class="input3auto">
175
+ <SuggestionItem text="Cozy" />
176
+ <SuggestionItem text="Compact" />
177
+ <SuggestionItem text="Condensed" />
178
+ <SuggestionItem text="Compact" />
179
+ <SuggestionItem text="Condensed" />
180
+ </Input>
181
+ );
182
+
183
+ cy.get("ui5-input")
184
+ .as("input");
185
+
186
+ cy.get("@input")
187
+ .shadow()
188
+ .find("ui5-responsive-popover")
189
+ .as("popover");
190
+
191
+ cy.get("@input")
192
+ .realClick();
193
+
194
+ cy.get("@input")
195
+ .realType("c");
196
+
197
+ cy.get("@popover")
198
+ .should("have.attr", "open");
199
+
200
+ cy.get("@input")
201
+ .realPress("ArrowDown");
202
+
203
+ cy.get("@input")
204
+ .should("have.value", "Compact")
205
+ .should("not.have.attr", "focused");
206
+
207
+ cy.get("ui5-suggestion-item")
208
+ .eq(1)
209
+ .should("have.attr", "focused");
210
+
211
+ cy.get("@input")
212
+ .realPress("ArrowDown");
213
+
214
+ cy.get("ui5-suggestion-item")
215
+ .eq(2)
216
+ .should("have.attr", "focused");
217
+
218
+ cy.get("ui5-suggestion-item")
219
+ .eq(1)
220
+ .should("not.have.attr", "focused");
221
+ });
222
+ });
223
+
224
+ describe("Input arrow navigation", () => {
225
+ it("Value state header and group headers should be included in the arrow navigation", () => {
226
+ cy.mount(
227
+ <Input id="inputError" class="input2auto" showSuggestions valueState="Negative" placeholder="Search for a country ...">
228
+ <div slot="valueStateMessage">
229
+ Custom error value state message with a <a href="#">Link</a>.
230
+ </div>
231
+ <SuggestionItem text="Cozy" />
232
+ <SuggestionItem text="Compact" />
233
+ <SuggestionItem text="Condensed" />
234
+ <SuggestionItem text="Compact" />
235
+ <SuggestionItem text="Condensed" />
236
+ </Input>
237
+ );
238
+
239
+ cy.get("ui5-input")
240
+ .as("input");
241
+
242
+ cy.get("@input")
243
+ .realClick()
244
+ .realType("a")
245
+ .realPress("ArrowDown");
246
+
247
+ cy.get("@input")
248
+ .should("not.have.attr", "focused");
249
+
250
+ cy.get("@input")
251
+ .shadow()
252
+ .find("ui5-responsive-popover")
253
+ .as("ui5-responsive-popover");
254
+
255
+ cy.get("@ui5-responsive-popover")
256
+ .find("div")
257
+ .as("valueMessage")
258
+ .should("have.class", "ui5-responsive-popover-header--focused");
259
+
260
+ cy.get("@input")
261
+ .realPress("ArrowDown");
262
+
263
+ cy.get("@valueMessage")
264
+ .should("not.have.class", "ui5-responsive-popover-header--focused");
265
+
266
+ cy.get("ui5-suggestion-item")
267
+ .eq(0)
268
+ .should("have.attr", "focused");
269
+ });
270
+
271
+ it("Should navigate up and down through the suggestions popover with arrow keys", () => {
272
+ cy.mount(
273
+ <Input id="myInput2" showSuggestions class="input3auto">
274
+ <SuggestionItem text="Cozy" />
275
+ <SuggestionItem text="Compact" />
276
+ <SuggestionItem text="Condensed" />
277
+ <SuggestionItem text="Compact" />
278
+ <SuggestionItem text="Condensed" />
279
+ </Input>
280
+ );
281
+
282
+ cy.get("#myInput2")
283
+ .as("input");
284
+
285
+ cy.get("@input")
286
+ .shadow()
287
+ .find("ui5-responsive-popover")
288
+ .as("popover");
289
+
290
+ cy.get("@input").realClick();
291
+ cy.get("@input").realType("c");
292
+
293
+ cy.get("@popover")
294
+ .should("have.attr", "open");
295
+
296
+ cy.get("@input").realPress("ArrowDown");
297
+
298
+ cy.get("ui5-suggestion-item").eq(1).should("have.attr", "text", "Compact");
299
+ cy.get("@input").should("not.have.attr", "focused");
300
+ cy.get("ui5-suggestion-item").eq(1).should("have.attr", "focused");
301
+
302
+ cy.get("@input")
303
+ .realPress("ArrowDown");
304
+
305
+ cy.get("ui5-suggestion-item").eq(2).should("have.attr", "focused");
306
+ cy.get("ui5-suggestion-item").eq(1).should("not.have.attr", "focused");
307
+
308
+ cy.get("@input")
309
+ .realPress("ArrowUp");
310
+
311
+ cy.get("ui5-suggestion-item").eq(1).should("have.attr", "focused");
312
+ cy.get("ui5-suggestion-item").eq(2).should("not.have.attr", "focused");
313
+
314
+ cy.get("@input").realPress("ArrowUp");
315
+ cy.get("@input").realPress("ArrowUp");
316
+
317
+ cy.get("@input").should("have.attr", "focused");
318
+ cy.get("ui5-suggestion-item").first().should("not.have.attr", "focused");
319
+ });
320
+ });
321
+
322
+ describe("Input PAGEUP/PAGEDOWN navigation", () => {
323
+ beforeEach(() => {
324
+ cy.mount(
325
+ <Input id="myInput" showSuggestions placeholder="Search for a country ...">
326
+ <SuggestionItemGroup headerText="A">
327
+ <SuggestionItem text="Afghanistan" />
328
+ <SuggestionItem text="Argentina" />
329
+ <SuggestionItem text="Albania" />
330
+ <SuggestionItem text="Armenia" />
331
+ <SuggestionItem text="Algeria" />
332
+ <SuggestionItem text="Andorra" />
333
+ <SuggestionItem text="Angola" />
334
+ <SuggestionItem text="Austria" />
335
+ <SuggestionItem text="Australia" />
336
+ <SuggestionItem text="Azerbaijan" />
337
+ <SuggestionItem text="Aruba" />
338
+ <SuggestionItem text="Antigua and Barbuda" />
339
+ </SuggestionItemGroup>
340
+ </Input>
341
+ );
342
+ });
343
+ it("Should focus the tenth item from the suggestions popover with PAGEDOWN", () => {
344
+ cy.get("ui5-input")
345
+ .as("input");
346
+
347
+ cy.get("@input")
348
+ .realClick();
349
+
350
+ cy.get("@input")
351
+ .realType("a");
352
+
353
+ cy.get("@input")
354
+ .realPress("ArrowDown");
355
+
356
+ cy.get("@input")
357
+ .realPress("PageDown");
358
+
359
+ cy.get("ui5-suggestion-item")
360
+ .eq(11)
361
+ .should("have.attr", "text", "Antigua and Barbuda");
362
+
363
+ cy.get("ui5-suggestion-item")
364
+ .eq(11)
365
+ .should("have.attr", "focused");
366
+ });
367
+
368
+ it("Should focus the -10 item/group header from the suggestions popover with PAGEUP", () => {
369
+ cy.get("ui5-input")
370
+ .as("input");
371
+
372
+ cy.get("@input")
373
+ .realClick();
374
+
375
+ cy.get("@input")
376
+ .realType("a");
377
+
378
+ cy.get("@input")
379
+ .realPress("ArrowUp");
380
+
381
+ cy.get("ui5-suggestion-item-group")
382
+ .eq(0)
383
+ .should("have.attr", "focused");
384
+
385
+ cy.get("@input")
386
+ .realPress("PageDown");
387
+
388
+ cy.get("@input")
389
+ .realPress("PageUp");
390
+
391
+ cy.get("ui5-suggestion-item-group")
392
+ .eq(0)
393
+ .should("have.attr", "focused");
394
+ });
395
+ });
396
+
397
+ describe("Selection-change event", () => {
398
+ it("Selection-change event fires with null arguments when suggestion was selected but user alters input value to something else", () => {
399
+ cy.mount(
400
+ <Input id="input-selection-change" showSuggestions>
401
+ <SuggestionItem text="Cozy" />
402
+ <SuggestionItem text="Compact" />
403
+ <SuggestionItem text="Condensed" />
404
+ </Input>
405
+ );
406
+
407
+ cy.get("ui5-input")
408
+ .as("input");
409
+
410
+ cy.get("ui5-input")
411
+ .shadow()
412
+ .find("input")
413
+ .as("innerInput");
414
+
415
+ let eventCount = 0;
416
+
417
+ cy.get("@input").then($input => {
418
+ $input[0].addEventListener("ui5-selection-change", () => {
419
+ eventCount++;
420
+ });
421
+ });
422
+
423
+ cy.get("@innerInput")
424
+ .realClick();
425
+ cy.get("@innerInput")
426
+ .type("C");
427
+ cy.get("@innerInput")
428
+ .realPress("ArrowDown");
429
+ cy.get("@innerInput")
430
+ .realPress("Enter");
431
+
432
+ cy.get("@innerInput")
433
+ .should("have.value", "Compact");
434
+
435
+ cy.get("@innerInput")
436
+ .realClick();
437
+ cy.get("@innerInput")
438
+ .clear();
439
+ cy.get("@innerInput")
440
+ .type("N");
441
+ cy.get("@innerInput")
442
+ .realPress("Enter");
443
+
444
+ cy.get("@innerInput")
445
+ .should("have.value", "N");
446
+
447
+ cy.then(() => {
448
+ expect(eventCount).to.equal(2);
449
+ });
450
+ });
451
+ });
452
+
453
+ describe("Change event behavior when selecting the same suggestion item", () => {
454
+ let changeCount = 0;
455
+
456
+ beforeEach(() => {
457
+ cy.mount(
458
+ <Input id="myInput" showSuggestions placeholder="Search for a country ...">
459
+ <SuggestionItemGroup headerText="A">
460
+ <SuggestionItem text="Afghanistan" />
461
+ <SuggestionItem text="Argentina" />
462
+ <SuggestionItem text="Albania" />
463
+ <SuggestionItem text="Armenia" />
464
+ <SuggestionItem text="Algeria" />
465
+ </SuggestionItemGroup>
466
+ </Input>
467
+ );
468
+
469
+ cy.get("#myInput")
470
+ .as("input");
471
+
472
+ cy.get("@input").then($el => {
473
+ $el[0].addEventListener("change", () => {
474
+ changeCount++;
475
+ });
476
+ });
477
+ });
478
+
479
+ it("Change event is not fired when the same suggestion item is selected (with typeahead)", () => {
480
+ cy.get("@input")
481
+ .realClick();
482
+
483
+ cy.get("@input")
484
+ .realType("a");
485
+
486
+ cy.get("@input").realPress("Enter");
487
+ cy.get("@input").should("have.value", "Afghanistan");
488
+
489
+ cy.get("@input").realPress("Backspace");
490
+ cy.get("@input").realPress("ArrowDown");
491
+ cy.get("@input").realPress("ArrowDown");
492
+ cy.get("@input").realPress("Enter");
493
+
494
+ cy.get("@input").should("have.value", "Afghanistan");
495
+ cy.then(() => {
496
+ expect(changeCount).to.equal(1);
497
+ });
498
+ });
499
+
500
+ it("Change event is not fired when the same suggestion item is selected (no-typeahead)", () => {
501
+ cy.get("@input").invoke("attr", "value", "Afghanistan");
502
+ cy.get("@input").invoke("attr", "no-typeahead", true);
503
+
504
+ cy.get("@input").realPress("Backspace");
505
+
506
+ cy.get("@input").realPress("ArrowDown");
507
+ cy.get("@input").realPress("ArrowDown");
508
+ cy.get("@input").realPress("Enter");
509
+
510
+ cy.get("@input").should("have.value", "Afghanistan");
511
+ cy.then(() => {
512
+ expect(changeCount).to.equal(1);
513
+ });
514
+ });
515
+
516
+ it("Change event is not fired when the same suggestion item is selected after focus out and selecting suggestion again", () => {
517
+ cy.get("@input")
518
+ .invoke("attr", "value", "Afghanistan");
519
+
520
+ cy.get("@input")
521
+ .realPress("Tab");
522
+
523
+ cy.get("@input")
524
+ .realClick();
525
+ cy.get("@input")
526
+ .realPress("ArrowDown");
527
+ cy.get("@input")
528
+ .realPress("ArrowDown");
529
+ cy.get("@input")
530
+ .realPress("Enter");
531
+
532
+ cy.get("@input").should("have.value", "Afghanistan");
533
+ cy.then(() => {
534
+ expect(changeCount).to.equal(1);
535
+ });
536
+ });
537
+ });