@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
@@ -1,211 +1,250 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Selected = void 0;
4
- const io_1 = require("@serenity-js/core/lib/io");
5
- const models_1 = require("../models");
6
- const Text_1 = require("./Text");
7
- const Value_1 = require("./Value");
4
+ const core_1 = require("@serenity-js/core");
8
5
  /**
9
- * @desc
10
- * Represents options and values selected in a
11
- * [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
6
+ * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
7
+ * options and values selected in a
8
+ * [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
12
9
  *
13
- * @see {@link Select}
10
+ * ## Learn more
11
+ * - {@apilink Select}
12
+ * - {@apilink BrowseTheWeb}
13
+ * - {@apilink QuestionAdapter}
14
+ * - {@apilink Question}
15
+ *
16
+ * @group Questions
14
17
  */
15
18
  class Selected {
16
19
  /**
17
- * @desc
18
- * Represents the value of a single option selected in a
19
- * [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
20
- *
21
- * @example <caption>Example widget</caption>
22
- * <select data-test='countries'>
23
- * <option value='UK'>United Kingdom</option>
24
- * <option value='PL'>Poland</option>
25
- * <option value='US'>United States</option>
26
- * </select>
27
- *
28
- * @example <caption>Lean Page Object</caption>
29
- * import { Target } from '@serenity-js/protractor';
30
- * import { browser, by } from 'protractor';
31
- *
32
- * class Countries {
33
- * static dropdown = Target.the('countries dropdown')
34
- * .located(by.css('[data-test="countries"]'));
35
- * }
36
- *
37
- * @example <caption>Retrieving the selected value</caption>
38
- * import { actorCalled } from '@serenity-js/core';
39
- * import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
40
- * import { Ensure, equals } from '@serenity-js/assertions';
41
- * import { protractor } from 'protractor';
42
- *
43
- * actorCalled('Nick')
44
- * .whoCan(BrowseTheWeb.using(protractor.browser))
45
- * .attemptsTo(
46
- * Select.value('UK').from(Countries.dropdown),
47
- * Ensure.that(Selected.valueOf(Countries.dropdown), equals('UK')),
48
- * );
49
- *
50
- * @param {Answerable<PageElement>} pageElement
51
- * A {@link PageElement} identifying the `<select>` element of interest
52
- *
53
- * @returns {Question<Promise<string>>}
54
- *
55
- * @see {@link Select.value}
20
+ * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
21
+ * a single [option](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
22
+ * selected in an [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
23
+ *
24
+ * #### Example widget
25
+ *
26
+ * ```html
27
+ * <select multiple data-test='countries'>
28
+ * <option value='UK'>United Kingdom</option>
29
+ * <option value='PL'>Poland</option>
30
+ * <option value='US'>United States</option>
31
+ * </select>
32
+ * ```
33
+ *
34
+ * #### Lean Page Object describing the widget
35
+ *
36
+ * ```ts
37
+ * import { By, PageElement } from '@serenity-js/web'
38
+ *
39
+ * class Countries {
40
+ * static dropdown = () =>
41
+ * PageElement.located(By.css('[data-test="countries"]'))
42
+ * .describedAs('countries dropdown');
43
+ * }
44
+ * ```
45
+ *
46
+ * #### Retrieving the selected value
47
+ *
48
+ * ```ts
49
+ * import { actorCalled } from '@serenity-js/core'
50
+ * import { Select, Selected } from '@serenity-js/web'
51
+ * import { Ensure, equals } from '@serenity-js/assertions'
52
+ *
53
+ * await actorCalled('Nick')
54
+ * .whoCan(BrowseTheWeb.using(protractor.browser))
55
+ * .attemptsTo(
56
+ * Select.value('UK').from(Countries.dropdown),
57
+ * Ensure.that(Selected.valueOf(Countries.dropdown), equals('UK')),
58
+ * )
59
+ * ```
60
+ *
61
+ * #### Learn more
62
+ * - {@apilink Select.value}
63
+ *
64
+ * @param pageElement
65
+ * A {@apilink PageElement} identifying the `<select>` element of interest
56
66
  */
57
67
  static valueOf(pageElement) {
58
- return models_1.PageElement.located(models_1.By.css('option:checked'))
59
- .of(pageElement)
60
- .value()
61
- .describedAs((0, io_1.formatted) `value selected in ${pageElement}`);
68
+ return core_1.Question.about((0, core_1.d) `value selected in ${pageElement}`, async (actor) => {
69
+ const element = await actor.answer(pageElement);
70
+ const options = await element.selectedOptions();
71
+ return options
72
+ .filter(option => option.selected)
73
+ .map(option => option.value)[0];
74
+ });
62
75
  }
63
76
  /**
64
- * @desc
65
- * Represents values of options selected in a
66
- * [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
67
- *
68
- * @example <caption>Example widget</caption>
69
- * <select multiple data-test='countries'>
70
- * <option value='UK'>United Kingdom</option>
71
- * <option value='PL'>Poland</option>
72
- * <option value='US'>United States</option>
73
- * </select>
74
- *
75
- * @example <caption>Lean Page Object</caption>
76
- * import { Target } from '@serenity-js/protractor';
77
- * import { browser, by } from 'protractor';
78
- *
79
- * class Countries {
80
- * static dropdown = Target.the('countries dropdown')
81
- * .located(by.css('[data-test="countries"]'));
82
- * }
83
- *
84
- * @example <caption>Retrieving the selected value</caption>
85
- * import { actorCalled } from '@serenity-js/core';
86
- * import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
87
- * import { Ensure, equals } from '@serenity-js/assertions';
88
- * import { protractor } from 'protractor';
89
- *
90
- * actorCalled('Nick')
91
- * .whoCan(BrowseTheWeb.using(protractor.browser))
92
- * .attemptsTo(
93
- * Select.values('UK').from(Countries.dropdown),
94
- * Ensure.that(Selected.valuesOf(Countries.dropdown), equals([ 'UK' ])),
95
- * );
96
- *
97
- * @param {Answerable<PageElement>} pageElement
98
- * A {@link Target} identifying the `<select>` element of interest
99
- *
100
- * @returns {Question<Promise<string[]>>}
101
- *
102
- * @see {@link Select.values}
77
+ * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
78
+ * values of [options](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
79
+ * selected in an [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
80
+ *
81
+ * #### Example widget
82
+ *
83
+ * ```html
84
+ * <select multiple data-test='countries'>
85
+ * <option value='UK'>United Kingdom</option>
86
+ * <option value='PL'>Poland</option>
87
+ * <option value='US'>United States</option>
88
+ * </select>
89
+ * ```
90
+ *
91
+ * #### Lean Page Object describing the widget
92
+ *
93
+ * ```ts
94
+ * import { By, PageElement } from '@serenity-js/web'
95
+ *
96
+ * class Countries {
97
+ * static dropdown = () =>
98
+ * PageElement.located(By.css('[data-test="countries"]'))
99
+ * .describedAs('countries dropdown')
100
+ * }
101
+ * ```
102
+ *
103
+ * #### Retrieving the selected value
104
+ *
105
+ * ```ts
106
+ * import { actorCalled } from '@serenity-js/core'
107
+ * import { Select, Selected } from '@serenity-js/web'
108
+ * import { Ensure, equals } from '@serenity-js/assertions'
109
+ *
110
+ * await actorCalled('Nick')
111
+ * .whoCan(BrowseTheWeb.using(protractor.browser))
112
+ * .attemptsTo(
113
+ * Select.values('UK').from(Countries.dropdown),
114
+ * Ensure.that(Selected.valuesOf(Countries.dropdown), equals([ 'UK' ])),
115
+ * )
116
+ * ```
117
+ *
118
+ * #### Learn more
119
+ * - {@apilink Select.values}
120
+ *
121
+ * @param pageElement
122
+ * A {@apilink PageElement} identifying the `<select>` element of interest
103
123
  */
104
124
  static valuesOf(pageElement) {
105
- return models_1.PageElements.located(models_1.By.css('option:checked'))
106
- .of(pageElement)
107
- .eachMappedTo(Value_1.Value)
108
- .describedAs((0, io_1.formatted) `values selected in ${pageElement}`);
125
+ return core_1.Question.about((0, core_1.d) `values selected in ${pageElement}`, async (actor) => {
126
+ const element = await actor.answer(pageElement);
127
+ const options = await element.selectedOptions();
128
+ return options
129
+ .filter(option => option.selected)
130
+ .map(option => option.value);
131
+ });
109
132
  }
110
133
  /**
111
- * @desc
112
- * Represents a single option selected in a
113
- * [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
114
- *
115
- * @example <caption>Example widget</caption>
116
- * <select data-test='countries'>
117
- * <option value='UK'>United Kingdom</option>
118
- * <option value='PL'>Poland</option>
119
- * <option value='US'>United States</option>
120
- * </select>
121
- *
122
- * @example <caption>Lean Page Object</caption>
123
- * import { Target } from '@serenity-js/protractor';
124
- * import { browser, by } from 'protractor';
125
- *
126
- * class Countries {
127
- * static dropdown = Target.the('countries dropdown')
128
- * .located(by.css('[data-test="countries"]'));
129
- * }
130
- *
131
- * @example <caption>Retrieving the selected value</caption>
132
- * import { actorCalled } from '@serenity-js/core';
133
- * import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
134
- * import { Ensure, equals } from '@serenity-js/assertions';
135
- * import { protractor } from 'protractor';
136
- *
137
- * actorCalled('Nick')
138
- * .whoCan(BrowseTheWeb.using(protractor.browser))
139
- * .attemptsTo(
140
- * Select.option('Poland').from(Countries.dropdown),
141
- * Ensure.that(
142
- * Selected.optionIn(Countries.dropdown),
143
- * equals('Poland')
144
- * ),
145
- * );
146
- *
147
- * @param {Answerable<PageElement>} pageElement
148
- * A {@link Target} identifying the `<select>` element of interest
149
- *
150
- * @returns {Question<Promise<string>>}
151
- *
152
- * @see {@link Select.option}
134
+ * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
135
+ * a single option selected in an [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
136
+ *
137
+ * #### Example widget
138
+ *
139
+ * ```html
140
+ * <select multiple data-test='countries'>
141
+ * <option value='UK'>United Kingdom</option>
142
+ * <option value='PL'>Poland</option>
143
+ * <option value='US'>United States</option>
144
+ * </select>
145
+ * ```
146
+ *
147
+ * #### Lean Page Object describing the widget
148
+ *
149
+ * ```ts
150
+ * import { By, PageElement } from '@serenity-js/web'
151
+ *
152
+ * class Countries {
153
+ * static dropdown = () =>
154
+ * PageElement.located(By.css('[data-test="countries"]'))
155
+ * .describedAs('countries dropdown')
156
+ * }
157
+ * ```
158
+ *
159
+ * #### Retrieving the selected value
160
+ *
161
+ * ```ts
162
+ * import { actorCalled } from '@serenity-js/core'
163
+ * import { Select, Selected } from '@serenity-js/web'
164
+ * import { Ensure, equals } from '@serenity-js/assertions'
165
+ *
166
+ * await actorCalled('Nick')
167
+ * .attemptsTo(
168
+ * Select.option('Poland').from(Countries.dropdown),
169
+ * Ensure.that(
170
+ * Selected.optionIn(Countries.dropdown),
171
+ * equals('Poland')
172
+ * ),
173
+ * )
174
+ * ```
175
+ *
176
+ * #### Learn more
177
+ * - {@apilink Select.option}
178
+ *
179
+ * @param pageElement
180
+ * A {@apilink PageElement} identifying the `<select>` element of interest
153
181
  */
154
182
  static optionIn(pageElement) {
155
- return models_1.PageElement.located(models_1.By.css('option:checked'))
156
- .of(pageElement)
157
- .text()
158
- .describedAs((0, io_1.formatted) `option selected in ${pageElement}`);
183
+ return core_1.Question.about((0, core_1.d) `option selected in ${pageElement}`, async (actor) => {
184
+ const element = await actor.answer(pageElement);
185
+ const options = await element.selectedOptions();
186
+ return options
187
+ .filter(option => option.selected)
188
+ .map(option => option.label)[0];
189
+ });
159
190
  }
160
191
  /**
161
- * @desc
162
- * Represents options selected in a
163
- * [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
164
- *
165
- * @example <caption>Example widget</caption>
166
- * <select multiple data-test='countries'>
167
- * <option value='UK'>United Kingdom</option>
168
- * <option value='PL'>Poland</option>
169
- * <option value='US'>United States</option>
170
- * </select>
171
- *
172
- * @example <caption>Lean Page Object</caption>
173
- * import { Target } from '@serenity-js/protractor';
174
- * import { browser, by } from 'protractor';
175
- *
176
- * class Countries {
177
- * static dropdown = Target.the('countries dropdown')
178
- * .located(by.css('[data-test="countries"]'));
179
- * }
180
- *
181
- * @example <caption>Retrieving the selected value</caption>
182
- * import { actorCalled } from '@serenity-js/core';
183
- * import { Accept, BrowseTheWeb, Select, Selected } from '@serenity-js/protractor';
184
- * import { Ensure, equals } from '@serenity-js/assertions';
185
- * import { protractor } from 'protractor';
186
- *
187
- * actorCalled('Nick')
188
- * .whoCan(BrowseTheWeb.using(protractor.browser))
189
- * .attemptsTo(
190
- * Select.options('Poland', 'United States').from(Countries.dropdown),
191
- * Ensure.that(
192
- * Selected.optionsIn(Countries.dropdown),
193
- * equals([ 'Poland', 'United States' ])
194
- * ),
195
- * );
196
- *
197
- * @param {Answerable<PageElement>} pageElement
198
- * A {@link Target} identifying the `<select>` element of interest
199
- *
200
- * @returns {Question<Promise<string[]>>}
201
- *
202
- * @see {@link Select.options}
192
+ * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
193
+ * options selected in an [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
194
+ *
195
+ * #### Example widget
196
+ *
197
+ * ```html
198
+ * <select multiple data-test='countries'>
199
+ * <option value='UK'>United Kingdom</option>
200
+ * <option value='PL'>Poland</option>
201
+ * <option value='US'>United States</option>
202
+ * </select>
203
+ * ```
204
+ *
205
+ * #### Lean Page Object describing the widget
206
+ *
207
+ * ```ts
208
+ * import { By, PageElement } from '@serenity-js/web'
209
+ *
210
+ * class Countries {
211
+ * static dropdown = () =>
212
+ * PageElement.located(By.css('[data-test="countries"]'))
213
+ * .describedAs('countries dropdown')
214
+ * }
215
+ * ```
216
+ *
217
+ * #### Retrieving the selected value
218
+ *
219
+ * ```ts
220
+ * import { actorCalled } from '@serenity-js/core'
221
+ * import { Select, Selected } from '@serenity-js/web'
222
+ * import { Ensure, equals } from '@serenity-js/assertions'
223
+ *
224
+ * await actorCalled('Nick')
225
+ * .attemptsTo(
226
+ * Select.options('Poland', 'United States').from(Countries.dropdown),
227
+ * Ensure.that(
228
+ * Selected.optionsIn(Countries.dropdown),
229
+ * equals([ 'Poland', 'United States' ])
230
+ * ),
231
+ * )
232
+ * ```
233
+ *
234
+ * #### Learn more
235
+ * - {@apilink Select.options}
236
+ *
237
+ * @param pageElement
238
+ * A {@apilink PageElement} identifying the `<select>` element of interest
203
239
  */
204
240
  static optionsIn(pageElement) {
205
- return models_1.PageElements.located(models_1.By.css('option:checked'))
206
- .of(pageElement)
207
- .eachMappedTo(Text_1.Text)
208
- .describedAs((0, io_1.formatted) `options selected in ${pageElement}`);
241
+ return core_1.Question.about((0, core_1.d) `options selected in ${pageElement}`, async (actor) => {
242
+ const element = await actor.answer(pageElement);
243
+ const options = await element.selectedOptions();
244
+ return options
245
+ .filter(option => option.selected)
246
+ .map(option => option.label);
247
+ });
209
248
  }
210
249
  }
