@serenity-js/web 3.0.0-rc.9 → 3.0.1

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 +337 -74
  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
@@ -0,0 +1,38 @@
1
+ import { ModalDialog } from './ModalDialog';
2
+ /**
3
+ * Represent the strategy to use with any upcoming {@apilink ModalDialog} windows.
4
+ *
5
+ * ## Learn more
6
+ *
7
+ * - {@apilink ModalDialog}
8
+ * - {@apilink Page.modalDialog}
9
+ *
10
+ * @group Models
11
+ */
12
+ export declare abstract class ModalDialogHandler {
13
+ protected modalDialog: ModalDialog;
14
+ protected constructor(modalDialog?: ModalDialog);
15
+ /**
16
+ * Configures the handler to accept the next JavaScript modal dialog.
17
+ */
18
+ abstract acceptNext(): Promise<void>;
19
+ /**
20
+ * Configures the handler to accept the next JavaScript `prompt``
21
+ * with a given `text` value.
22
+ */
23
+ abstract acceptNextWithValue(text: string | number): Promise<void>;
24
+ /**
25
+ * Configures the handler to dismiss the next JavaScript modal dialog.
26
+ */
27
+ abstract dismissNext(): Promise<void>;
28
+ /**
29
+ * Resets the handler to its default state.
30
+ */
31
+ abstract reset(): Promise<void>;
32
+ /**
33
+ * Returns the most recently handled {@apilink ModalDialog},
34
+ * or {@apilink AbsentModalDialog} when no dialogs have been handled yet.
35
+ */
36
+ last(): Promise<ModalDialog>;
37
+ }
38
+ //# sourceMappingURL=ModalDialogHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalDialogHandler.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/dialogs/ModalDialogHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;GASG;AACH,8BAAsB,kBAAkB;IAEd,SAAS,CAAC,WAAW,EAAE,WAAW;IAAxD,SAAS,aAAuB,WAAW,GAAE,WAAqC;IAIlF;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC;CAGrC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModalDialogHandler = void 0;
4
+ const tiny_types_1 = require("tiny-types");
5
+ const AbsentModalDialog_1 = require("./AbsentModalDialog");
6
+ /**
7
+ * Represent the strategy to use with any upcoming {@apilink ModalDialog} windows.
8
+ *
9
+ * ## Learn more
10
+ *
11
+ * - {@apilink ModalDialog}
12
+ * - {@apilink Page.modalDialog}
13
+ *
14
+ * @group Models
15
+ */
16
+ class ModalDialogHandler {
17
+ constructor(modalDialog = new AbsentModalDialog_1.AbsentModalDialog()) {
18
+ this.modalDialog = modalDialog;
19
+ (0, tiny_types_1.ensure)('modalDialog', modalDialog, (0, tiny_types_1.isDefined)());
20
+ }
21
+ /**
22
+ * Returns the most recently handled {@apilink ModalDialog},
23
+ * or {@apilink AbsentModalDialog} when no dialogs have been handled yet.
24
+ */
25
+ async last() {
26
+ return this.modalDialog;
27
+ }
28
+ }
29
+ exports.ModalDialogHandler = ModalDialogHandler;
30
+ //# sourceMappingURL=ModalDialogHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalDialogHandler.js","sourceRoot":"","sources":["../../../../src/screenplay/models/dialogs/ModalDialogHandler.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAE/C,2DAAwD;AAGxD;;;;;;;;;GASG;AACH,MAAsB,kBAAkB;IAEpC,YAAgC,cAA2B,IAAI,qCAAiB,EAAE;QAAlD,gBAAW,GAAX,WAAW,CAAuC;QAC9E,IAAA,mBAAM,EAAC,aAAa,EAAE,WAAW,EAAE,IAAA,sBAAS,GAAE,CAAC,CAAC;IACpD,CAAC;IAuBD;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAlCD,gDAkCC"}
@@ -0,0 +1,6 @@
1
+ export * from './AbsentModalDialog';
2
+ export * from './AcceptedModalDialog';
3
+ export * from './DismissedModalDialog';
4
+ export * from './ModalDialog';
5
+ export * from './ModalDialogHandler';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/dialogs/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AbsentModalDialog"), exports);
18
+ __exportStar(require("./AcceptedModalDialog"), exports);
19
+ __exportStar(require("./DismissedModalDialog"), exports);
20
+ __exportStar(require("./ModalDialog"), exports);
21
+ __exportStar(require("./ModalDialogHandler"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/screenplay/models/dialogs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,wDAAsC;AACtC,yDAAuC;AACvC,gDAA8B;AAC9B,uDAAqC"}
@@ -1,8 +1,16 @@
1
+ export * from './BrowserCapabilities';
2
+ export * from './BrowsingSession';
1
3
  export * from './Cookie';
2
4
  export * from './CookieData';
5
+ export * from './dialogs';
6
+ export * from './Key';
3
7
  export * from './Locator';
4
- export * from './ModalDialog';
5
8
  export * from './Page';
6
9
  export * from './PageElement';
7
10
  export * from './PageElements';
11
+ export * from './RootLocator';
12
+ export * from './SelectOption';
8
13
  export * from './selectors';
14
+ export * from './Switchable';
15
+ export * from './SwitchableOrigin';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,12 +14,19 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BrowserCapabilities"), exports);
18
+ __exportStar(require("./BrowsingSession"), exports);
13
19
  __exportStar(require("./Cookie"), exports);
14
20
  __exportStar(require("./CookieData"), exports);
21
+ __exportStar(require("./dialogs"), exports);
22
+ __exportStar(require("./Key"), exports);
15
23
  __exportStar(require("./Locator"), exports);
16
- __exportStar(require("./ModalDialog"), exports);
17
24
  __exportStar(require("./Page"), exports);
18
25
  __exportStar(require("./PageElement"), exports);
19
26
  __exportStar(require("./PageElements"), exports);
27
+ __exportStar(require("./RootLocator"), exports);
28
+ __exportStar(require("./SelectOption"), exports);
20
29
  __exportStar(require("./selectors"), exports);
30
+ __exportStar(require("./Switchable"), exports);
31
+ __exportStar(require("./SwitchableOrigin"), exports);
21
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,4CAA0B;AAC1B,gDAA8B;AAC9B,yCAAuB;AACvB,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenplay/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,oDAAkC;AAClC,2CAAyB;AACzB,+CAA6B;AAC7B,4CAA0B;AAC1B,wCAAsB;AACtB,4CAA0B;AAC1B,yCAAuB;AACvB,gDAA8B;AAC9B,iDAA+B;AAC/B,gDAA8B;AAC9B,iDAA+B;AAC/B,8CAA4B;AAC5B,+CAA6B;AAC7B,qDAAmC"}
@@ -4,10 +4,48 @@ import { ByCssContainingText } from './ByCssContainingText';
4
4
  import { ById } from './ById';
5
5
  import { ByTagName } from './ByTagName';
6
6
  import { ByXPath } from './ByXPath';
7
+ /**
8
+ * @group Models
9
+ */
7
10
  export declare class By {
11
+ /**
12
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
13
+ *
14
+ * @param selector
15
+ */
8
16
  static css(selector: Answerable<string>): Question<Promise<ByCss>>;
17
+ /**
18
+ * Locates a {@apilink PageElement} with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
19
+ * using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
20
+ *
21
+ * @param selector
22
+ * @param text
23
+ */
9
24
  static cssContainingText(selector: Answerable<string>, text: Answerable<string>): Question<Promise<ByCssContainingText>>;
25
+ /**
26
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
27
+ * capable of piercing [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)-piercing
28
+ *
29
+ * @param selector
30
+ */
31
+ static deepCss(selector: Answerable<string>): Question<Promise<ByCss>>;
32
+ /**
33
+ * Locates a {@apilink PageElement} using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
34
+ *
35
+ * @param selector
36
+ */
10
37
  static id(selector: Answerable<string>): Question<Promise<ById>>;
38
+ /**
39
+ * Locates a {@apilink PageElement} using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
40
+ *
41
+ * @param selector
42
+ */
11
43
  static tagName(selector: Answerable<string>): Question<Promise<ByTagName>>;
44
+ /**
45
+ * Locates a {@apilink PageElement} using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
46
+ *
47
+ * @param selector
48
+ */
12
49
  static xpath(selector: Answerable<string>): Question<Promise<ByXPath>>;
13
50
  }
51
+ //# sourceMappingURL=By.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"By.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/By.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,qBAAa,EAAE;IAEX;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAOlE;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAQxH;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAOtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAOhE;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAO1E;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CAMzE"}
@@ -4,16 +4,32 @@ exports.By = void 0;
4
4
  const core_1 = require("@serenity-js/core");
5
5
  const ByCss_1 = require("./ByCss");
6
6
  const ByCssContainingText_1 = require("./ByCssContainingText");
7
+ const ByDeepCss_1 = require("./ByDeepCss");
7
8
  const ById_1 = require("./ById");
8
9
  const ByTagName_1 = require("./ByTagName");
9
10
  const ByXPath_1 = require("./ByXPath");
11
+ /**
12
+ * @group Models
13
+ */
10
14
  class By {
15
+ /**
16
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
17
+ *
18
+ * @param selector
19
+ */
11
20
  static css(selector) {
12
21
  return core_1.Question.about((0, core_1.f) `by css (${selector})`, async (actor) => {
13
22
  const bySelector = await actor.answer(selector);
14
23
  return new ByCss_1.ByCss(bySelector);
15
24
  });
16
25
  }
26
+ /**
27
+ * Locates a {@apilink PageElement} with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
28
+ * using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
29
+ *
30
+ * @param selector
31
+ * @param text
32
+ */
17
33
  static cssContainingText(selector, text) {
18
34
  return core_1.Question.about((0, core_1.f) `by css (${selector}) containing text ${text}`, async (actor) => {
19
35
  const bySelector = await actor.answer(selector);
@@ -21,18 +37,45 @@ class By {
21
37
  return new ByCssContainingText_1.ByCssContainingText(bySelector, textSelector);
22
38
  });
23
39
  }
40
+ /**
41
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
42
+ * capable of piercing [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)-piercing
43
+ *
44
+ * @param selector
45
+ */
46
+ static deepCss(selector) {
47
+ return core_1.Question.about((0, core_1.f) `by deep css (${selector})`, async (actor) => {
48
+ const bySelector = await actor.answer(selector);
49
+ return new ByDeepCss_1.ByDeepCss(bySelector);
50
+ });
51
+ }
52
+ /**
53
+ * Locates a {@apilink PageElement} using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
54
+ *
55
+ * @param selector
56
+ */
24
57
  static id(selector) {
25
58
  return core_1.Question.about((0, core_1.f) `by id (${selector})`, async (actor) => {
26
59
  const bySelector = await actor.answer(selector);
27
60
  return new ById_1.ById(bySelector);
28
61
  });
29
62
  }
63
+ /**
64
+ * Locates a {@apilink PageElement} using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
65
+ *
66
+ * @param selector
67
+ */
30
68
  static tagName(selector) {
31
69
  return core_1.Question.about((0, core_1.f) `by tag name (${selector})`, async (actor) => {
32
70
  const bySelector = await actor.answer(selector);
33
71
  return new ByTagName_1.ByTagName(bySelector);
34
72
  });
35
73
  }
74
+ /**
75
+ * Locates a {@apilink PageElement} using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
76
+ *
77
+ * @param selector
78
+ */
36
79
  static xpath(selector) {
37
80
  return core_1.Question.about((0, core_1.f) `by xpath (${selector})`, async (actor) => {
38
81
  const bySelector = await actor.answer(selector);
@@ -1 +1 @@
1
- {"version":3,"file":"By.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/By.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAE5D,mCAAgC;AAChC,+DAA4D;AAC5D,iCAA8B;AAC9B,2CAAwC;AACxC,uCAAoC;AAEpC,MAAa,EAAE;IACX,MAAM,CAAC,GAAG,CAAC,QAA4B;QACnC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,WAAW,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACzD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,aAAK,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,QAA4B,EAAE,IAAwB;QAC3E,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,WAAW,QAAQ,qBAAsB,IAAK,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACnF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,yCAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAE,CAAC,QAA4B;QAClC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,UAAU,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACxD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,WAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,QAA4B;QACvC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,gBAAgB,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAA4B;QACrC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,aAAa,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC3D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,iBAAO,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AApCD,gBAoCC"}
1
+ {"version":3,"file":"By.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/By.ts"],"names":[],"mappings":";;;AAAA,4CAA4D;AAE5D,mCAAgC;AAChC,+DAA4D;AAC5D,2CAAwC;AACxC,iCAA8B;AAC9B,2CAAwC;AACxC,uCAAoC;AAEpC;;GAEG;AACH,MAAa,EAAE;IAEX;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,QAA4B;QACnC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,WAAW,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACzD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,aAAK,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAA4B,EAAE,IAAwB;QAC3E,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,WAAW,QAAQ,qBAAsB,IAAK,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACnF,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,IAAI,yCAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,QAA4B;QACvC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,gBAAgB,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAA4B;QAClC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,UAAU,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACxD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,WAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAA4B;QACvC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,gBAAgB,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC9D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,qBAAS,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,QAA4B;QACrC,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,aAAa,QAAQ,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC3D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,OAAO,IAAI,iBAAO,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA7ED,gBA6EC"}
@@ -1,5 +1,13 @@
1
1
  import { Selector } from './Selector';
2
+ /**
3
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
4
+ *
5
+ * **Pro tip:** Instantiate using {@apilink By.css}
6
+ *
7
+ * @group Models
8
+ */
2
9
  export declare class ByCss extends Selector {
3
10
  readonly value: string;
4
11
  constructor(value: string);
5
12
  }
13
+ //# sourceMappingURL=ByCss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByCss.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByCss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;GAMG;AACH,qBAAa,KAAM,SAAQ,QAAQ;aACH,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAG5C"}
@@ -2,6 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ByCss = void 0;
4
4
  const Selector_1 = require("./Selector");
5
+ /**
6
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
7
+ *
8
+ * **Pro tip:** Instantiate using {@apilink By.css}
9
+ *
10
+ * @group Models
11
+ */
5
12
  class ByCss extends Selector_1.Selector {
6
13
  constructor(value) {
7
14
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"ByCss.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByCss.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,KAAM,SAAQ,mBAAQ;IAC/B,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,sBAIC"}
1
+ {"version":3,"file":"ByCss.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByCss.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC;;;;;;GAMG;AACH,MAAa,KAAM,SAAQ,mBAAQ;IAC/B,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,sBAIC"}
@@ -1,6 +1,15 @@
1
1
  import { Selector } from './Selector';
2
+ /**
3
+ * Locates a {@apilink PageElement} with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
4
+ * using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
5
+ *
6
+ * **Pro tip:** Instantiate using {@apilink By.cssContainingText}
7
+ *
8
+ * @group Models
9
+ */
2
10
  export declare class ByCssContainingText extends Selector {
3
11
  readonly value: string;
4
12
  readonly text: string;
5
13
  constructor(value: string, text: string);
6
14
  }
15
+ //# sourceMappingURL=ByCssContainingText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByCssContainingText.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByCssContainingText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,QAAQ;aACjB,KAAK,EAAE,MAAM;aAAkB,IAAI,EAAE,MAAM;gBAA3C,KAAK,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;CAG1E"}
@@ -2,6 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ByCssContainingText = void 0;
4
4
  const Selector_1 = require("./Selector");
5
+ /**
6
+ * Locates a {@apilink PageElement} with a given [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText)
7
+ * using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors).
8
+ *
9
+ * **Pro tip:** Instantiate using {@apilink By.cssContainingText}
10
+ *
11
+ * @group Models
12
+ */
5
13
  class ByCssContainingText extends Selector_1.Selector {
6
14
  constructor(value, text) {
7
15
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"ByCssContainingText.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByCssContainingText.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,mBAAoB,SAAQ,mBAAQ;IAC7C,YAA4B,KAAa,EAAkB,IAAY;QACnE,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;QAAkB,SAAI,GAAJ,IAAI,CAAQ;IAEvE,CAAC;CACJ;AAJD,kDAIC"}
1
+ {"version":3,"file":"ByCssContainingText.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByCssContainingText.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC;;;;;;;GAOG;AACH,MAAa,mBAAoB,SAAQ,mBAAQ;IAC7C,YAA4B,KAAa,EAAkB,IAAY;QACnE,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;QAAkB,SAAI,GAAJ,IAAI,CAAQ;IAEvE,CAAC;CACJ;AAJD,kDAIC"}
@@ -0,0 +1,14 @@
1
+ import { Selector } from './Selector';
2
+ /**
3
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
4
+ * capable of piercing [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)-piercing
5
+ *
6
+ * **Pro tip:** Instantiate using {@apilink By.deepCss}
7
+ *
8
+ * @group Models
9
+ */
10
+ export declare class ByDeepCss extends Selector {
11
+ readonly value: string;
12
+ constructor(value: string);
13
+ }
14
+ //# sourceMappingURL=ByDeepCss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByDeepCss.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByDeepCss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,QAAQ;aACP,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAG5C"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ByDeepCss = void 0;
4
+ const Selector_1 = require("./Selector");
5
+ /**
6
+ * Locates a {@apilink PageElement} using a [CSS selector](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Selectors)
7
+ * capable of piercing [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM)-piercing
8
+ *
9
+ * **Pro tip:** Instantiate using {@apilink By.deepCss}
10
+ *
11
+ * @group Models
12
+ */
13
+ class ByDeepCss extends Selector_1.Selector {
14
+ constructor(value) {
15
+ super();
16
+ this.value = value;
17
+ }
18
+ }
19
+ exports.ByDeepCss = ByDeepCss;
20
+ //# sourceMappingURL=ByDeepCss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByDeepCss.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByDeepCss.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC;;;;;;;GAOG;AACH,MAAa,SAAU,SAAQ,mBAAQ;IACnC,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,8BAIC"}
@@ -1,5 +1,13 @@
1
1
  import { Selector } from './Selector';
2
+ /**
3
+ * Locates a {@apilink PageElement} using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
4
+ *
5
+ * **Pro tip:** Instantiate using {@apilink By.id}
6
+ *
7
+ * @group Models
8
+ */
2
9
  export declare class ById extends Selector {
3
10
  readonly value: string;
4
11
  constructor(value: string);
5
12
  }
13
+ //# sourceMappingURL=ById.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ById.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ById.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;GAMG;AACH,qBAAa,IAAK,SAAQ,QAAQ;aACF,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAG5C"}
@@ -2,6 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ById = void 0;
4
4
  const Selector_1 = require("./Selector");
5
+ /**
6
+ * Locates a {@apilink PageElement} using its [id](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors).
7
+ *
8
+ * **Pro tip:** Instantiate using {@apilink By.id}
9
+ *
10
+ * @group Models
11
+ */
5
12
  class ById extends Selector_1.Selector {
6
13
  constructor(value) {
7
14
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"ById.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ById.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,IAAK,SAAQ,mBAAQ;IAC9B,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,oBAIC"}
1
+ {"version":3,"file":"ById.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ById.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC;;;;;;GAMG;AACH,MAAa,IAAK,SAAQ,mBAAQ;IAC9B,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,oBAIC"}
@@ -1,5 +1,13 @@
1
1
  import { Selector } from './Selector';
2
+ /**
3
+ * Locates a {@apilink PageElement} using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
4
+ *
5
+ * **Pro tip:** Instantiate using {@apilink By.tagName}
6
+ *
7
+ * @group Models
8
+ */
2
9
  export declare class ByTagName extends Selector {
3
10
  readonly value: string;
4
11
  constructor(value: string);
5
12
  }
13
+ //# sourceMappingURL=ByTagName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByTagName.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByTagName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,QAAQ;aACP,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAG5C"}
@@ -2,6 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ByTagName = void 0;
4
4
  const Selector_1 = require("./Selector");
5
+ /**
6
+ * Locates a {@apilink PageElement} using the name of its [HTML tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element).
7
+ *
8
+ * **Pro tip:** Instantiate using {@apilink By.tagName}
9
+ *
10
+ * @group Models
11
+ */
5
12
  class ByTagName extends Selector_1.Selector {
6
13
  constructor(value) {
7
14
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"ByTagName.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByTagName.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,SAAU,SAAQ,mBAAQ;IACnC,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,8BAIC"}
1
+ {"version":3,"file":"ByTagName.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByTagName.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC;;;;;;GAMG;AACH,MAAa,SAAU,SAAQ,mBAAQ;IACnC,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,8BAIC"}
@@ -1,5 +1,13 @@
1
1
  import { Selector } from './Selector';
2
+ /**
3
+ * Locates a {@apilink PageElement} using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
4
+ *
5
+ * **Pro tip:** Instantiate using {@apilink By.xpath}
6
+ *
7
+ * @group Models
8
+ */
2
9
  export declare class ByXPath extends Selector {
3
10
  readonly value: string;
4
11
  constructor(value: string);
5
12
  }
13
+ //# sourceMappingURL=ByXPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByXPath.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByXPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,QAAQ;aACL,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAG5C"}
@@ -2,6 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ByXPath = void 0;
4
4
  const Selector_1 = require("./Selector");
5
+ /**
6
+ * Locates a {@apilink PageElement} using an [XPath selector](https://developer.mozilla.org/en-US/docs/Web/XPath).
7
+ *
8
+ * **Pro tip:** Instantiate using {@apilink By.xpath}
9
+ *
10
+ * @group Models
11
+ */
5
12
  class ByXPath extends Selector_1.Selector {
6
13
  constructor(value) {
7
14
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"ByXPath.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByXPath.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC,MAAa,OAAQ,SAAQ,mBAAQ;IACjC,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,0BAIC"}
1
+ {"version":3,"file":"ByXPath.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/ByXPath.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AAEtC;;;;;;GAMG;AACH,MAAa,OAAQ,SAAQ,mBAAQ;IACjC,YAA4B,KAAa;QACrC,KAAK,EAAE,CAAC;QADgB,UAAK,GAAL,KAAK,CAAQ;IAEzC,CAAC;CACJ;AAJD,0BAIC"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Describes a selector you use to identify a {@apilink PageElement} or a group of {@apilink PageElements}.
3
+ *
4
+ * @group Models
5
+ */
1
6
  export declare abstract class Selector {
2
7
  toString(): string;
3
8
  }
9
+ //# sourceMappingURL=Selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Selector.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/Selector.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,8BAAsB,QAAQ;IAE1B,QAAQ,IAAI,MAAM;CAMrB"}
@@ -2,9 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Selector = void 0;
4
4
  const core_1 = require("@serenity-js/core");
5
+ /**
6
+ * Describes a selector you use to identify a {@apilink PageElement} or a group of {@apilink PageElements}.
7
+ *
8
+ * @group Models
9
+ */
5
10
  class Selector {
6
11
  toString() {
7
- const selectorDescription = this.constructor.name.replace(/([a-z]+)([A-Z])/g, '$1 $2').toLowerCase();
12
+ const selectorDescription = this.constructor.name.replace(/([a-z])([A-Z])/g, '$1 $2').toLowerCase();
8
13
  const parametersDescription = Object.keys(this).map(field => (0, core_1.f) `${this[field]}`).join(', ');
9
14
  return `${selectorDescription} (${parametersDescription})`;
10
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/Selector.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AAEtC,MAAsB,QAAQ;IAE1B,QAAQ;QACJ,MAAM,mBAAmB,GAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACvG,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,QAAC,EAAA,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3F,OAAO,GAAI,mBAAoB,KAAM,qBAAsB,GAAG,CAAC;IACnE,CAAC;CACJ;AARD,4BAQC"}
1
+ {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/Selector.ts"],"names":[],"mappings":";;;AAAA,4CAAsC;AAEtC;;;;GAIG;AACH,MAAsB,QAAQ;IAE1B,QAAQ;QACJ,MAAM,mBAAmB,GAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACtG,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,QAAC,EAAA,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3F,OAAO,GAAI,mBAAoB,KAAM,qBAAsB,GAAG,CAAC;IACnE,CAAC;CACJ;AARD,4BAQC"}
@@ -1,7 +1,9 @@
1
1
  export * from './By';
2
2
  export * from './ByCss';
3
3
  export * from './ByCssContainingText';
4
+ export * from './ByDeepCss';
4
5
  export * from './ById';
5
6
  export * from './ByTagName';
6
7
  export * from './ByXPath';
7
8
  export * from './Selector';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/screenplay/models/selectors/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}