@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,17 +4,17 @@ import { Interaction, Task, the } from '@serenity-js/core';
4
4
  import type { Switchable } from '../models';
5
5
 
6
6
  /**
7
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
8
- * to switch the context for future activities to a {@apilink Switchable}, such as a {@apilink Page} or a {@apilink PageElement}.
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 switch the context for future activities to a [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/), such as a [`Page`](https://serenity-js.org/api/web/class/Page/) or a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
9
9
  *
10
- * Please note that when the {@apilink PageElement} implementing {@apilink Switchable} represents an {@apilink iframe},
11
- * using {@apilink Switch} will result in switching the top-level browsing context to that {@apilink iframe}.
10
+ * Please note that when the [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) implementing [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/) represents an [`iframe`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe),
11
+ * using [`Switch`](https://serenity-js.org/api/web/class/Switch/) will result in switching the top-level browsing context to that [`iframe`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe).
12
12
  *
13
- * When the {@apilink PageElement} represents any other [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement),
14
- * using {@apilink Switch} sets [`HTMLElement#focus`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus)
13
+ * When the [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) represents any other [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement),
14
+ * using [`Switch`](https://serenity-js.org/api/web/class/Switch/) sets [`HTMLElement#focus`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus)
15
15
  * on the specified element. Assuming it can be focused.
16
16
  *
17
- * **Note:** The focused element is the element which will receive keyboard {@apilink Press} events by default.
17
+ * **Note:** The focused element is the element which will receive keyboard [press](https://serenity-js.org/api/web/class/Press/) events by default.
18
18
  *
19
19
  * ## Perform activities in the context of an iframe
20
20
  *
@@ -97,18 +97,18 @@ import type { Switchable } from '../models';
97
97
  *
98
98
  * ## Learn more
99
99
  *
100
- * - {@apilink BrowseTheWeb}
101
- * - {@apilink Switchable}
102
- * - {@apilink SwitchableOrigin}
100
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
101
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
102
+ * - [`SwitchableOrigin`](https://serenity-js.org/api/web/interface/SwitchableOrigin/)
103
103
  *
104
104
  * @group Activities
105
105
  */
