@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
@@ -4,9 +4,9 @@ import { Question, the } from '@serenity-js/core';
4
4
  import { PageElement } from '../models';
5
5
 
6
6
  /**
7
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
7
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
8
8
  * a list of [CSS classes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-class)
9
- * of a given {@apilink PageElement}.
9
+ * of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
10
10
  *
11
11
  * ## Example widget
12
12
  *
@@ -18,7 +18,7 @@ import { PageElement } from '../models';
18
18
  * </ul>
19
19
  * ```
20
20
  *
21
- * ## Retrieve CSS classes of a given {@apilink PageElement}
21
+ * ## Retrieve CSS classes of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
22
22
  *
23
23
  * ```ts
24
24
  * import { actorCalled } from '@serenity-js/core'
@@ -38,7 +38,7 @@ import { PageElement } from '../models';
38
38
  * )
39
39
  * ```
40
40
  *
41
- * ## Using CssClasses as {@apilink QuestionAdapter}
41
+ * ## Using CssClasses as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
42
42
  *
43
43
  * ```ts
44
44
  * import { actorCalled } from '@serenity-js/core'
@@ -62,7 +62,7 @@ import { PageElement } from '../models';
62
62
  * )
63
63
  * ```
64
64
  *
65
- * ## Using as filter in {@apilink PageElements|Page Element Query Language}
65
+ * ## Using as filter in [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language/)
66
66
  *
67
67
  * ```ts
68
68
  * import { actorCalled } from '@serenity-js/core'
@@ -89,23 +89,23 @@ import { PageElement } from '../models';
89
89
  * ```
90
90
  *
91
91
  * ## Learn more
92
- * - {@apilink BrowseTheWeb}
93
- * - {@apilink MetaQuestion}
94
- * - {@apilink QuestionAdapter}
95
- * - {@apilink Question}
92
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
93
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
94
+ * - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
95
+ * - [`Question`](https://serenity-js.org/api/core/class/Question/)
96
96
  *
97
97
  * @group Questions
98
98
  */
