@serenity-js/web 3.41.1 → 3.42.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 (657) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/esm/errors/BrowserWindowClosedError.d.ts +15 -0
  3. package/esm/errors/BrowserWindowClosedError.d.ts.map +1 -0
  4. package/esm/errors/BrowserWindowClosedError.js +17 -0
  5. package/esm/errors/BrowserWindowClosedError.js.map +1 -0
  6. package/esm/errors/CookieMissingError.d.ts +15 -0
  7. package/esm/errors/CookieMissingError.d.ts.map +1 -0
  8. package/esm/errors/CookieMissingError.js +17 -0
  9. package/esm/errors/CookieMissingError.js.map +1 -0
  10. package/esm/errors/ModalDialogObstructsScreenshotError.d.ts +15 -0
  11. package/esm/errors/ModalDialogObstructsScreenshotError.d.ts.map +1 -0
  12. package/esm/errors/ModalDialogObstructsScreenshotError.js +17 -0
  13. package/esm/errors/ModalDialogObstructsScreenshotError.js.map +1 -0
  14. package/esm/errors/index.d.ts +4 -0
  15. package/esm/errors/index.d.ts.map +1 -0
  16. package/esm/errors/index.js +4 -0
  17. package/esm/errors/index.js.map +1 -0
  18. package/esm/expectations/index.d.ts +6 -0
  19. package/esm/expectations/index.d.ts.map +1 -0
  20. package/esm/expectations/index.js +6 -0
  21. package/esm/expectations/index.js.map +1 -0
  22. package/esm/expectations/isActive.d.ts +20 -0
  23. package/esm/expectations/isActive.d.ts.map +1 -0
  24. package/esm/expectations/isActive.js +23 -0
  25. package/esm/expectations/isActive.js.map +1 -0
  26. package/esm/expectations/isClickable.d.ts +20 -0
  27. package/esm/expectations/isClickable.d.ts.map +1 -0
  28. package/esm/expectations/isClickable.js +23 -0
  29. package/esm/expectations/isClickable.js.map +1 -0
  30. package/esm/expectations/isEnabled.d.ts +20 -0
  31. package/esm/expectations/isEnabled.d.ts.map +1 -0
  32. package/esm/expectations/isEnabled.js +23 -0
  33. package/esm/expectations/isEnabled.js.map +1 -0
  34. package/esm/expectations/isSelected.d.ts +20 -0
  35. package/esm/expectations/isSelected.d.ts.map +1 -0
  36. package/esm/expectations/isSelected.js +23 -0
  37. package/esm/expectations/isSelected.js.map +1 -0
  38. package/esm/expectations/isVisible.d.ts +20 -0
  39. package/esm/expectations/isVisible.d.ts.map +1 -0
  40. package/esm/expectations/isVisible.js +23 -0
  41. package/esm/expectations/isVisible.js.map +1 -0
  42. package/esm/index.d.ts +5 -0
  43. package/esm/index.d.ts.map +1 -0
  44. package/esm/index.js +5 -0
  45. package/esm/index.js.map +1 -0
  46. package/esm/screenplay/abilities/BrowseTheWeb.d.ts +98 -0
  47. package/esm/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -0
  48. package/esm/screenplay/abilities/BrowseTheWeb.js +106 -0
  49. package/esm/screenplay/abilities/BrowseTheWeb.js.map +1 -0
  50. package/esm/screenplay/abilities/index.d.ts +2 -0
  51. package/esm/screenplay/abilities/index.d.ts.map +1 -0
  52. package/esm/screenplay/abilities/index.js +2 -0
  53. package/esm/screenplay/abilities/index.js.map +1 -0
  54. package/esm/screenplay/index.d.ts +5 -0
  55. package/esm/screenplay/index.d.ts.map +1 -0
  56. package/esm/screenplay/index.js +5 -0
  57. package/esm/screenplay/index.js.map +1 -0
  58. package/esm/screenplay/interactions/Clear.d.ts +74 -0
  59. package/esm/screenplay/interactions/Clear.d.ts.map +1 -0
  60. package/esm/screenplay/interactions/Clear.js +101 -0
  61. package/esm/screenplay/interactions/Clear.js.map +1 -0
  62. package/esm/screenplay/interactions/Click.d.ts +64 -0
  63. package/esm/screenplay/interactions/Click.d.ts.map +1 -0
  64. package/esm/screenplay/interactions/Click.js +72 -0
  65. package/esm/screenplay/interactions/Click.js.map +1 -0
  66. package/esm/screenplay/interactions/DoubleClick.d.ts +87 -0
  67. package/esm/screenplay/interactions/DoubleClick.d.ts.map +1 -0
  68. package/esm/screenplay/interactions/DoubleClick.js +95 -0
  69. package/esm/screenplay/interactions/DoubleClick.js.map +1 -0
  70. package/esm/screenplay/interactions/Drag.d.ts +95 -0
  71. package/esm/screenplay/interactions/Drag.d.ts.map +1 -0
  72. package/esm/screenplay/interactions/Drag.js +119 -0
  73. package/esm/screenplay/interactions/Drag.js.map +1 -0
  74. package/esm/screenplay/interactions/Enter.d.ts +81 -0
  75. package/esm/screenplay/interactions/Enter.d.ts.map +1 -0
  76. package/esm/screenplay/interactions/Enter.js +93 -0
  77. package/esm/screenplay/interactions/Enter.js.map +1 -0
  78. package/esm/screenplay/interactions/ExecuteScript.d.ts +297 -0
  79. package/esm/screenplay/interactions/ExecuteScript.d.ts.map +1 -0
  80. package/esm/screenplay/interactions/ExecuteScript.js +383 -0
  81. package/esm/screenplay/interactions/ExecuteScript.js.map +1 -0
  82. package/esm/screenplay/interactions/Hover.d.ts +68 -0
  83. package/esm/screenplay/interactions/Hover.d.ts.map +1 -0
  84. package/esm/screenplay/interactions/Hover.js +76 -0
  85. package/esm/screenplay/interactions/Hover.js.map +1 -0
  86. package/esm/screenplay/interactions/Navigate.d.ts +137 -0
  87. package/esm/screenplay/interactions/Navigate.d.ts.map +1 -0
  88. package/esm/screenplay/interactions/Navigate.js +174 -0
  89. package/esm/screenplay/interactions/Navigate.js.map +1 -0
  90. package/esm/screenplay/interactions/PageElementInteraction.d.ts +24 -0
  91. package/esm/screenplay/interactions/PageElementInteraction.d.ts.map +1 -0
  92. package/esm/screenplay/interactions/PageElementInteraction.js +29 -0
  93. package/esm/screenplay/interactions/PageElementInteraction.js.map +1 -0
  94. package/esm/screenplay/interactions/Press.d.ts +92 -0
  95. package/esm/screenplay/interactions/Press.d.ts.map +1 -0
  96. package/esm/screenplay/interactions/Press.js +166 -0
  97. package/esm/screenplay/interactions/Press.js.map +1 -0
  98. package/esm/screenplay/interactions/RightClick.d.ts +83 -0
  99. package/esm/screenplay/interactions/RightClick.d.ts.map +1 -0
  100. package/esm/screenplay/interactions/RightClick.js +91 -0
  101. package/esm/screenplay/interactions/RightClick.js.map +1 -0
  102. package/esm/screenplay/interactions/Scroll.d.ts +66 -0
  103. package/esm/screenplay/interactions/Scroll.d.ts.map +1 -0
  104. package/esm/screenplay/interactions/Scroll.js +72 -0
  105. package/esm/screenplay/interactions/Scroll.js.map +1 -0
  106. package/esm/screenplay/interactions/Select.d.ts +235 -0
  107. package/esm/screenplay/interactions/Select.d.ts.map +1 -0
  108. package/esm/screenplay/interactions/Select.js +262 -0
  109. package/esm/screenplay/interactions/Select.js.map +1 -0
  110. package/esm/screenplay/interactions/Switch.d.ts +130 -0
  111. package/esm/screenplay/interactions/Switch.d.ts.map +1 -0
  112. package/esm/screenplay/interactions/Switch.js +159 -0
  113. package/esm/screenplay/interactions/Switch.js.map +1 -0
  114. package/esm/screenplay/interactions/TakeScreenshot.d.ts +47 -0
  115. package/esm/screenplay/interactions/TakeScreenshot.d.ts.map +1 -0
  116. package/esm/screenplay/interactions/TakeScreenshot.js +58 -0
  117. package/esm/screenplay/interactions/TakeScreenshot.js.map +1 -0
  118. package/esm/screenplay/interactions/index.d.ts +16 -0
  119. package/esm/screenplay/interactions/index.d.ts.map +1 -0
  120. package/esm/screenplay/interactions/index.js +16 -0
  121. package/esm/screenplay/interactions/index.js.map +1 -0
  122. package/esm/screenplay/models/ArgumentDehydrator.d.ts +14 -0
  123. package/esm/screenplay/models/ArgumentDehydrator.d.ts.map +1 -0
  124. package/esm/screenplay/models/ArgumentDehydrator.js +45 -0
  125. package/esm/screenplay/models/ArgumentDehydrator.js.map +1 -0
  126. package/esm/screenplay/models/BrowserCapabilities.d.ts +24 -0
  127. package/esm/screenplay/models/BrowserCapabilities.d.ts.map +1 -0
  128. package/esm/screenplay/models/BrowserCapabilities.js +2 -0
  129. package/esm/screenplay/models/BrowserCapabilities.js.map +1 -0
  130. package/esm/screenplay/models/BrowsingSession.d.ts +74 -0
  131. package/esm/screenplay/models/BrowsingSession.d.ts.map +1 -0
  132. package/esm/screenplay/models/BrowsingSession.js +96 -0
  133. package/esm/screenplay/models/BrowsingSession.js.map +1 -0
  134. package/esm/screenplay/models/Cookie.d.ts +158 -0
  135. package/esm/screenplay/models/Cookie.d.ts.map +1 -0
  136. package/esm/screenplay/models/Cookie.js +225 -0
  137. package/esm/screenplay/models/Cookie.js.map +1 -0
  138. package/esm/screenplay/models/CookieData.d.ts +51 -0
  139. package/esm/screenplay/models/CookieData.d.ts.map +1 -0
  140. package/esm/screenplay/models/CookieData.js +2 -0
  141. package/esm/screenplay/models/CookieData.js.map +1 -0
  142. package/esm/screenplay/models/Key.d.ts +82 -0
  143. package/esm/screenplay/models/Key.d.ts.map +1 -0
  144. package/esm/screenplay/models/Key.js +97 -0
  145. package/esm/screenplay/models/Key.js.map +1 -0
  146. package/esm/screenplay/models/Locator.d.ts +48 -0
  147. package/esm/screenplay/models/Locator.d.ts.map +1 -0
  148. package/esm/screenplay/models/Locator.js +64 -0
  149. package/esm/screenplay/models/Locator.js.map +1 -0
  150. package/esm/screenplay/models/Page.d.ts +453 -0
  151. package/esm/screenplay/models/Page.d.ts.map +1 -0
  152. package/esm/screenplay/models/Page.js +252 -0
  153. package/esm/screenplay/models/Page.js.map +1 -0
  154. package/esm/screenplay/models/PageElement.d.ts +207 -0
  155. package/esm/screenplay/models/PageElement.d.ts.map +1 -0
  156. package/esm/screenplay/models/PageElement.js +89 -0
  157. package/esm/screenplay/models/PageElement.js.map +1 -0
  158. package/esm/screenplay/models/PageElements.d.ts +21 -0
  159. package/esm/screenplay/models/PageElements.d.ts.map +1 -0
  160. package/esm/screenplay/models/PageElements.js +21 -0
  161. package/esm/screenplay/models/PageElements.js.map +1 -0
  162. package/esm/screenplay/models/PageElementsLocator.d.ts +16 -0
  163. package/esm/screenplay/models/PageElementsLocator.d.ts.map +1 -0
  164. package/esm/screenplay/models/PageElementsLocator.js +31 -0
  165. package/esm/screenplay/models/PageElementsLocator.js.map +1 -0
  166. package/esm/screenplay/models/RootLocator.d.ts +24 -0
  167. package/esm/screenplay/models/RootLocator.d.ts.map +1 -0
  168. package/esm/screenplay/models/RootLocator.js +21 -0
  169. package/esm/screenplay/models/RootLocator.js.map +1 -0
  170. package/esm/screenplay/models/SelectOption.d.ts +25 -0
  171. package/esm/screenplay/models/SelectOption.d.ts.map +1 -0
  172. package/esm/screenplay/models/SelectOption.js +37 -0
  173. package/esm/screenplay/models/SelectOption.js.map +1 -0
  174. package/esm/screenplay/models/Switchable.d.ts +23 -0
  175. package/esm/screenplay/models/Switchable.d.ts.map +1 -0
  176. package/esm/screenplay/models/Switchable.js +2 -0
  177. package/esm/screenplay/models/Switchable.js.map +1 -0
  178. package/esm/screenplay/models/SwitchableOrigin.d.ts +18 -0
  179. package/esm/screenplay/models/SwitchableOrigin.d.ts.map +1 -0
  180. package/esm/screenplay/models/SwitchableOrigin.js +2 -0
  181. package/esm/screenplay/models/SwitchableOrigin.js.map +1 -0
  182. package/esm/screenplay/models/dialogs/AbsentModalDialog.d.ts +15 -0
  183. package/esm/screenplay/models/dialogs/AbsentModalDialog.d.ts.map +1 -0
  184. package/esm/screenplay/models/dialogs/AbsentModalDialog.js +20 -0
  185. package/esm/screenplay/models/dialogs/AbsentModalDialog.js.map +1 -0
  186. package/esm/screenplay/models/dialogs/AcceptedModalDialog.d.ts +17 -0
  187. package/esm/screenplay/models/dialogs/AcceptedModalDialog.d.ts.map +1 -0
  188. package/esm/screenplay/models/dialogs/AcceptedModalDialog.js +26 -0
  189. package/esm/screenplay/models/dialogs/AcceptedModalDialog.js.map +1 -0
  190. package/esm/screenplay/models/dialogs/DismissedModalDialog.d.ts +17 -0
  191. package/esm/screenplay/models/dialogs/DismissedModalDialog.d.ts.map +1 -0
  192. package/esm/screenplay/models/dialogs/DismissedModalDialog.js +26 -0
  193. package/esm/screenplay/models/dialogs/DismissedModalDialog.js.map +1 -0
  194. package/esm/screenplay/models/dialogs/ModalDialog.d.ts +171 -0
  195. package/esm/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -0
  196. package/esm/screenplay/models/dialogs/ModalDialog.js +173 -0
  197. package/esm/screenplay/models/dialogs/ModalDialog.js.map +1 -0
  198. package/esm/screenplay/models/dialogs/ModalDialogHandler.d.ts +38 -0
  199. package/esm/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -0
  200. package/esm/screenplay/models/dialogs/ModalDialogHandler.js +27 -0
  201. package/esm/screenplay/models/dialogs/ModalDialogHandler.js.map +1 -0
  202. package/esm/screenplay/models/dialogs/index.d.ts +6 -0
  203. package/esm/screenplay/models/dialogs/index.d.ts.map +1 -0
  204. package/esm/screenplay/models/dialogs/index.js +6 -0
  205. package/esm/screenplay/models/dialogs/index.js.map +1 -0
  206. package/esm/screenplay/models/index.d.ts +18 -0
  207. package/esm/screenplay/models/index.d.ts.map +1 -0
  208. package/esm/screenplay/models/index.js +18 -0
  209. package/esm/screenplay/models/index.js.map +1 -0
  210. package/esm/screenplay/models/selectors/By.d.ts +169 -0
  211. package/esm/screenplay/models/selectors/By.d.ts.map +1 -0
  212. package/esm/screenplay/models/selectors/By.js +217 -0
  213. package/esm/screenplay/models/selectors/By.js.map +1 -0
  214. package/esm/screenplay/models/selectors/ByCss.d.ts +13 -0
  215. package/esm/screenplay/models/selectors/ByCss.d.ts.map +1 -0
  216. package/esm/screenplay/models/selectors/ByCss.js +16 -0
  217. package/esm/screenplay/models/selectors/ByCss.js.map +1 -0
  218. package/esm/screenplay/models/selectors/ByCssContainingText.d.ts +15 -0
  219. package/esm/screenplay/models/selectors/ByCssContainingText.d.ts.map +1 -0
  220. package/esm/screenplay/models/selectors/ByCssContainingText.js +19 -0
  221. package/esm/screenplay/models/selectors/ByCssContainingText.js.map +1 -0
  222. package/esm/screenplay/models/selectors/ByDeepCss.d.ts +14 -0
  223. package/esm/screenplay/models/selectors/ByDeepCss.d.ts.map +1 -0
  224. package/esm/screenplay/models/selectors/ByDeepCss.js +17 -0
  225. package/esm/screenplay/models/selectors/ByDeepCss.js.map +1 -0
  226. package/esm/screenplay/models/selectors/ById.d.ts +13 -0
  227. package/esm/screenplay/models/selectors/ById.d.ts.map +1 -0
  228. package/esm/screenplay/models/selectors/ById.js +16 -0
  229. package/esm/screenplay/models/selectors/ById.js.map +1 -0
  230. package/esm/screenplay/models/selectors/ByRole.d.ts +126 -0
  231. package/esm/screenplay/models/selectors/ByRole.d.ts.map +1 -0
  232. package/esm/screenplay/models/selectors/ByRole.js +19 -0
  233. package/esm/screenplay/models/selectors/ByRole.js.map +1 -0
  234. package/esm/screenplay/models/selectors/ByTagName.d.ts +13 -0
  235. package/esm/screenplay/models/selectors/ByTagName.d.ts.map +1 -0
  236. package/esm/screenplay/models/selectors/ByTagName.js +16 -0
  237. package/esm/screenplay/models/selectors/ByTagName.js.map +1 -0
  238. package/esm/screenplay/models/selectors/ByXPath.d.ts +13 -0
  239. package/esm/screenplay/models/selectors/ByXPath.d.ts.map +1 -0
  240. package/esm/screenplay/models/selectors/ByXPath.js +16 -0
  241. package/esm/screenplay/models/selectors/ByXPath.js.map +1 -0
  242. package/esm/screenplay/models/selectors/Selector.d.ts +10 -0
  243. package/esm/screenplay/models/selectors/Selector.d.ts.map +1 -0
  244. package/esm/screenplay/models/selectors/Selector.js +15 -0
  245. package/esm/screenplay/models/selectors/Selector.js.map +1 -0
  246. package/esm/screenplay/models/selectors/index.d.ts +10 -0
  247. package/esm/screenplay/models/selectors/index.d.ts.map +1 -0
  248. package/esm/screenplay/models/selectors/index.js +10 -0
  249. package/esm/screenplay/models/selectors/index.js.map +1 -0
  250. package/esm/screenplay/questions/Attribute.d.ts +127 -0
  251. package/esm/screenplay/questions/Attribute.d.ts.map +1 -0
  252. package/esm/screenplay/questions/Attribute.js +150 -0
  253. package/esm/screenplay/questions/Attribute.js.map +1 -0
  254. package/esm/screenplay/questions/ComputedStyle.d.ts +131 -0
  255. package/esm/screenplay/questions/ComputedStyle.d.ts.map +1 -0
  256. package/esm/screenplay/questions/ComputedStyle.js +157 -0
  257. package/esm/screenplay/questions/ComputedStyle.js.map +1 -0
  258. package/esm/screenplay/questions/CssClasses.d.ts +110 -0
  259. package/esm/screenplay/questions/CssClasses.d.ts.map +1 -0
  260. package/esm/screenplay/questions/CssClasses.js +121 -0
  261. package/esm/screenplay/questions/CssClasses.js.map +1 -0
  262. package/esm/screenplay/questions/LastScriptExecution.d.ts +50 -0
  263. package/esm/screenplay/questions/LastScriptExecution.d.ts.map +1 -0
  264. package/esm/screenplay/questions/LastScriptExecution.js +56 -0
  265. package/esm/screenplay/questions/LastScriptExecution.js.map +1 -0
  266. package/esm/screenplay/questions/Selected.d.ts +216 -0
  267. package/esm/screenplay/questions/Selected.d.ts.map +1 -0
  268. package/esm/screenplay/questions/Selected.js +247 -0
  269. package/esm/screenplay/questions/Selected.js.map +1 -0
  270. package/esm/screenplay/questions/Text.d.ts +116 -0
  271. package/esm/screenplay/questions/Text.d.ts.map +1 -0
  272. package/esm/screenplay/questions/Text.js +121 -0
  273. package/esm/screenplay/questions/Text.js.map +1 -0
  274. package/esm/screenplay/questions/Value.d.ts +70 -0
  275. package/esm/screenplay/questions/Value.d.ts.map +1 -0
  276. package/esm/screenplay/questions/Value.js +75 -0
  277. package/esm/screenplay/questions/Value.js.map +1 -0
  278. package/esm/screenplay/questions/index.d.ts +8 -0
  279. package/esm/screenplay/questions/index.d.ts.map +1 -0
  280. package/esm/screenplay/questions/index.js +8 -0
  281. package/esm/screenplay/questions/index.js.map +1 -0
  282. package/esm/scripts/dragAndDrop.d.ts +13 -0
  283. package/esm/scripts/dragAndDrop.d.ts.map +1 -0
  284. package/esm/scripts/dragAndDrop.js +72 -0
  285. package/esm/scripts/dragAndDrop.js.map +1 -0
  286. package/esm/scripts/index.d.ts +4 -0
  287. package/esm/scripts/index.d.ts.map +1 -0
  288. package/esm/scripts/index.js +4 -0
  289. package/esm/scripts/index.js.map +1 -0
  290. package/esm/scripts/isVisible.d.ts +2 -0
  291. package/esm/scripts/isVisible.d.ts.map +1 -0
  292. package/esm/scripts/isVisible.js +92 -0
  293. package/esm/scripts/isVisible.js.map +1 -0
  294. package/esm/scripts/rehydrate.d.ts +5 -0
  295. package/esm/scripts/rehydrate.d.ts.map +1 -0
  296. package/esm/scripts/rehydrate.js +31 -0
  297. package/esm/scripts/rehydrate.js.map +1 -0
  298. package/esm/stage/crew/index.d.ts +2 -0
  299. package/esm/stage/crew/index.d.ts.map +1 -0
  300. package/esm/stage/crew/index.js +2 -0
  301. package/esm/stage/crew/index.js.map +1 -0
  302. package/esm/stage/crew/photographer/Photographer.d.ts +189 -0
  303. package/esm/stage/crew/photographer/Photographer.d.ts.map +1 -0
  304. package/esm/stage/crew/photographer/Photographer.js +215 -0
  305. package/esm/stage/crew/photographer/Photographer.js.map +1 -0
  306. package/esm/stage/crew/photographer/index.d.ts +3 -0
  307. package/esm/stage/crew/photographer/index.d.ts.map +1 -0
  308. package/esm/stage/crew/photographer/index.js +3 -0
  309. package/esm/stage/crew/photographer/index.js.map +1 -0
  310. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +29 -0
  311. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -0
  312. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.js +64 -0
  313. package/esm/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -0
  314. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +19 -0
  315. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -0
  316. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +25 -0
  317. package/esm/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -0
  318. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +19 -0
  319. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -0
  320. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.js +24 -0
  321. package/esm/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +1 -0
  322. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +20 -0
  323. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -0
  324. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +23 -0
  325. package/esm/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -0
  326. package/esm/stage/crew/photographer/strategies/index.d.ts +5 -0
  327. package/esm/stage/crew/photographer/strategies/index.d.ts.map +1 -0
  328. package/esm/stage/crew/photographer/strategies/index.js +5 -0
  329. package/esm/stage/crew/photographer/strategies/index.js.map +1 -0
  330. package/esm/stage/index.d.ts +2 -0
  331. package/esm/stage/index.d.ts.map +1 -0
  332. package/esm/stage/index.js +2 -0
  333. package/esm/stage/index.js.map +1 -0
  334. package/lib/errors/index.d.ts +3 -3
  335. package/lib/errors/index.d.ts.map +1 -1
  336. package/lib/errors/index.js +3 -3
  337. package/lib/errors/index.js.map +1 -1
  338. package/lib/expectations/index.d.ts +5 -5
  339. package/lib/expectations/index.d.ts.map +1 -1
  340. package/lib/expectations/index.js +5 -5
  341. package/lib/expectations/index.js.map +1 -1
  342. package/lib/expectations/isActive.d.ts +1 -1
  343. package/lib/expectations/isActive.d.ts.map +1 -1
  344. package/lib/expectations/isClickable.d.ts +1 -1
  345. package/lib/expectations/isClickable.d.ts.map +1 -1
  346. package/lib/expectations/isEnabled.d.ts +1 -1
  347. package/lib/expectations/isEnabled.d.ts.map +1 -1
  348. package/lib/expectations/isSelected.d.ts +1 -1
  349. package/lib/expectations/isSelected.d.ts.map +1 -1
  350. package/lib/expectations/isVisible.d.ts +1 -1
  351. package/lib/expectations/isVisible.d.ts.map +1 -1
  352. package/lib/index.d.ts +4 -4
  353. package/lib/index.d.ts.map +1 -1
  354. package/lib/index.js +4 -4
  355. package/lib/index.js.map +1 -1
  356. package/lib/package.json +1 -0
  357. package/lib/screenplay/abilities/BrowseTheWeb.d.ts +1 -1
  358. package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -1
  359. package/lib/screenplay/abilities/index.d.ts +1 -1
  360. package/lib/screenplay/abilities/index.d.ts.map +1 -1
  361. package/lib/screenplay/abilities/index.js +1 -1
  362. package/lib/screenplay/abilities/index.js.map +1 -1
  363. package/lib/screenplay/index.d.ts +4 -4
  364. package/lib/screenplay/index.d.ts.map +1 -1
  365. package/lib/screenplay/index.js +4 -4
  366. package/lib/screenplay/index.js.map +1 -1
  367. package/lib/screenplay/interactions/Clear.d.ts +2 -2
  368. package/lib/screenplay/interactions/Clear.d.ts.map +1 -1
  369. package/lib/screenplay/interactions/Clear.js +2 -2
  370. package/lib/screenplay/interactions/Clear.js.map +1 -1
  371. package/lib/screenplay/interactions/Click.d.ts +2 -2
  372. package/lib/screenplay/interactions/Click.d.ts.map +1 -1
  373. package/lib/screenplay/interactions/Click.js +2 -2
  374. package/lib/screenplay/interactions/Click.js.map +1 -1
  375. package/lib/screenplay/interactions/DoubleClick.d.ts +2 -2
  376. package/lib/screenplay/interactions/DoubleClick.d.ts.map +1 -1
  377. package/lib/screenplay/interactions/DoubleClick.js +2 -2
  378. package/lib/screenplay/interactions/DoubleClick.js.map +1 -1
  379. package/lib/screenplay/interactions/Drag.d.ts +1 -1
  380. package/lib/screenplay/interactions/Drag.d.ts.map +1 -1
  381. package/lib/screenplay/interactions/Enter.d.ts +2 -2
  382. package/lib/screenplay/interactions/Enter.d.ts.map +1 -1
  383. package/lib/screenplay/interactions/Enter.js +3 -3
  384. package/lib/screenplay/interactions/Enter.js.map +1 -1
  385. package/lib/screenplay/interactions/ExecuteScript.js +6 -6
  386. package/lib/screenplay/interactions/ExecuteScript.js.map +1 -1
  387. package/lib/screenplay/interactions/Hover.d.ts +2 -2
  388. package/lib/screenplay/interactions/Hover.d.ts.map +1 -1
  389. package/lib/screenplay/interactions/Hover.js +2 -2
  390. package/lib/screenplay/interactions/Hover.js.map +1 -1
  391. package/lib/screenplay/interactions/Navigate.js +5 -5
  392. package/lib/screenplay/interactions/Navigate.js.map +1 -1
  393. package/lib/screenplay/interactions/PageElementInteraction.d.ts +2 -2
  394. package/lib/screenplay/interactions/PageElementInteraction.d.ts.map +1 -1
  395. package/lib/screenplay/interactions/Press.d.ts +3 -3
  396. package/lib/screenplay/interactions/Press.d.ts.map +1 -1
  397. package/lib/screenplay/interactions/Press.js +9 -9
  398. package/lib/screenplay/interactions/Press.js.map +1 -1
  399. package/lib/screenplay/interactions/RightClick.d.ts +2 -2
  400. package/lib/screenplay/interactions/RightClick.d.ts.map +1 -1
  401. package/lib/screenplay/interactions/RightClick.js +2 -2
  402. package/lib/screenplay/interactions/RightClick.js.map +1 -1
  403. package/lib/screenplay/interactions/Scroll.d.ts +1 -1
  404. package/lib/screenplay/interactions/Scroll.d.ts.map +1 -1
  405. package/lib/screenplay/interactions/Select.d.ts +1 -1
  406. package/lib/screenplay/interactions/Select.d.ts.map +1 -1
  407. package/lib/screenplay/interactions/Select.js +8 -9
  408. package/lib/screenplay/interactions/Select.js.map +1 -1
  409. package/lib/screenplay/interactions/Switch.d.ts +1 -1
  410. package/lib/screenplay/interactions/Switch.d.ts.map +1 -1
  411. package/lib/screenplay/interactions/TakeScreenshot.js +3 -3
  412. package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
  413. package/lib/screenplay/interactions/index.d.ts +15 -15
  414. package/lib/screenplay/interactions/index.d.ts.map +1 -1
  415. package/lib/screenplay/interactions/index.js +15 -15
  416. package/lib/screenplay/interactions/index.js.map +1 -1
  417. package/lib/screenplay/models/ArgumentDehydrator.js +1 -1
  418. package/lib/screenplay/models/ArgumentDehydrator.js.map +1 -1
  419. package/lib/screenplay/models/BrowsingSession.d.ts +3 -3
  420. package/lib/screenplay/models/BrowsingSession.d.ts.map +1 -1
  421. package/lib/screenplay/models/Cookie.d.ts +1 -1
  422. package/lib/screenplay/models/Cookie.d.ts.map +1 -1
  423. package/lib/screenplay/models/Cookie.js +6 -6
  424. package/lib/screenplay/models/Cookie.js.map +1 -1
  425. package/lib/screenplay/models/Key.d.ts +5 -0
  426. package/lib/screenplay/models/Key.d.ts.map +1 -1
  427. package/lib/screenplay/models/Key.js +13 -2
  428. package/lib/screenplay/models/Key.js.map +1 -1
  429. package/lib/screenplay/models/Locator.d.ts +3 -3
  430. package/lib/screenplay/models/Locator.d.ts.map +1 -1
  431. package/lib/screenplay/models/Locator.js +9 -9
  432. package/lib/screenplay/models/Locator.js.map +1 -1
  433. package/lib/screenplay/models/Page.d.ts +12 -12
  434. package/lib/screenplay/models/Page.d.ts.map +1 -1
  435. package/lib/screenplay/models/Page.js +5 -5
  436. package/lib/screenplay/models/Page.js.map +1 -1
  437. package/lib/screenplay/models/PageElement.d.ts +5 -5
  438. package/lib/screenplay/models/PageElement.d.ts.map +1 -1
  439. package/lib/screenplay/models/PageElement.js +3 -3
  440. package/lib/screenplay/models/PageElement.js.map +1 -1
  441. package/lib/screenplay/models/PageElements.d.ts +2 -2
  442. package/lib/screenplay/models/PageElements.d.ts.map +1 -1
  443. package/lib/screenplay/models/PageElements.js +2 -2
  444. package/lib/screenplay/models/PageElements.js.map +1 -1
  445. package/lib/screenplay/models/PageElementsLocator.d.ts +3 -3
  446. package/lib/screenplay/models/PageElementsLocator.d.ts.map +1 -1
  447. package/lib/screenplay/models/PageElementsLocator.js +2 -2
  448. package/lib/screenplay/models/PageElementsLocator.js.map +1 -1
  449. package/lib/screenplay/models/RootLocator.js +1 -1
  450. package/lib/screenplay/models/RootLocator.js.map +1 -1
  451. package/lib/screenplay/models/Switchable.d.ts +1 -1
  452. package/lib/screenplay/models/Switchable.d.ts.map +1 -1
  453. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +1 -1
  454. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts.map +1 -1
  455. package/lib/screenplay/models/dialogs/AbsentModalDialog.js +2 -2
  456. package/lib/screenplay/models/dialogs/AbsentModalDialog.js.map +1 -1
  457. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +1 -1
  458. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts.map +1 -1
  459. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +2 -2
  460. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js.map +1 -1
  461. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +1 -1
  462. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts.map +1 -1
  463. package/lib/screenplay/models/dialogs/DismissedModalDialog.js +2 -2
  464. package/lib/screenplay/models/dialogs/DismissedModalDialog.js.map +1 -1
  465. package/lib/screenplay/models/dialogs/ModalDialog.js +7 -7
  466. package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -1
  467. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +1 -1
  468. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts.map +1 -1
  469. package/lib/screenplay/models/dialogs/ModalDialogHandler.js +2 -2
  470. package/lib/screenplay/models/dialogs/ModalDialogHandler.js.map +1 -1
  471. package/lib/screenplay/models/dialogs/index.d.ts +5 -5
  472. package/lib/screenplay/models/dialogs/index.d.ts.map +1 -1
  473. package/lib/screenplay/models/dialogs/index.js +5 -5
  474. package/lib/screenplay/models/dialogs/index.js.map +1 -1
  475. package/lib/screenplay/models/index.d.ts +17 -17
  476. package/lib/screenplay/models/index.d.ts.map +1 -1
  477. package/lib/screenplay/models/index.js +17 -17
  478. package/lib/screenplay/models/index.js.map +1 -1
  479. package/lib/screenplay/models/selectors/By.d.ts +7 -7
  480. package/lib/screenplay/models/selectors/By.d.ts.map +1 -1
  481. package/lib/screenplay/models/selectors/By.js +14 -14
  482. package/lib/screenplay/models/selectors/By.js.map +1 -1
  483. package/lib/screenplay/models/selectors/ByCss.d.ts +1 -1
  484. package/lib/screenplay/models/selectors/ByCss.d.ts.map +1 -1
  485. package/lib/screenplay/models/selectors/ByCss.js +2 -2
  486. package/lib/screenplay/models/selectors/ByCss.js.map +1 -1
  487. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +1 -1
  488. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts.map +1 -1
  489. package/lib/screenplay/models/selectors/ByCssContainingText.js +2 -2
  490. package/lib/screenplay/models/selectors/ByCssContainingText.js.map +1 -1
  491. package/lib/screenplay/models/selectors/ByDeepCss.d.ts +1 -1
  492. package/lib/screenplay/models/selectors/ByDeepCss.d.ts.map +1 -1
  493. package/lib/screenplay/models/selectors/ByDeepCss.js +2 -2
  494. package/lib/screenplay/models/selectors/ByDeepCss.js.map +1 -1
  495. package/lib/screenplay/models/selectors/ById.d.ts +1 -1
  496. package/lib/screenplay/models/selectors/ById.d.ts.map +1 -1
  497. package/lib/screenplay/models/selectors/ById.js +2 -2
  498. package/lib/screenplay/models/selectors/ById.js.map +1 -1
  499. package/lib/screenplay/models/selectors/ByRole.d.ts +1 -1
  500. package/lib/screenplay/models/selectors/ByRole.d.ts.map +1 -1
  501. package/lib/screenplay/models/selectors/ByRole.js +2 -2
  502. package/lib/screenplay/models/selectors/ByRole.js.map +1 -1
  503. package/lib/screenplay/models/selectors/ByTagName.d.ts +1 -1
  504. package/lib/screenplay/models/selectors/ByTagName.d.ts.map +1 -1
  505. package/lib/screenplay/models/selectors/ByTagName.js +2 -2
  506. package/lib/screenplay/models/selectors/ByTagName.js.map +1 -1
  507. package/lib/screenplay/models/selectors/ByXPath.d.ts +1 -1
  508. package/lib/screenplay/models/selectors/ByXPath.d.ts.map +1 -1
  509. package/lib/screenplay/models/selectors/ByXPath.js +2 -2
  510. package/lib/screenplay/models/selectors/ByXPath.js.map +1 -1
  511. package/lib/screenplay/models/selectors/index.d.ts +9 -9
  512. package/lib/screenplay/models/selectors/index.d.ts.map +1 -1
  513. package/lib/screenplay/models/selectors/index.js +9 -9
  514. package/lib/screenplay/models/selectors/index.js.map +1 -1
  515. package/lib/screenplay/questions/Attribute.d.ts +1 -1
  516. package/lib/screenplay/questions/Attribute.d.ts.map +1 -1
  517. package/lib/screenplay/questions/Attribute.js +2 -2
  518. package/lib/screenplay/questions/Attribute.js.map +1 -1
  519. package/lib/screenplay/questions/ComputedStyle.d.ts +1 -1
  520. package/lib/screenplay/questions/ComputedStyle.d.ts.map +1 -1
  521. package/lib/screenplay/questions/ComputedStyle.js +4 -4
  522. package/lib/screenplay/questions/ComputedStyle.js.map +1 -1
  523. package/lib/screenplay/questions/CssClasses.d.ts +1 -1
  524. package/lib/screenplay/questions/CssClasses.d.ts.map +1 -1
  525. package/lib/screenplay/questions/CssClasses.js +2 -2
  526. package/lib/screenplay/questions/CssClasses.js.map +1 -1
  527. package/lib/screenplay/questions/LastScriptExecution.js +2 -2
  528. package/lib/screenplay/questions/LastScriptExecution.js.map +1 -1
  529. package/lib/screenplay/questions/Selected.d.ts +1 -1
  530. package/lib/screenplay/questions/Selected.d.ts.map +1 -1
  531. package/lib/screenplay/questions/Text.d.ts +2 -2
  532. package/lib/screenplay/questions/Text.d.ts.map +1 -1
  533. package/lib/screenplay/questions/Text.js +3 -3
  534. package/lib/screenplay/questions/Text.js.map +1 -1
  535. package/lib/screenplay/questions/Value.d.ts +1 -1
  536. package/lib/screenplay/questions/Value.d.ts.map +1 -1
  537. package/lib/screenplay/questions/Value.js +2 -2
  538. package/lib/screenplay/questions/Value.js.map +1 -1
  539. package/lib/screenplay/questions/index.d.ts +7 -7
  540. package/lib/screenplay/questions/index.d.ts.map +1 -1
  541. package/lib/screenplay/questions/index.js +7 -7
  542. package/lib/screenplay/questions/index.js.map +1 -1
  543. package/lib/scripts/index.d.ts +3 -3
  544. package/lib/scripts/index.d.ts.map +1 -1
  545. package/lib/scripts/index.js +3 -3
  546. package/lib/scripts/index.js.map +1 -1
  547. package/lib/stage/crew/index.d.ts +1 -1
  548. package/lib/stage/crew/index.d.ts.map +1 -1
  549. package/lib/stage/crew/index.js +1 -1
  550. package/lib/stage/crew/index.js.map +1 -1
  551. package/lib/stage/crew/photographer/Photographer.d.ts +3 -3
  552. package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -1
  553. package/lib/stage/crew/photographer/Photographer.js +2 -2
  554. package/lib/stage/crew/photographer/Photographer.js.map +1 -1
  555. package/lib/stage/crew/photographer/index.d.ts +2 -2
  556. package/lib/stage/crew/photographer/index.d.ts.map +1 -1
  557. package/lib/stage/crew/photographer/index.js +2 -2
  558. package/lib/stage/crew/photographer/index.js.map +1 -1
  559. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +1 -1
  560. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts.map +1 -1
  561. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +4 -4
  562. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js.map +1 -1
  563. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +3 -3
  564. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts.map +1 -1
  565. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +3 -3
  566. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js.map +1 -1
  567. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +3 -3
  568. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts.map +1 -1
  569. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +4 -4
  570. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js.map +1 -1
  571. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +3 -3
  572. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts.map +1 -1
  573. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +3 -3
  574. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js.map +1 -1
  575. package/lib/stage/crew/photographer/strategies/index.d.ts +4 -4
  576. package/lib/stage/crew/photographer/strategies/index.d.ts.map +1 -1
  577. package/lib/stage/crew/photographer/strategies/index.js +4 -4
  578. package/lib/stage/crew/photographer/strategies/index.js.map +1 -1
  579. package/lib/stage/index.d.ts +1 -1
  580. package/lib/stage/index.d.ts.map +1 -1
  581. package/lib/stage/index.js +1 -1
  582. package/lib/stage/index.js.map +1 -1
  583. package/package.json +48 -7
  584. package/src/errors/index.ts +3 -3
  585. package/src/expectations/index.ts +5 -5
  586. package/src/expectations/isActive.ts +1 -1
  587. package/src/expectations/isClickable.ts +1 -1
  588. package/src/expectations/isEnabled.ts +1 -1
  589. package/src/expectations/isSelected.ts +1 -1
  590. package/src/expectations/isVisible.ts +1 -1
  591. package/src/index.ts +4 -4
  592. package/src/screenplay/abilities/BrowseTheWeb.ts +1 -1
  593. package/src/screenplay/abilities/index.ts +1 -1
  594. package/src/screenplay/index.ts +4 -4
  595. package/src/screenplay/interactions/Clear.ts +2 -2
  596. package/src/screenplay/interactions/Click.ts +2 -2
  597. package/src/screenplay/interactions/DoubleClick.ts +2 -2
  598. package/src/screenplay/interactions/Drag.ts +1 -1
  599. package/src/screenplay/interactions/Enter.ts +3 -3
  600. package/src/screenplay/interactions/ExecuteScript.ts +3 -3
  601. package/src/screenplay/interactions/Hover.ts +2 -2
  602. package/src/screenplay/interactions/Navigate.ts +1 -1
  603. package/src/screenplay/interactions/PageElementInteraction.ts +2 -2
  604. package/src/screenplay/interactions/Press.ts +5 -5
  605. package/src/screenplay/interactions/RightClick.ts +94 -94
  606. package/src/screenplay/interactions/Scroll.ts +1 -1
  607. package/src/screenplay/interactions/Select.ts +3 -4
  608. package/src/screenplay/interactions/Switch.ts +1 -1
  609. package/src/screenplay/interactions/TakeScreenshot.ts +2 -2
  610. package/src/screenplay/interactions/index.ts +15 -15
  611. package/src/screenplay/models/ArgumentDehydrator.ts +1 -1
  612. package/src/screenplay/models/BrowsingSession.ts +3 -3
  613. package/src/screenplay/models/Cookie.ts +3 -3
  614. package/src/screenplay/models/Key.ts +14 -2
  615. package/src/screenplay/models/Locator.ts +4 -4
  616. package/src/screenplay/models/Page.ts +13 -13
  617. package/src/screenplay/models/PageElement.ts +6 -6
  618. package/src/screenplay/models/PageElements.ts +3 -3
  619. package/src/screenplay/models/PageElementsLocator.ts +4 -4
  620. package/src/screenplay/models/RootLocator.ts +1 -1
  621. package/src/screenplay/models/Switchable.ts +1 -1
  622. package/src/screenplay/models/dialogs/AbsentModalDialog.ts +1 -1
  623. package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +1 -1
  624. package/src/screenplay/models/dialogs/DismissedModalDialog.ts +1 -1
  625. package/src/screenplay/models/dialogs/ModalDialog.ts +1 -1
  626. package/src/screenplay/models/dialogs/ModalDialogHandler.ts +2 -2
  627. package/src/screenplay/models/dialogs/index.ts +5 -5
  628. package/src/screenplay/models/index.ts +17 -17
  629. package/src/screenplay/models/selectors/By.ts +8 -8
  630. package/src/screenplay/models/selectors/ByCss.ts +1 -1
  631. package/src/screenplay/models/selectors/ByCssContainingText.ts +1 -1
  632. package/src/screenplay/models/selectors/ByDeepCss.ts +1 -1
  633. package/src/screenplay/models/selectors/ById.ts +1 -1
  634. package/src/screenplay/models/selectors/ByRole.ts +1 -1
  635. package/src/screenplay/models/selectors/ByTagName.ts +1 -1
  636. package/src/screenplay/models/selectors/ByXPath.ts +1 -1
  637. package/src/screenplay/models/selectors/index.ts +9 -9
  638. package/src/screenplay/questions/Attribute.ts +1 -1
  639. package/src/screenplay/questions/ComputedStyle.ts +2 -2
  640. package/src/screenplay/questions/CssClasses.ts +1 -1
  641. package/src/screenplay/questions/LastScriptExecution.ts +1 -1
  642. package/src/screenplay/questions/Selected.ts +1 -1
  643. package/src/screenplay/questions/Text.ts +3 -3
  644. package/src/screenplay/questions/Value.ts +1 -1
  645. package/src/screenplay/questions/index.ts +7 -7
  646. package/src/scripts/index.ts +3 -3
  647. package/src/stage/crew/index.ts +1 -1
  648. package/src/stage/crew/photographer/Photographer.ts +4 -4
  649. package/src/stage/crew/photographer/index.ts +2 -2
  650. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +4 -4
  651. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +3 -3
  652. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +4 -4
  653. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +3 -3
  654. package/src/stage/crew/photographer/strategies/index.ts +4 -4
  655. package/src/stage/index.ts +1 -1
  656. package/tsconfig-cjs.build.json +18 -0
  657. package/tsconfig-esm.build.json +18 -0