106
106
  export class Switch extends Interaction {
107
107
 
108
108
  /**
109
- * Instructs the {@apilink Actor}
110
- * to switch the context for future activities to a {@apilink Switchable},
111
- * such as a {@apilink Page} or a {@apilink PageElement}.
109
+ * Instructs the [`Actor`](https://serenity-js.org/api/core/class/Actor/)
110
+ * to switch the context for future activities to a [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/),
111
+ * such as a [`Page`](https://serenity-js.org/api/web/class/Page/) or a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/).
112
112
  *
113
113
  * @param switchable
114
114
  */
@@ -121,9 +121,9 @@ export class Switch extends Interaction {
121
121
  }
122
122
 
123
123
  /**
124
- * Instructs the {@apilink Actor}
125
- * to switch the context for future activities to a {@apilink Switchable},
126
- * such as a {@apilink Page} or a {@apilink PageElement},
124
+ * Instructs the [`Actor`](https://serenity-js.org/api/core/class/Actor/)
125
+ * to switch the context for future activities to a [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/),
126
+ * such as a [`Page`](https://serenity-js.org/api/web/class/Page/) or a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/),
127
127
  * perform a sequence of `activities`, and then switch the context back.
128
128
  *
129
129
  * @param activities
@@ -5,10 +5,12 @@ import { Name, Photo } from '@serenity-js/core/lib/model';
5
5
  import { BrowseTheWeb } from '../abilities';
6
6
 
7
7
  /**
8
- * Instructs an {@apilink Actor|actor} who has the {@apilink Ability|ability} to {@apilink BrowseTheWeb}
9
- * to take a screenshot and emit an {@apilink Artifact},
10
- * which can then be persisted by {@apilink ArtifactArchiver}
11
- * and reported by [Serenity BDD reporter](/api/serenity-bdd).
8
+ * Instructs an [actor](https://serenity-js.org/api/core/class/Actor/)
9
+ * who has the [ability](https://serenity-js.org/api/core/class/Ability/)
10
+ * to [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
11
+ * to take a screenshot and emit an artifact,
12
+ * which can then be persisted by [`ArtifactArchiver`](https://serenity-js.org/api/core/class/ArtifactArchiver/)
13
+ * and reported by [Serenity BDD reporter](https://serenity-js.org/api/serenity-bdd).
12
14
  *
13
15
  * #### Taking a screenshot
14
16
  *
@@ -25,20 +27,19 @@ import { BrowseTheWeb } from '../abilities';
25
27
  *
26
28
  * ## Learn more
27
29
  *
28
- * - {@apilink BrowseTheWeb}
29
- * - {@apilink CollectsArtifacts}
30
- * - {@apilink Artifact}
31
- * - {@apilink ArtifactArchiver}
30
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
31
+ * - [`CollectsArtifacts`](https://serenity-js.org/api/core/interface/CollectsArtifacts/)
32
+ * - [`ArtifactArchiver`](https://serenity-js.org/api/core/class/ArtifactArchiver/)
32
33
  *
33
34
  * @group Activities
34
35
  */
35
36
  export class TakeScreenshot extends Interaction {
36
37
 
37
38
  /**
38
- * Instantiates this {@apilink Interaction}.
39
+ * Instantiates this [`Interaction`](https://serenity-js.org/api/core/class/Interaction/).
39
40
  *
40
41
  * @param name
41
- * The name to give the emitted {@apilink Artifact}
42
+ * The name to give the emitted artifact
42
43
  */
43
44
  static of(name: Answerable<string>): Interaction {
44
45
  return new TakeScreenshot(name);
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * ## Learn more
5
5
  *
6
- * - {@apilink BrowseTheWeb.browserCapabilities}
6
+ * - [`BrowseTheWeb.browserCapabilities`](https://serenity-js.org/api/web/class/BrowseTheWeb/#browserCapabilities)
7
7
  *
8
8
  * @group Models
9
9
  */
@@ -27,17 +27,17 @@ export abstract class BrowsingSession<Page_Type extends Page> {
27
27
  }
28
28
 
29
29
  /**
30
- * Opens a new browser page and associates it with a {@apilink Page} object.
30
+ * Opens a new browser page and associates it with a [`Page`](https://serenity-js.org/api/web/class/Page/) object.
31
31
  */
32
32
  protected abstract registerCurrentPage(): Promise<Page_Type>;
33
33
 
34
34
  /**
35
- * Returns {@apilink BrowserCapabilities|basic meta-data} about the browser associated with this browsing session.
35
+ * Returns [basic meta-data](https://serenity-js.org/api/web/interface/BrowserCapabilities/) about the browser associated with this browsing session.
36
36
  */
37
37
  public abstract browserCapabilities(): Promise<BrowserCapabilities>;
38
38
 
39
39
  /**
40
- * Returns a {@apilink Page} representing the currently active top-level browsing context.
40
+ * Returns a [`Page`](https://serenity-js.org/api/web/class/Page/) representing the currently active top-level browsing context.
41
41
  */
42
42
  async currentPage(): Promise<Page_Type> {
43
43
  if (! this.currentBrowserPage || ! await this.currentBrowserPage.isPresent()) {
@@ -48,7 +48,7 @@ export abstract class BrowsingSession<Page_Type extends Page> {
48
48
  }
49
49
 
50
50
  /**
51
- * Registers specified {@apilink Page|pages} to be managed by this {@apilink BrowsingSession}.
51
+ * Registers specified [pages](https://serenity-js.org/api/web/class/Page/) to be managed by this [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/).
52
52
  *
53
53
  * @param pages
54
54
  */
@@ -59,7 +59,7 @@ export abstract class BrowsingSession<Page_Type extends Page> {
59
59
  }
60
60
 
61
61
  /**
62
- * Informs this {@apilink BrowsingSession} that it should no longer manage {@apilink Page|pages}
62
+ * Informs this [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/) that it should no longer manage [pages](https://serenity-js.org/api/web/class/Page/)
63
63
  * identified by the given `pageIds`.
64
64
  *
65
65
  * @param pageIds
@@ -71,7 +71,7 @@ export abstract class BrowsingSession<Page_Type extends Page> {
71
71
  }
72
72
 
73
73
  /**
74
- * Returns a {@apilink Page|pages} representing all the available
74
+ * Returns a [pages](https://serenity-js.org/api/web/class/Page/) representing all the available
75
75
  * top-level browsing context, e.g. all the open browser tabs.
76
76
  */
77
77
  async allPages(): Promise<Array<Page_Type>> {
@@ -79,14 +79,14 @@ export abstract class BrowsingSession<Page_Type extends Page> {
79
79
  }
80
80
 
81
81
  /**
82
- * Returns the ids of any {@apilink Page|pages} this {@apilink BrowsingSession} is aware of.
82
+ * Returns the ids of any [pages](https://serenity-js.org/api/web/class/Page/) this [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/) is aware of.
83
83
  */
84
84
  registeredPageIds(): Array<CorrelationId> {
85
85
  return Array.from(this.pages.keys());
86
86
  }
87
87
 
88
88
  /**
89
- * Informs the {@apilink BrowsingSession} that the "current page" has changed to `page`.
89
+ * Informs the [`BrowsingSession`](https://serenity-js.org/api/web/class/BrowsingSession/) that the "current page" has changed to `page`.
90
90
  *
91
91
  * Please note that different Web integration tools have a different definition of what a "current page" is.
92
92
  * For example, Selenium or WebdriverIO use a single "focused" window that a developer
@@ -8,7 +8,7 @@ import { BrowseTheWeb } from '../abilities';
8
8
  import type { CookieData } from './CookieData';
9
9
 
10
10
  /**
11
- * A Screenplay Pattern-style model responsible for managing cookies available to the current {@apilink Page}.
11
+ * A Screenplay Pattern-style model responsible for managing cookies available to the current [`Page`](https://serenity-js.org/api/web/class/Page/).
12
12
  *
13
13
  * ## Checking if a cookie exists
14
14
  *
@@ -69,15 +69,15 @@ import type { CookieData } from './CookieData';
69
69
  * ```
70
70
  *
71
71
  * ## Learn more
72
- * - {@apilink CookieData}
73
- * - {@apilink Page.cookie}
72
+ * - [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/)
73
+ * - [`Page.cookie`](https://serenity-js.org/api/web/class/Page/#cookie)
74
74
  *
75
75
  * @group Models
76
76
  */
77
77
  export abstract class Cookie implements Optional {
78
78
 
79
79
  /**
80
- * Creates a {@apilink QuestionAdapter} that resolves to {@apilink Cookie} identified by `name`.
80
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to [`Cookie`](https://serenity-js.org/api/web/class/Cookie/) identified by `name`.
81
81
  *
82
82
  * @param name
83
83
  */
@@ -90,7 +90,7 @@ export abstract class Cookie implements Optional {
90
90
  }
91
91
 
92
92
  /**
93
- * Sets a cookie for the current {@apilink Page}. Note that {@apilink CookieData} can be either a plain-old JavaScript object, or an {@apilink Answerable} {@apilink WithAnswerableProperties}.
93
+ * Sets a cookie for the current [`Page`](https://serenity-js.org/api/web/class/Page/). Note that [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/) can be either a plain-old JavaScript object, or an [`Answerable`](https://serenity-js.org/api/core/#Answerable) [`WithAnswerableProperties`](https://serenity-js.org/api/core/#WithAnswerableProperties).
94
94
  *
95
95
  * :::info
96
96
  * Make sure that the actor performing this interaction is on the page that should receive the cookie.
@@ -122,7 +122,7 @@ export abstract class Cookie implements Optional {
122
122
  }
123
123
 
124
124
  /**
125
- * Creates an {@apilink Interaction|interaction} to delete all cookies available to the current {@apilink Page}..
125
+ * Creates an [interaction](https://serenity-js.org/api/core/class/Interaction/) to delete all cookies available to the current [`Page`](https://serenity-js.org/api/web/class/Page/)..
126
126
  */
127
127
  static deleteAll(): Interaction {
128
128
  return Interaction.where(`#actor deletes all cookies`, async actor => {
@@ -148,7 +148,7 @@ export abstract class Cookie implements Optional {
148
148
  * Checks if a given cookie is set.
149
149
  *
150
150
  * #### Learn more
151
- * - {@apilink Optional}
151
+ * - [`Optional`](https://serenity-js.org/api/core/interface/Optional/)
152
152
  */
153
153
  async isPresent(): Promise<boolean> {
154
154
  try {
@@ -214,7 +214,7 @@ export abstract class Cookie implements Optional {
214
214
  * Returns the expiry date of a given cookie
215
215
  *
216
216
  * #### Learn more
217
- * - {@apilink Timestamp}
217
+ * - [`Timestamp`](https://serenity-js.org/api/core/class/Timestamp/)
218
218
  */
219
219
  async expiry(): Promise<Timestamp> {
220
220
  const cookie = await this.lazyLoadCookie();
@@ -232,12 +232,12 @@ export abstract class Cookie implements Optional {
232
232
  * This method is to be implemented by test integration tool-specific adapters.
233
233
  *
234
234
  * **Please note**: you don't need to implement any response caching here
235
- * since it is covered by {@apilink Cookie.lazyLoadCookie} method.
235
+ * since it is covered by [`Cookie`](https://serenity-js.org/api/web/class/Cookie/).lazyLoadCookie} method.
236
236
  */
237
237
  protected abstract read(): Promise<CookieData>;
238
238
 
239
239
  /**
240
- * Invokes {@apilink Cookie.read} and caches the result in memory.
240
+ * Invokes `Cookie.read` and caches the result in memory.
241
241
  */
242
242
  private async lazyLoadCookie(): Promise<CookieData> {
243
243
  if (! this.cookie) {
@@ -1,12 +1,12 @@
1
1
  import type { Timestamp } from '@serenity-js/core';
2
2
 
3
3
  /**
4
- * A data structure describing a {@apilink Cookie} to be set, or one that's been read.
4
+ * A data structure describing a [`Cookie`](https://serenity-js.org/api/web/class/Cookie/) to be set, or one that's been read.
5
5
  *
6
6
  * ## Learn more
7
7
  *
8
- * - {@apilink Cookie}
9
- * - {@apilink Page.cookie}
8
+ * - [`Cookie`](https://serenity-js.org/api/web/class/Cookie/)
9
+ * - [`Page.cookie`](https://serenity-js.org/api/web/class/Page/#cookie)
10
10
  *
11
11
  * @group Models
12
12
  */
@@ -35,7 +35,7 @@ export interface CookieData {
35
35
  path?: string;
36
36
 
37
37
  /**
38
- * The {@apilink Timestamp} describing the point in time when this cookie expires.
38
+ * The [timestamp](https://serenity-js.org/api/core/class/Timestamp/) describing the point in time when this cookie expires.
39
39
  */
40
40
  expiry?: Timestamp;
41
41
 
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Represents keyboard keys that aren't text, and that can be used with the {@apilink Interaction|interaction} to {@apilink Press}.
2
+ * Represents keyboard keys that aren't text, and that can be used with the [interaction](https://serenity-js.org/api/core/class/Interaction/) to [`Press`](https://serenity-js.org/api/web/class/Press/).
3
3
  *
4
- * **Note:** Modifier keys like {@apilink Key.Shift}, {@apilink Key.Alt} and {@apilink Key.Meta} (a.k.a. "Command" on Mac) will stay pressed,
4
+ * **Note:** Modifier keys like [`Key.Shift`](https://serenity-js.org/api/web/class/Key/#Shift), [`Key.Alt`](https://serenity-js.org/api/web/class/Key/#Alt) and [`Key.Meta`](https://serenity-js.org/api/web/class/Key/#Meta) (a.k.a. "Command" on Mac) will stay pressed,
5
5
  * so there's no need to depress them.
6
6
  *
7
7
  * ## Learn more
8
8
  *
9
- * - {@apilink Press}
10
- * - {@apilink Page.sendKeys}
9
+ * - [`Press`](https://serenity-js.org/api/web/class/Press/)
10
+ * - [`Page.sendKeys`](https://serenity-js.org/api/web/class/Page/#sendKeys)
11
11
  * - [W3C WebDriver Spec: Keyboard Actions](https://w3c.github.io/webdriver/webdriver-spec.html#keyboard-actions)
12
12
  * - [Selenium WebDriver: Inputs](https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/node/selenium-webdriver/lib/input.js#L46)
13
13
  * - [WebdriverIO: Constants](https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/constants.ts#L5)
@@ -7,14 +7,14 @@ import { RootLocator } from './RootLocator';
7
7
  import { ByCss, ById, ByTagName, type Selector } from './selectors';
8
8
 
9
9
  /**
10
- * {@apilink Locator} uses a {@apilink Selector} to locate a {@apilink PageElement} or {@apilink PageElements}
11
- * within the {@apilink Page}.
10
+ * [`Locator`](https://serenity-js.org/api/web/class/Locator/) uses a [`Selector`](https://serenity-js.org/api/web/class/Selector/) to locate a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) or [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
11
+ * within the [`Page`](https://serenity-js.org/api/web/class/Page/).
12
12
  *
13
13
  * ## Learn more
14
- * - {@apilink RootLocator}
15
- * - {@apilink Page.locate}
16
- * - {@apilink PageElement}
17
- * - {@apilink PageElements}
14
+ * - [`RootLocator`](https://serenity-js.org/api/web/class/RootLocator/)
15
+ * - [`Page.locate`](https://serenity-js.org/api/web/class/Page/#locate)
16
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
17
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElements/)
18
18
  *
19
19
  * @group Models
20
20
  */
@@ -50,10 +50,10 @@ export abstract class Locator<Native_Element_Type, Native_Selector_Type = any>
50
50
  abstract locate(child: Locator<Native_Element_Type>): Locator<Native_Element_Type>;
51
51
 
52
52
  /**
53
- * Expresses {@apilink ByCss}, {@apilink ById}, or {@apilink ByTagName} as a {@apilink ByCss} selector.
53
+ * Expresses [`ByCss`](https://serenity-js.org/api/web/class/ByCss/), [`ById`](https://serenity-js.org/api/web/class/ById/), or [`ByTagName`](https://serenity-js.org/api/web/class/ByTagName/) as a [`ByCss`](https://serenity-js.org/api/web/class/ByCss/) selector.
54
54
  *
55
55
  * @throws LogicError
56
- * if the `selector` can't be expressed as {@apilink ByCss}
56
+ * if the `selector` can't be expressed as [`ByCss`](https://serenity-js.org/api/web/class/ByCss/)
57
57
  *
58
58
  * @param selector
59
59
  * @protected
@@ -123,17 +123,17 @@ import type { SwitchableOrigin } from './SwitchableOrigin';
123
123
  *
124
124
  * ## Learn more
125
125
  *
126
- * - {@apilink BrowseTheWeb}
127
- * - {@apilink PageElement}
128
- * - {@apilink Optional}
129
- * - {@apilink Switchable}
126
+ * - [`BrowseTheWeb`](https://serenity-js.org/api/web/class/BrowseTheWeb/)
127
+ * - [`PageElement`](https://serenity-js.org/api/web/class/PageElement/)
128
+ * - [`Optional`](https://serenity-js.org/api/core/interface/Optional/)
129
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
130
130
  *
131
131
  * @group Models
132
132
  */
133
133
  export abstract class Page<Native_Element_Type = any> implements Optional, Switchable {
134
134
 
135
135
  /**
136
- * Creates a {@apilink QuestionAdapter} representing the currently active {@apilink Page}.
136
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) representing the currently active [`Page`](https://serenity-js.org/api/web/class/Page/).
137
137
  */
138
138
  static current(): QuestionAdapter<Page> {
139
139
  return Question.about<Page>('current page', actor => {
@@ -142,8 +142,8 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
142
142
  }
143
143
 
144
144
  /**
145
- * Creates a {@apilink QuestionAdapter} that resolves to a {@apilink Page} which {@apilink Page.name}
146
- * meets the {@apilink Expectation|`expectation`}.
145
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to a [`Page`](https://serenity-js.org/api/web/class/Page/) which [`Page.name`](https://serenity-js.org/api/web/class/Page/#name)
146
+ * meets the [expectation](https://serenity-js.org/api/core/class/Expectation/).
147
147
  *
148
148
  * #### Switching to a page with the desired name
149
149
  *
@@ -172,8 +172,8 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
172
172
  }
173
173
 
174
174
  /**
175
- * Creates a {@apilink QuestionAdapter} that resolves to a {@apilink Page} which {@apilink Page.title}
176
- * meets the {@apilink Expectation|`expectation`}.
175
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to a [`Page`](https://serenity-js.org/api/web/class/Page/) which [`Page.title`](https://serenity-js.org/api/web/class/Page/#title)
176
+ * meets the [expectation](https://serenity-js.org/api/core/class/Expectation/).
177
177
  *
178
178
  * #### Switching to a page with the desired title
179
179
  *
@@ -202,8 +202,8 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
202
202
  }
203
203
 
204
204
  /**
205
- * Creates a {@apilink QuestionAdapter} that resolves to a {@apilink Page} which {@apilink Page.url}
206
- * meets the {@apilink Expectation|`expectation`}.
205
+ * Creates a [`QuestionAdapter`](https://serenity-js.org/api/core/#QuestionAdapter) that resolves to a [`Page`](https://serenity-js.org/api/web/class/Page/) which [`Page.url`](https://serenity-js.org/api/web/class/Page/#url)
206
+ * meets the [expectation](https://serenity-js.org/api/core/class/Expectation/).
207
207
  *
208
208
  * #### Switching to a page with the desired URL
209
209
  *
@@ -258,21 +258,21 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
258
258
  }
259
259
 
260
260
  /**
261
- * Creates a {@apilink PageElement} wrapping a native element.
261
+ * Creates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) wrapping a native element.
262
262
  *
263
263
  * @param nativeElement
264
264
  */
265
265
  abstract createPageElement(nativeElement: Native_Element_Type): PageElement<Native_Element_Type>;
266
266
 
267
267
  /**
268
- * Creates a {@apilink PageElement}, retrieving an element located by {@apilink Selector}.
268
+ * Creates a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), retrieving an element located by [`Selector`](https://serenity-js.org/api/web/class/Selector/).
269
269
  *
270
270
  * @param selector
271
271
  */
272
272
  abstract locate(selector: Selector): PageElement<Native_Element_Type>;
273
273
 
274
274
  /**
275
- * Creates {@apilink PageElements}, retrieving a collection of elements located by {@apilink Selector}.
275
+ * Creates [`PageElement`](https://serenity-js.org/api/web/class/PageElements/), retrieving a collection of elements located by [`Selector`](https://serenity-js.org/api/web/class/Selector/).
276
276
  *
277
277
  * @param selector
278
278
  */
@@ -296,7 +296,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
296
296
 
297
297
  /**
298
298
  * Causes the browser to traverse one step backward in the joint session history
299
- * of the current {@apilink Page} (the current top-level browsing context).
299
+ * of the current [`Page`](https://serenity-js.org/api/web/class/Page/) (the current top-level browsing context).
300
300
  *
301
301
  * This is equivalent to pressing the back button in the browser UI,
302
302
  * or calling [`window.history.back`](https://developer.mozilla.org/en-US/docs/Web/API/History/back).
@@ -305,7 +305,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
305
305
 
306
306
  /**
307
307
  * Causes the browser to traverse one step forward in the joint session history
308
- * of the current {@apilink Page} (the current top-level browsing context).
308
+ * of the current [`Page`](https://serenity-js.org/api/web/class/Page/) (the current top-level browsing context).
309
309
  *
310
310
  * This is equivalent to pressing the back button in the browser UI,
311
311
  * or calling [`window.history.forward`](https://developer.mozilla.org/en-US/docs/Web/API/History/forward).
@@ -313,12 +313,12 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
313
313
  abstract navigateForward(): Promise<void>;
314
314
 
315
315
  /**
316
- * Causes the browser to reload the {@apilink Page} in the current top-level browsing context.
316
+ * Causes the browser to reload the [`Page`](https://serenity-js.org/api/web/class/Page/) in the current top-level browsing context.
317
317
  */
318
318
  abstract reload(): Promise<void>;
319
319
 
320
320
  /**
321
- * Send a sequence of {@apilink Key} strokes to the active element.
321
+ * Send a sequence of [`Key`](https://serenity-js.org/api/web/class/Key/) strokes to the active element.
322
322
  *
323
323
  * @param keys
324
324
  * Keys to enter
@@ -345,7 +345,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
345
345
  * If the script has a return value (i.e. if the script contains a `return` statement),
346
346
  * then the following steps will be taken for resolving this functions return value:
347
347
  *
348
- * - For a {@apilink PageElement}, the value will resolve to a [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement)
348
+ * - For a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), the value will resolve to a [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement)
349
349
  * - `null` and `undefined` return values will resolve to `null`
350
350
  * - `boolean`, `number`, and `string` values will resolve as is
351
351
  * - Functions will resolve to their string representation
@@ -363,7 +363,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
363
363
  *
364
364
  * #### Learn more
365
365
  * - [Selenium WebDriver: JavaScript Executor](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html#executeAsyncScript-java.lang.String-java.lang.Object...-)
366
- * - {@apilink Page.lastScriptExecutionResult}
366
+ * - [`Page.lastScriptExecutionResult`](https://serenity-js.org/api/web/class/Page/#lastScriptExecutionResult)
367
367
  *
368
368
  * @param script
369
369
  * @param args
@@ -385,7 +385,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
385
385
  * Arrays and objects may also be used as script arguments as long as each item adheres
386
386
  * to the types previously mentioned.
387
387
  *
388
- * Unlike executing synchronous JavaScript with {@apilink Page.executeScript},
388
+ * Unlike executing synchronous JavaScript with [`Page.executeScript`](https://serenity-js.org/api/web/class/Page/#executeScript),
389
389
  * scripts executed with this function must explicitly signal they are finished by invoking the provided callback.
390
390
  *
391
391
  * This callback will always be injected into the executed function as the last argument,
@@ -394,7 +394,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
394
394
  * The following steps will be taken for resolving this functions return value against
395
395
  * the first argument to the script's callback function:
396
396
  *
397
- * - For a {@apilink PageElement}, the value will resolve to a [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement)
397
+ * - For a [`PageElement`](https://serenity-js.org/api/web/class/PageElement/), the value will resolve to a [HTMLElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement)
398
398
  * - `null` and `undefined` return values will resolve to `null`
399
399
  * - `boolean`, `number`, and `string` values will resolve as is
400
400
  * - Functions will resolve to their string representation
@@ -423,7 +423,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
423
423
  *
424
424
  * #### Learn more
425
425
  * - [Selenium WebDriver: JavaScript Executor](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/JavascriptExecutor.html#executeAsyncScript-java.lang.String-java.lang.Object...-)
426
- * - {@apilink Page.lastScriptExecutionResult}
426
+ * - [`Page.lastScriptExecutionResult`](https://serenity-js.org/api/web/class/Page/#lastScriptExecutionResult)
427
427
  *
428
428
  * @param script
429
429
  * @param args
@@ -434,15 +434,15 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
434
434
  ): Promise<Result>;
435
435
 
436
436
  /**
437
- * Returns the last result of calling {@apilink Page.executeAsyncScript}
438
- * or {@apilink Page.executeScript}
437
+ * Returns the last result of calling [`Page.executeAsyncScript`](https://serenity-js.org/api/web/class/Page/#executeAsyncScript)
438
+ * or [`Page.executeScript`](https://serenity-js.org/api/web/class/Page/#executeScript)
439
439
  */
440
440
  abstract lastScriptExecutionResult<R = any>(): R;
441
441
 
442
442
  /**
443
443
  * Take a screenshot of the top-level browsing context's viewport.
444
444
  *
445
- * @throws {@apilink BrowserWindowClosedError}
445
+ * @throws [`BrowserWindowClosedError`](https://serenity-js.org/api/web/class/BrowserWindowClosedError/)
446
446
  * When the page you're trying to take the screenshot of has already been closed
447
447
  *
448
448
  * @return
@@ -451,15 +451,15 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
451
451
  abstract takeScreenshot(): Promise<string>;
452
452
 
453
453
  /**
454
- * Retrieves a cookie identified by `name` and visible to this {@apilink Page}.
454
+ * Retrieves a cookie identified by `name` and visible to this [`Page`](https://serenity-js.org/api/web/class/Page/).
455
455
  *
456
456
  * @param name
457
457
  */
458
458
  abstract cookie(name: string): Promise<Cookie>;
459
459
 
460
460
  /**
461
- * Adds a single cookie with {@apilink CookieData} to the cookie store associated
462
- * with the active {@apilink Page}'s address.
461
+ * Adds a single cookie with [`CookieData`](https://serenity-js.org/api/web/interface/CookieData/) to the cookie store associated
462
+ * with the active [`Page`](https://serenity-js.org/api/web/class/Page/)'s address.
463
463
  *
464
464
  * @param cookieData
465
465
  */
@@ -512,8 +512,8 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
512
512
  * to the previous context when needed.
513
513
  *
514
514
  * ## Learn more
515
- * - {@apilink Switch}
516
- * - {@apilink Switchable}
515
+ * - [`Switch`](https://serenity-js.org/api/web/class/Switch/)
516
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
517
517
  */
518
518
  async switchTo(): Promise<SwitchableOrigin> {
519
519
 
@@ -539,7 +539,7 @@ export abstract class Page<Native_Element_Type = any> implements Optional, Switc
539
539
  abstract closeOthers(): Promise<void>;
540
540
 
541
541
  /**
542
- * Returns the {@apilink ModalDialogHandler} for the current {@apilink Page}.
542
+ * Returns the [`ModalDialogHandler`](https://serenity-js.org/api/web/class/ModalDialogHandler/) for the current [`Page`](https://serenity-js.org/api/web/class/Page/).
543
543
  */
544
544
  modalDialog(): ModalDialogHandler {
545
545
  return this.modalDialogHandler;
@@ -10,13 +10,13 @@ import type { Switchable } from './Switchable';
10
10
  import type { SwitchableOrigin } from './SwitchableOrigin';
11
11
 
12
12
  /**
13
- * Uses the {@apilink Actor|actor's} {@apilink Ability|ability} to {@apilink BrowseTheWeb} to identify
14
- * a single Web element located by {@apilink Selector}.
13
+ * 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 identify
14
+ * a single Web element located by [`Selector`](https://serenity-js.org/api/web/class/Selector/).
15
15
  *
16
16
  * ## Learn more
17
- * - [Page Element Query Language](/handbook/web-testing/page-element-query-language)
18
- * - {@apilink Optional}
19
- * - {@apilink Switchable}
17
+ * - [Page Element Query Language](https://serenity-js.org/handbook/web-testing/page-element-query-language)
18
+ * - [`Optional`](https://serenity-js.org/api/core/interface/Optional/)
19
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
20
20
  *
21
21
  * @group Models
22
22
  */
@@ -52,7 +52,7 @@ export abstract class PageElement<Native_Element_Type = any> implements Optional
52
52
  }
53
53
 
54
54
  /**
55
- * A static method producing a {@apilink MetaQuestion} that can be used with {@apilink PageElements.eachMappedTo} method
55
+ * A static method producing a [`MetaQuestion`](https://serenity-js.org/api/core/interface/MetaQuestion/) that can be used with [`PageElements.eachMappedTo`](https://serenity-js.org/api/web/class/PageElements/#eachMappedTo) method
56
56
  * to extract the HTML of each element in a collection.
57
57
  *
58
58
  * #### Example
@@ -98,7 +98,7 @@ export abstract class PageElement<Native_Element_Type = any> implements Optional
98
98
 
99
99
  /**
100
100
  * Traverses the element and its parents, heading toward the document root,
101
- * until it finds a parent {@apilink PageElement} that matches its associated CSS selector.
101
+ * until it finds a parent [`PageElement`](https://serenity-js.org/api/web/class/PageElement/) that matches its associated CSS selector.
102
102
  *
103
103
  * #### Example
104
104
  *
@@ -133,9 +133,9 @@ export abstract class PageElement<Native_Element_Type = any> implements Optional
133
133
  * :::info
134
134
  * This method relies on [Element: closest() API](https://developer.mozilla.org/en-US/docs/Web/API/Element/closest),
135
135
  * and so is only compatible with locating parent elements specified using the following CSS selectors:
136
- * - {@apilink ByCss}
137
- * - {@apilink ById}
138
- * - {@apilink ByTagName}
136
+ * - [`ByCss`](https://serenity-js.org/api/web/class/ByCss/)
137
+ * - [`ById`](https://serenity-js.org/api/web/class/ById/)
138
+ * - [`ByTagName`](https://serenity-js.org/api/web/class/ByTagName/)
139
139
  * :::
140
140
  *
141
141
  * @param childElement
@@ -204,8 +204,8 @@ export abstract class PageElement<Native_Element_Type = any> implements Optional
204
204
  * to the previous context if needed.
205
205
  *
206
206
  * #### Learn more
207
- * - {@apilink Switch}
208
- * - {@apilink Switchable}
207
+ * - [`Switch`](https://serenity-js.org/api/web/class/Switch/)
208
+ * - [`Switchable`](https://serenity-js.org/api/web/interface/Switchable/)
209
209
  */
210
210
  abstract switchTo(): Promise<SwitchableOrigin>;
211
211
 
@@ -232,7 +232,7 @@ export abstract class PageElement<Native_Element_Type = any> implements Optional
232
232
  abstract isEnabled(): Promise<boolean>;
233
233
 
234
234
  /**
235
- * Returns a {@apilink Promise} that resolves to `true` when the element
235
+ * Returns a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) that resolves to `true` when the element
236
236
  * is present in the [Document Object Model (DOM)](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model),
237
237
  * `false` otherwise.
238
238
  */