@serenity-js/web 3.25.0 → 3.25.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 (190) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/lib/errors/BrowserWindowClosedError.d.ts +2 -2
  4. package/lib/errors/BrowserWindowClosedError.js +2 -2
  5. package/lib/errors/CookieMissingError.d.ts +2 -2
  6. package/lib/errors/CookieMissingError.js +2 -2
  7. package/lib/errors/ModalDialogObstructsScreenshotError.d.ts +3 -3
  8. package/lib/errors/ModalDialogObstructsScreenshotError.js +3 -3
  9. package/lib/expectations/isActive.d.ts +8 -8
  10. package/lib/expectations/isActive.js +8 -8
  11. package/lib/expectations/isClickable.d.ts +8 -8
  12. package/lib/expectations/isClickable.js +8 -8
  13. package/lib/expectations/isEnabled.d.ts +8 -8
  14. package/lib/expectations/isEnabled.js +8 -8
  15. package/lib/expectations/isSelected.d.ts +8 -8
  16. package/lib/expectations/isSelected.js +8 -8
  17. package/lib/expectations/isVisible.d.ts +8 -8
  18. package/lib/expectations/isVisible.js +8 -8
  19. package/lib/screenplay/abilities/BrowseTheWeb.d.ts +25 -23
  20. package/lib/screenplay/abilities/BrowseTheWeb.d.ts.map +1 -1
  21. package/lib/screenplay/abilities/BrowseTheWeb.js +25 -23
  22. package/lib/screenplay/abilities/BrowseTheWeb.js.map +1 -1
  23. package/lib/screenplay/interactions/Clear.d.ts +7 -7
  24. package/lib/screenplay/interactions/Clear.js +7 -7
  25. package/lib/screenplay/interactions/Click.d.ts +5 -5
  26. package/lib/screenplay/interactions/Click.js +5 -5
  27. package/lib/screenplay/interactions/DoubleClick.d.ts +5 -5
  28. package/lib/screenplay/interactions/DoubleClick.js +5 -5
  29. package/lib/screenplay/interactions/Enter.d.ts +5 -5
  30. package/lib/screenplay/interactions/Enter.js +5 -5
  31. package/lib/screenplay/interactions/ExecuteScript.d.ts +19 -19
  32. package/lib/screenplay/interactions/ExecuteScript.js +18 -18
  33. package/lib/screenplay/interactions/Hover.d.ts +5 -5
  34. package/lib/screenplay/interactions/Hover.js +5 -5
  35. package/lib/screenplay/interactions/Navigate.d.ts +8 -8
  36. package/lib/screenplay/interactions/Navigate.js +8 -8
  37. package/lib/screenplay/interactions/PageElementInteraction.d.ts +3 -3
  38. package/lib/screenplay/interactions/PageElementInteraction.js +3 -3
  39. package/lib/screenplay/interactions/Press.d.ts +10 -10
  40. package/lib/screenplay/interactions/Press.js +10 -10
  41. package/lib/screenplay/interactions/RightClick.d.ts +5 -5
  42. package/lib/screenplay/interactions/RightClick.js +5 -5
  43. package/lib/screenplay/interactions/Scroll.d.ts +5 -5
  44. package/lib/screenplay/interactions/Scroll.js +5 -5
  45. package/lib/screenplay/interactions/Select.d.ts +22 -22
  46. package/lib/screenplay/interactions/Select.js +22 -22
  47. package/lib/screenplay/interactions/Switch.d.ts +16 -16
  48. package/lib/screenplay/interactions/Switch.js +16 -16
  49. package/lib/screenplay/interactions/TakeScreenshot.d.ts +11 -10
  50. package/lib/screenplay/interactions/TakeScreenshot.d.ts.map +1 -1
  51. package/lib/screenplay/interactions/TakeScreenshot.js +11 -10
  52. package/lib/screenplay/interactions/TakeScreenshot.js.map +1 -1
  53. package/lib/screenplay/models/BrowserCapabilities.d.ts +1 -1
  54. package/lib/screenplay/models/BrowsingSession.d.ts +8 -8
  55. package/lib/screenplay/models/BrowsingSession.js +6 -6
  56. package/lib/screenplay/models/Cookie.d.ts +10 -10
  57. package/lib/screenplay/models/Cookie.js +9 -9
  58. package/lib/screenplay/models/CookieData.d.ts +4 -4
  59. package/lib/screenplay/models/Key.d.ts +4 -4
  60. package/lib/screenplay/models/Key.js +4 -4
  61. package/lib/screenplay/models/Locator.d.ts +8 -8
  62. package/lib/screenplay/models/Locator.js +8 -8
  63. package/lib/screenplay/models/Page.d.ts +32 -32
  64. package/lib/screenplay/models/Page.js +14 -14
  65. package/lib/screenplay/models/PageElement.d.ts +13 -13
  66. package/lib/screenplay/models/PageElement.js +7 -7
  67. package/lib/screenplay/models/PageElements.d.ts +6 -6
  68. package/lib/screenplay/models/PageElements.js +6 -6
  69. package/lib/screenplay/models/RootLocator.d.ts +5 -5
  70. package/lib/screenplay/models/RootLocator.js +5 -5
  71. package/lib/screenplay/models/SelectOption.d.ts +4 -4
  72. package/lib/screenplay/models/SelectOption.js +4 -4
  73. package/lib/screenplay/models/Switchable.d.ts +6 -6
  74. package/lib/screenplay/models/SwitchableOrigin.d.ts +4 -4
  75. package/lib/screenplay/models/dialogs/AbsentModalDialog.d.ts +2 -2
  76. package/lib/screenplay/models/dialogs/AbsentModalDialog.js +2 -2
  77. package/lib/screenplay/models/dialogs/AcceptedModalDialog.d.ts +3 -3
  78. package/lib/screenplay/models/dialogs/AcceptedModalDialog.js +3 -3
  79. package/lib/screenplay/models/dialogs/DismissedModalDialog.d.ts +3 -3
  80. package/lib/screenplay/models/dialogs/DismissedModalDialog.js +3 -3
  81. package/lib/screenplay/models/dialogs/ModalDialog.d.ts +12 -9
  82. package/lib/screenplay/models/dialogs/ModalDialog.d.ts.map +1 -1
  83. package/lib/screenplay/models/dialogs/ModalDialog.js +10 -7
  84. package/lib/screenplay/models/dialogs/ModalDialog.js.map +1 -1
  85. package/lib/screenplay/models/dialogs/ModalDialogHandler.d.ts +5 -5
  86. package/lib/screenplay/models/dialogs/ModalDialogHandler.js +5 -5
  87. package/lib/screenplay/models/selectors/By.d.ts +14 -14
  88. package/lib/screenplay/models/selectors/By.js +14 -14
  89. package/lib/screenplay/models/selectors/ByCss.d.ts +2 -2
  90. package/lib/screenplay/models/selectors/ByCss.js +2 -2
  91. package/lib/screenplay/models/selectors/ByCssContainingText.d.ts +2 -2
  92. package/lib/screenplay/models/selectors/ByCssContainingText.js +2 -2
  93. package/lib/screenplay/models/selectors/ByDeepCss.d.ts +2 -2
  94. package/lib/screenplay/models/selectors/ByDeepCss.js +2 -2
  95. package/lib/screenplay/models/selectors/ById.d.ts +2 -2
  96. package/lib/screenplay/models/selectors/ById.js +2 -2
  97. package/lib/screenplay/models/selectors/ByTagName.d.ts +2 -2
  98. package/lib/screenplay/models/selectors/ByTagName.js +2 -2
  99. package/lib/screenplay/models/selectors/ByXPath.d.ts +2 -2
  100. package/lib/screenplay/models/selectors/ByXPath.js +2 -2
  101. package/lib/screenplay/models/selectors/Selector.d.ts +1 -1
  102. package/lib/screenplay/models/selectors/Selector.js +1 -1
  103. package/lib/screenplay/questions/Attribute.d.ts +13 -13
  104. package/lib/screenplay/questions/Attribute.js +13 -13
  105. package/lib/screenplay/questions/ComputedStyle.d.ts +16 -16
  106. package/lib/screenplay/questions/ComputedStyle.js +16 -16
  107. package/lib/screenplay/questions/CssClasses.d.ts +13 -13
  108. package/lib/screenplay/questions/CssClasses.js +13 -13
  109. package/lib/screenplay/questions/LastScriptExecution.d.ts +7 -7
  110. package/lib/screenplay/questions/LastScriptExecution.js +7 -7
  111. package/lib/screenplay/questions/Selected.d.ts +17 -17
  112. package/lib/screenplay/questions/Selected.js +17 -17
  113. package/lib/screenplay/questions/Text.d.ts +18 -18
  114. package/lib/screenplay/questions/Text.js +14 -14
  115. package/lib/screenplay/questions/Value.d.ts +12 -12
  116. package/lib/screenplay/questions/Value.js +12 -12
  117. package/lib/stage/crew/photographer/Photographer.d.ts +18 -17
  118. package/lib/stage/crew/photographer/Photographer.d.ts.map +1 -1
  119. package/lib/stage/crew/photographer/Photographer.js +18 -17
  120. package/lib/stage/crew/photographer/Photographer.js.map +1 -1
  121. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.d.ts +6 -6
  122. package/lib/stage/crew/photographer/strategies/PhotoTakingStrategy.js +6 -6
  123. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.d.ts +3 -3
  124. package/lib/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.js +3 -3
  125. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.d.ts +3 -3
  126. package/lib/stage/crew/photographer/strategies/TakePhotosOfFailures.js +3 -3
  127. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.d.ts +3 -3
  128. package/lib/stage/crew/photographer/strategies/TakePhotosOfInteractions.js +3 -3
  129. package/package.json +4 -4
  130. package/src/errors/BrowserWindowClosedError.ts +2 -2
  131. package/src/errors/CookieMissingError.ts +2 -2
  132. package/src/errors/ModalDialogObstructsScreenshotError.ts +3 -3
  133. package/src/expectations/isActive.ts +8 -8
  134. package/src/expectations/isClickable.ts +8 -8
  135. package/src/expectations/isEnabled.ts +8 -8
  136. package/src/expectations/isSelected.ts +8 -8
  137. package/src/expectations/isVisible.ts +8 -8
  138. package/src/screenplay/abilities/BrowseTheWeb.ts +25 -23
  139. package/src/screenplay/interactions/Clear.ts +7 -7
  140. package/src/screenplay/interactions/Click.ts +5 -5
  141. package/src/screenplay/interactions/DoubleClick.ts +5 -5
  142. package/src/screenplay/interactions/Enter.ts +5 -5
  143. package/src/screenplay/interactions/ExecuteScript.ts +19 -19
  144. package/src/screenplay/interactions/Hover.ts +5 -5
  145. package/src/screenplay/interactions/Navigate.ts +8 -8
  146. package/src/screenplay/interactions/PageElementInteraction.ts +3 -3
  147. package/src/screenplay/interactions/Press.ts +10 -10
  148. package/src/screenplay/interactions/RightClick.ts +5 -5
  149. package/src/screenplay/interactions/Scroll.ts +5 -5
  150. package/src/screenplay/interactions/Select.ts +22 -22
  151. package/src/screenplay/interactions/Switch.ts +16 -16
  152. package/src/screenplay/interactions/TakeScreenshot.ts +11 -10
  153. package/src/screenplay/models/BrowserCapabilities.ts +1 -1
  154. package/src/screenplay/models/BrowsingSession.ts +8 -8
  155. package/src/screenplay/models/Cookie.ts +10 -10
  156. package/src/screenplay/models/CookieData.ts +4 -4
  157. package/src/screenplay/models/Key.ts +4 -4
  158. package/src/screenplay/models/Locator.ts +8 -8
  159. package/src/screenplay/models/Page.ts +32 -32
  160. package/src/screenplay/models/PageElement.ts +13 -13
  161. package/src/screenplay/models/PageElements.ts +6 -6
  162. package/src/screenplay/models/RootLocator.ts +5 -5
  163. package/src/screenplay/models/SelectOption.ts +4 -4
  164. package/src/screenplay/models/Switchable.ts +6 -6
  165. package/src/screenplay/models/SwitchableOrigin.ts +4 -4
  166. package/src/screenplay/models/dialogs/AbsentModalDialog.ts +2 -2
  167. package/src/screenplay/models/dialogs/AcceptedModalDialog.ts +3 -3
  168. package/src/screenplay/models/dialogs/DismissedModalDialog.ts +3 -3
  169. package/src/screenplay/models/dialogs/ModalDialog.ts +12 -9
  170. package/src/screenplay/models/dialogs/ModalDialogHandler.ts +5 -5
  171. package/src/screenplay/models/selectors/By.ts +14 -14
  172. package/src/screenplay/models/selectors/ByCss.ts +2 -2
  173. package/src/screenplay/models/selectors/ByCssContainingText.ts +2 -2
  174. package/src/screenplay/models/selectors/ByDeepCss.ts +2 -2
  175. package/src/screenplay/models/selectors/ById.ts +2 -2
  176. package/src/screenplay/models/selectors/ByTagName.ts +2 -2
  177. package/src/screenplay/models/selectors/ByXPath.ts +2 -2
  178. package/src/screenplay/models/selectors/Selector.ts +1 -1
  179. package/src/screenplay/questions/Attribute.ts +13 -13
  180. package/src/screenplay/questions/ComputedStyle.ts +16 -16
  181. package/src/screenplay/questions/CssClasses.ts +13 -13
  182. package/src/screenplay/questions/LastScriptExecution.ts +7 -7
  183. package/src/screenplay/questions/Selected.ts +17 -17
  184. package/src/screenplay/questions/Text.ts +18 -18
  185. package/src/screenplay/questions/Value.ts +12 -12
  186. package/src/stage/crew/photographer/Photographer.ts +18 -17
  187. package/src/stage/crew/photographer/strategies/PhotoTakingStrategy.ts +6 -6
  188. package/src/stage/crew/photographer/strategies/TakePhotosBeforeAndAfterInteractions.ts +3 -3
  189. package/src/stage/crew/photographer/strategies/TakePhotosOfFailures.ts +3 -3
  190. package/src/stage/crew/photographer/strategies/TakePhotosOfInteractions.ts +3 -3
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
5
5
  import { PageElementInteraction } from './PageElementInteraction';
