@serenity-js/web 3.0.0-rc.8 → 3.0.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 (413) hide show
  1. package/CHANGELOG.md +336 -73
  2. package/README.md +8 -12
  3. package/lib/errors/BrowserWindowClosedError.d.ts +15 -0
  4. package/lib/errors/BrowserWindowClosedError.d.ts.map +1 -0
  5. package/lib/errors/BrowserWindowClosedError.js +21 -0
  6. package/lib/errors/BrowserWindowClosedError.js.map +1 -0
  7. package/lib/errors/CookieMissingError.d.ts +11 -0
  8. package/lib/errors/CookieMissingError.d.ts.map +1 -0
  9. package/lib/errors/CookieMissingError.js +10 -0
  10. package/lib/errors/CookieMissingError.js.map +1 -1
  11. package/lib/errors/ModalDialogObstructsScreenshotError.d.ts +15 -0
  12. package/lib/errors/ModalDialogObstructsScreenshotError.d.ts.map +1 -0
  13. package/lib/errors/ModalDialogObstructsScreenshotError.js +21 -0
  14. package/lib/errors/ModalDialogObstructsScreenshotError.js.map +1 -0
  15. package/lib/errors/index.d.ts +3 -0
  16. package/lib/errors/index.d.ts.map +1 -0
  17. package/lib/errors/index.js +7 -1
  18. package/lib/errors/index.js.map +1 -1
  19. package/lib/expectations/index.d.ts +1 -1
  20. package/lib/expectations/index.d.ts.map +1 -0
  21. package/lib/expectations/index.js +5 -2
  22. package/lib/expectations/index.js.map +1 -1
  23. package/lib/expectations/isActive.d.ts +14 -8
  24. package/lib/expectations/isActive.d.ts.map +1 -0
  25. package/lib/expectations/isActive.js +17 -11
  26. package/lib/expectations/isActive.js.map +1 -1
  27. package/lib/expectations/isClickable.d.ts +14 -13
  28. package/lib/expectations/isClickable.d.ts.map +1 -0
  29. package/lib/expectations/isClickable.js +15 -17
  30. package/lib/expectations/isClickable.js.map +1 -1
  31. package/lib/expectations/isEnabled.d.ts +14 -7
  32. package/lib/expectations/isEnabled.d.ts.map +1 -0
  33. package/lib/expectations/isEnabled.js +17 -9
  34. package/lib/expectations/isEnabled.js.map +1 -1
  35. package/lib/expectations/isSelected.d.ts +14 -7
  36. package/lib/expectations/isSelected.d.ts.map +1 -0
  37. package/lib/expectations/isSelected.js +15 -9
  38. package/lib/expectations/isSelected.js.map +1 -1
  39. package/lib/expectations/isVisible.d.ts +14 -7
  40. package/lib/expectations/isVisible.d.ts.map +1 -0
  41. package/lib/expectations/isVisible.js +17 -9
  42. package/lib/expectations/isVisible.js.map +1 -1
  43. package/lib/index.d.ts +1 -1
  44. package/lib/index.d.ts.map +1 -0
  45. package/lib/index.js +5 -2
  46. package/lib/index.js.map +1 -1
  47. package/lib/screenplay/abilities/BrowseTheWeb.d.ts +88 -45
  48. package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -0
  49. package/lib/screenplay/abilities/BrowseTheWeb.js +89 -19
  50. package/lib/screenplay/abilities/BrowseTheWeb.js.map +1 -1
  51. package/lib/screenplay/abilities/index.d.ts +1 -1
  52. package/lib/screenplay/abilities/index.d.ts.map +1 -0
  53. package/lib/screenplay/abilities/index.js +5 -2
  54. package/lib/screenplay/abilities/index.js.map +1 -1
  55. package/lib/screenplay/index.d.ts +1 -0
  56. package/lib/screenplay/index.d.ts.map +1 -0
  57. package/lib/screenplay/index.js +5 -1
  58. package/lib/screenplay/index.js.map +1 -1
  59. package/lib/screenplay/interactions/Clear.d.ts +50 -55
  60. package/lib/screenplay/interactions/Clear.d.ts.map +1 -0
  61. package/lib/screenplay/interactions/Clear.js +70 -63
  62. package/lib/screenplay/interactions/Clear.js.map +1 -1
  63. package/lib/screenplay/interactions/Click.d.ts +41 -50
  64. package/lib/screenplay/interactions/Click.d.ts.map +1 -0
  65. package/lib/screenplay/interactions/Click.js +45 -55
  66. package/lib/screenplay/interactions/Click.js.map +1 -1
  67. package/lib/screenplay/interactions/DoubleClick.d.ts +64 -67
  68. package/lib/screenplay/interactions/DoubleClick.d.ts.map +1 -0
  69. package/lib/screenplay/interactions/DoubleClick.js +68 -72
  70. package/lib/screenplay/interactions/DoubleClick.js.map +1 -1
  71. package/lib/screenplay/interactions/Enter.d.ts +42 -51
  72. package/lib/screenplay/interactions/Enter.d.ts.map +1 -0
  73. package/lib/screenplay/interactions/Enter.js +42 -52
  74. package/lib/screenplay/interactions/Enter.js.map +1 -1
  75. package/lib/screenplay/interactions/ExecuteScript.d.ts +144 -148
  76. package/lib/screenplay/interactions/ExecuteScript.d.ts.map +1 -0
  77. package/lib/screenplay/interactions/ExecuteScript.js +163 -185
  78. package/lib/screenplay/interactions/ExecuteScript.js.map +1 -1
  79. package/lib/screenplay/interactions/Hover.d.ts +40 -50
  80. package/lib/screenplay/interactions/Hover.d.ts.map +1 -0
  81. package/lib/screenplay/interactions/Hover.js +44 -55
  82. package/lib/screenplay/interactions/Hover.js.map +1 -1
  83. package/lib/screenplay/interactions/Navigate.d.ts +106 -113
  84. package/lib/screenplay/interactions/Navigate.d.ts.map +1 -0
  85. package/lib/screenplay/interactions/Navigate.js +124 -146
  86. package/lib/screenplay/interactions/Navigate.js.map +1 -1
  87. package/lib/screenplay/interactions/PageElementInteraction.d.ts +12 -28
  88. package/lib/screenplay/interactions/PageElementInteraction.d.ts.map +1 -0
  89. package/lib/screenplay/interactions/PageElementInteraction.js +12 -33
  90. package/lib/screenplay/interactions/PageElementInteraction.js.map +1 -1
  91. package/lib/screenplay/interactions/Press.d.ts +61 -55
  92. package/lib/screenplay/interactions/Press.d.ts.map +1 -0
  93. package/lib/screenplay/interactions/Press.js +83 -72
  94. package/lib/screenplay/interactions/Press.js.map +1 -1
  95. package/lib/screenplay/interactions/RightClick.d.ts +59 -65
  96. package/lib/screenplay/interactions/RightClick.d.ts.map +1 -0
  97. package/lib/screenplay/interactions/RightClick.js +63 -70
  98. package/lib/screenplay/interactions/RightClick.js.map +1 -1
  99. package/lib/screenplay/interactions/Scroll.d.ts +46 -64
  100. package/lib/screenplay/interactions/Scroll.d.ts.map +1 -0
  101. package/lib/screenplay/interactions/Scroll.js +49 -71
  102. package/lib/screenplay/interactions/Scroll.js.map +1 -1
  103. package/lib/screenplay/interactions/Select.d.ts +217 -193
  104. package/lib/screenplay/interactions/Select.d.ts.map +1 -0
  105. package/lib/screenplay/interactions/Select.js +218 -245
  106. package/lib/screenplay/interactions/Select.js.map +1 -1
  107. package/lib/screenplay/interactions/Switch.d.ts +105 -128
  108. package/lib/screenplay/interactions/Switch.d.ts.map +1 -0
  109. package/lib/screenplay/interactions/Switch.js +121 -172
  110. package/lib/screenplay/interactions/Switch.js.map +1 -1
  111. package/lib/screenplay/interactions/TakeScreenshot.d.ts +28 -50
  112. package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -0
  113. package/lib/screenplay/interactions/TakeScreenshot.js +32 -57
  114. package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
  115. package/lib/screenplay/interactions/index.d.ts +2 -3
  116. package/lib/screenplay/interactions/index.d.ts.map +1 -0
  117. package/lib/screenplay/interactions/index.js +6 -4
  118. package/lib/screenplay/interactions/index.js.map +1 -1
  119. package/lib/screenplay/models/BrowserCapabilities.d.ts +24 -0
  120. package/lib/screenplay/models/BrowserCapabilities.d.ts.map +1 -0
  121. package/lib/screenplay/models/BrowserCapabilities.js.map +1 -0
  122. package/lib/screenplay/models/BrowsingSession.d.ts +69 -0
  123. package/lib/screenplay/models/BrowsingSession.d.ts.map +1 -0
  124. package/lib/screenplay/models/BrowsingSession.js +101 -0
  125. package/lib/screenplay/models/BrowsingSession.js.map +1 -0
  126. package/lib/screenplay/models/Cookie.d.ts +104 -64
  127. package/lib/screenplay/models/Cookie.d.ts.map +1 -0
  128. package/lib/screenplay/models/Cookie.js +110 -59
  129. package/lib/screenplay/models/Cookie.js.map +1 -1
  130. package/lib/screenplay/models/CookieData.d.ts +20 -58
  131. package/lib/screenplay/models/CookieData.d.ts.map +1 -0
  132. package/lib/{input → screenplay/models}/Key.d.ts +13 -9
  133. package/lib/screenplay/models/Key.d.ts.map +1 -0
  134. package/lib/{input → screenplay/models}/Key.js +16 -13
  135. package/lib/screenplay/models/Key.js.map +1 -0
  136. package/lib/screenplay/models/Locator.d.ts +29 -8
  137. package/lib/screenplay/models/Locator.d.ts.map +1 -0
  138. package/lib/screenplay/models/Locator.js +53 -7
  139. package/lib/screenplay/models/Locator.js.map +1 -1
  140. package/lib/screenplay/models/Page.d.ts +398 -36
  141. package/lib/screenplay/models/Page.d.ts.map +1 -0
  142. package/lib/screenplay/models/Page.js +209 -4
  143. package/lib/screenplay/models/Page.js.map +1 -1
  144. package/lib/screenplay/models/PageElement.d.ts +77 -5
  145. package/lib/screenplay/models/PageElement.d.ts.map +1 -0
  146. package/lib/screenplay/models/PageElement.js +29 -7
  147. package/lib/screenplay/models/PageElement.js.map +1 -1
  148. package/lib/screenplay/models/PageElements.d.ts +16 -3
  149. package/lib/screenplay/models/PageElements.d.ts.map +1 -0
  150. package/lib/screenplay/models/PageElements.js +21 -8
  151. package/lib/screenplay/models/PageElements.js.map +1 -1
  152. package/lib/screenplay/models/RootLocator.d.ts +25 -0
  153. package/lib/screenplay/models/RootLocator.d.ts.map +1 -0
  154. package/lib/screenplay/models/RootLocator.js +52 -0
  155. package/lib/screenplay/models/RootLocator.js.map +1 -0
  156. package/lib/screenplay/models/SelectOption.d.ts +25 -0
  157. package/lib/screenplay/models/SelectOption.d.ts.map +1 -0
  158. package/lib/screenplay/models/SelectOption.js +37 -0
  159. package/lib/screenplay/models/SelectOption.js.map +1 -0
  160. package/lib/screenplay/models/Switchable.d.ts +23 -0
  161. package/lib/screenplay/models/Switchable.d.ts.map +1 -0
  162. package/lib/screenplay/{interactions/WaitBuilder.js → models/Switchable.js} +1 -1
  163. package/lib/screenplay/models/Switchable.js.map +1 -0
  164. package/lib/screenplay/models/SwitchableOrigin.d.ts +18 -0
  165. package/lib/screenplay/models/SwitchableOrigin.d.ts.map +1 -0
  166. package/lib/screenplay/{interactions/EnterBuilder.js → models/SwitchableOrigin.js} +1 -1
  167. package/lib/screenplay/models/SwitchableOrigin.js.map +1 -0
  168. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +15 -0
  169. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts.map +1 -0
  170. package/lib/screenplay/models/dialogs/AbsentModalDialog.js +24 -0
  171. package/lib/screenplay/models/dialogs/AbsentModalDialog.js.map +1 -0
  172. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +17 -0
  173. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts.map +1 -0
  174. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +29 -0
  175. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js.map +1 -0
  176. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +17 -0
  177. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts.map +1 -0
  178. package/lib/screenplay/models/dialogs/DismissedModalDialog.js +29 -0
  179. package/lib/screenplay/models/dialogs/DismissedModalDialog.js.map +1 -0
  180. package/lib/screenplay/models/dialogs/ModalDialog.d.ts +168 -0
  181. package/lib/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -0
  182. package/lib/screenplay/models/dialogs/ModalDialog.js +174 -0
  183. package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -0
  184. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +38 -0
  185. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -0
  186. package/lib/screenplay/models/dialogs/ModalDialogHandler.js +30 -0
  187. package/lib/screenplay/models/dialogs/ModalDialogHandler.js.map +1 -0
  188. package/lib/screenplay/models/dialogs/index.d.ts +6 -0
  189. package/lib/screenplay/models/dialogs/index.d.ts.map +1 -0
  190. package/lib/screenplay/models/dialogs/index.js +22 -0
  191. package/lib/screenplay/models/dialogs/index.js.map +1 -0
  192. package/lib/screenplay/models/index.d.ts +9 -1
  193. package/lib/screenplay/models/index.d.ts.map +1 -0
  194. package/lib/screenplay/models/index.js +13 -2
  195. package/lib/screenplay/models/index.js.map +1 -1
  196. package/lib/screenplay/models/selectors/By.d.ts +38 -0
  197. package/lib/screenplay/models/selectors/By.d.ts.map +1 -0
  198. package/lib/screenplay/models/selectors/By.js +43 -0
  199. package/lib/screenplay/models/selectors/By.js.map +1 -1
  200. package/lib/screenplay/models/selectors/ByCss.d.ts +8 -0
  201. package/lib/screenplay/models/selectors/ByCss.d.ts.map +1 -0
  202. package/lib/screenplay/models/selectors/ByCss.js +7 -0
  203. package/lib/screenplay/models/selectors/ByCss.js.map +1 -1
  204. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +9 -0
  205. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts.map +1 -0
  206. package/lib/screenplay/models/selectors/ByCssContainingText.js +8 -0
  207. package/lib/screenplay/models/selectors/ByCssContainingText.js.map +1 -1
  208. package/lib/screenplay/models/selectors/ByDeepCss.d.ts +14 -0
  209. package/lib/screenplay/models/selectors/ByDeepCss.d.ts.map +1 -0
  210. package/lib/screenplay/models/selectors/ByDeepCss.js +20 -0
  211. package/lib/screenplay/models/selectors/ByDeepCss.js.map +1 -0
  212. package/lib/screenplay/models/selectors/ById.d.ts +8 -0
  213. package/lib/screenplay/models/selectors/ById.d.ts.map +1 -0
  214. package/lib/screenplay/models/selectors/ById.js +7 -0
  215. package/lib/screenplay/models/selectors/ById.js.map +1 -1
  216. package/lib/screenplay/models/selectors/ByTagName.d.ts +8 -0
  217. package/lib/screenplay/models/selectors/ByTagName.d.ts.map +1 -0
  218. package/lib/screenplay/models/selectors/ByTagName.js +7 -0
  219. package/lib/screenplay/models/selectors/ByTagName.js.map +1 -1
  220. package/lib/screenplay/models/selectors/ByXPath.d.ts +8 -0
  221. package/lib/screenplay/models/selectors/ByXPath.d.ts.map +1 -0
  222. package/lib/screenplay/models/selectors/ByXPath.js +7 -0
  223. package/lib/screenplay/models/selectors/ByXPath.js.map +1 -1
  224. package/lib/screenplay/models/selectors/Selector.d.ts +6 -0
  225. package/lib/screenplay/models/selectors/Selector.d.ts.map +1 -0
  226. package/lib/screenplay/models/selectors/Selector.js +6 -1
  227. package/lib/screenplay/models/selectors/Selector.js.map +1 -1
  228. package/lib/screenplay/models/selectors/index.d.ts +2 -0
  229. package/lib/screenplay/models/selectors/index.d.ts.map +1 -0
  230. package/lib/screenplay/models/selectors/index.js +6 -1
  231. package/lib/screenplay/models/selectors/index.js.map +1 -1
  232. package/lib/screenplay/questions/Attribute.d.ts +115 -67
  233. package/lib/screenplay/questions/Attribute.d.ts.map +1 -0
  234. package/lib/screenplay/questions/Attribute.js +128 -74
  235. package/lib/screenplay/questions/Attribute.js.map +1 -1
  236. package/lib/screenplay/questions/CssClasses.d.ts +124 -79
  237. package/lib/screenplay/questions/CssClasses.d.ts.map +1 -0
  238. package/lib/screenplay/questions/CssClasses.js +132 -83
  239. package/lib/screenplay/questions/CssClasses.js.map +1 -1
  240. package/lib/screenplay/questions/LastScriptExecution.d.ts +42 -6
  241. package/lib/screenplay/questions/LastScriptExecution.d.ts.map +1 -0
  242. package/lib/screenplay/questions/LastScriptExecution.js +45 -7
  243. package/lib/screenplay/questions/LastScriptExecution.js.map +1 -1
  244. package/lib/screenplay/questions/Selected.d.ts +202 -171
  245. package/lib/screenplay/questions/Selected.d.ts.map +1 -0
  246. package/lib/screenplay/questions/Selected.js +225 -186
  247. package/lib/screenplay/questions/Selected.js.map +1 -1
  248. package/lib/screenplay/questions/Text.d.ts +101 -82
  249. package/lib/screenplay/questions/Text.d.ts.map +1 -0
  250. package/lib/screenplay/questions/Text.js +143 -92
  251. package/lib/screenplay/questions/Text.js.map +1 -1
  252. package/lib/screenplay/questions/Value.d.ts +77 -44
  253. package/lib/screenplay/questions/Value.d.ts.map +1 -0
  254. package/lib/screenplay/questions/Value.js +84 -47
  255. package/lib/screenplay/questions/Value.js.map +1 -1
  256. package/lib/screenplay/questions/index.d.ts +1 -0
  257. package/lib/screenplay/questions/index.d.ts.map +1 -0
  258. package/lib/screenplay/questions/index.js +5 -1
  259. package/lib/screenplay/questions/index.js.map +1 -1
  260. package/lib/scripts/index.d.ts +2 -0
  261. package/lib/scripts/index.d.ts.map +1 -0
  262. package/lib/{input → scripts}/index.js +6 -2
  263. package/lib/scripts/index.js.map +1 -0
  264. package/lib/scripts/isVisible.d.ts +2 -0
  265. package/lib/scripts/isVisible.d.ts.map +1 -0
  266. package/lib/scripts/isVisible.js +96 -0
  267. package/lib/scripts/isVisible.js.map +1 -0
  268. package/lib/stage/crew/index.d.ts +1 -0
  269. package/lib/stage/crew/index.d.ts.map +1 -0
  270. package/lib/stage/crew/index.js +5 -1
  271. package/lib/stage/crew/index.js.map +1 -1
  272. package/lib/stage/crew/photographer/Photographer.d.ts +126 -39
  273. package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -0
  274. package/lib/stage/crew/photographer/Photographer.js +161 -42
  275. package/lib/stage/crew/photographer/Photographer.js.map +1 -1
  276. package/lib/stage/crew/photographer/index.d.ts +1 -0
  277. package/lib/stage/crew/photographer/index.d.ts.map +1 -0
  278. package/lib/stage/crew/photographer/index.js +5 -1
  279. package/lib/stage/crew/photographer/index.js.map +1 -1
  280. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +13 -12
  281. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -0
  282. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +22 -33
  283. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -1
  284. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +8 -8
  285. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -0
  286. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +7 -8
  287. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -1
  288. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +8 -7
  289. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -0
  290. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +7 -7
  291. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +8 -8
  292. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -0
  293. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +7 -8
  294. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -1
  295. package/lib/stage/crew/photographer/strategies/index.d.ts +1 -0
  296. package/lib/stage/crew/photographer/strategies/index.d.ts.map +1 -0
  297. package/lib/stage/crew/photographer/strategies/index.js +5 -1
  298. package/lib/stage/crew/photographer/strategies/index.js.map +1 -1
  299. package/lib/stage/index.d.ts +1 -0
  300. package/lib/stage/index.d.ts.map +1 -0
  301. package/lib/stage/index.js +5 -1
  302. package/lib/stage/index.js.map +1 -1
  303. package/package.json +20 -43
  304. package/src/errors/BrowserWindowClosedError.ts +17 -0
  305. package/src/errors/CookieMissingError.ts +10 -0
  306. package/src/errors/ModalDialogObstructsScreenshotError.ts +17 -0
  307. package/src/errors/index.ts +2 -0
  308. package/src/expectations/index.ts +0 -1
  309. package/src/expectations/isActive.ts +23 -12
  310. package/src/expectations/isClickable.ts +22 -21
  311. package/src/expectations/isEnabled.ts +23 -9
  312. package/src/expectations/isSelected.ts +20 -10
  313. package/src/expectations/isVisible.ts +23 -9
  314. package/src/index.ts +0 -1
  315. package/src/screenplay/abilities/BrowseTheWeb.ts +95 -87
  316. package/src/screenplay/abilities/index.ts +0 -1
  317. package/src/screenplay/interactions/Clear.ts +75 -63
  318. package/src/screenplay/interactions/Click.ts +43 -54
  319. package/src/screenplay/interactions/DoubleClick.ts +66 -71
  320. package/src/screenplay/interactions/Enter.ts +41 -53
  321. package/src/screenplay/interactions/ExecuteScript.ts +207 -220
  322. package/src/screenplay/interactions/Hover.ts +42 -54
  323. package/src/screenplay/interactions/Navigate.ts +129 -156
  324. package/src/screenplay/interactions/PageElementInteraction.ts +14 -34
  325. package/src/screenplay/interactions/Press.ts +78 -69
  326. package/src/screenplay/interactions/RightClick.ts +61 -69
  327. package/src/screenplay/interactions/Scroll.ts +48 -71
  328. package/src/screenplay/interactions/Select.ts +229 -269
  329. package/src/screenplay/interactions/Switch.ts +123 -179
  330. package/src/screenplay/interactions/TakeScreenshot.ts +31 -57
  331. package/src/screenplay/interactions/index.ts +1 -3
  332. package/src/screenplay/models/BrowserCapabilities.ts +26 -0
  333. package/src/screenplay/models/BrowsingSession.ts +115 -0
  334. package/src/screenplay/models/Cookie.ts +115 -73
  335. package/src/screenplay/models/CookieData.ts +20 -58
  336. package/src/{input → screenplay/models}/Key.ts +12 -9
  337. package/src/screenplay/models/Locator.ts +43 -9
  338. package/src/screenplay/models/Page.ts +438 -37
  339. package/src/screenplay/models/PageElement.ts +92 -12
  340. package/src/screenplay/models/PageElements.ts +23 -9
  341. package/src/screenplay/models/RootLocator.ts +30 -0
  342. package/src/screenplay/models/SelectOption.ts +38 -0
  343. package/src/screenplay/models/Switchable.ts +24 -0
  344. package/src/screenplay/models/SwitchableOrigin.ts +18 -0
  345. package/src/screenplay/models/dialogs/AbsentModalDialog.ts +22 -0
  346. package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +27 -0
  347. package/src/screenplay/models/dialogs/DismissedModalDialog.ts +27 -0
  348. package/src/screenplay/models/dialogs/ModalDialog.ts +200 -0
  349. package/src/screenplay/models/dialogs/ModalDialogHandler.ts +50 -0
  350. package/src/screenplay/models/dialogs/index.ts +5 -0
  351. package/src/screenplay/models/index.ts +8 -1
  352. package/src/screenplay/models/selectors/By.ts +45 -0
  353. package/src/screenplay/models/selectors/ByCss.ts +7 -0
  354. package/src/screenplay/models/selectors/ByCssContainingText.ts +8 -0
  355. package/src/screenplay/models/selectors/ByDeepCss.ts +15 -0
  356. package/src/screenplay/models/selectors/ById.ts +7 -0
  357. package/src/screenplay/models/selectors/ByTagName.ts +7 -0
  358. package/src/screenplay/models/selectors/ByXPath.ts +7 -0
  359. package/src/screenplay/models/selectors/Selector.ts +6 -1
  360. package/src/screenplay/models/selectors/index.ts +1 -0
  361. package/src/screenplay/questions/Attribute.ts +137 -76
  362. package/src/screenplay/questions/CssClasses.ts +135 -83
  363. package/src/screenplay/questions/LastScriptExecution.ts +45 -8
  364. package/src/screenplay/questions/Selected.ts +237 -191
  365. package/src/screenplay/questions/Text.ts +161 -96
  366. package/src/screenplay/questions/Value.ts +88 -48
  367. package/src/scripts/index.ts +1 -0
  368. package/src/scripts/isVisible.ts +113 -0
  369. package/src/stage/crew/photographer/Photographer.ts +142 -41
  370. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +27 -42
  371. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +7 -8
  372. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +7 -7
  373. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +7 -8
  374. package/tsconfig.build.json +14 -0
  375. package/lib/expectations/ElementExpectation.d.ts +0 -83
  376. package/lib/expectations/ElementExpectation.js +0 -102
  377. package/lib/expectations/ElementExpectation.js.map +0 -1
  378. package/lib/input/Key.js.map +0 -1
  379. package/lib/input/index.d.ts +0 -1
  380. package/lib/input/index.js.map +0 -1
  381. package/lib/screenplay/abilities/BrowserCapabilities.d.ts +0 -5
  382. package/lib/screenplay/abilities/BrowserCapabilities.js.map +0 -1
  383. package/lib/screenplay/interactions/EnterBuilder.d.ts +0 -25
  384. package/lib/screenplay/interactions/EnterBuilder.js.map +0 -1
  385. package/lib/screenplay/interactions/PressBuilder.d.ts +0 -26
  386. package/lib/screenplay/interactions/PressBuilder.js +0 -3
  387. package/lib/screenplay/interactions/PressBuilder.js.map +0 -1
  388. package/lib/screenplay/interactions/SelectBuilder.d.ts +0 -33
  389. package/lib/screenplay/interactions/SelectBuilder.js +0 -3
  390. package/lib/screenplay/interactions/SelectBuilder.js.map +0 -1
  391. package/lib/screenplay/interactions/Wait.d.ts +0 -143
  392. package/lib/screenplay/interactions/Wait.js +0 -238
  393. package/lib/screenplay/interactions/Wait.js.map +0 -1
  394. package/lib/screenplay/interactions/WaitBuilder.d.ts +0 -32
  395. package/lib/screenplay/interactions/WaitBuilder.js.map +0 -1
  396. package/lib/screenplay/models/ModalDialog.d.ts +0 -9
  397. package/lib/screenplay/models/ModalDialog.js +0 -14
  398. package/lib/screenplay/models/ModalDialog.js.map +0 -1
  399. package/lib/screenplay/questions/ElementQuestion.d.ts +0 -33
  400. package/lib/screenplay/questions/ElementQuestion.js +0 -53
  401. package/lib/screenplay/questions/ElementQuestion.js.map +0 -1
  402. package/src/expectations/ElementExpectation.ts +0 -108
  403. package/src/input/index.ts +0 -1
  404. package/src/screenplay/abilities/BrowserCapabilities.ts +0 -5
  405. package/src/screenplay/interactions/EnterBuilder.ts +0 -28
  406. package/src/screenplay/interactions/PressBuilder.ts +0 -29
  407. package/src/screenplay/interactions/SelectBuilder.ts +0 -36
  408. package/src/screenplay/interactions/Wait.ts +0 -260
  409. package/src/screenplay/interactions/WaitBuilder.ts +0 -34
  410. package/src/screenplay/models/ModalDialog.ts +0 -19
  411. package/src/screenplay/questions/ElementQuestion.ts +0 -58
  412. package/tsconfig.eslint.json +0 -10
  413. /package/lib/screenplay/{abilities → models}/BrowserCapabilities.js +0 -0