99
99
  export class CssClasses {
100
100
 
101
101
  /**
102
- * Instantiates a {@apilink Question} that uses
103
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
102
+ * Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
103
+ * the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
104
104
  * a list of [CSS classes](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes#attr-class)
105
- * of a given {@apilink PageElement}.
105
+ * of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
106
106
  *
107
107
  * #### Learn more
108
- * - {@apilink MetaQuestion}
108
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
109
109
  *
110
110
  * @param pageElement
111
111
  */
@@ -4,8 +4,8 @@ import { Question } from '@serenity-js/core';
4
4
  import { BrowseTheWeb } from '../abilities';
5
5
 
6
6
  /**
7
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
8
- * a returns the result of the last script executed via {@apilink ExecuteScript}.
7
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
8
+ * a returns the result of the last script executed via [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/).
9
9
  *
10
10
  * ## Executing a script and reading the result
11
11
  *
@@ -21,7 +21,7 @@ import { BrowseTheWeb } from '../abilities';
21
21
  * )
22
22
  * ```
23
23
  *
24
- * ## Using LastScriptExecution as {@apilink QuestionAdapter}
24
+ * ## Using LastScriptExecution as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
25
25
  *
26
26
  * ```ts
27
27
  * import { actorCalled } from '@serenity-js/core'
@@ -39,16 +39,16 @@ import { BrowseTheWeb } from '../abilities';
39
39
  * ```
40
40
  *
41
41
  * ## Learn more
42
- * - {@apilink ExecuteScript}
43
- * - {@apilink BrowseTheWeb}
44
- * - {@apilink QuestionAdapter}
42
+ * - [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/)
43
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
44
+ * - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
45
45
  *
46
46
  * @group Questions
47
47
  */
48
48
  export class LastScriptExecution {
49
49
 
50
50
  /**
51
- * Enables asserting on the result of a function executed via {@apilink ExecuteScript}.
51
+ * Enables asserting on the result of a function executed via [`ExecuteScript`](https://serenity-js.org/api/web/class/ExecuteScript/).
52
52
  */
53
53
  static result<R>(): QuestionAdapter<R> {
54
54
  return Question.about(`last script execution result`, async actor => {
@@ -4,22 +4,22 @@ import { Question, the } from '@serenity-js/core';
4
4
  import type { PageElement } from '../models';
5
5
 
6
6
  /**
7
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
7
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
8
8
  * options and values selected in a
9
9
  * [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
10
10
  *
11
11
  * ## Learn more
12
- * - {@apilink Select}
13
- * - {@apilink BrowseTheWeb}
14
- * - {@apilink QuestionAdapter}
15
- * - {@apilink Question}
12
+ * - [`Select`](https://serenity-js.org/api/web/class/Select/)
13
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
14
+ * - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
15
+ * - [`Question`](https://serenity-js.org/api/core/class/Question/)
16
16
  *
17
17
  * @group Questions
18
18
  */
19
19
  export class Selected {
20
20
 
21
21
  /**
22
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
22
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
23
23
  * a single [option](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
24
24
  * selected in an [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).
25
25
  *
@@ -61,10 +61,10 @@ export class Selected {
61
61
  * ```
62
62
  *
63
63
  * #### Learn more
64
- * - {@apilink Select.value}
64
+ * - [`Select.value`](https://serenity-js.org/api/web/class/Select/#value)
65
65
  *
66
66
  * @param pageElement
67
- * A {@apilink PageElement} identifying the `<select>` element of interest
67
+ * A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
68
68
  */
69
69
  static valueOf(pageElement: Answerable<PageElement>): QuestionAdapter<string> {
70
70
  return Question.about(the`value selected in ${ pageElement }`, async actor => {
@@ -78,7 +78,7 @@ export class Selected {
78
78
  }
79
79
 
80
80
  /**
81
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
81
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
82
82
  * values of [options](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
83
83
  * selected in an [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
84
84
  *
@@ -120,10 +120,10 @@ export class Selected {
120
120
  * ```
121
121
  *
122
122
  * #### Learn more
123
- * - {@apilink Select.values}
123
+ * - [`Select.values`](https://serenity-js.org/api/web/class/Select/#values)
124
124
  *
125
125
  * @param pageElement
126
- * A {@apilink PageElement} identifying the `<select>` element of interest
126
+ * A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
127
127
  */
128
128
  static valuesOf(pageElement: Answerable<PageElement>): QuestionAdapter<Array<string>> {
129
129
  return Question.about(the`values selected in ${ pageElement }`, async actor => {
@@ -138,7 +138,7 @@ export class Selected {
138
138
  }
139
139
 
140
140
  /**
141
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
141
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
142
142
  * a single option selected in an [HTML `<select>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
143
143
  *
144
144
  * #### Example widget
@@ -181,10 +181,10 @@ export class Selected {
181
181
  * ```
182
182
  *
183
183
  * #### Learn more
184
- * - {@apilink Select.option}
184
+ * - [`Select.option`](https://serenity-js.org/api/web/class/Select/#option)
185
185
  *
186
186
  * @param pageElement
187
- * A {@apilink PageElement} identifying the `<select>` element of interest
187
+ * A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
188
188
  */
189
189
  static optionIn(pageElement: Answerable<PageElement>): QuestionAdapter<string> {
190
190
  return Question.about(the`option selected in ${ pageElement }`, async actor => {
@@ -199,7 +199,7 @@ export class Selected {
199
199
  }
200
200
 
201
201
  /**
202
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
202
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
203
203
  * options selected in an [HTML `<select multiple>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple)
204
204
  *
205
205
  * #### Example widget
@@ -242,10 +242,10 @@ export class Selected {
242
242
  * ```
243
243
  *
244
244
  * #### Learn more
245
- * - {@apilink Select.options}
245
+ * - [`Select.options`](https://serenity-js.org/api/web/class/Select/#options)
246
246
  *
247
247
  * @param pageElement
248
- * A {@apilink PageElement} identifying the `<select>` element of interest
248
+ * A [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) identifying the `<select>` element of interest
249
249
  */
250
250
  static optionsIn(pageElement: Answerable<PageElement>): QuestionAdapter<Array<string>> {
251
251
  return Question.about(the`options selected in ${ pageElement }`, async actor => {
@@ -6,10 +6,10 @@ import type { PageElements } from '../models';
6
6
  import { PageElement } from '../models';
7
7
 
8
8
  /**
9
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
9
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
10
10
  * the visible (i.e. not hidden by CSS) [`innerText`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText) of:
11
- * - a given {@apilink PageElement}
12
- * - a group of {@apilink PageElements}
11
+ * - a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
12
+ * - a group of [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
13
13
  *
14
14
  * The result includes the visible text of any sub-elements, without any leading or trailing whitespace.
15
15
  *
@@ -24,7 +24,7 @@ import { PageElement } from '../models';
24
24
  * </ul>
25
25
  * ```
26
26
  *
27
- * ## Retrieve text of a single {@apilink PageElement}
27
+ * ## Retrieve text of a single [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
28
28
  *
29
29
  * ```ts
30
30
  * import { actorCalled } from '@serenity-js/core'
@@ -42,7 +42,7 @@ import { PageElement } from '../models';
42
42
  * )
43
43
  * ```
44
44
  *
45
- * ## Retrieve text of multiple {@apilink PageElements}
45
+ * ## Retrieve text of multiple [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
46
46
  *
47
47
  * ```ts
48
48
  * import { actorCalled } from '@serenity-js/core'
@@ -62,7 +62,7 @@ import { PageElement } from '../models';
62
62
  * )
63
63
  * ```
64
64
  *
65
- * ## Using as filter in {@apilink PageElements|Page Element Query Language}
65
+ * ## Using as filter in [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language/)
66
66
  *
67
67
  * ```ts
68
68
  * import { actorCalled } from '@serenity-js/core'
@@ -85,22 +85,22 @@ import { PageElement } from '../models';
85
85
  * ```
86
86
  *
87
87
  * ## Learn more
88
- * - {@apilink BrowseTheWeb}
89
- * - {@apilink MetaQuestion}
90
- * - {@apilink QuestionAdapter}
91
- * - {@apilink Question}
88
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
89
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
90
+ * - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
91
+ * - [`Question`](https://serenity-js.org/api/core/class/Question/)
92
92
  *
93
93
  * @group Questions
94
94
  */
95
95
  export class Text {
96
96
 
97
97
  /**
98
- * Instantiates a {@apilink Question} that uses
99
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
100
- * the text of a single {@apilink PageElement}.
98
+ * Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
99
+ * the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
100
+ * the text of a single [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
101
101
  *
102
102
  * #### Learn more
103
- * - {@apilink MetaQuestion}
103
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
104
104
  *
105
105
  * @param pageElement
106
106
  */
@@ -117,12 +117,12 @@ export class Text {
117
117
  }
118
118
 
119
119
  /**
120
- * Instantiates a {@apilink Question} that uses
121
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
122
- * the text of a group of {@apilink PageElements}.
120
+ * Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
121
+ * the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
122
+ * the text of a group of [`PageElement`](https://serenity-js.org/api/web/class/PageElements/).
123
123
  *
124
124
  * #### Learn more
125
- * - {@apilink MetaQuestion}
125
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
126
126
  *
127
127
  * @param pageElements
128
128
  */
@@ -4,15 +4,15 @@ import { Question, the } from '@serenity-js/core';
4
4
  import { PageElement } from '../models';
5
5
 
6
6
  /**
7
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
8
- * the `value` attribute of a given {@apilink PageElement}.
7
+ * Uses the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
8
+ * the `value` attribute of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
9
9
  *
10
10
  * ## Example widget
11
11
  * ```html
12
12
  * <input type="text" id="username" value="Alice" />
13
13
  * ```
14
14
  *
15
- * ## Retrieve the `value` of a given {@apilink PageElement}
15
+ * ## Retrieve the `value` of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
16
16
  *
17
17
  * ```ts
18
18
  * import { actorCalled } from '@serenity-js/core'
@@ -29,7 +29,7 @@ import { PageElement } from '../models';
29
29
  * )
30
30
  * ```
31
31
  *
32
- * ## Using Value as {@apilink QuestionAdapter}
32
+ * ## Using Value as [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
33
33
  *
34
34
  * ```ts
35
35
  * import { actorCalled } from '@serenity-js/core'
@@ -50,22 +50,22 @@ import { PageElement } from '../models';
50
50
  * ```
51
51
  *
52
52
  * ## Learn more
53
- * - {@apilink BrowseTheWeb}
54
- * - {@apilink MetaQuestion}
55
- * - {@apilink QuestionAdapter}
56
- * - {@apilink Question}
53
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
54
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
55
+ * - [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter)
56
+ * - [`Question`](https://serenity-js.org/api/core/class/Question/)
57
57
  *
58
58
  * @group Questions
59
59
  */
60
60
  export class Value {
61
61
 
62
62
  /**
63
- * Instantiates a {@apilink Question} that uses
64
- * the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to retrieve
65
- * the `value` attribute of a given {@apilink PageElement}.
63
+ * Instantiates a [`Question`](https://serenity-js.org/api/core/class/Question/) that uses
64
+ * the [actor's](https://serenity-js.org/api/core/class/Actor/) [ability](https://serenity-js.org/api/core/class/Ability/) to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/) to retrieve
65
+ * the `value` attribute of a given [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
66
66
  *
67
67
  * #### Learn more
68
- * - {@apilink MetaQuestion}
68
+ * - [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/)
69
69
  *
70
70
  * @param pageElement
71
71
  */
@@ -6,8 +6,9 @@ import type { Stage, StageCrewMember } from '@serenity-js/core/lib/stage';
6
6
  import * as strategies from './strategies';
7
7
 
8
8
  /**
9
- * The Photographer is a {@apilink StageCrewMember} who takes screenshots
10
- * using the web browser associated with the {@apilink Actor} that is currently {@apilink actorInTheSpotlight|in the spotlight}.
9
+ * The Photographer is a [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) who takes screenshots
10
+ * using the web browser associated with the [actor](https://serenity-js.org/api/core/class/Actor/) that is
11
+ * currently [in the spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
11
12
  *
12
13
  * ## Registering Photographer programmatically
13
14
  *
@@ -53,7 +54,7 @@ import * as strategies from './strategies';
53
54
  * ```
54
55
  *
55
56
  * #### Learn more
56
- * - {@apilink SerenityOptions}
57
+ * - [`SerenityOptions`](https://serenity-js.org/api/playwright-test/interface/SerenityOptions/)
57
58
  *
58
59
  * ## Using Photographer with WebdriverIO
59
60
  *
@@ -144,30 +145,30 @@ import * as strategies from './strategies';
144
145
  * ```
145
146
  *
146
147
  * ## Learn more
147
- * - {@apilink Stage}
148
- * - {@apilink StageCrewMember}
149
- * - {@apilink TakePhotosBeforeAndAfterInteractions}
150
- * - {@apilink TakePhotosOfFailures}
151
- * - {@apilink TakePhotosOfInteractions}
148
+ * - [`Stage`](https://serenity-js.org/api/core/class/Stage/)
149
+ * - [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/)
150
+ * - [`TakePhotosBeforeAndAfterInteractions`](https://serenity-js.org/api/web/class/TakePhotosBeforeAndAfterInteractions/)
151
+ * - [`TakePhotosOfFailures`](https://serenity-js.org/api/web/class/TakePhotosOfFailures/)
152
+ * - [`TakePhotosOfInteractions`](https://serenity-js.org/api/web/class/TakePhotosOfInteractions/)
152
153
  *
153
154
  * @group Stage
154
155
  */
155
156
  export class Photographer implements StageCrewMember {
156
157
 
157
158
  /**
158
- * Instantiates a new {@apilink Photographer} configured to take photos (screenshots)
159
- * as per the specified {@apilink PhotoTakingStrategy}.
159
+ * Instantiates a new [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) configured to take photos (screenshots)
160
+ * as per the specified [`PhotoTakingStrategy`](https://serenity-js.org/api/web/class/PhotoTakingStrategy/).
160
161
  *
161
162
  * @param strategy
162
- * A no-arg constructor function that instantiates a {@apilink PhotoTakingStrategy}
163
+ * A no-arg constructor function that instantiates a [`PhotoTakingStrategy`](https://serenity-js.org/api/web/class/PhotoTakingStrategy/)
163
164
  */
164
165
  static whoWill(strategy: new () => strategies.PhotoTakingStrategy): StageCrewMember {
165
166
  return new Photographer(new strategy());
166
167
  }
167
168
 
168
169
  /**
169
- * Instantiates a new {@apilink Photographer} configured to take photos (screenshots)
170
- * as per the specified {@apilink PhotoTakingStrategy}.
170
+ * Instantiates a new [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) configured to take photos (screenshots)
171
+ * as per the specified [`PhotoTakingStrategy`](https://serenity-js.org/api/web/class/PhotoTakingStrategy/).
171
172
  *
172
173
  * @param config
173
174
  */
@@ -195,10 +196,10 @@ export class Photographer implements StageCrewMember {
195
196
  }
196
197
 
197
198
  /**
198
- * Assigns this {@apilink StageCrewMember} to a given {@apilink Stage}.
199
+ * Assigns this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) to a given [`Stage`](https://serenity-js.org/api/core/class/Stage/).
199
200
  *
200
201
  * @param stage
201
- * An instance of a {@apilink Stage} this {@apilink StageCrewMember} will be assigned to
202
+ * An instance of a [`Stage`](https://serenity-js.org/api/core/class/Stage/) this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) will be assigned to
202
203
  */
203
204
  assignedTo(stage: Stage): StageCrewMember {
204
205
  this.stage = stage;
@@ -206,8 +207,8 @@ export class Photographer implements StageCrewMember {
206
207
  }
207
208
 
208
209
  /**
209
- * Handles {@apilink DomainEvent} objects emitted by the {@apilink Stage}
210
- * this {@apilink StageCrewMember} is assigned to.
210
+ * Handles [`DomainEvent`](https://serenity-js.org/api/core-events/class/DomainEvent/) objects emitted by the [`Stage`](https://serenity-js.org/api/core/class/Stage/)
211
+ * this [`StageCrewMember`](https://serenity-js.org/api/core/interface/StageCrewMember/) is assigned to.
211
212
  *
212
213
  * @param event
213
214
  */
@@ -7,8 +7,8 @@ import { CorrelationId, Description, Name, Photo } from '@serenity-js/core/lib/m
7
7
  import { BrowseTheWeb } from '../../../../screenplay';
8
8
 
9
9
  /**
10
- * Configures the {@apilink Photographer} to take {@apilink Photo|photos}, a.k.a. screenshots,
11
- * of the {@apilink Activity} performed by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
10
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos, a.k.a. screenshots,
11
+ * of the [`Activity`](https://serenity-js.org/api/core/class/Activity/) performed by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
12
12
  * when desired conditions are met.
13
13
  *
14
14
  * @group Stage
@@ -16,12 +16,12 @@ import { BrowseTheWeb } from '../../../../screenplay';
16
16
  export abstract class PhotoTakingStrategy {
17
17
 
18
18
  /**
19
- * Takes a photo of the web browser used by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
19
+ * Takes a photo of the web browser used by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
20
20
  *
21
21
  * #### Learn more
22
- * - {@apilink ActivityStarts}
23
- * - {@apilink ActivityFinished}
24
- * - {@apilink Stage}
22
+ * - [ActivityStarts](https://serenity-js.org/api/core-events/class/ActivityStarts/)
23
+ * - [ActivityFinished](https://serenity-js.org/api/core-events/class/ActivityFinished/)
24
+ * - [`Stage`](https://serenity-js.org/api/core/class/Stage/)
25
25
  *
26
26
  * @param event
27
27
  * @param stage
@@ -4,9 +4,9 @@ import { InteractionFinished, InteractionStarts } from '@serenity-js/core/lib/ev
4
4
  import { PhotoTakingStrategy } from './PhotoTakingStrategy';
5
5
 
6
6
  /**
7
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots) **both before and after**
8
- * every single {@apilink Interaction} performed
9
- * by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}.
7
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots) **both before and after**
8
+ * every single [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) performed
9
+ * by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/).
10
10
  *
11
11
  * **Please note** that this strategy will result in _a lot_ of screenshots being taken,
12
12
  * which will seriously affect the performance of your tests.
@@ -5,9 +5,9 @@ import { ImplementationPending } from '@serenity-js/core/lib/model';
5
5
  import { PhotoTakingStrategy } from './PhotoTakingStrategy';
6
6
 
7
7
  /**
8
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
9
- * when then {@apilink Interaction} performed
10
- * by the {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
8
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots)
9
+ * when then [`Interaction`](https://serenity-js.org/api/core/class/Interaction/) performed
10
+ * by the [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
11
11
  * results in an error.
12
12
  *
13
13
  * This strategy works best when you are interested in the screenshots only when
@@ -4,9 +4,9 @@ import { InteractionFinished } from '@serenity-js/core/lib/events';
4
4
  import { PhotoTakingStrategy } from './PhotoTakingStrategy';
5
5
 
6
6
  /**
7
- * Configures the {@apilink Photographer} to take photos (a.k.a. screenshots)
8
- * when then {@apilink Actor} in the {@apilink actorInTheSpotlight|spotlight}
9
- * performs any {@apilink Interaction}.
7
+ * Configures the [`Photographer`](https://serenity-js.org/api/web/class/Photographer/) to take photos (a.k.a. screenshots)
8
+ * when then [`Actor`](https://serenity-js.org/api/core/class/Actor/) in the [spotlight](https://serenity-js.org/api/core/function/actorInTheSpotlight/)
9
+ * performs any [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
10
10
  *
11
11
  * This strategy works best when you want the results of your automated tests
12
12
  * to become comprehensive living documentation of your system.