screenci 0.0.75 → 0.0.78

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 (226) hide show
  1. package/dist/cli.d.ts +62 -1
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +699 -229
  4. package/dist/cli.js.map +1 -1
  5. package/dist/docs/manifest.d.ts +277 -91
  6. package/dist/docs/manifest.d.ts.map +1 -1
  7. package/dist/docs/manifest.js +101 -30
  8. package/dist/docs/manifest.js.map +1 -1
  9. package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts +2 -0
  10. package/dist/docs/video-sources/camera-and-zooming.screenci.d.ts.map +1 -0
  11. package/dist/docs/video-sources/camera-and-zooming.screenci.js +57 -0
  12. package/dist/docs/video-sources/camera-and-zooming.screenci.js.map +1 -0
  13. package/dist/docs/video-sources/installation.screenci.js +19 -10
  14. package/dist/docs/video-sources/installation.screenci.js.map +1 -1
  15. package/dist/docs/video-sources/landing.screenci.js +6 -8
  16. package/dist/docs/video-sources/landing.screenci.js.map +1 -1
  17. package/dist/docs/video-sources/languages.screenci.d.ts +2 -0
  18. package/dist/docs/video-sources/languages.screenci.d.ts.map +1 -0
  19. package/dist/docs/video-sources/languages.screenci.js +68 -0
  20. package/dist/docs/video-sources/languages.screenci.js.map +1 -0
  21. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +4 -5
  22. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
  23. package/dist/docs/video-sources/locator-highlight-still.screenci.js +3 -4
  24. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -1
  25. package/dist/docs/video-sources/narration.screenci.d.ts +2 -0
  26. package/dist/docs/video-sources/narration.screenci.d.ts.map +1 -0
  27. package/dist/docs/video-sources/narration.screenci.js +71 -0
  28. package/dist/docs/video-sources/narration.screenci.js.map +1 -0
  29. package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts +2 -0
  30. package/dist/docs/video-sources/public-urls-and-embeds.screenci.d.ts.map +1 -0
  31. package/dist/docs/video-sources/public-urls-and-embeds.screenci.js +60 -0
  32. package/dist/docs/video-sources/public-urls-and-embeds.screenci.js.map +1 -0
  33. package/dist/docs/video-sources/speaking-style.screenci.d.ts +2 -0
  34. package/dist/docs/video-sources/speaking-style.screenci.d.ts.map +1 -0
  35. package/dist/docs/video-sources/speaking-style.screenci.js +76 -0
  36. package/dist/docs/video-sources/speaking-style.screenci.js.map +1 -0
  37. package/dist/docs/video-sources/studio.screenci.js +8 -10
  38. package/dist/docs/video-sources/studio.screenci.js.map +1 -1
  39. package/dist/docs/video-sources/vertical-video.screenci.d.ts +2 -0
  40. package/dist/docs/video-sources/vertical-video.screenci.d.ts.map +1 -0
  41. package/dist/docs/video-sources/vertical-video.screenci.js +58 -0
  42. package/dist/docs/video-sources/vertical-video.screenci.js.map +1 -0
  43. package/dist/docs/videos.d.ts +20 -0
  44. package/dist/docs/videos.d.ts.map +1 -1
  45. package/dist/docs/videos.js +25 -0
  46. package/dist/docs/videos.js.map +1 -1
  47. package/dist/e2e/instrument.e2e.js +60 -1
  48. package/dist/e2e/instrument.e2e.js.map +1 -1
  49. package/dist/e2e/redact.e2e.d.ts +2 -0
  50. package/dist/e2e/redact.e2e.d.ts.map +1 -0
  51. package/dist/e2e/redact.e2e.js +161 -0
  52. package/dist/e2e/redact.e2e.js.map +1 -0
  53. package/dist/index.d.ts +12 -6
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +8 -2
  56. package/dist/index.js.map +1 -1
  57. package/dist/src/asset.d.ts +174 -14
  58. package/dist/src/asset.d.ts.map +1 -1
  59. package/dist/src/asset.js +320 -39
  60. package/dist/src/asset.js.map +1 -1
  61. package/dist/src/assetHash.d.ts +27 -0
  62. package/dist/src/assetHash.d.ts.map +1 -0
  63. package/dist/src/assetHash.js +0 -0
  64. package/dist/src/assetHash.js.map +1 -0
  65. package/dist/src/audio.d.ts +20 -1
  66. package/dist/src/audio.d.ts.map +1 -1
  67. package/dist/src/audio.js +126 -24
  68. package/dist/src/audio.js.map +1 -1
  69. package/dist/src/autoZoom.d.ts.map +1 -1
  70. package/dist/src/autoZoom.js +3 -1
  71. package/dist/src/autoZoom.js.map +1 -1
  72. package/dist/src/browserLaunchOptions.d.ts +24 -2
  73. package/dist/src/browserLaunchOptions.d.ts.map +1 -1
  74. package/dist/src/browserLaunchOptions.js +57 -3
  75. package/dist/src/browserLaunchOptions.js.map +1 -1
  76. package/dist/src/builder.d.ts +229 -136
  77. package/dist/src/builder.d.ts.map +1 -1
  78. package/dist/src/builder.js +264 -77
  79. package/dist/src/builder.js.map +1 -1
  80. package/dist/src/callerFile.d.ts +12 -0
  81. package/dist/src/callerFile.d.ts.map +1 -0
  82. package/dist/src/callerFile.js +46 -0
  83. package/dist/src/callerFile.js.map +1 -0
  84. package/dist/src/changeFocus.d.ts.map +1 -1
  85. package/dist/src/changeFocus.js +109 -36
  86. package/dist/src/changeFocus.js.map +1 -1
  87. package/dist/src/config.d.ts.map +1 -1
  88. package/dist/src/config.js +15 -0
  89. package/dist/src/config.js.map +1 -1
  90. package/dist/src/cue.d.ts +29 -17
  91. package/dist/src/cue.d.ts.map +1 -1
  92. package/dist/src/cue.js +138 -61
  93. package/dist/src/cue.js.map +1 -1
  94. package/dist/src/declare.d.ts +63 -0
  95. package/dist/src/declare.d.ts.map +1 -0
  96. package/dist/src/declare.js +111 -0
  97. package/dist/src/declare.js.map +1 -0
  98. package/dist/src/defaults.d.ts +23 -0
  99. package/dist/src/defaults.d.ts.map +1 -1
  100. package/dist/src/defaults.js +27 -3
  101. package/dist/src/defaults.js.map +1 -1
  102. package/dist/src/events.d.ts +339 -25
  103. package/dist/src/events.d.ts.map +1 -1
  104. package/dist/src/events.js +250 -26
  105. package/dist/src/events.js.map +1 -1
  106. package/dist/src/htmlRasterizer.d.ts +10 -0
  107. package/dist/src/htmlRasterizer.d.ts.map +1 -1
  108. package/dist/src/htmlRasterizer.js +12 -2
  109. package/dist/src/htmlRasterizer.js.map +1 -1
  110. package/dist/src/init.d.ts +2 -0
  111. package/dist/src/init.d.ts.map +1 -1
  112. package/dist/src/init.js +81 -33
  113. package/dist/src/init.js.map +1 -1
  114. package/dist/src/instrument.d.ts.map +1 -1
  115. package/dist/src/instrument.js +164 -8
  116. package/dist/src/instrument.js.map +1 -1
  117. package/dist/src/locales.d.ts.map +1 -1
  118. package/dist/src/locales.js +1 -0
  119. package/dist/src/locales.js.map +1 -1
  120. package/dist/src/localize.d.ts +26 -17
  121. package/dist/src/localize.d.ts.map +1 -1
  122. package/dist/src/localize.js +19 -11
  123. package/dist/src/localize.js.map +1 -1
  124. package/dist/src/localizeRuntime.d.ts +29 -33
  125. package/dist/src/localizeRuntime.d.ts.map +1 -1
  126. package/dist/src/localizeRuntime.js +74 -49
  127. package/dist/src/localizeRuntime.js.map +1 -1
  128. package/dist/src/logger.d.ts +5 -0
  129. package/dist/src/logger.d.ts.map +1 -1
  130. package/dist/src/logger.js +7 -0
  131. package/dist/src/logger.js.map +1 -1
  132. package/dist/src/manualZoom.d.ts.map +1 -1
  133. package/dist/src/manualZoom.js +8 -5
  134. package/dist/src/manualZoom.js.map +1 -1
  135. package/dist/src/narrationVisibility.d.ts +19 -0
  136. package/dist/src/narrationVisibility.d.ts.map +1 -0
  137. package/dist/src/narrationVisibility.js +26 -0
  138. package/dist/src/narrationVisibility.js.map +1 -0
  139. package/dist/src/openBrowser.d.ts +34 -0
  140. package/dist/src/openBrowser.d.ts.map +1 -0
  141. package/dist/src/openBrowser.js +62 -0
  142. package/dist/src/openBrowser.js.map +1 -0
  143. package/dist/src/recordingData.d.ts +27 -0
  144. package/dist/src/recordingData.d.ts.map +1 -1
  145. package/dist/src/recordingSize.d.ts +32 -0
  146. package/dist/src/recordingSize.d.ts.map +1 -0
  147. package/dist/src/recordingSize.js +54 -0
  148. package/dist/src/recordingSize.js.map +1 -0
  149. package/dist/src/redact.d.ts +68 -0
  150. package/dist/src/redact.d.ts.map +1 -0
  151. package/dist/src/redact.js +138 -0
  152. package/dist/src/redact.js.map +1 -0
  153. package/dist/src/redactController.d.ts +61 -0
  154. package/dist/src/redactController.d.ts.map +1 -0
  155. package/dist/src/redactController.js +232 -0
  156. package/dist/src/redactController.js.map +1 -0
  157. package/dist/src/runtimeContext.d.ts +32 -0
  158. package/dist/src/runtimeContext.d.ts.map +1 -1
  159. package/dist/src/runtimeContext.js +21 -0
  160. package/dist/src/runtimeContext.js.map +1 -1
  161. package/dist/src/runtimeMode.d.ts +15 -7
  162. package/dist/src/runtimeMode.d.ts.map +1 -1
  163. package/dist/src/runtimeMode.js +17 -6
  164. package/dist/src/runtimeMode.js.map +1 -1
  165. package/dist/src/screenAudio.d.ts +88 -0
  166. package/dist/src/screenAudio.d.ts.map +1 -0
  167. package/dist/src/screenAudio.js +0 -0
  168. package/dist/src/screenAudio.js.map +1 -0
  169. package/dist/src/screenAudioSink.d.ts +46 -0
  170. package/dist/src/screenAudioSink.d.ts.map +1 -0
  171. package/dist/src/screenAudioSink.js +77 -0
  172. package/dist/src/screenAudioSink.js.map +1 -0
  173. package/dist/src/screenshot.d.ts +27 -29
  174. package/dist/src/screenshot.d.ts.map +1 -1
  175. package/dist/src/screenshot.js +39 -24
  176. package/dist/src/screenshot.js.map +1 -1
  177. package/dist/src/sourceTrim.d.ts +29 -0
  178. package/dist/src/sourceTrim.d.ts.map +1 -0
  179. package/dist/src/sourceTrim.js +76 -0
  180. package/dist/src/sourceTrim.js.map +1 -0
  181. package/dist/src/stillCapture.d.ts +5 -0
  182. package/dist/src/stillCapture.d.ts.map +1 -1
  183. package/dist/src/stillCapture.js +11 -1
  184. package/dist/src/stillCapture.js.map +1 -1
  185. package/dist/src/studio.d.ts +69 -57
  186. package/dist/src/studio.d.ts.map +1 -1
  187. package/dist/src/studio.js +16 -38
  188. package/dist/src/studio.js.map +1 -1
  189. package/dist/src/timelineOffset.d.ts +46 -0
  190. package/dist/src/timelineOffset.d.ts.map +1 -0
  191. package/dist/src/timelineOffset.js +66 -0
  192. package/dist/src/timelineOffset.js.map +1 -0
  193. package/dist/src/titleValidation.d.ts +38 -0
  194. package/dist/src/titleValidation.d.ts.map +1 -1
  195. package/dist/src/titleValidation.js +42 -0
  196. package/dist/src/titleValidation.js.map +1 -1
  197. package/dist/src/types.d.ts +218 -2
  198. package/dist/src/types.d.ts.map +1 -1
  199. package/dist/src/types.js +1 -1
  200. package/dist/src/types.js.map +1 -1
  201. package/dist/src/video.d.ts +74 -60
  202. package/dist/src/video.d.ts.map +1 -1
  203. package/dist/src/video.js +201 -39
  204. package/dist/src/video.js.map +1 -1
  205. package/dist/src/voiceSampleAudio.d.ts +34 -0
  206. package/dist/src/voiceSampleAudio.d.ts.map +1 -0
  207. package/dist/src/voiceSampleAudio.js +105 -0
  208. package/dist/src/voiceSampleAudio.js.map +1 -0
  209. package/dist/src/voices.d.ts +2 -2
  210. package/dist/src/voices.d.ts.map +1 -1
  211. package/dist/src/voices.js +8 -3
  212. package/dist/src/voices.js.map +1 -1
  213. package/dist/src/zoom.d.ts +1 -0
  214. package/dist/src/zoom.d.ts.map +1 -1
  215. package/dist/src/zoom.js +3 -0
  216. package/dist/src/zoom.js.map +1 -1
  217. package/dist/tsconfig.tsbuildinfo +1 -1
  218. package/package.json +3 -2
  219. package/skills/screenci/SKILL.md +2 -2
  220. package/skills/screenci/references/init.md +4 -3
  221. package/skills/screenci/references/record.md +1 -1
  222. package/templates/recordings/assets/logo.png +0 -0
  223. package/dist/docs/video-sources/public-urls.screenci.d.ts +0 -2
  224. package/dist/docs/video-sources/public-urls.screenci.d.ts.map +0 -1
  225. package/dist/docs/video-sources/public-urls.screenci.js +0 -41
  226. package/dist/docs/video-sources/public-urls.screenci.js.map +0 -1