@@ -1,212 +1,236 @@
1
1
  import { Answerable } from '@serenity-js/core';
2
- import { SelectBuilder } from './SelectBuilder';
2
+ import { Interaction } from '@serenity-js/core/lib/screenplay';
3
+ import { PageElement } from '../models';
3
4
  /**
4
- * @desc
5
- * Instructs the {@link @serenity-js/core/lib/screenplay/actor~Actor} to
6
- * select an option from a [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select),
7
- * either by its display name, or by value.
5
+ * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
6
+ * to select an option from a [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select),
7
+ * either by its display name, or by value.
8
8
  *
9
- * @see {@link Selected}
9
+ * ## Learn more
10
+ * - {@apilink Selected}
11
+ *
12
+ * @group Activities
10
13
  */
11
14
  export declare class Select {
12
15
  /**
13
- * @desc
14
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}
15
- * with a [`value`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value)
16
- * of a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
17
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select.
18
- *
19
- * @example <caption>Example widget</caption>
20
- * <select data-test='countries'>
21
- * <option value='UK'>United Kingdom</option>
22
- * <option value='PL'>Poland</option>
23
- * <option value='US'>United States</option>
24
- * </select>
25
- *
26
- * @example <caption>Lean Page Object describing the widget</caption>
27
- * import { Target } from '@serenity-js/protractor';
28
- * import { browser, by } from 'protractor';
29
- *
30
- * class Countries {
31
- * static dropdown = Target.the('countries dropdown')
32
- * .located(by.css('[data-test="countries"]'));
33
- * }
34
- *
35
- * @example <caption>Retrieving the selected value</caption>
36
- * import { actorCalled } from '@serenity-js/core';
37
- * import { BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
38
- * import { Ensure, equals } from '@serenity-js/assertions';
39
- * import { protractor } from 'protractor';
40
- *
41
- * actorCalled('Nick')
42
- * .whoCan(BrowseTheWeb.using(protractor.browser))
43
- * .attemptsTo(
44
- * Select.value('UK').from(Countries.dropdown),
45
- * Ensure.that(Selected.valueOf(Countries.dropdown), equals('UK')),
46
- * );
47
- *
48
- * @param {Answerable<string>} value
16
+ * Instantiates an {@apilink Interaction|interaction}
17
+ * that instructs the {@apilink Actor|actor}
18
+ * to select a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
19
+ * with a given [`value`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value).,
20
+ *
21
+ * #### Example widget
22
+ *
23
+ * ```html
24
+ * <select data-test='countries'>
25
+ * <option value='UK'>United Kingdom</option>
26
+ * <option value='PL'>Poland</option>
27
+ * <option value='US'>United States</option>
28
+ * </select>
29
+ * ```
30
+ *
31
+ * #### Lean Page Object describing the widget
32
+ *
33
+ * ```ts
34
+ * import { By, PageElement } from '@serenity-js/web'
35
+ *
36
+ * class Countries {
37
+ * static dropdown = () =>
38
+ * PageElement.located(By.css('[data-test="countries"]'))
39
+ * .describedAs('countries dropdown')
40
+ * }
41
+ * ```
42
+ *
43
+ * #### Retrieving the selected value
44
+ *
45
+ * ```ts
46
+ * import { actorCalled } from '@serenity-js/core'
47
+ * import { Select, Selected } from '@serenity-js/web';
48
+ * import { Ensure, equals } from '@serenity-js/assertions'
49
+ *
50
+ * await actorCalled('Nick')
51
+ * .attemptsTo(
52
+ * Select.value('UK').from(Countries.dropdown()),
53
+ * Ensure.that(Selected.valueOf(Countries.dropdown()), equals('UK')),
54
+ * )
55
+ * ```
56
+ *
57
+ * #### Learn more
58
+ * - {@apilink Selected.valueOf}
59
+ * - {@apilink PageElement}
60
+ *
61
+ * @param value
49
62
  * A value of the [`option` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
50
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select
51
- *
52
- * @returns {SelectBuilder}
53
- *
54
- * @see {@link Selected.valueOf}
55
- * @see {@link BrowseTheWeb}
56
- * @see {@link Target}
57
- * @see {@link @serenity-js/assertions~Ensure}
58
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
63
+ * for the {@apilink Actor} to select
59
64
  */
60
- static value(value: Answerable<string>): SelectBuilder;
65
+ static value(value: Answerable<string>): {
66
+ from: (pageElement: Answerable<PageElement>) => Interaction;
67
+ };
61
68
  /**
62
- * @desc
63
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}
64
- * with [`value`s](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value)
65
- * of multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
66
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select.
67
- *
68
- * @example <caption>Example widget</caption>
69
- * <select multiple data-test='countries'>
70
- * <option value='UK'>United Kingdom</option>
71
- * <option value='PL'>Poland</option>
72
- * <option value='US'>United States</option>
73
- * </select>
74
- *
75
- * @example <caption>Lean Page Object describing the widget</caption>
76
- * import { Target } from '@serenity-js/protractor';
77
- * import { browser, by } from 'protractor';
78
- *
79
- * class Countries {
80
- * static dropdown = Target.the('countries dropdown')
81
- * .located(by.css('[data-test="countries"]'));
82
- * }
83
- *
84
- * @example <caption>Retrieving the selected value</caption>
85
- * import { actorCalled } from '@serenity-js/core';
86
- * import { BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
87
- * import { Ensure, equals } from '@serenity-js/assertions';
88
- * import { protractor } from 'protractor';
89
- *
90
- * actorCalled('Nick')
91
- * .whoCan(BrowseTheWeb.using(protractor.browser))
92
- * .attemptsTo(
93
- * Select.values('UK').from(Countries.dropdown),
94
- * Ensure.that(Selected.valuesOf(Countries.dropdown), equals([ 'UK' ])),
95
- * );
96
- *
97
- * @param {Array<Answerable<string[] | string>>} values
98
- * Values of the [`option` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
99
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select
69
+ * Instantiates an {@apilink Interaction|interaction}
70
+ * that instructs the {@apilink Actor|actor}
71
+ * to select multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
72
+ * identified by their [`value`s](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value).
73
+ *
74
+ * #### Example widget
75
+ *
76
+ * ```ts
77
+ * <select multiple data-test='countries'>
78
+ * <option value='UK'>United Kingdom</option>
79
+ * <option value='PL'>Poland</option>
80
+ * <option value='US'>United States</option>
81
+ * </select>
82
+ * ```
83
+ *
84
+ * #### Lean Page Object describing the widget
85
+ *
86
+ * ```ts
87
+ * import { By, PageElement } from '@serenity-js/web'
88
+ *
89
+ * class Countries {
90
+ * static dropdown = () =>
91
+ * PageElement.located(By.css('[data-test="countries"]'))
92
+ * .describedAs('countries dropdown')
93
+ * }
94
+ * ```
100
95
  *
101
- * @returns {SelectBuilder}
96
+ * #### Retrieving the selected value
102
97
  *
103
- * @see {@link Selected.valuesOf}
104
- * @see {@link BrowseTheWeb}
105
- * @see {@link Target}
106
- * @see {@link @serenity-js/assertions~Ensure}
107
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
98
+ * ```ts
99
+ * import { actorCalled } from '@serenity-js/core'
100
+ * import { Select, Selected } from '@serenity-js/web'
101
+ * import { Ensure, equals } from '@serenity-js/assertions'
102
+ *
103
+ * await actorCalled('Nick')
104
+ * .attemptsTo(
105
+ * Select.values('UK').from(Countries.dropdown()),
106
+ * Ensure.that(Selected.valuesOf(Countries.dropdown()), equals([ 'UK' ])),
107
+ * )
108
+ * ```
109
+ *
110
+ * #### Learn more
111
+ *
112
+ * - {@apilink Selected.valuesOf}
113
+ * - {@apilink PageElement}
114
+ *
115
+ * @param values
116
+ * Values of the [`option` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
117
+ * for the {@apilink Actor} to select
108
118
  */
109
- static values(...values: Array<Answerable<string[] | string>>): SelectBuilder;
119
+ static values(...values: Array<Answerable<string[] | string>>): {
120
+ from: (pageElement: Answerable<PageElement>) => Interaction;
121
+ };
110
122
  /**
111
- * @desc
112
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}
113
- * with a single [`option`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
114
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select.
115
- *
116
- * @example <caption>Example widget</caption>
117
- * <select data-test='countries'>
118
- * <option value='UK'>United Kingdom</option>
119
- * <option value='PL'>Poland</option>
120
- * <option value='US'>United States</option>
121
- * </select>
122
- *
123
- * @example <caption>Lean Page Object describing the widget</caption>
124
- * import { Target } from '@serenity-js/protractor';
125
- * import { browser, by } from 'protractor';
126
- *
127
- * class Countries {
128
- * static dropdown = Target.the('countries dropdown')
129
- * .located(by.css('[data-test="countries"]'));
130
- * }
131
- *
132
- * @example <caption>Retrieving the selected value</caption>
133
- * import { actorCalled } from '@serenity-js/core';
134
- * import { BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
135
- * import { Ensure, equals } from '@serenity-js/assertions';
136
- * import { protractor } from 'protractor';
137
- *
138
- * actorCalled('Nick')
139
- * .whoCan(BrowseTheWeb.using(protractor.browser))
140
- * .attemptsTo(
141
- * Select.option('Poland').from(Countries.dropdown),
142
- * Ensure.that(
143
- * Selected.optionIn(Countries.dropdown),
144
- * equals('Poland')
145
- * ),
146
- * );
147
- *
148
- * @param {Answerable<string>} value
123
+ * Instantiates an {@apilink Interaction|interaction}
124
+ * that instructs the {@apilink Actor|actor}
125
+ * to select a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
126
+ * with a given description.
127
+ *
128
+ * #### Example widget
129
+ *
130
+ * ```html
131
+ * <select data-test='countries'>
132
+ * <option value='UK'>United Kingdom</option>
133
+ * <option value='PL'>Poland</option>
134
+ * <option value='US'>United States</option>
135
+ * </select>
136
+ * ```
137
+ *
138
+ * #### Lean Page Object describing the widget
139
+ * ```ts
140
+ * import { By, PageElement } from '@serenity-js/by'
141
+ *
142
+ * class Countries {
143
+ * static dropdown = () =>
144
+ * PageElement.located(By.css('[data-test="countries"]'))
145
+ * .describedAs('countries dropdown')
146
+ * }
147
+ * ```
148
+ *
149
+ * #### Retrieving the selected value
150
+ *
151
+ * ```ts
152
+ * import { actorCalled } from '@serenity-js/core'
153
+ * import { Select, Selected } from '@serenity-js/web'
154
+ * import { Ensure, equals } from '@serenity-js/assertions'
155
+ *
156
+ * await actorCalled('Nick')
157
+ * .whoCan(BrowseTheWeb.using(protractor.browser))
158
+ * .attemptsTo(
159
+ * Select.option('Poland').from(Countries.dropdown()),
160
+ * Ensure.that(
161
+ * Selected.optionIn(Countries.dropdown()),
162
+ * equals('Poland')
163
+ * ),
164
+ * )
165
+ * ```
166
+ *
167
+ * #### Learn more
168
+ * - {@apilink Selected.optionIn}
169
+ * - {@apilink PageElement}
170
+ *
171
+ * @param value
149
172
  * Text of the [`option` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
150
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select
151
- *
152
- * @returns {SelectBuilder}
153
- *
154
- * @see {@link Selected.optionIn}
155
- * @see {@link BrowseTheWeb}
156
- * @see {@link Target}
157
- * @see {@link @serenity-js/assertions~Ensure}
158
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
173
+ * for the {@apilink Actor} to select
159
174
  */
160
- static option(value: Answerable<string>): SelectBuilder;
175
+ static option(value: Answerable<string>): {
176
+ from: (pageElement: Answerable<PageElement>) => Interaction;
177
+ };
161
178
  /**
162
- * @desc
163
- * Instantiates this {@link @serenity-js/core/lib/screenplay~Interaction}
164
- * with [`option`s](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
165
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select.
166
- *
167
- * @example <caption>Example widget</caption>
168
- * <select multiple data-test='countries'>
169
- * <option value='UK'>United Kingdom</option>
170
- * <option value='PL'>Poland</option>
171
- * <option value='US'>United States</option>
172
- * </select>
173
- *
174
- * @example <caption>Lean Page Object describing the widget</caption>
175
- * import { Target } from '@serenity-js/protractor';
176
- * import { browser, by } from 'protractor';
177
- *
178
- * class Countries {
179
- * static dropdown = Target.the('countries dropdown')
180
- * .located(by.css('[data-test="countries"]'));
181
- * }
182
- *
183
- * @example <caption>Retrieving the selected value</caption>
184
- * import { actorCalled } from '@serenity-js/core';
185
- * import { BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
186
- * import { Ensure, equals } from '@serenity-js/assertions';
187
- * import { protractor } from 'protractor';
188
- *
189
- * actorCalled('Nick')
190
- * .whoCan(BrowseTheWeb.using(protractor.browser))
191
- * .attemptsTo(
192
- * Select.options('Poland', 'United States').from(Countries.dropdown),
193
- * Ensure.that(
194
- * Selected.optionsIn(Countries.dropdown),
195
- * equals([ 'Poland', 'United States' ])
196
- * ),
197
- * );
198
- *
199
- * @param {Array<Answerable<string[] | string>>} values
179
+ * Instantiates an {@apilink Interaction|interaction}
180
+ * that instructs the {@apilink Actor|actor}
181
+ * to select multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
182
+ * identified by their descriptions.
183
+ *
184
+ * #### Example widget
185
+ *
186
+ * ```html
187
+ * <select multiple data-test='countries'>
188
+ * <option value='UK'>United Kingdom</option>
189
+ * <option value='PL'>Poland</option>
190
+ * <option value='US'>United States</option>
191
+ * </select>
192
+ * ```
193
+ *
194
+ * #### Lean Page Object describing the widget
195
+ *
196
+ * ```ts
197
+ * import { By, PageElement } from '@serenity-js/web'
198
+ *
199
+ * class Countries {
200
+ * static dropdown = () =>
201
+ * PageElement.located(By.css('[data-test="countries"]'))
202
+ * .describedAs('countries dropdown')
203
+ * }
204
+ * ```
205
+ *
206
+ * ##### Retrieving the selected value
207
+ *
208
+ * ```ts
209
+ * import { actorCalled } from '@serenity-js/core'
210
+ * import { Select, Selected } from '@serenity-js/web'
211
+ * import { Ensure, equals } from '@serenity-js/assertions'
212
+ *
213
+ * await actorCalled('Nick')
214
+ * .whoCan(BrowseTheWeb.using(protractor.browser))
215
+ * .attemptsTo(
216
+ * Select.options('Poland', 'United States').from(Countries.dropdown()),
217
+ * Ensure.that(
218
+ * Selected.optionsIn(Countries.dropdown()),
219
+ * equals([ 'Poland', 'United States' ])
220
+ * ),
221
+ * )
222
+ * ```
223
+ *
224
+ * #### Learn more
225
+ * - {@apilink Selected.optionsIn}
226
+ * - {@apilink PageElement}
227
+ *
228
+ * @param values
200
229
  * Text of the [`option` elements ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
201
- * for the {@link @serenity-js/core/lib/screenplay/actor~Actor} to select
202
- *
203
- * @returns {SelectBuilder}
204
- *
205
- * @see {@link Selected.optionsIn}
206
- * @see {@link BrowseTheWeb}
207
- * @see {@link Target}
208
- * @see {@link @serenity-js/assertions~Ensure}
209
- * @see {@link @serenity-js/assertions/lib/expectations~equals}
230
+ * for the {@apilink Actor} to select
210
231
  */
211
- static options(...values: Array<Answerable<string[] | string>>): SelectBuilder;
232
+ static options(...values: Array<Answerable<string[] | string>>): {
233
+ from: (pageElement: Answerable<PageElement>) => Interaction;
234
+ };
212
235
  }
236
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/screenplay/interactions/Select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAK,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAC;AAEtD;;;;;;;;;GASG;AACH,qBAAa,MAAM;IAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;IAYxG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;IAe/H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;IAYzG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqDG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,WAAW,CAAA;KAAE;CAcnI"}