@@ -0,0 +1,158 @@
1
+ import type { Answerable, Optional, QuestionAdapter, WithAnswerableProperties } from '@serenity-js/core';
2
+ import { Interaction, Timestamp } from '@serenity-js/core';
3
+ import type { CookieData } from './CookieData.js';
4
+ /**
5
+ * A Screenplay Pattern-style model responsible for managing cookies available to the current [`Page`](https://serenity-js.org/api/web/class/Page/).
6
+ *
7
+ * ## Checking if a cookie exists
8
+ *
9
+ * ```typescript
10
+ * import { actorCalled } from '@serenity-js/core'
11
+ * import { Navigate, Cookie } from '@serenity-js/web'
12
+ * import { Ensure, isPresent } from '@serenity-js/assertions'
13
+ *
14
+ * await actorCalled('Sid')
15
+ * .attemptsTo(
16
+ * Navigate.to('https://example.org'),
17
+ *
18
+ * Ensure.that(
19
+ * Cookie.called('example-cookie-name'),
20
+ * isPresent()
21
+ * ),
22
+ * )
23
+ * ```
24
+ *
25
+ * ## Setting a cookie
26
+ *
27
+ * ```typescript
28
+ * import { actorCalled } from '@serenity-js/core'
29
+ * import { Navigate, Cookie } from '@serenity-js/web'
30
+ * import { Ensure, isPresent, not } from '@serenity-js/assertions'
31
+ *
32
+ * await actorCalled('Sid')
33
+ * .attemptsTo(
34
+ * Navigate.to('https://example.org'),
35
+ *
36
+ * Ensure.that(Cookie.called('example-cookie-name'), not(isPresent())),
37
+ *
38
+ * Cookie.set({
39
+ * name: 'favourite',
40
+ * value: 'triple chocolate',
41
+ * }),
42
+ *
43
+ * Ensure.that(Cookie.called('example-cookie-name'), isPresent()),
44
+ * )
45
+ * ```
46
+ *
47
+ * ## Reading a cookie
48
+ *
49
+ * ```typescript
50
+ * import { actorCalled } from '@serenity-js/core'
51
+ * import { Navigate, Cookie } from '@serenity-js/web'
52
+ * import { Ensure, equals } from '@serenity-js/assertions'
53
+ *
54
+ * await actorCalled('Sid')
55
+ * .attemptsTo(
56
+ * Navigate.to('https://example.org'),
57
+ *
58
+ * Ensure.that(
59
+ * Cookie.called('some-cookie-name').value(),
60
+ * equals('triple chocolate')
61
+ * ),
62
+ * )
63
+ * ```
64
+ *
65
+ * ## Learn more
66
+ * - [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/)
67
+ * - [`Page.cookie`](https://serenity-js.org/api/web/class/Page/#cookie)
68
+ *
69
+ * @group Models
70
+ */
71
+ export declare abstract class Cookie implements Optional {
72
+ protected readonly cookieName: string;
73
+ /**
74
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to [`Cookie`](https://serenity-js.org/api/web/class/Cookie/) identified by `name`.
75
+ *
76
+ * @param name
77
+ */
78
+ static called(name: Answerable<string>): QuestionAdapter<Cookie>;
79
+ /**
80
+ * Sets a cookie for the current [`Page`](https://serenity-js.org/api/web/class/Page/). Note that [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/) can be either a plain-old JavaScript object, or an [`Answerable`](https://serenity-js.org/api/core/#Answerable) [`WithAnswerableProperties`](https://serenity-js.org/api/core/#WithAnswerableProperties).
81
+ *
82
+ * :::info
83
+ * Make sure that the actor performing this interaction is on the page that should receive the cookie.
84
+ * Because of browser security restrictions, an actor can't set a cookie for an arbitrary page without being on that page.
85
+ * :::
86
+ *
87
+ * @param cookieData
88
+ */
89
+ static set(cookieData: Answerable<WithAnswerableProperties<CookieData>>): Interaction;
90
+ /**
91
+ * Creates an [interaction](https://serenity-js.org/api/core/class/Interaction/) to delete all cookies available to the current [`Page`](https://serenity-js.org/api/web/class/Page/)..
92
+ */
93
+ static deleteAll(): Interaction;
94
+ private cookie;
95
+ protected constructor(cookieName: string);
96
+ /**
97
+ * Returns the name of this cookie.
98
+ */
99
+ name(): string;
100
+ /**
101
+ * Checks if a given cookie is set.
102
+ *
103
+ * #### Learn more
104
+ * - [`Optional`](https://serenity-js.org/api/core/interface/Optional/)
105
+ */
106
+ isPresent(): Promise<boolean>;
107
+ /**
108
+ * Returns the value of a given cookie.
109
+ */
110
+ value(): Promise<string>;
111
+ /**
112
+ * Returns the path of a given cookie, if any was set.
113
+ */
114
+ path(): Promise<string>;
115
+ /**
116
+ * Returns the domain of a given cookie, if any was set.
117
+ */
118
+ domain(): Promise<string>;
119
+ /**
120
+ * Checks if a given cookie is HTTP-only.
121
+ *
122
+ * #### Learn more
123
+ * - [Mozilla Developer Network: Restricting access to cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies)
124
+ */
125
+ isHttpOnly(): Promise<boolean>;
126
+ /**
127
+ * Checks if a given cookie is secure.
128
+ *
129
+ * #### Learn more
130
+ * - [Mozilla Developer Network: Restricting access to cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies)
131
+ */
132
+ isSecure(): Promise<boolean>;
133
+ /**
134
+ * Returns the expiry date of a given cookie
135
+ *
136
+ * #### Learn more
137
+ * - [`Timestamp`](https://serenity-js.org/api/core/class/Timestamp/)
138
+ */
139
+ expiry(): Promise<Timestamp>;
140
+ /**
141
+ * Deletes a given cookie.
142
+ */
143
+ abstract delete(): Promise<void>;
144
+ /**
145
+ * Reads a given cookie from the browser.
146
+ *
147
+ * This method is to be implemented by test integration tool-specific adapters.
148
+ *
149
+ * **Please note**: you don't need to implement any response caching here
150
+ * since it is covered by [`Cookie`](https://serenity-js.org/api/web/class/Cookie/).lazyLoadCookie} method.
151
+ */
152
+ protected abstract read(): Promise<CookieData>;
153
+ /**
154
+ * Invokes `Cookie.read` and caches the result in memory.
155
+ */
156
+ private lazyLoadCookie;
157
+ }
158
+ //# sourceMappingURL=Cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cookie.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/Cookie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,WAAW,EAAiB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,8BAAsB,MAAO,YAAW,QAAQ;IA2DtB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAzD3D;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;IAQhE;;;;;;;;;OASG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,GAAG,WAAW;IAsBrF;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,WAAW;IAO/B,OAAO,CAAC,MAAM,CAAa;IAE3B,SAAS,aAAgC,UAAU,EAAE,MAAM;IAI3D;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAcnC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAKpC;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAKlC;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IAKlC;;OAEG;IACH,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAE9C;;OAEG;YACW,cAAc;CAO/B"}
@@ -0,0 +1,225 @@
1
+ import { Interaction, Question, the, Timestamp } from '@serenity-js/core';
2
+ import { ensure, isBoolean, isDefined, isInstanceOf, isOneOf, isPlainObject, isString } from 'tiny-types';
3
+ import { CookieMissingError } from '../../errors/index.js';
4
+ import { BrowseTheWeb } from '../abilities/index.js';
5
+ /**
6
+ * A Screenplay Pattern-style model responsible for managing cookies available to the current [`Page`](https://serenity-js.org/api/web/class/Page/).
7
+ *
8
+ * ## Checking if a cookie exists
9
+ *
10
+ * ```typescript
11
+ * import { actorCalled } from '@serenity-js/core'
12
+ * import { Navigate, Cookie } from '@serenity-js/web'
13
+ * import { Ensure, isPresent } from '@serenity-js/assertions'
14
+ *
15
+ * await actorCalled('Sid')
16
+ * .attemptsTo(
17
+ * Navigate.to('https://example.org'),
18
+ *
19
+ * Ensure.that(
20
+ * Cookie.called('example-cookie-name'),
21
+ * isPresent()
22
+ * ),
23
+ * )
24
+ * ```
25
+ *
26
+ * ## Setting a cookie
27
+ *
28
+ * ```typescript
29
+ * import { actorCalled } from '@serenity-js/core'
30
+ * import { Navigate, Cookie } from '@serenity-js/web'
31
+ * import { Ensure, isPresent, not } from '@serenity-js/assertions'
32
+ *
33
+ * await actorCalled('Sid')
34
+ * .attemptsTo(
35
+ * Navigate.to('https://example.org'),
36
+ *
37
+ * Ensure.that(Cookie.called('example-cookie-name'), not(isPresent())),
38
+ *
39
+ * Cookie.set({
40
+ * name: 'favourite',
41
+ * value: 'triple chocolate',
42
+ * }),
43
+ *
44
+ * Ensure.that(Cookie.called('example-cookie-name'), isPresent()),
45
+ * )
46
+ * ```
47
+ *
48
+ * ## Reading a cookie
49
+ *
50
+ * ```typescript
51
+ * import { actorCalled } from '@serenity-js/core'
52
+ * import { Navigate, Cookie } from '@serenity-js/web'
53
+ * import { Ensure, equals } from '@serenity-js/assertions'
54
+ *
55
+ * await actorCalled('Sid')
56
+ * .attemptsTo(
57
+ * Navigate.to('https://example.org'),
58
+ *
59
+ * Ensure.that(
60
+ * Cookie.called('some-cookie-name').value(),
61
+ * equals('triple chocolate')
62
+ * ),
63
+ * )
64
+ * ```
65
+ *
66
+ * ## Learn more
67
+ * - [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/)
68
+ * - [`Page.cookie`](https://serenity-js.org/api/web/class/Page/#cookie)
69
+ *
70
+ * @group Models
71
+ */
72
+ export class Cookie {
73
+ cookieName;
74
+ /**
75
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to [`Cookie`](https://serenity-js.org/api/web/class/Cookie/) identified by `name`.
76
+ *
77
+ * @param name
78
+ */
79
+ static called(name) {
80
+ return Question.about(`"${name}" cookie`, async (actor) => {
81
+ const cookieName = await actor.answer(name);
82
+ const page = await BrowseTheWeb.as(actor).currentPage();
83
+ return page.cookie(cookieName);
84
+ });
85
+ }
86
+ /**
87
+ * Sets a cookie for the current [`Page`](https://serenity-js.org/api/web/class/Page/). Note that [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/) can be either a plain-old JavaScript object, or an [`Answerable`](https://serenity-js.org/api/core/#Answerable) [`WithAnswerableProperties`](https://serenity-js.org/api/core/#WithAnswerableProperties).
88
+ *
89
+ * :::info
90
+ * Make sure that the actor performing this interaction is on the page that should receive the cookie.
91
+ * Because of browser security restrictions, an actor can't set a cookie for an arbitrary page without being on that page.
92
+ * :::
93
+ *
94
+ * @param cookieData
95
+ */
96
+ static set(cookieData) {
97
+ return Interaction.where(the `#actor sets cookie: ${cookieData}`, async (actor) => {
98
+ const cookie = ensure('cookieData', await actor.answer(Question.fromObject(cookieData)), isDefined(), isPlainObject());
99
+ const page = await BrowseTheWeb.as(actor).currentPage();
100
+ const sanitisedCookieData = {
101
+ name: ensure(`Cookie.set(cookieData.name)`, cookie.name, isDefined(), isString()),
102
+ value: ensure(`Cookie.set(cookieData.value)`, cookie.value, isDefined(), isString()),
103
+ path: ensureIfPresent(cookie, 'path', isString()),
104
+ domain: ensureIfPresent(cookie, 'domain', isString()),
105
+ secure: ensureIfPresent(cookie, 'secure', isBoolean()),
106
+ httpOnly: ensureIfPresent(cookie, 'httpOnly', isBoolean()),
107
+ expiry: ensureIfPresent(cookie, 'expiry', isInstanceOf(Timestamp)),
108
+ sameSite: ensureIfPresent(cookie, 'sameSite', isOneOf('Lax', 'Strict', 'None')),
109
+ };
110
+ return page.setCookie(sanitisedCookieData);
111
+ });
112
+ }
113
+ /**
114
+ * Creates an [interaction](https://serenity-js.org/api/core/class/Interaction/) to delete all cookies available to the current [`Page`](https://serenity-js.org/api/web/class/Page/)..
115
+ */
116
+ static deleteAll() {
117
+ return Interaction.where(`#actor deletes all cookies`, async (actor) => {
118
+ const page = await BrowseTheWeb.as(actor).currentPage();
119
+ await page.deleteAllCookies();
120
+ });
121
+ }
122
+ cookie;
123
+ constructor(cookieName) {
124
+ this.cookieName = cookieName;
125
+ ensure('browser', cookieName, isDefined());
126
+ }
127
+ /**
128
+ * Returns the name of this cookie.
129
+ */
130
+ name() {
131
+ return this.cookieName;
132
+ }
133
+ /**
134
+ * Checks if a given cookie is set.
135
+ *
136
+ * #### Learn more
137
+ * - [`Optional`](https://serenity-js.org/api/core/interface/Optional/)
138
+ */
139
+ async isPresent() {
140
+ try {
141
+ const cookie = await this.lazyLoadCookie();
142
+ return cookie && cookie.name === this.cookieName;
143
+ }
144
+ catch (error) {
145
+ if (error instanceof CookieMissingError) {
146
+ return false;
147
+ }
148
+ throw error;
149
+ }
150
+ }
151
+ /**
152
+ * Returns the value of a given cookie.
153
+ */
154
+ async value() {
155
+ const cookie = await this.lazyLoadCookie();
156
+ return cookie.value;
157
+ }
158
+ /**
159
+ * Returns the path of a given cookie, if any was set.
160
+ */
161
+ async path() {
162
+ const cookie = await this.lazyLoadCookie();
163
+ return cookie.path;
164
+ }
165
+ /**
166
+ * Returns the domain of a given cookie, if any was set.
167
+ */
168
+ async domain() {
169
+ const cookie = await this.lazyLoadCookie();
170
+ return cookie.domain;
171
+ }
172
+ /**
173
+ * Checks if a given cookie is HTTP-only.
174
+ *
175
+ * #### Learn more
176
+ * - [Mozilla Developer Network: Restricting access to cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies)
177
+ */
178
+ async isHttpOnly() {
179
+ const cookie = await this.lazyLoadCookie();
180
+ return cookie.httpOnly;
181
+ }
182
+ /**
183
+ * Checks if a given cookie is secure.
184
+ *
185
+ * #### Learn more
186
+ * - [Mozilla Developer Network: Restricting access to cookies](https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies)
187
+ */
188
+ async isSecure() {
189
+ const cookie = await this.lazyLoadCookie();
190
+ return cookie.secure;
191
+ }
192
+ /**
193
+ * Returns the expiry date of a given cookie
194
+ *
195
+ * #### Learn more
196
+ * - [`Timestamp`](https://serenity-js.org/api/core/class/Timestamp/)
197
+ */
198
+ async expiry() {
199
+ const cookie = await this.lazyLoadCookie();
200
+ return cookie.expiry;
201
+ }
202
+ /**
203
+ * Invokes `Cookie.read` and caches the result in memory.
204
+ */
205
+ async lazyLoadCookie() {
206
+ if (!this.cookie) {
207
+ this.cookie = await this.read();
208
+ }
209
+ return this.cookie;
210
+ }
211
+ }
212
+ /**
213
+ * @ignore
214
+ * @private
215
+ *
216
+ * @param data
217
+ * @param property
218
+ * @param predicates
219
+ */
220
+ function ensureIfPresent(data, property, ...predicates) {
221
+ return data[property]
222
+ ? ensure(`Cookie.set(cookieData.${property})`, data[property], ...predicates)
223
+ : undefined;
224
+ }
225
+ //# sourceMappingURL=Cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cookie.js","sourceRoot":"","sources":["../../../src/screenplay/models/Cookie.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { Timestamp } from '@serenity-js/core';
2
+ /**
3
+ * A data structure describing a [`Cookie`](https://serenity-js.org/api/web/class/Cookie/) to be set, or one that's been read.
4
+ *
5
+ * ## Learn more
6
+ *
7
+ * - [`Cookie`](https://serenity-js.org/api/web/class/Cookie/)
8
+ * - [`Page.cookie`](https://serenity-js.org/api/web/class/Page/#cookie)
9
+ *
10
+ * @group Models
11
+ */
12
+ export interface CookieData {
13
+ /**
14
+ * The name of the cookie.
15
+ */
16
+ name: string;
17
+ /**
18
+ * The value of the cookie.
19
+ */
20
+ value: string;
21
+ /**
22
+ * The domain this cookie is visible to.
23
+ *
24
+ * Defaults to the current browsing context's document's URL when setting a cookie.
25
+ */
26
+ domain?: string;
27
+ /**
28
+ * The cookie path. Defaults to "/" when adding a cookie.
29
+ */
30
+ path?: string;
31
+ /**
32
+ * The [timestamp](https://serenity-js.org/api/core/class/Timestamp/) describing the point in time when this cookie expires.
33
+ */
34
+ expiry?: Timestamp;
35
+ /**
36
+ * Whether the cookie is an HTTP-only cookie.
37
+ * Defaults to `false` when adding a new cookie.
38
+ */
39
+ httpOnly?: boolean;
40
+ /**
41
+ * Whether the cookie is a secure cookie.
42
+ * Defaults to `false` when adding a new cookie.
43
+ */
44
+ secure?: boolean;
45
+ /**
46
+ * Whether the cookie applies to a `SameSite` policy.
47
+ * Defaults to `None` if omitted when adding a cookie.
48
+ */
49
+ sameSite?: 'Lax' | 'Strict' | 'None';
50
+ }
51
+ //# sourceMappingURL=CookieData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieData.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/CookieData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IAEvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CookieData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieData.js","sourceRoot":"","sources":["../../../src/screenplay/models/CookieData.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Represents keyboard keys that aren't text, and that can be used with the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`Press`](https://serenity-js.org/api/web/class/Press/).
3
+ *
4
+ * **Note:** Modifier keys like [`Key.Shift`](https://serenity-js.org/api/web/class/Key/#Shift), [`Key.Alt`](https://serenity-js.org/api/web/class/Key/#Alt) and [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta) (a.k.a. "Command" on Mac) will stay pressed,
5
+ * so there's no need to depress them.
6
+ *
7
+ * ## Learn more
8
+ *
9
+ * - [`Press`](https://serenity-js.org/api/web/class/Press/)
10
+ * - [`Page.sendKeys`](https://serenity-js.org/api/web/class/Page/#sendKeys)
11
+ * - [W3C WebDriver Spec: Keyboard Actions](https://w3c.github.io/webdriver/webdriver-spec.html#keyboard-actions)
12
+ * - [Selenium WebDriver: Inputs](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/lib/input.js#L46)
13
+ * - [WebdriverIO: Constants](https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/constants.ts#L5)
14
+ *
15
+ * @group Models
16
+ */
17
+ export declare class Key {
18
+ readonly devtoolsName: string;
19
+ readonly utf16codePoint: string;
20
+ readonly isModifier: boolean;
21
+ /**
22
+ * Custom `instanceof` check that works across module boundaries (ESM/CJS dual-package hazard).
23
+ * Uses a Symbol-based brand check instead of relying on prototype chain.
24
+ */
25
+ static [Symbol.hasInstance](instance: unknown): instance is Key;
26
+ static Alt: Key;
27
+ static ArrowDown: Key;
28
+ static ArrowLeft: Key;
29
+ static ArrowRight: Key;
30
+ static ArrowUp: Key;
31
+ static Backspace: Key;
32
+ static Cancel: Key;
33
+ static Clear: Key;
34
+ static Control: Key;
35
+ static Delete: Key;
36
+ static End: Key;
37
+ static Enter: Key;
38
+ static Escape: Key;
39
+ static F1: Key;
40
+ static F2: Key;
41
+ static F3: Key;
42
+ static F4: Key;
43
+ static F5: Key;
44
+ static F6: Key;
45
+ static F7: Key;
46
+ static F8: Key;
47
+ static F9: Key;
48
+ static F10: Key;
49
+ static F11: Key;
50
+ static F12: Key;
51
+ static Help: Key;
52
+ static Home: Key;
53
+ static Insert: Key;
54
+ static Meta: Key;
55
+ static Numpad0: Key;
56
+ static Numpad1: Key;
57
+ static Numpad2: Key;
58
+ static Numpad3: Key;
59
+ static Numpad4: Key;
60
+ static Numpad5: Key;
61
+ static Numpad6: Key;
62
+ static Numpad7: Key;
63
+ static Numpad8: Key;
64
+ static Numpad9: Key;
65
+ static NumpadAdd: Key;
66
+ static NumpadDecimal: Key;
67
+ static NumpadDivide: Key;
68
+ static NumpadEqual: Key;
69
+ static NumpadMultiply: Key;
70
+ static NumpadSubtract: Key;
71
+ static PageDown: Key;
72
+ static PageUp: Key;
73
+ static Pause: Key;
74
+ static Semicolon: Key;
75
+ static Shift: Key;
76
+ static Space: Key;
77
+ static Tab: Key;
78
+ static isKey(maybeKey: unknown): maybeKey is Key;
79
+ constructor(devtoolsName: string, utf16codePoint: string, isModifier?: boolean);
80
+ toString(): string;
81
+ }
82
+ //# sourceMappingURL=Key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/Key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,GAAG;aAwEQ,YAAY,EAAE,MAAM;aACpB,cAAc,EAAE,MAAM;aACtB,UAAU,EAAE,OAAO;IAxEvC;;;OAGG;IACH,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,GAAG;IAQ/D,OAAc,GAAG,MAAkC;IACnD,OAAc,SAAS,MAAkC;IACzD,OAAc,SAAS,MAAkC;IACzD,OAAc,UAAU,MAAmC;IAC3D,OAAc,OAAO,MAAgC;IACrD,OAAc,SAAS,MAAkC;IACzD,OAAc,MAAM,MAA+B;IACnD,OAAc,KAAK,MAA8B;IACjD,OAAc,OAAO,MAAsC;IAC3D,OAAc,MAAM,MAA+B;IACnD,OAAc,GAAG,MAA4B;IAC7C,OAAc,KAAK,MAA8B;IACjD,OAAc,MAAM,MAA+B;IACnD,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,EAAE,MAA2B;IAC3C,OAAc,GAAG,MAA4B;IAC7C,OAAc,GAAG,MAA4B;IAC7C,OAAc,GAAG,MAA4B;IAC7C,OAAc,IAAI,MAA6B;IAC/C,OAAc,IAAI,MAA6B;IAC/C,OAAc,MAAM,MAA+B;IACnD,OAAc,IAAI,MAAmC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,OAAO,MAAgC;IACrD,OAAc,SAAS,MAAkC;IACzD,OAAc,aAAa,MAAsC;IACjE,OAAc,YAAY,MAAqC;IAC/D,OAAc,WAAW,MAAoC;IAC7D,OAAc,cAAc,MAAuC;IACnE,OAAc,cAAc,MAAuC;IACnE,OAAc,QAAQ,MAAiC;IACvD,OAAc,MAAM,MAA+B;IACnD,OAAc,KAAK,MAA8B;IACjD,OAAc,SAAS,MAAkC;IACzD,OAAc,KAAK,MAAoC;IACvD,OAAc,KAAK,MAA8B;IACjD,OAAc,GAAG,MAA4B;WAE/B,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,GAAG;gBAKnC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,OAAe;IAI/C,QAAQ,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Represents keyboard keys that aren't text, and that can be used with the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`Press`](https://serenity-js.org/api/web/class/Press/).
3
+ *
4
+ * **Note:** Modifier keys like [`Key.Shift`](https://serenity-js.org/api/web/class/Key/#Shift), [`Key.Alt`](https://serenity-js.org/api/web/class/Key/#Alt) and [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta) (a.k.a. "Command" on Mac) will stay pressed,
5
+ * so there's no need to depress them.
6
+ *
7
+ * ## Learn more
8
+ *
9
+ * - [`Press`](https://serenity-js.org/api/web/class/Press/)
10
+ * - [`Page.sendKeys`](https://serenity-js.org/api/web/class/Page/#sendKeys)
11
+ * - [W3C WebDriver Spec: Keyboard Actions](https://w3c.github.io/webdriver/webdriver-spec.html#keyboard-actions)
12
+ * - [Selenium WebDriver: Inputs](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/lib/input.js#L46)
13
+ * - [WebdriverIO: Constants](https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/constants.ts#L5)
14
+ *
15
+ * @group Models
16
+ */
17
+ export class Key {
18
+ devtoolsName;
19
+ utf16codePoint;
20
+ isModifier;
21
+ /**
22
+ * Custom `instanceof` check that works across module boundaries (ESM/CJS dual-package hazard).
23
+ * Uses a Symbol-based brand check instead of relying on prototype chain.
24
+ */
25
+ static [Symbol.hasInstance](instance) {
26
+ return !!instance
27
+ && typeof instance === 'object'
28
+ && 'devtoolsName' in instance
29
+ && 'utf16codePoint' in instance
30
+ && typeof instance.devtoolsName === 'string'
31
+ && typeof instance.utf16codePoint === 'string';
32
+ }
33
+ static Alt = new Key('Alt', '\uE00A', true);
34
+ static ArrowDown = new Key('ArrowDown', '\uE015');
35
+ static ArrowLeft = new Key('ArrowLeft', '\uE012');
36
+ static ArrowRight = new Key('ArrowRight', '\uE014');
37
+ static ArrowUp = new Key('ArrowUp', '\uE013');
38
+ static Backspace = new Key('Backspace', '\uE003');
39
+ static Cancel = new Key('Cancel', '\uE001');
40
+ static Clear = new Key('Clear', '\uE005');
41
+ static Control = new Key('Control', '\uE009', true);
42
+ static Delete = new Key('Delete', '\uE017');
43
+ static End = new Key('End', '\uE010');
44
+ static Enter = new Key('Enter', '\uE007');
45
+ static Escape = new Key('Escape', '\uE00C');
46
+ static F1 = new Key('F1', '\uE031');
47
+ static F2 = new Key('F2', '\uE032');
48
+ static F3 = new Key('F3', '\uE033');
49
+ static F4 = new Key('F4', '\uE034');
50
+ static F5 = new Key('F5', '\uE035');
51
+ static F6 = new Key('F6', '\uE036');
52
+ static F7 = new Key('F7', '\uE037');
53
+ static F8 = new Key('F8', '\uE038');
54
+ static F9 = new Key('F9', '\uE039');
55
+ static F10 = new Key('F10', '\uE03A');
56
+ static F11 = new Key('F11', '\uE03B');
57
+ static F12 = new Key('F12', '\uE03C');
58
+ static Help = new Key('Help', '\uE002');
59
+ static Home = new Key('Home', '\uE011');
60
+ static Insert = new Key('Insert', '\uE016');
61
+ static Meta = new Key('Meta', '\uE03D', true);
62
+ static Numpad0 = new Key('Numpad0', '\uE01A');
63
+ static Numpad1 = new Key('Numpad1', '\uE01B');
64
+ static Numpad2 = new Key('Numpad2', '\uE01C');
65
+ static Numpad3 = new Key('Numpad3', '\uE01D');
66
+ static Numpad4 = new Key('Numpad4', '\uE01E');
67
+ static Numpad5 = new Key('Numpad5', '\uE01F');
68
+ static Numpad6 = new Key('Numpad6', '\uE020');
69
+ static Numpad7 = new Key('Numpad7', '\uE021');
70
+ static Numpad8 = new Key('Numpad8', '\uE022');
71
+ static Numpad9 = new Key('Numpad9', '\uE023');
72
+ static NumpadAdd = new Key('NumpadAdd', '\uE025');
73
+ static NumpadDecimal = new Key('NumpadDecimal', '\uE028');
74
+ static NumpadDivide = new Key('NumpadDivide', '\uE029');
75
+ static NumpadEqual = new Key('NumpadEqual', '\uE019');
76
+ static NumpadMultiply = new Key('NumpadMultiply', '\uE024');
77
+ static NumpadSubtract = new Key('NumpadSubtract', '\uE027');
78
+ static PageDown = new Key('PageDown', '\uE00F');
79
+ static PageUp = new Key('PageUp', '\uE00E');
80
+ static Pause = new Key('Pause', '\uE00B');
81
+ static Semicolon = new Key('Semicolon', '\uE018');
82
+ static Shift = new Key('Shift', '\uE008', true);
83
+ static Space = new Key('Space', '\uE00D');
84
+ static Tab = new Key('Tab', '\uE004');
85
+ static isKey(maybeKey) {
86
+ return maybeKey instanceof Key;
87
+ }
88
+ constructor(devtoolsName, utf16codePoint, isModifier = false) {
89
+ this.devtoolsName = devtoolsName;
90
+ this.utf16codePoint = utf16codePoint;
91
+ this.isModifier = isModifier;
92
+ }
93
+ toString() {
94
+ return this.devtoolsName.replaceAll(/([a-z])([\dA-Z])/g, '$1 $2');
95
+ }
96
+ }
97
+ //# sourceMappingURL=Key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../src/screenplay/models/Key.ts"],"names":[],"mappings":"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"}