@@ -51,76 +51,136 @@ export declare const docsManifest: readonly [{
51
51
  readonly title: "CI Setup";
52
52
  readonly description: "Understand the generated GitHub Actions workflow, required secrets, and how to keep CI recordings deterministic.";
53
53
  readonly prev: "docs/video-script-basics";
54
- readonly next: "docs/guides/page-instrumentation";
54
+ readonly next: "docs/guides/animated-interactions";
55
55
  }, {
56
- readonly source: "page-instrumentation.md";
57
- readonly slug: "docs/guides/page-instrumentation";
56
+ readonly source: "animated-interactions.md";
57
+ readonly slug: "docs/guides/animated-interactions";
58
58
  readonly section: "Guides";
59
59
  readonly order: 1;
60
- readonly navLabel: "Page instrumentation";
61
- readonly title: "Page Instrumentation";
60
+ readonly navLabel: "Animated interactions";
61
+ readonly title: "Animated Interactions";
62
62
  readonly description: "Understand how ScreenCI instruments the Playwright page so visible actions like clicks, typing, mouse movement, and scrolling are animated.";
63
63
  readonly prev: "docs/ci-setup";
64
- readonly next: "docs/guides/narration-and-localization";
64
+ readonly next: "docs/guides/narration";
65
65
  }, {
66
- readonly source: "narration-and-localization.md";
67
- readonly slug: "docs/guides/narration-and-localization";
68
- readonly section: "Guides";
66
+ readonly source: "narration.md";
67
+ readonly slug: "docs/guides/narration";
68
+ readonly section: "Fixtures";
69
+ readonly order: 1;
70
+ readonly navLabel: "Narration";
71
+ readonly title: "Narration";
72
+ readonly description: "Attach spoken cues to a video, overlap narration with visible UI motion, choose voices, use speech markup, and connect ElevenLabs for custom voices.";
73
+ readonly prev: "docs/guides/animated-interactions";
74
+ readonly next: "docs/guides/values";
75
+ }, {
76
+ readonly source: "values.md";
77
+ readonly slug: "docs/guides/values";
78
+ readonly section: "Fixtures";
69
79
  readonly order: 2;
70
- readonly navLabel: "Narration and localization";
71
- readonly title: "Narration and Localization";
72
- readonly description: "Create spoken cues, overlap narration with visible UI motion, and keep multi-language variants consistent and type-safe.";
73
- readonly prev: "docs/guides/page-instrumentation";
74
- readonly next: "docs/guides/camera-and-zooming";
80
+ readonly navLabel: "Values";
81
+ readonly title: "Values";
82
+ readonly description: "Inject per-language page content with video.values() for apps that do not self-localize, and let Studio manage field values without code changes.";
83
+ readonly prev: "docs/guides/narration";
84
+ readonly next: "docs/guides/audio";
75
85
  }, {
76
- readonly source: "camera-and-zooming.md";
77
- readonly slug: "docs/guides/camera-and-zooming";
78
- readonly section: "Guides";
86
+ readonly source: "audio.md";
87
+ readonly slug: "docs/guides/audio";
88
+ readonly section: "Fixtures";
79
89
  readonly order: 3;
80
- readonly navLabel: "Camera and zooming";
81
- readonly title: "Camera and Zooming";
82
- readonly description: "Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.";
83
- readonly prev: "docs/guides/narration-and-localization";
90
+ readonly navLabel: "Audio";
91
+ readonly title: "Audio";
92
+ readonly description: "Add background music or sound effects to a video with video.audio(), control volume and looping, and let Studio manage track files.";
93
+ readonly prev: "docs/guides/values";
84
94
  readonly next: "docs/guides/overlays";
85
95
  }, {
86
96
  readonly source: "overlays.md";
87
97
  readonly slug: "docs/guides/overlays";
88
- readonly section: "Guides";
98
+ readonly section: "Fixtures";
89
99
  readonly order: 4;
90
100
  readonly navLabel: "Overlays";
91
101
  readonly title: "Overlays";
92
102
  readonly description: "Add intro clips, corner logos, transitions, and timed overlays to ScreenCI recordings from files, HTML, or React.";
93
- readonly prev: "docs/guides/camera-and-zooming";
103
+ readonly prev: "docs/guides/audio";
104
+ readonly next: "docs/guides/dependencies";
105
+ }, {
106
+ readonly source: "dependencies.md";
107
+ readonly slug: "docs/guides/dependencies";
108
+ readonly section: "Fixtures";
109
+ readonly order: 5;
110
+ readonly navLabel: "Render dependencies";
111
+ readonly title: "Render Dependencies";
112
+ readonly description: "Embed one render inside another with selected(name): reuse intro clips and logo stills across videos and screenshots, and have dependents re-render automatically when the target selection changes.";
113
+ readonly prev: "docs/guides/overlays";
114
+ readonly next: "docs/guides/languages";
115
+ }, {
116
+ readonly source: "languages.md";
117
+ readonly slug: "docs/guides/languages";
118
+ readonly section: "Fixtures";
119
+ readonly order: 6;
120
+ readonly navLabel: "Languages";
121
+ readonly title: "Languages";
122
+ readonly description: "Record per-language video versions from one script: set browser locale automatically, localize narration, values, overlays, and audio, and control the recording mode.";
123
+ readonly prev: "docs/guides/dependencies";
124
+ readonly next: "docs/guides/camera-and-zooming";
125
+ }, {
126
+ readonly source: "camera-and-zooming.md";
127
+ readonly slug: "docs/guides/camera-and-zooming";
128
+ readonly section: "Guides";
129
+ readonly order: 2;
130
+ readonly navLabel: "Camera and zooming";
131
+ readonly title: "Camera and Zooming";
132
+ readonly description: "Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.";
133
+ readonly prev: "docs/guides/languages";
94
134
  readonly next: "docs/guides/screenshots";
95
135
  }, {
96
136
  readonly source: "screenshots.md";
97
137
  readonly slug: "docs/guides/screenshots";
98
138
  readonly section: "Guides";
99
- readonly order: 5;
139
+ readonly order: 3;
100
140
  readonly navLabel: "Screenshots";
101
141
  readonly title: "Screenshots";
102
142
  readonly description: "Capture branded still screenshots with the screenshot() fixture: crop to a component, set quality and dark mode, and frame the shot on a background with overlays.";
103
- readonly prev: "docs/guides/overlays";
143
+ readonly prev: "docs/guides/camera-and-zooming";
104
144
  readonly next: "docs/guides/studio";
105
145
  }, {
106
146
  readonly source: "studio.md";
107
147
  readonly slug: "docs/guides/studio";
108
148
  readonly section: "Guides";
109
- readonly order: 6;
149
+ readonly order: 4;
110
150
  readonly navLabel: "Studio";
111
151
  readonly title: "Studio";
112
- readonly description: "Remix render options, narration text, voices, and overlays from the web app, or manage them entirely in Studio with the video.studio({...}) declaration. Business tier.";
152
+ readonly description: "Remix render options, narration text, voices, overlays, and languages from the web app, or manage them entirely in Studio with studio(...) declarations like video.narration(studio([...])). Business tier.";
113
153
  readonly prev: "docs/guides/screenshots";
114
154
  readonly next: "docs/guides/public-urls-and-embeds";
115
155
  }, {
116
156
  readonly source: "public-urls-and-embeds.md";
117
157
  readonly slug: "docs/guides/public-urls-and-embeds";
118
158
  readonly section: "Guides";
119
- readonly order: 7;
159
+ readonly order: 5;
120
160
  readonly navLabel: "Public URLs and embeds";
121
161
  readonly title: "Public URLs and Embeds";
122
162
  readonly description: "Enable public delivery for a video, understand stable language-specific URLs, and embed ScreenCI outputs in other sites.";
123
163
  readonly prev: "docs/guides/studio";
164
+ readonly next: "docs/guides/redact";
165
+ }, {
166
+ readonly source: "redact.md";
167
+ readonly slug: "docs/guides/redact";
168
+ readonly section: "Guides";
169
+ readonly order: 6;
170
+ readonly navLabel: "Redact sensitive content";
171
+ readonly title: "Redact Sensitive Content";
172
+ readonly description: "Keep secrets out of a recording with redact: mask locators, typed values, and always-secret elements in the page before the frame is captured, so they are never uploaded.";
173
+ readonly prev: "docs/guides/public-urls-and-embeds";
174
+ readonly next: "docs/guides/screen-audio";
175
+ }, {
176
+ readonly source: "screen-audio.md";
177
+ readonly slug: "docs/guides/screen-audio";
178
+ readonly section: "Guides";
179
+ readonly order: 7;
180
+ readonly navLabel: "Screen audio";
181
+ readonly title: "Screen Audio";
182
+ readonly description: "Capture system audio alongside the screen recording and mix it into the rendered video. Linux only, with an automatic, isolated per-worker capture sink.";
183
+ readonly prev: "docs/guides/redact";
124
184
  readonly next: "docs/guides/update-screenci";
125
185
  }, {
126
186
  readonly source: "update-screenci.mdx";
@@ -130,7 +190,7 @@ export declare const docsManifest: readonly [{
130
190
  readonly navLabel: "Update ScreenCI";
131
191
  readonly title: "Update ScreenCI";
132
192
  readonly description: "Upgrade the screenci package, refresh Playwright when needed, and verify that existing videos still behave as expected.";
133
- readonly prev: "docs/guides/public-urls-and-embeds";
193
+ readonly prev: "docs/guides/screen-audio";
134
194
  readonly next: "docs/reference/cli";
135
195
  }, {
136
196
  readonly source: "cli.mdx";
@@ -163,7 +223,7 @@ export declare const docsManifest: readonly [{
163
223
  readonly prev: "docs/reference/configuration";
164
224
  readonly next: "docs/reference/api";
165
225
  }];
166
- export declare const docsSections: readonly ["Getting Started", "Guides", "Reference"];
226
+ export declare const docsSections: readonly ["Getting Started", "Fixtures", "Guides", "Reference"];
167
227
  export declare function getDocBySlug(slug: string): {
168
228
  readonly source: "overview.mdx";
169
229
  readonly slug: "docs";
@@ -213,76 +273,136 @@ export declare function getDocBySlug(slug: string): {
213
273
  readonly title: "CI Setup";
214
274
  readonly description: "Understand the generated GitHub Actions workflow, required secrets, and how to keep CI recordings deterministic.";
215
275
  readonly prev: "docs/video-script-basics";
216
- readonly next: "docs/guides/page-instrumentation";
276
+ readonly next: "docs/guides/animated-interactions";
217
277
  } | {
218
- readonly source: "page-instrumentation.md";
219
- readonly slug: "docs/guides/page-instrumentation";
278
+ readonly source: "animated-interactions.md";
279
+ readonly slug: "docs/guides/animated-interactions";
220
280
  readonly section: "Guides";
221
281
  readonly order: 1;
222
- readonly navLabel: "Page instrumentation";
223
- readonly title: "Page Instrumentation";
282
+ readonly navLabel: "Animated interactions";
283
+ readonly title: "Animated Interactions";
224
284
  readonly description: "Understand how ScreenCI instruments the Playwright page so visible actions like clicks, typing, mouse movement, and scrolling are animated.";
225
285
  readonly prev: "docs/ci-setup";
226
- readonly next: "docs/guides/narration-and-localization";
286
+ readonly next: "docs/guides/narration";
227
287
  } | {
228
- readonly source: "narration-and-localization.md";
229
- readonly slug: "docs/guides/narration-and-localization";
230
- readonly section: "Guides";
288
+ readonly source: "narration.md";
289
+ readonly slug: "docs/guides/narration";
290
+ readonly section: "Fixtures";
291
+ readonly order: 1;
292
+ readonly navLabel: "Narration";
293
+ readonly title: "Narration";
294
+ readonly description: "Attach spoken cues to a video, overlap narration with visible UI motion, choose voices, use speech markup, and connect ElevenLabs for custom voices.";
295
+ readonly prev: "docs/guides/animated-interactions";
296
+ readonly next: "docs/guides/values";
297
+ } | {
298
+ readonly source: "values.md";
299
+ readonly slug: "docs/guides/values";
300
+ readonly section: "Fixtures";
231
301
  readonly order: 2;
232
- readonly navLabel: "Narration and localization";
233
- readonly title: "Narration and Localization";
234
- readonly description: "Create spoken cues, overlap narration with visible UI motion, and keep multi-language variants consistent and type-safe.";
235
- readonly prev: "docs/guides/page-instrumentation";
236
- readonly next: "docs/guides/camera-and-zooming";
302
+ readonly navLabel: "Values";
303
+ readonly title: "Values";
304
+ readonly description: "Inject per-language page content with video.values() for apps that do not self-localize, and let Studio manage field values without code changes.";
305
+ readonly prev: "docs/guides/narration";
306
+ readonly next: "docs/guides/audio";
237
307
  } | {
238
- readonly source: "camera-and-zooming.md";
239
- readonly slug: "docs/guides/camera-and-zooming";
240
- readonly section: "Guides";
308
+ readonly source: "audio.md";
309
+ readonly slug: "docs/guides/audio";
310
+ readonly section: "Fixtures";
241
311
  readonly order: 3;
242
- readonly navLabel: "Camera and zooming";
243
- readonly title: "Camera and Zooming";
244
- readonly description: "Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.";
245
- readonly prev: "docs/guides/narration-and-localization";
312
+ readonly navLabel: "Audio";
313
+ readonly title: "Audio";
314
+ readonly description: "Add background music or sound effects to a video with video.audio(), control volume and looping, and let Studio manage track files.";
315
+ readonly prev: "docs/guides/values";
246
316
  readonly next: "docs/guides/overlays";
247
317
  } | {
248
318
  readonly source: "overlays.md";
249
319
  readonly slug: "docs/guides/overlays";
250
- readonly section: "Guides";
320
+ readonly section: "Fixtures";
251
321
  readonly order: 4;
252
322
  readonly navLabel: "Overlays";
253
323
  readonly title: "Overlays";
254
324
  readonly description: "Add intro clips, corner logos, transitions, and timed overlays to ScreenCI recordings from files, HTML, or React.";
255
- readonly prev: "docs/guides/camera-and-zooming";
325
+ readonly prev: "docs/guides/audio";
326
+ readonly next: "docs/guides/dependencies";
327
+ } | {
328
+ readonly source: "dependencies.md";
329
+ readonly slug: "docs/guides/dependencies";
330
+ readonly section: "Fixtures";
331
+ readonly order: 5;
332
+ readonly navLabel: "Render dependencies";
333
+ readonly title: "Render Dependencies";
334
+ readonly description: "Embed one render inside another with selected(name): reuse intro clips and logo stills across videos and screenshots, and have dependents re-render automatically when the target selection changes.";
335
+ readonly prev: "docs/guides/overlays";
336
+ readonly next: "docs/guides/languages";
337
+ } | {
338
+ readonly source: "languages.md";
339
+ readonly slug: "docs/guides/languages";
340
+ readonly section: "Fixtures";
341
+ readonly order: 6;
342
+ readonly navLabel: "Languages";
343
+ readonly title: "Languages";
344
+ readonly description: "Record per-language video versions from one script: set browser locale automatically, localize narration, values, overlays, and audio, and control the recording mode.";
345
+ readonly prev: "docs/guides/dependencies";
346
+ readonly next: "docs/guides/camera-and-zooming";
347
+ } | {
348
+ readonly source: "camera-and-zooming.md";
349
+ readonly slug: "docs/guides/camera-and-zooming";
350
+ readonly section: "Guides";
351
+ readonly order: 2;
352
+ readonly navLabel: "Camera and zooming";
353
+ readonly title: "Camera and Zooming";
354
+ readonly description: "Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.";
355
+ readonly prev: "docs/guides/languages";
256
356
  readonly next: "docs/guides/screenshots";
257
357
  } | {
258
358
  readonly source: "screenshots.md";
259
359
  readonly slug: "docs/guides/screenshots";
260
360
  readonly section: "Guides";
261
- readonly order: 5;
361
+ readonly order: 3;
262
362
  readonly navLabel: "Screenshots";
263
363
  readonly title: "Screenshots";
264
364
  readonly description: "Capture branded still screenshots with the screenshot() fixture: crop to a component, set quality and dark mode, and frame the shot on a background with overlays.";
265
- readonly prev: "docs/guides/overlays";
365
+ readonly prev: "docs/guides/camera-and-zooming";
266
366
  readonly next: "docs/guides/studio";
267
367
  } | {
268
368
  readonly source: "studio.md";
269
369
  readonly slug: "docs/guides/studio";
270
370
  readonly section: "Guides";
271
- readonly order: 6;
371
+ readonly order: 4;
272
372
  readonly navLabel: "Studio";
273
373
  readonly title: "Studio";
274
- readonly description: "Remix render options, narration text, voices, and overlays from the web app, or manage them entirely in Studio with the video.studio({...}) declaration. Business tier.";
374
+ readonly description: "Remix render options, narration text, voices, overlays, and languages from the web app, or manage them entirely in Studio with studio(...) declarations like video.narration(studio([...])). Business tier.";
275
375
  readonly prev: "docs/guides/screenshots";
276
376
  readonly next: "docs/guides/public-urls-and-embeds";
277
377
  } | {
278
378
  readonly source: "public-urls-and-embeds.md";
279
379
  readonly slug: "docs/guides/public-urls-and-embeds";
280
380
  readonly section: "Guides";
281
- readonly order: 7;
381
+ readonly order: 5;
282
382
  readonly navLabel: "Public URLs and embeds";
283
383
  readonly title: "Public URLs and Embeds";
284
384
  readonly description: "Enable public delivery for a video, understand stable language-specific URLs, and embed ScreenCI outputs in other sites.";
285
385
  readonly prev: "docs/guides/studio";
386
+ readonly next: "docs/guides/redact";
387
+ } | {
388
+ readonly source: "redact.md";
389
+ readonly slug: "docs/guides/redact";
390
+ readonly section: "Guides";
391
+ readonly order: 6;
392
+ readonly navLabel: "Redact sensitive content";
393
+ readonly title: "Redact Sensitive Content";
394
+ readonly description: "Keep secrets out of a recording with redact: mask locators, typed values, and always-secret elements in the page before the frame is captured, so they are never uploaded.";
395
+ readonly prev: "docs/guides/public-urls-and-embeds";
396
+ readonly next: "docs/guides/screen-audio";
397
+ } | {
398
+ readonly source: "screen-audio.md";
399
+ readonly slug: "docs/guides/screen-audio";
400
+ readonly section: "Guides";
401
+ readonly order: 7;
402
+ readonly navLabel: "Screen audio";
403
+ readonly title: "Screen Audio";
404
+ readonly description: "Capture system audio alongside the screen recording and mix it into the rendered video. Linux only, with an automatic, isolated per-worker capture sink.";
405
+ readonly prev: "docs/guides/redact";
286
406
  readonly next: "docs/guides/update-screenci";
287
407
  } | {
288
408
  readonly source: "update-screenci.mdx";
@@ -292,7 +412,7 @@ export declare function getDocBySlug(slug: string): {
292
412
  readonly navLabel: "Update ScreenCI";
293
413
  readonly title: "Update ScreenCI";
294
414
  readonly description: "Upgrade the screenci package, refresh Playwright when needed, and verify that existing videos still behave as expected.";
295
- readonly prev: "docs/guides/public-urls-and-embeds";
415
+ readonly prev: "docs/guides/screen-audio";
296
416
  readonly next: "docs/reference/cli";
297
417
  } | {
298
418
  readonly source: "cli.mdx";
@@ -380,71 +500,115 @@ export declare function getGeneratedDocsManifest(): ({
380
500
  title: "CI Setup";
381
501
  description: "Understand the generated GitHub Actions workflow, required secrets, and how to keep CI recordings deterministic.";
382
502
  prev: "docs/video-script-basics";
383
- next: "docs/guides/page-instrumentation";
503
+ next: "docs/guides/animated-interactions";
384
504
  } | {
385
505
  outputPath: string;
386
- source: "page-instrumentation.md";
387
- slug: "docs/guides/page-instrumentation";
506
+ source: "animated-interactions.md";
507
+ slug: "docs/guides/animated-interactions";
388
508
  section: "Guides";
389
509
  order: 1;
390
- navLabel: "Page instrumentation";
391
- title: "Page Instrumentation";
510
+ navLabel: "Animated interactions";
511
+ title: "Animated Interactions";
392
512
  description: "Understand how ScreenCI instruments the Playwright page so visible actions like clicks, typing, mouse movement, and scrolling are animated.";
393
513
  prev: "docs/ci-setup";
394
- next: "docs/guides/narration-and-localization";
514
+ next: "docs/guides/narration";
395
515
  } | {
396
516
  outputPath: string;
397
- source: "narration-and-localization.md";
398
- slug: "docs/guides/narration-and-localization";
399
- section: "Guides";
517
+ source: "narration.md";
518
+ slug: "docs/guides/narration";
519
+ section: "Fixtures";
520
+ order: 1;
521
+ navLabel: "Narration";
522
+ title: "Narration";
523
+ description: "Attach spoken cues to a video, overlap narration with visible UI motion, choose voices, use speech markup, and connect ElevenLabs for custom voices.";
524
+ prev: "docs/guides/animated-interactions";
525
+ next: "docs/guides/values";
526
+ } | {
527
+ outputPath: string;
528
+ source: "values.md";
529
+ slug: "docs/guides/values";
530
+ section: "Fixtures";
400
531
  order: 2;
401
- navLabel: "Narration and localization";
402
- title: "Narration and Localization";
403
- description: "Create spoken cues, overlap narration with visible UI motion, and keep multi-language variants consistent and type-safe.";
404
- prev: "docs/guides/page-instrumentation";
405
- next: "docs/guides/camera-and-zooming";
532
+ navLabel: "Values";
533
+ title: "Values";
534
+ description: "Inject per-language page content with video.values() for apps that do not self-localize, and let Studio manage field values without code changes.";
535
+ prev: "docs/guides/narration";
536
+ next: "docs/guides/audio";
406
537
  } | {
407
538
  outputPath: string;
408
- source: "camera-and-zooming.md";
409
- slug: "docs/guides/camera-and-zooming";
410
- section: "Guides";
539
+ source: "audio.md";
540
+ slug: "docs/guides/audio";
541
+ section: "Fixtures";
411
542
  order: 3;
412
- navLabel: "Camera and zooming";
413
- title: "Camera and Zooming";
414
- description: "Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.";
415
- prev: "docs/guides/narration-and-localization";
543
+ navLabel: "Audio";
544
+ title: "Audio";
545
+ description: "Add background music or sound effects to a video with video.audio(), control volume and looping, and let Studio manage track files.";
546
+ prev: "docs/guides/values";
416
547
  next: "docs/guides/overlays";
417
548
  } | {
418
549
  outputPath: string;
419
550
  source: "overlays.md";
420
551
  slug: "docs/guides/overlays";
421
- section: "Guides";
552
+ section: "Fixtures";
422
553
  order: 4;
423
554
  navLabel: "Overlays";
424
555
  title: "Overlays";
425
556
  description: "Add intro clips, corner logos, transitions, and timed overlays to ScreenCI recordings from files, HTML, or React.";
426
- prev: "docs/guides/camera-and-zooming";
557
+ prev: "docs/guides/audio";
558
+ next: "docs/guides/dependencies";
559
+ } | {
560
+ outputPath: string;
561
+ source: "dependencies.md";
562
+ slug: "docs/guides/dependencies";
563
+ section: "Fixtures";
564
+ order: 5;
565
+ navLabel: "Render dependencies";
566
+ title: "Render Dependencies";
567
+ description: "Embed one render inside another with selected(name): reuse intro clips and logo stills across videos and screenshots, and have dependents re-render automatically when the target selection changes.";
568
+ prev: "docs/guides/overlays";
569
+ next: "docs/guides/languages";
570
+ } | {
571
+ outputPath: string;
572
+ source: "languages.md";
573
+ slug: "docs/guides/languages";
574
+ section: "Fixtures";
575
+ order: 6;
576
+ navLabel: "Languages";
577
+ title: "Languages";
578
+ description: "Record per-language video versions from one script: set browser locale automatically, localize narration, values, overlays, and audio, and control the recording mode.";
579
+ prev: "docs/guides/dependencies";
580
+ next: "docs/guides/camera-and-zooming";
581
+ } | {
582
+ outputPath: string;
583
+ source: "camera-and-zooming.md";
584
+ slug: "docs/guides/camera-and-zooming";
585
+ section: "Guides";
586
+ order: 2;
587
+ navLabel: "Camera and zooming";
588
+ title: "Camera and Zooming";
589
+ description: "Choose between autoZoom and manual framing, and use camera direction to guide attention without making the video frantic.";
590
+ prev: "docs/guides/languages";
427
591
  next: "docs/guides/screenshots";
428
592
  } | {
429
593
  outputPath: string;
430
594
  source: "screenshots.md";
431
595
  slug: "docs/guides/screenshots";
432
596
  section: "Guides";
433
- order: 5;
597
+ order: 3;
434
598
  navLabel: "Screenshots";
435
599
  title: "Screenshots";
436
600
  description: "Capture branded still screenshots with the screenshot() fixture: crop to a component, set quality and dark mode, and frame the shot on a background with overlays.";
437
- prev: "docs/guides/overlays";
601
+ prev: "docs/guides/camera-and-zooming";
438
602
  next: "docs/guides/studio";
439
603
  } | {
440
604
  outputPath: string;
441
605
  source: "studio.md";
442
606
  slug: "docs/guides/studio";
443
607
  section: "Guides";
444
- order: 6;
608
+ order: 4;
445
609
  navLabel: "Studio";
446
610
  title: "Studio";
447
- description: "Remix render options, narration text, voices, and overlays from the web app, or manage them entirely in Studio with the video.studio({...}) declaration. Business tier.";
611
+ description: "Remix render options, narration text, voices, overlays, and languages from the web app, or manage them entirely in Studio with studio(...) declarations like video.narration(studio([...])). Business tier.";
448
612
  prev: "docs/guides/screenshots";
449
613
  next: "docs/guides/public-urls-and-embeds";
450
614
  } | {
@@ -452,11 +616,33 @@ export declare function getGeneratedDocsManifest(): ({
452
616
  source: "public-urls-and-embeds.md";
453
617
  slug: "docs/guides/public-urls-and-embeds";
454
618
  section: "Guides";
455
- order: 7;
619
+ order: 5;
456
620
  navLabel: "Public URLs and embeds";
457
621
  title: "Public URLs and Embeds";
458
622
  description: "Enable public delivery for a video, understand stable language-specific URLs, and embed ScreenCI outputs in other sites.";
459
623
  prev: "docs/guides/studio";
624
+ next: "docs/guides/redact";
625
+ } | {
626
+ outputPath: string;
627
+ source: "redact.md";
628
+ slug: "docs/guides/redact";
629
+ section: "Guides";
630
+ order: 6;
631
+ navLabel: "Redact sensitive content";
632
+ title: "Redact Sensitive Content";
633
+ description: "Keep secrets out of a recording with redact: mask locators, typed values, and always-secret elements in the page before the frame is captured, so they are never uploaded.";
634
+ prev: "docs/guides/public-urls-and-embeds";
635
+ next: "docs/guides/screen-audio";
636
+ } | {
637
+ outputPath: string;
638
+ source: "screen-audio.md";
639
+ slug: "docs/guides/screen-audio";
640
+ section: "Guides";
641
+ order: 7;
642
+ navLabel: "Screen audio";
643
+ title: "Screen Audio";
644
+ description: "Capture system audio alongside the screen recording and mix it into the rendered video. Linux only, with an automatic, isolated per-worker capture sink.";
645
+ prev: "docs/guides/redact";
460
646
  next: "docs/guides/update-screenci";
461
647
  } | {
462
648
  outputPath: string;
@@ -467,7 +653,7 @@ export declare function getGeneratedDocsManifest(): ({
467
653
  navLabel: "Update ScreenCI";
468
654
  title: "Update ScreenCI";
469
655
  description: "Upgrade the screenci package, refresh Playwright when needed, and verify that existing videos still behave as expected.";
470
- prev: "docs/guides/public-urls-and-embeds";
656
+ prev: "docs/guides/screen-audio";
471
657
  next: "docs/reference/cli";
472
658
  } | {
473
659
  outputPath: string;
@@ -511,12 +697,12 @@ type TypedocSidebarItem = {
511
697
  attrs?: Record<string, unknown>;
512
698
  };
513
699
  export declare function getDocsSidebarConfig(typedocSidebarGroup?: TypedocSidebarItem | null): {
514
- label: "Getting Started" | "Guides" | "Reference";
700
+ label: "Getting Started" | "Guides" | "Fixtures" | "Reference";
515
701
  translations: {};
516
702
  collapsed: boolean;
517
703
  items: ({
518
- label: "Overview" | "Agent integration" | "Manual setup & first video" | "Video script basics" | "CI setup" | "Page instrumentation" | "Narration and localization" | "Camera and zooming" | "Overlays" | "Screenshots" | "Studio" | "Public URLs and embeds" | "Update ScreenCI" | "CLI" | "Configuration" | "Public delivery API";
519
- slug: "docs/manual-setup" | "docs/guides/overlays" | "docs/guides/screenshots" | "docs" | "docs/agent-integration" | "docs/video-script-basics" | "docs/ci-setup" | "docs/guides/page-instrumentation" | "docs/guides/narration-and-localization" | "docs/guides/camera-and-zooming" | "docs/guides/studio" | "docs/guides/public-urls-and-embeds" | "docs/guides/update-screenci" | "docs/reference/cli" | "docs/reference/configuration" | "docs/reference/public-delivery-api";
704
+ label: "Audio" | "Narration" | "Values" | "Overview" | "Agent integration" | "Manual setup & first video" | "Video script basics" | "CI setup" | "Animated interactions" | "Overlays" | "Render dependencies" | "Languages" | "Camera and zooming" | "Screenshots" | "Studio" | "Public URLs and embeds" | "Redact sensitive content" | "Screen audio" | "Update ScreenCI" | "CLI" | "Configuration" | "Public delivery API";
705
+ slug: "docs/manual-setup" | "docs/guides/overlays" | "docs/guides/screenshots" | "docs/guides/narration" | "docs/guides/camera-and-zooming" | "docs/guides/languages" | "docs/guides/studio" | "docs/guides/public-urls-and-embeds" | "docs" | "docs/agent-integration" | "docs/video-script-basics" | "docs/ci-setup" | "docs/guides/animated-interactions" | "docs/guides/values" | "docs/guides/audio" | "docs/guides/dependencies" | "docs/guides/redact" | "docs/guides/screen-audio" | "docs/guides/update-screenci" | "docs/reference/cli" | "docs/reference/configuration" | "docs/reference/public-delivery-api";
520
706
  translations: {};
521
707
  attrs: {};
522
708
  } | TypedocSidebarItem)[];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../docs/manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiMf,CAAA;AAEV,eAAO,MAAM,YAAY,qDAAsD,CAAA;AAE/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAExC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,UAejD;AAED,wBAAgB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKvC;AAYD,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,wBAAgB,oBAAoB,CAClC,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,IAAI;;;;;;;;;;IAmBhD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;;;EAkBxD"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../docs/manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyQf,CAAA;AAEV,eAAO,MAAM,YAAY,iEAKf,CAAA;AAEV,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAExC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,UAejD;AAED,wBAAgB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKvC;AAYD,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,wBAAgB,oBAAoB,CAClC,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,IAAI;;;;;;;;;;IAmBhD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;;;EAkBxD"}