211
250
  exports.Selected = Selected;
@@ -1 +1 @@
1
- {"version":3,"file":"Selected.js","sourceRoot":"","sources":["../../../src/screenplay/questions/Selected.ts"],"names":[],"mappings":";;;AACA,iDAAqD;AAErD,sCAA0D;AAC1D,iCAA8B;AAC9B,mCAAgC;AAEhC;;;;;;GAMG;AACH,MAAa,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,MAAM,CAAC,OAAO,CAAC,WAAoC;QAC/C,OAAO,oBAAW,CAAC,OAAO,CAAC,WAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC/C,EAAE,CAAC,WAAW,CAAC;aACf,KAAK,EAAE;aACP,WAAW,CAAC,IAAA,cAAS,EAAC,qBAAsB,WAAY,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAoC;QAChD,OAAO,qBAAY,CAAC,OAAO,CAAC,WAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAChD,EAAE,CAAC,WAAW,CAAC;aACf,YAAY,CAAC,aAAK,CAAC;aACnB,WAAW,CAAC,IAAA,cAAS,EAAC,sBAAuB,WAAY,EAAE,CAAgC,CAAC;IACrG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAoC;QAChD,OAAO,oBAAW,CAAC,OAAO,CAAC,WAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC/C,EAAE,CAAC,WAAW,CAAC;aACf,IAAI,EAAE;aACN,WAAW,CAAC,IAAA,cAAS,EAAC,sBAAuB,WAAY,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,MAAM,CAAC,SAAS,CAAC,WAAoC;QACjD,OAAO,qBAAY,CAAC,OAAO,CAAC,WAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAChD,EAAE,CAAC,WAAW,CAAC;aACf,YAAY,CAAC,WAAI,CAAC;aAClB,WAAW,CAAC,IAAA,cAAS,EAAC,uBAAwB,WAAY,EAAE,CAAgC,CAAC;IACtG,CAAC;CACJ;AAvMD,4BAuMC"}
1
+ {"version":3,"file":"Selected.js","sourceRoot":"","sources":["../../../src/screenplay/questions/Selected.ts"],"names":[],"mappings":";;;AAAA,4CAA6E;AAI7E;;;;;;;;;;;;GAYG;AACH,MAAa,QAAQ;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,MAAM,CAAC,OAAO,CAAC,WAAoC;QAC/C,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,qBAAsB,WAAY,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACvE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAEhD,OAAO,OAAO;iBACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAoC;QAChD,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,sBAAuB,WAAY,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACxE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAEhD,OAAO,OAAO;iBACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAoC;QAChD,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,sBAAuB,WAAY,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACxE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAEhD,OAAO,OAAO;iBACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,SAAS,CAAC,WAAoC;QACjD,OAAO,eAAQ,CAAC,KAAK,CAAC,IAAA,QAAC,EAAA,uBAAwB,WAAY,EAAE,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YACzE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAEhD,OAAO,OAAO;iBACT,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAlPD,4BAkPC"}