6
6
 
7
7
  /**
8
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
- * to scroll the given {@apilink PageElement} into view and then [click](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event) on it.
8
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
9
+ * to scroll the given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) into view and then [click](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event) on it.
10
10
  *
11
11
  * ## Example widget
12
12
  *
@@ -44,15 +44,15 @@ import { PageElementInteraction } from './PageElementInteraction';
44
44
  *
45
45
  * ## Learn more
46
46
  *
47
- * - {@apilink BrowseTheWeb}
48
- * - {@apilink PageElement}
47
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
48
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
49
49
  *
50
50
  * @group Activities
51
51
  */
52
52
  export class Click extends PageElementInteraction {
53
53
 
54
54
  /**
55
- * Instantiates this {@apilink Interaction}.
55
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
56
56
  *
57
57
  * @param pageElement
58
58
  * The element to be clicked on
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
5
5
  import { PageElementInteraction } from './PageElementInteraction';
6
6
 
7
7
  /**
8
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
- * to perform a double click on a given {@apilink PageElement}.
8
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
9
+ * to perform a double click on a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
10
10
  *
11
11
  * ## Example widget
12
12
  * ```html
@@ -67,15 +67,15 @@ import { PageElementInteraction } from './PageElementInteraction';
67
67
  *
68
68
  * ## Learn more
69
69
  *
70
- * - {@apilink BrowseTheWeb}
71
- * - {@apilink PageElement}
70
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
71
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
72
72
  *
73
73
  * @group Activities
74
74
  */
75
75
  export class DoubleClick extends PageElementInteraction {
76
76
 
77
77
  /**
78
- * Instantiates this {@apilink Interaction}.
78
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
79
79
  *
80
80
  * @param pageElement
81
81
  * The element to be double-clicked on
@@ -6,7 +6,7 @@ import type { PageElement } from '../models';
6
6
  import { PageElementInteraction } from './PageElementInteraction';
7
7
 
8
8
  /**
9
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
10
10
  * to enter a value into a [form `input`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input) field.
11
11
  *
12
12
  * ## Example widget
@@ -43,7 +43,7 @@ import { PageElementInteraction } from './PageElementInteraction';
43
43
  * ## Handling sensitive information
44
44
  *
45
45
  * By design, any data handled by an actor appears in Serenity/JS reports.
46
- * To prevent the exposure of any sensitive information, such as passwords or tokens, you should use {@apilink Masked}.
46
+ * To prevent the exposure of any sensitive information, such as passwords or tokens, you should use [`Masked`](https://serenity-js.org/api/core/class/Masked/).
47
47
  *
48
48
  * ```ts
49
49
  * import { actorCalled, Masked } from '@serenity-js/core'
@@ -59,15 +59,15 @@ import { PageElementInteraction } from './PageElementInteraction';
59
59
  *
60
60
  * ## Learn more
61
61
  *
62
- * - {@apilink BrowseTheWeb}
63
- * - {@apilink PageElement}
62
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
63
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
64
64
  *
65
65
  * @group Activities
66
66
  */
67
67
  export class Enter extends PageElementInteraction {
68
68
 
69
69
  /**
70
- * Instantiates this {@apilink Interaction}.
70
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
71
71
  *
72
72
  * @param values
73
73
  * The text value to be entered
@@ -6,20 +6,20 @@ import { Name, TextData } from '@serenity-js/core/lib/model';
6
6
  import { BrowseTheWeb } from '../abilities';
7
7
 
8
8
  /**
9
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
10
10
  * to inject a script into the browser and execute it in the context of the current browser tab.
11
11
  *
12
12
  * ## Learn more
13
13
  *
14
- * - {@apilink BrowseTheWeb}
15
- * - {@apilink LastScriptExecution.result}
14
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
15
+ * - [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result)
16
16
  *
17
17
  * @group Activities
18
18
  */
19
19
  export class ExecuteScript {
20
20
 
21
21
  /**
22
- * Instantiates a version of this {@apilink Interaction}
22
+ * Instantiates a version of this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
23
23
  * configured to load a script from `sourceUrl`.
24
24
  *
25
25
  * @param sourceUrl
@@ -30,7 +30,7 @@ export class ExecuteScript {
30
30
  }
31
31
 
32
32
  /**
33
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
33
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
34
34
  * to execute an asynchronous script within the context of the current browser tab.
35
35
  *
36
36
  * The script fragment will be executed as the body of an anonymous function.
@@ -39,20 +39,20 @@ export class ExecuteScript {
39
39
  *
40
40
  * Any arguments provided in addition to the script will be included as script arguments and may be referenced
41
41
  * using the `arguments` object. Arguments may be a `boolean`, `number`, `string`
42
- * or {@apilink PageElement}.
42
+ * or [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
43
43
  * Arrays and objects may also be used as script arguments as long as each item adheres
44
44
  * to the types previously mentioned.
45
45
  *
46
- * Unlike executing synchronous JavaScript with {@apilink ExecuteScript.sync},
46
+ * Unlike executing synchronous JavaScript with [`ExecuteScript.sync`](https://serenity-js.org/api/web/class/ExecuteScript/#sync),
47
47
  * scripts executed with this function must explicitly signal they are finished by invoking the provided callback.
48
48
  *
49
49
  * This callback will always be injected into the executed function as the last argument,
50
50
  * and thus may be referenced with `arguments[arguments.length - 1]`.
51
51
  *
52
52
  * If the script invokes the `callback` with a return value, this will be made available
53
- * via the {@apilink LastScriptExecution.result}.
53
+ * via the [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result).
54
54
  *
55
- * **Please note** that in order to signal an error in the `script` you need to throw an {@apilink Error}
55
+ * **Please note** that in order to signal an error in the `script` you need to throw an [`Error`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error)
56
56
  * instead of passing it to the callback function.
57
57
  *
58
58
  * #### Executing an async script
@@ -111,7 +111,7 @@ export class ExecuteScript {
111
111
  *
112
112
  * #### Passing PageElement arguments to an async script
113
113
  *
114
- * Serenity/JS automatically converts {@link PageElement} objects passed as arguments to the script
114
+ * Serenity/JS automatically converts [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects passed as arguments to the script
115
115
  * into their corresponding DOM elements.
116
116
  *
117
117
  * ```ts
@@ -135,7 +135,7 @@ export class ExecuteScript {
135
135
  *
136
136
  * #### Using nested data structures containing PageElement objects
137
137
  *
138
- * Serenity/JS automatically converts any {@link PageElement} objects
138
+ * Serenity/JS automatically converts any [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects
139
139
  * contained in nested data structures passed to the script
140
140
  * into their corresponding DOM elements.
141
141
  *
@@ -165,7 +165,7 @@ export class ExecuteScript {
165
165
  * ```
166
166
  *
167
167
  * #### Learn more
168
- * - {@apilink LastScriptExecution.result}
168
+ * - [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result)
169
169
  *
170
170
  * @param script
171
171
  * The script to be executed
@@ -178,10 +178,10 @@ export class ExecuteScript {
178
178
  }
179
179
 
180
180
  /**
181
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
181
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
182
182
  * to execute a synchronous script within the context of the current browser tab.
183
183
  *
184
- * If the script returns a value, it will be made available via {@apilink LastScriptExecution.result}.
184
+ * If the script returns a value, it will be made available via [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result).
185
185
  *
186
186
  * #### Executing a sync script as string and reading the result
187
187
  *
@@ -229,7 +229,7 @@ export class ExecuteScript {
229
229
  *
230
230
  * #### Passing PageElement arguments to a sync script
231
231
  *
232
- * Serenity/JS automatically converts {@link PageElement} objects passed as arguments to the script
232
+ * Serenity/JS automatically converts [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects passed as arguments to the script
233
233
  * into their corresponding DOM elements.
234
234
  *
235
235
  * ```ts
@@ -250,7 +250,7 @@ export class ExecuteScript {
250
250
  *
251
251
  * #### Using nested data structures containing PageElement objects
252
252
  *
253
- * Serenity/JS automatically converts any {@link PageElement} objects
253
+ * Serenity/JS automatically converts any [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects
254
254
  * contained in nested data structures passed to the script
255
255
  * into their corresponding DOM elements.
256
256
  *
@@ -277,7 +277,7 @@ export class ExecuteScript {
277
277
  * ```
278
278
  *
279
279
  * #### Learn more
280
- * - {@apilink LastScriptExecution.result}
280
+ * - [`LastScriptExecution.result`](https://serenity-js.org/api/web/class/LastScriptExecution/#result)
281
281
  *
282
282
  * @param script
283
283
  * The script to be executed
@@ -294,7 +294,7 @@ export class ExecuteScript {
294
294
  * Allows for a script to be executed to be parametrised.
295
295
  *
296
296
  * ## Learn more
297
- * - {@apilink ExecuteScript}
297
+ * - [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/)
298
298
  *
299
299
  * @group Activities
300
300
  */
@@ -309,7 +309,7 @@ export abstract class ExecuteScriptWithArguments extends Interaction {
309
309
  }
310
310
 
311
311
  /**
312
- * Instantiates this {@apilink Interaction}
312
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
313
313
  *
314
314
  * @param args
315
315
  * Arguments to parametrise the script with
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
5
5
  import { PageElementInteraction } from './PageElementInteraction';
6
6
 
7
7
  /**
8
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
- * to hover the mouse pointer over a given {@apilink PageElement}.
8
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
9
+ * to hover the mouse pointer over a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
10
10
  *
11
11
  * ## Example widget
12
12
  * ```html
@@ -48,15 +48,15 @@ import { PageElementInteraction } from './PageElementInteraction';
48
48
  *
49
49
  * ## Learn more
50
50
  *
51
- * - {@apilink BrowseTheWeb}
52
- * - {@apilink PageElement}
51
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
52
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
53
53
  *
54
54
  * @group Activities
55
55
  */
56
56
  export class Hover extends PageElementInteraction {
57
57
 
58
58
  /**
59
- * Instantiates this {@apilink Interaction}
59
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/)
60
60
  *
61
61
  * @param pageElement
62
62
  * The element to be hovered over
@@ -4,20 +4,20 @@ import { Interaction, TestCompromisedError, the } from '@serenity-js/core';
4
4
  import { BrowseTheWeb } from '../abilities';
5
5
 
6
6
  /**
7
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
7
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
8
8
  * to navigate to a specific destination, as well as back and forth in the browser history,
9
9
  * or reload the current page.
10
10
  *
11
11
  * ## Learn more
12
12
  *
13
- * - {@apilink BrowseTheWeb}
13
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
14
14
  *
15
15
  * @group Activities
16
16
  */
17
17
  export class Navigate {
18
18
 
19
19
  /**
20
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
20
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
21
21
  * to navigate to a given URL.
22
22
  *
23
23
  * The URL can be:
@@ -55,14 +55,14 @@ export class Navigate {
55
55
  *
56
56
  * #### Learn more
57
57
  *
58
- * - {@apilink Page.navigateTo}
58
+ * - [`Page.navigateTo`](https://serenity-js.org/api/web/class/Page/#navigateTo)
59
59
  * - [WebdriverIO: Configuration Options](https://webdriver.io/docs/options/#baseurl)
60
60
  * - [Playwright: Browser](https://playwright.dev/docs/api/class-browser#browser-new-context)
61
61
  * - [Playwright: Test Options](https://playwright.dev/docs/api/class-testoptions#test-options-base-url)
62
62
  * - [Protractor: Configuration](https://github.com/angular/protractor/blob/master/lib/config.ts)
63
63
  *
64
64
  * @param url
65
- * An absolute URL or path an {@apilink Actor}
65
+ * An absolute URL or path an [`Actor`](https://serenity-js.org/api/core/class/Actor/)
66
66
  * should navigate to
67
67
  */
68
68
  static to(url: Answerable<string>): Interaction {
@@ -70,7 +70,7 @@ export class Navigate {
70
70
  }
71
71
 
72
72
  /**
73
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
73
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
74
74
  * to navigate back one page in the joint session history of the current top-level browsing context.
75
75
  *
76
76
  * #### Navigate back in browsing history
@@ -101,7 +101,7 @@ export class Navigate {
101
101
  }
102
102
 
103
103
  /**
104
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
104
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
105
105
  * to navigate forward one page in the joint session history of the current top-level browsing context.
106
106
  *
107
107
  * #### Navigate forward in browsing history
@@ -133,7 +133,7 @@ export class Navigate {
133
133
  }
134
134
 
135
135
  /**
136
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
136
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
137
137
  * to reload the current page.
138
138
  *
139
139
  * #### Navigate to path relative to baseUrl
@@ -5,10 +5,10 @@ import type { FileSystemLocation } from '@serenity-js/core/lib/io';
5
5
  import type { PageElement } from '../models';
6
6
 
7
7
  /**
8
- * A base class for interactions with {@apilink PageElement} objects.
8
+ * A base class for interactions with [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) objects.
9
9
  *
10
10
  * **Note:** The recommended way to implement custom interactions
11
- * in your code is to use the {@apilink Interaction.where} factory method.
11
+ * in your code is to use the [`Interaction.where`](https://serenity-js.org/api/core/class/Interaction/#where) factory method.
12
12
  *
13
13
  * @group Activities
14
14
  */
@@ -19,7 +19,7 @@ export abstract class PageElementInteraction extends Interaction {
19
19
  }
20
20
 
21
21
  /**
22
- * Returns the resolved {@apilink PageElement}, or throws a {@apilink LogicError}
22
+ * Returns the resolved [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), or throws a [`LogicError`](https://serenity-js.org/api/core/class/LogicError/)
23
23
  * if the element is `undefined`.
24
24
  *
25
25
  * @param actor
@@ -8,16 +8,16 @@ import { Key } from '../models';
8
8
  import { PageElementInteraction } from './PageElementInteraction';
9
9
 
10
10
  /**
11
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
11
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
12
12
  * to send a key press or a sequence of keys to a Web element.
13
13
  *
14
14
  * **Note:** On macOS, some keyboard shortcuts might not work
15
15
  * with the [`devtools` protocol](https://webdriver.io/docs/automationProtocols/#devtools-protocol).
16
16
  *
17
17
  * For example:
18
- * - to *copy*, instead of {@apilink Key.Meta}+`C`, use {@apilink Key.Control}+{@apilink Key.Insert}
19
- * - to *cut*, instead of {@apilink Key.Meta}+`X`, use {@apilink Key.Control}+{@apilink Key.Delete}
20
- * - to *paste*, instead of {@apilink Key.Meta}+`V`, use {@apilink Key.Shift}+{@apilink Key.Insert}
18
+ * - to *copy*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`C`, use [`Key.Control`](https://serenity-js.org/api/web/class/Key/#Control)+[`Key.Insert`](https://serenity-js.org/api/web/class/Key/#Insert)
19
+ * - to *cut*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`X`, use [`Key.Control`](https://serenity-js.org/api/web/class/Key/#Control)+[`Key.Delete`](https://serenity-js.org/api/web/class/Key/#Delete)
20
+ * - to *paste*, instead of [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta)+`V`, use [`Key.Shift`](https://serenity-js.org/api/web/class/Key/#Shift)+[`Key.Insert`](https://serenity-js.org/api/web/class/Key/#Insert)
21
21
  *
22
22
  * ## Example widget
23
23
  *
@@ -55,18 +55,18 @@ import { PageElementInteraction } from './PageElementInteraction';
55
55
  *
56
56
  * ## Learn more
57
57
  *
58
- * - {@apilink Key}
59
- * - {@apilink BrowseTheWeb}
60
- * - {@apilink PageElement}
58
+ * - [`Key`](https://serenity-js.org/api/web/class/Key/)
59
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
60
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
61
61
  *
62
62
  * @group Activities
63
63
  */
64
64
  export class Press extends PageElementInteraction {
65
65
 
66
66
  /**
67
- * Instantiates an {@apilink Interaction|interaction}
68
- * that instructs the {@apilink Actor|actor}
69
- * to press a sequence of {@apilink Key|keys},
67
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
68
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
69
+ * to press a sequence of [keys](https://serenity-js.org/api/web/class/Key/),
70
70
  *
71
71
  * When no `field` is specified, the key sequence will be sent to the currently focused element,
72
72
  * and if no element is focused - to the `document.body` to handle.
@@ -5,8 +5,8 @@ import type { PageElement } from '../models';
5
5
  import { PageElementInteraction } from './PageElementInteraction';
6
6
 
7
7
  /**
8
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
- * to perform a right click on a given {@apilink PageElement}.
8
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
9
+ * to perform a right click on a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
10
10
  *
11
11
  * This is typically used to open a [custom context menu](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event)
12
12
  * on a given Web element, since it's not possible to interact with the standard context menu offered by your browser.
@@ -63,14 +63,14 @@ import { PageElementInteraction } from './PageElementInteraction';
63
63
  *
64
64
  * ## Learn more
65
65
  *
66
- * - {@apilink BrowseTheWeb}
67
- * - {@apilink PageElement}
66
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
67
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
68
68
  *
69
69
  * @group Activities
70
70
  */
71
71
  export class RightClick extends PageElementInteraction {
72
72
  /**
73
- * Instantiates this {@apilink Interaction}.
73
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
74
74
  *
75
75
  * @param pageElement
76
76
  * The element to be right-clicked on
@@ -4,8 +4,8 @@ import { Interaction, the } from '@serenity-js/core';
4
4
  import type { PageElement } from '../models';
5
5
 
6
6
  /**
7
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
8
- * to scroll until a given {@apilink PageElement} comes into view.
7
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
8
+ * to scroll until a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) comes into view.
9
9
  *
10
10
  * ## Example widget
11
11
  *
@@ -45,15 +45,15 @@ import type { PageElement } from '../models';
45
45
  *
46
46
  * ## Learn more
47
47
  *
48
- * - {@apilink BrowseTheWeb}
49
- * - {@apilink PageElement}
48
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
49
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
50
50
  *
51
51
  * @group Activities
52
52
  */
53
53
  export class Scroll extends Interaction {
54
54
 
55
55
  /**
56
- * Instantiates this {@apilink Interaction}.
56
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
57
57
  *
58
58
  * @param pageElement
59
59
  * The element to scroll to
@@ -6,20 +6,20 @@ import type { PageElement } from '../models';
6
6
  import { SelectOption } from '../models';
7
7
 
8
8
  /**
9
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/) who has the [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
10
10
  * to select an option from a [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select),
11
11
  * either by its display name, or by value.
12
12
  *
13
13
  * ## Learn more
14
- * - {@apilink Selected}
14
+ * - [`Selected`](https://serenity-js.org/api/web/class/Selected/)
15
15
  *
16
16
  * @group Activities
17
17
  */
18
18
  export class Select {
19
19
 
20
20
  /**
21
- * Instantiates an {@apilink Interaction|interaction}
22
- * that instructs the {@apilink Actor|actor}
21
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
22
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
23
23
  * to select a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
24
24
  * with a given [`value`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value).,
25
25
  *
@@ -60,12 +60,12 @@ export class Select {
60
60
  * ```
61
61
  *
62
62
  * #### Learn more
63
- * - {@apilink Selected.valueOf}
64
- * - {@apilink PageElement}
63
+ * - [`Selected.valueOf`](https://serenity-js.org/api/web/class/Selected/#valueOf)
64
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
65
65
  *
66
66
  * @param value
67
67
  * A value of the [`option` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
68
- * for the {@apilink Actor} to select
68
+ * for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
69
69
  */
70
70
  static value(value: Answerable<string>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
71
71
  return {
@@ -80,8 +80,8 @@ export class Select {
80
80
  }
81
81
 
82
82
  /**
83
- * Instantiates an {@apilink Interaction|interaction}
84
- * that instructs the {@apilink Actor|actor}
83
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
84
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
85
85
  * to select multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
86
86
  * identified by their [`value`s](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#attr-value).
87
87
  *
@@ -123,12 +123,12 @@ export class Select {
123
123
  *
124
124
  * #### Learn more
125
125
  *
126
- * - {@apilink Selected.valuesOf}
127
- * - {@apilink PageElement}
126
+ * - [`Selected.valuesOf`](https://serenity-js.org/api/web/class/Selected/#valuesOf)
127
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
128
128
  *
129
129
  * @param values
130
130
  * Values of the [`option` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
131
- * for the {@apilink Actor} to select
131
+ * for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
132
132
  */
133
133
  static values(...values: Array<Answerable<string[] | string>>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
134
134
  return {
@@ -146,8 +146,8 @@ export class Select {
146
146
  }
147
147
 
148
148
  /**
149
- * Instantiates an {@apilink Interaction|interaction}
150
- * that instructs the {@apilink Actor|actor}
149
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
150
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
151
151
  * to select a single [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
152
152
  * with a given description.
153
153
  *
@@ -191,12 +191,12 @@ export class Select {
191
191
  * ```
192
192
  *
193
193
  * #### Learn more
194
- * - {@apilink Selected.optionIn}
195
- * - {@apilink PageElement}
194
+ * - [`Selected.optionIn`](https://serenity-js.org/api/web/class/Selected/#optionIn)
195
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
196
196
  *
197
197
  * @param value
198
198
  * Text of the [`option` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
199
- * for the {@apilink Actor} to select
199
+ * for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
200
200
  */
201
201
  static option(value: Answerable<string>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
202
202
  return {
@@ -211,8 +211,8 @@ export class Select {
211
211
  }
212
212
 
213
213
  /**
214
- * Instantiates an {@apilink Interaction|interaction}
215
- * that instructs the {@apilink Actor|actor}
214
+ * Instantiates an [interaction](https://serenity-js.org/api/core/class/Interaction/)
215
+ * that instructs the [actor](https://serenity-js.org/api/core/class/Actor/)
216
216
  * to select multiple [`<option>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
217
217
  * identified by their descriptions.
218
218
  *
@@ -257,12 +257,12 @@ export class Select {
257
257
  * ```
258
258
  *
259
259
  * #### Learn more
260
- * - {@apilink Selected.optionsIn}
261
- * - {@apilink PageElement}
260
+ * - [`Selected.optionsIn`](https://serenity-js.org/api/web/class/Selected/#optionsIn)
261
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
262
262
  *
263
263
  * @param values
264
264
  * Text of the [`option` elements ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
265
- * for the {@apilink Actor} to select
265
+ * for the [`Actor`](https://serenity-js.org/api/core/class/Actor/) to select
266
266
  */
267
267
  static options(...values: Array<Answerable<string[] | string>>): { from: (pageElement: Answerable<PageElement>) => Interaction } {
268
268
  return {