screenci 0.0.75 → 0.0.76

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 (127) hide show
  1. package/dist/cli.d.ts +11 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +150 -37
  4. package/dist/cli.js.map +1 -1
  5. package/dist/docs/manifest.d.ts +42 -11
  6. package/dist/docs/manifest.d.ts.map +1 -1
  7. package/dist/docs/manifest.js +14 -3
  8. package/dist/docs/manifest.js.map +1 -1
  9. package/dist/docs/video-sources/installation.screenci.js +7 -9
  10. package/dist/docs/video-sources/installation.screenci.js.map +1 -1
  11. package/dist/docs/video-sources/landing.screenci.js +6 -8
  12. package/dist/docs/video-sources/landing.screenci.js.map +1 -1
  13. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +3 -4
  14. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -1
  15. package/dist/docs/video-sources/locator-highlight-still.screenci.js +3 -4
  16. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -1
  17. package/dist/docs/video-sources/studio.screenci.js +8 -10
  18. package/dist/docs/video-sources/studio.screenci.js.map +1 -1
  19. package/dist/e2e/instrument.e2e.js +52 -1
  20. package/dist/e2e/instrument.e2e.js.map +1 -1
  21. package/dist/index.d.ts +4 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/src/asset.d.ts +20 -1
  26. package/dist/src/asset.d.ts.map +1 -1
  27. package/dist/src/asset.js +58 -7
  28. package/dist/src/asset.js.map +1 -1
  29. package/dist/src/audio.d.ts +16 -0
  30. package/dist/src/audio.d.ts.map +1 -1
  31. package/dist/src/audio.js +78 -1
  32. package/dist/src/audio.js.map +1 -1
  33. package/dist/src/autoZoom.d.ts.map +1 -1
  34. package/dist/src/autoZoom.js +3 -1
  35. package/dist/src/autoZoom.js.map +1 -1
  36. package/dist/src/browserLaunchOptions.d.ts +24 -2
  37. package/dist/src/browserLaunchOptions.d.ts.map +1 -1
  38. package/dist/src/browserLaunchOptions.js +57 -3
  39. package/dist/src/browserLaunchOptions.js.map +1 -1
  40. package/dist/src/builder.d.ts +135 -142
  41. package/dist/src/builder.d.ts.map +1 -1
  42. package/dist/src/builder.js +218 -77
  43. package/dist/src/builder.js.map +1 -1
  44. package/dist/src/callerFile.d.ts +12 -0
  45. package/dist/src/callerFile.d.ts.map +1 -0
  46. package/dist/src/callerFile.js +46 -0
  47. package/dist/src/callerFile.js.map +1 -0
  48. package/dist/src/changeFocus.d.ts.map +1 -1
  49. package/dist/src/changeFocus.js +6 -2
  50. package/dist/src/changeFocus.js.map +1 -1
  51. package/dist/src/config.d.ts.map +1 -1
  52. package/dist/src/config.js +15 -0
  53. package/dist/src/config.js.map +1 -1
  54. package/dist/src/declare.d.ts +59 -0
  55. package/dist/src/declare.d.ts.map +1 -0
  56. package/dist/src/declare.js +93 -0
  57. package/dist/src/declare.js.map +1 -0
  58. package/dist/src/defaults.d.ts.map +1 -1
  59. package/dist/src/defaults.js +4 -3
  60. package/dist/src/defaults.js.map +1 -1
  61. package/dist/src/events.d.ts +51 -1
  62. package/dist/src/events.d.ts.map +1 -1
  63. package/dist/src/events.js +107 -15
  64. package/dist/src/events.js.map +1 -1
  65. package/dist/src/init.d.ts.map +1 -1
  66. package/dist/src/init.js +32 -30
  67. package/dist/src/init.js.map +1 -1
  68. package/dist/src/instrument.d.ts.map +1 -1
  69. package/dist/src/instrument.js +139 -1
  70. package/dist/src/instrument.js.map +1 -1
  71. package/dist/src/localize.d.ts +1 -0
  72. package/dist/src/localize.d.ts.map +1 -1
  73. package/dist/src/localize.js +1 -1
  74. package/dist/src/localize.js.map +1 -1
  75. package/dist/src/localizeRuntime.d.ts +17 -26
  76. package/dist/src/localizeRuntime.d.ts.map +1 -1
  77. package/dist/src/localizeRuntime.js +63 -48
  78. package/dist/src/localizeRuntime.js.map +1 -1
  79. package/dist/src/manualZoom.d.ts.map +1 -1
  80. package/dist/src/manualZoom.js +8 -5
  81. package/dist/src/manualZoom.js.map +1 -1
  82. package/dist/src/openBrowser.d.ts +34 -0
  83. package/dist/src/openBrowser.d.ts.map +1 -0
  84. package/dist/src/openBrowser.js +62 -0
  85. package/dist/src/openBrowser.js.map +1 -0
  86. package/dist/src/recordingData.d.ts +20 -0
  87. package/dist/src/recordingData.d.ts.map +1 -1
  88. package/dist/src/screenAudio.d.ts +58 -0
  89. package/dist/src/screenAudio.d.ts.map +1 -0
  90. package/dist/src/screenAudio.js +145 -0
  91. package/dist/src/screenAudio.js.map +1 -0
  92. package/dist/src/screenAudioSink.d.ts +34 -0
  93. package/dist/src/screenAudioSink.d.ts.map +1 -0
  94. package/dist/src/screenAudioSink.js +47 -0
  95. package/dist/src/screenAudioSink.js.map +1 -0
  96. package/dist/src/screenshot.d.ts +20 -24
  97. package/dist/src/screenshot.d.ts.map +1 -1
  98. package/dist/src/screenshot.js +34 -19
  99. package/dist/src/screenshot.js.map +1 -1
  100. package/dist/src/stillCapture.d.ts +5 -0
  101. package/dist/src/stillCapture.d.ts.map +1 -1
  102. package/dist/src/stillCapture.js +11 -1
  103. package/dist/src/stillCapture.js.map +1 -1
  104. package/dist/src/studio.d.ts +3 -59
  105. package/dist/src/studio.d.ts.map +1 -1
  106. package/dist/src/studio.js +1 -41
  107. package/dist/src/studio.js.map +1 -1
  108. package/dist/src/types.d.ts +133 -2
  109. package/dist/src/types.d.ts.map +1 -1
  110. package/dist/src/types.js.map +1 -1
  111. package/dist/src/video.d.ts +63 -52
  112. package/dist/src/video.d.ts.map +1 -1
  113. package/dist/src/video.js +143 -32
  114. package/dist/src/video.js.map +1 -1
  115. package/dist/src/zoom.d.ts +1 -0
  116. package/dist/src/zoom.d.ts.map +1 -1
  117. package/dist/src/zoom.js +3 -0
  118. package/dist/src/zoom.js.map +1 -1
  119. package/dist/tsconfig.tsbuildinfo +1 -1
  120. package/package.json +1 -1
  121. package/skills/screenci/SKILL.md +2 -2
  122. package/skills/screenci/references/init.md +4 -3
  123. package/skills/screenci/references/record.md +1 -1
  124. package/dist/docs/video-sources/public-urls.screenci.d.ts +0 -2
  125. package/dist/docs/video-sources/public-urls.screenci.d.ts.map +0 -1
  126. package/dist/docs/video-sources/public-urls.screenci.js +0 -41
  127. package/dist/docs/video-sources/public-urls.screenci.js.map +0 -1
package/dist/src/video.js CHANGED
@@ -2,41 +2,61 @@ import { test as base } from '@playwright/test';
2
2
  import { mkdir, rm } from 'fs/promises';
3
3
  import { join, relative } from 'path';
4
4
  import { attachRecorder } from 'playwright-recorder-plus';
5
- import { studioOptionFlags } from './studio.js';
6
5
  export { getDimensions } from './dimensions.js';
7
6
  import { getDimensions, getViewportCenter } from './dimensions.js';
8
7
  import { resetCueChain } from './cue.js';
9
8
  import { setActiveCueRecorder } from './cue.js';
10
- import { createVideoBuilder } from './builder.js';
9
+ import { createVideoBuilder, } from './builder.js';
11
10
  import { buildNarrationMarkers, buildTextDeclaration, buildTextValues, narrationVoiceConfigFromRenderOptions, } from './localizeRuntime.js';
12
11
  import { setActiveHideRecorder } from './hide.js';
13
12
  import { setActiveAutoZoomRecorder, setActiveZoomPage } from './autoZoom.js';
14
- import { setActiveAssetRecorder, buildStudioOverlays, } from './asset.js';
13
+ import { setActiveAssetRecorder, buildOverlays, validateRegisteredAssetPaths, } from './asset.js';
15
14
  import { flushPendingOverlays } from './overlayFlush.js';
16
- import { setActiveAudioRecorder, buildStudioAudioTracks, } from './audio.js';
15
+ import { setActiveAudioRecorder, buildAudio, validateRegisteredAudioPaths, } from './audio.js';
17
16
  import { DEFAULT_VIDEO_OPTIONS, DEFAULT_ASPECT_RATIO, DEFAULT_QUALITY, DEFAULT_FPS, DEFAULT_VIDEO_ENCODER, } from './defaults.js';
18
17
  import { EventRecorder } from './events.js';
19
18
  import { bindClickRecorderToPage, instrumentBrowser, instrumentContext, setActiveClickRecorder, } from './instrument.js';
20
19
  import { logger } from './logger.js';
21
20
  import { setMousePosition } from './mouse.js';
22
- import { getChromiumLaunchOptions } from './browserLaunchOptions.js';
21
+ import { captureRequestedButNotEnabled, getChromiumLaunchOptions, isCaptureAudioEnabled, } from './browserLaunchOptions.js';
23
22
  import { createScreenCIRuntimeContext, runWithScreenCIRuntimeContext, setActiveScreenCIRuntimeContext, setRuntimeAssetRecorder, setRuntimeAudioRecorder, setRuntimeAutoZoomRecorder, setRuntimeClickRecorder, setRuntimeCueRecorder, setRuntimeHideRecorder, setRuntimePage, } from './runtimeContext.js';
24
23
  import { escapeFileSystemPathSegment } from './fileSystemName.js';
25
24
  import { resolveRecordingTimingDuration, parseTextOverrides, parseRecordOptions, mergeStudioRecordOptions, } from './runtimeMode.js';
26
25
  import { buildScreenCIContextOptions } from './contextOptions.js';
27
26
  import { bindStillCaptureToPage } from './stillCapture.js';
27
+ import { startScreenAudioCapture, isScreenAudioSupported, screenAudioUnsupportedMessage, setActiveCaptureDevice, SCREEN_AUDIO_DOCS_URL, } from './screenAudio.js';
28
+ import { createNullSink, unloadNullSink, workerSinkName, } from './screenAudioSink.js';
28
29
  export const POST_VIDEO_PAUSE = 500;
29
30
  /**
30
31
  * The record options actually used for the capture: when record options are
31
- * deferred to Studio (`video.studio({ recordOptions: true })`), the values
32
- * fetched before recording (keyed by video name) override the code-declared
33
- * aspect ratio, quality, and fps. Otherwise the code values are used as-is.
32
+ * deferred to Studio (`use({ recordOptions: 'studio' })`), the values fetched
33
+ * before recording (keyed by video name) override the code-declared aspect
34
+ * ratio, quality, and fps. Otherwise the code values are used as-is.
34
35
  */
35
- export function resolveEffectiveRecordOptions(recordOptions, studio, videoName) {
36
- if (!studioOptionFlags(studio).recordOptions)
36
+ export function resolveEffectiveRecordOptions(recordOptions, studioRecordOptions, videoName) {
37
+ if (!studioRecordOptions)
37
38
  return recordOptions;
38
39
  return mergeStudioRecordOptions(recordOptions, parseRecordOptions()?.[videoName]);
39
40
  }
41
+ /**
42
+ * Resolve the `recordOptions` option, which may be the `'studio'` sentinel
43
+ * (`use({ recordOptions: 'studio' })`) deferring the capture options to the web
44
+ * app. Returns the base options to record with (defaults when deferred) and
45
+ * whether the bag is Studio-managed.
46
+ */
47
+ export function resolveStudioRecordOptions(recordOptions) {
48
+ const studio = recordOptions === 'studio';
49
+ return { base: studio ? DEFAULT_VIDEO_OPTIONS : recordOptions, studio };
50
+ }
51
+ /**
52
+ * Resolve the `renderOptions` option, which may be the `'studio'` sentinel
53
+ * deferring the render options to the web app. Returns the code render options
54
+ * (`undefined` when deferred) and whether they are Studio-managed.
55
+ */
56
+ export function resolveStudioRenderOptions(renderOptions) {
57
+ const studio = renderOptions === 'studio';
58
+ return { obj: studio ? undefined : renderOptions, studio };
59
+ }
40
60
  export async function finalizeDeferredRecordingStops(entries) {
41
61
  await Promise.all(entries.map(async ({ recorder }) => {
42
62
  const stopResult = await recorder.stop();
@@ -240,6 +260,14 @@ export async function withActiveRecordingContext(params) {
240
260
  setActiveClickRecorder(recorder);
241
261
  bindClickRecorderToPage(page, recorder);
242
262
  setRuntimePage(page);
263
+ // Fail fast on missing overlay/audio files before the body runs. Only
264
+ // when actually recording and when testFilePath is known (relative asset
265
+ // paths can only be resolved with an anchor file).
266
+ if (runtimeContext.recordingDir !== null &&
267
+ runtimeContext.testFilePath !== null) {
268
+ await validateRegisteredAssetPaths(runtimeContext.testFilePath);
269
+ await validateRegisteredAudioPaths(runtimeContext.testFilePath);
270
+ }
243
271
  if (textDeclaration) {
244
272
  recorder.addTextDeclare(textDeclaration.fields, textDeclaration.studioFields, textDeclaration.seed);
245
273
  }
@@ -268,23 +296,27 @@ const _videoBase = base.extend({
268
296
  renderOptions: [undefined, { option: true }],
269
297
  _screenciLanguage: [undefined, { option: true }],
270
298
  _screenciVideoName: [undefined, { option: true }],
271
- _screenciLocalize: [undefined, { option: true }],
272
- _screenciStudio: [undefined, { option: true }],
299
+ _screenciNarration: [undefined, { option: true }],
300
+ _screenciText: [undefined, { option: true }],
301
+ _screenciOverlays: [undefined, { option: true }],
302
+ _screenciAudio: [undefined, { option: true }],
303
+ _screenciRecordingLocalize: [undefined, { option: true }],
273
304
  _screenciSourceFile: [undefined, { option: true }],
274
305
  language: async ({ _screenciLanguage }, use) => {
275
306
  await use(_screenciLanguage);
276
307
  },
277
- narration: async ({ _screenciLocalize, _screenciStudio, renderOptions }, use) => {
278
- await use(buildNarrationMarkers(_screenciLocalize, narrationVoiceConfigFromRenderOptions(renderOptions, studioOptionFlags(_screenciStudio).renderOptions), _screenciStudio?.narration ?? []));
308
+ narration: async ({ _screenciNarration, _screenciRecordingLocalize, renderOptions }, use) => {
309
+ const { obj: renderOptionsObj, studio: studioRender } = resolveStudioRenderOptions(renderOptions);
310
+ await use(buildNarrationMarkers(_screenciNarration, _screenciRecordingLocalize?.languages ?? [], narrationVoiceConfigFromRenderOptions(renderOptionsObj, studioRender)));
279
311
  },
280
- text: async ({ _screenciLocalize, _screenciStudio, _screenciLanguage }, use) => {
281
- await use(buildTextValues(_screenciLocalize, _screenciLanguage, parseTextOverrides(), _screenciStudio?.text ?? []));
312
+ text: async ({ _screenciText, _screenciLanguage }, use) => {
313
+ await use(buildTextValues(_screenciText, _screenciLanguage, parseTextOverrides()));
282
314
  },
283
- overlays: async ({ _screenciStudio }, use) => {
284
- await use(buildStudioOverlays(_screenciStudio?.overlays ?? []));
315
+ overlays: async ({ _screenciOverlays, _screenciLanguage }, use) => {
316
+ await use(buildOverlays(_screenciOverlays, _screenciLanguage));
285
317
  },
286
- audio: async ({ _screenciStudio }, use) => {
287
- await use(buildStudioAudioTracks(_screenciStudio?.audio ?? []));
318
+ audio: async ({ _screenciAudio, _screenciLanguage }, use) => {
319
+ await use(buildAudio(_screenciAudio, _screenciLanguage));
288
320
  },
289
321
  recordingFinalizationQueue: [
290
322
  async ({}, use) => {
@@ -299,20 +331,54 @@ const _videoBase = base.extend({
299
331
  ],
300
332
  browser: async ({ playwright }, use) => {
301
333
  const shouldRecord = process.env.SCREENCI_RECORDING === 'true';
302
- const launchOptions = getChromiumLaunchOptions(shouldRecord);
303
- const browser = await playwright.chromium.launch(launchOptions);
334
+ // Audio capture only runs on Linux; elsewhere we leave the browser in the
335
+ // normal muted launch and warn (see the per-video capture site below).
336
+ const audioActive = shouldRecord && isCaptureAudioEnabled() && isScreenAudioSupported();
337
+ // Give this worker a dedicated null sink so capture is silent on the host,
338
+ // isolated from other apps, and safe under parallel workers. The browser is
339
+ // routed into it via PULSE_SINK and the recorder captures its monitor.
340
+ let sink = null;
341
+ if (audioActive) {
342
+ sink = await createNullSink(workerSinkName());
343
+ if (sink) {
344
+ setActiveCaptureDevice(sink.monitorSource);
345
+ }
346
+ else {
347
+ logger.warn(`captureAudio: could not create a dedicated audio sink (is pactl ` +
348
+ `available?). Falling back to the default device, so recording ` +
349
+ `audio will play out loud and may include other apps' sound. ` +
350
+ `See ${SCREEN_AUDIO_DOCS_URL}`);
351
+ }
352
+ }
353
+ const launchOptions = getChromiumLaunchOptions(shouldRecord, audioActive);
354
+ const browser = await playwright.chromium.launch(sink
355
+ ? {
356
+ ...launchOptions,
357
+ env: { ...process.env, PULSE_SINK: sink.sinkName },
358
+ }
359
+ : launchOptions);
304
360
  instrumentBrowser(browser);
305
361
  await use(browser);
306
362
  if (browser.isConnected()) {
307
363
  await browser.close();
308
364
  }
365
+ if (sink) {
366
+ await unloadNullSink(sink);
367
+ setActiveCaptureDevice(null);
368
+ }
369
+ // End-of-run reminder on platforms where capture was skipped.
370
+ const unsupported = screenAudioUnsupportedMessage();
371
+ if (shouldRecord && isCaptureAudioEnabled() && unsupported !== null) {
372
+ logger.warn(unsupported);
373
+ }
309
374
  },
310
- context: async ({ browser, recordOptions, _screenciStudio, _screenciVideoName, colorScheme, locale, timezoneId, userAgent, geolocation, permissions, extraHTTPHeaders, httpCredentials, ignoreHTTPSErrors, offline, storageState, baseURL, bypassCSP, acceptDownloads, javaScriptEnabled, hasTouch, isMobile, }, use, testInfo) => {
375
+ context: async ({ browser, recordOptions, _screenciVideoName, colorScheme, locale, timezoneId, userAgent, geolocation, permissions, extraHTTPHeaders, httpCredentials, ignoreHTTPSErrors, offline, storageState, baseURL, bypassCSP, acceptDownloads, javaScriptEnabled, hasTouch, isMobile, }, use, testInfo) => {
311
376
  // Configure browser context. The viewport is derived from recordOptions
312
377
  // (with Studio record-option overrides applied when deferred); other
313
378
  // Playwright `use` options (colorScheme, locale, storageState, ...) are
314
379
  // forwarded so they take effect on the context screenci creates.
315
- const effectiveRecordOptions = resolveEffectiveRecordOptions(recordOptions, _screenciStudio, _screenciVideoName ?? testInfo.title);
380
+ const { base: baseRecordOptions, studio: studioRecord } = resolveStudioRecordOptions(recordOptions);
381
+ const effectiveRecordOptions = resolveEffectiveRecordOptions(baseRecordOptions, studioRecord, _screenciVideoName ?? testInfo.title);
316
382
  const aspectRatio = effectiveRecordOptions.aspectRatio ?? DEFAULT_ASPECT_RATIO;
317
383
  const quality = effectiveRecordOptions.quality ?? DEFAULT_QUALITY;
318
384
  const dimensions = getDimensions(aspectRatio, quality);
@@ -350,16 +416,21 @@ const _videoBase = base.extend({
350
416
  await context.close();
351
417
  }
352
418
  },
353
- page: async ({ context, recordOptions: codeRecordOptions, renderOptions, recordingFinalizationQueue, _screenciLanguage, _screenciLocalize, _screenciStudio, _screenciVideoName, _screenciSourceFile, }, use, testInfo) => {
419
+ page: async ({ context, recordOptions: codeRecordOptions, renderOptions, recordingFinalizationQueue, _screenciLanguage, _screenciText, _screenciVideoName, _screenciSourceFile, }, use, testInfo) => {
354
420
  // Only record when explicitly enabled (record command)
355
421
  const shouldRecord = process.env.SCREENCI_RECORDING === 'true';
356
422
  // Apply Studio record-option overrides (when deferred) so the capture,
357
423
  // serialized recordOptions, and viewport all use the effective values.
358
- const recordOptions = resolveEffectiveRecordOptions(codeRecordOptions, _screenciStudio, _screenciVideoName ?? testInfo.title);
359
- const recorder = new EventRecorder(renderOptions, recordOptions, studioOptionFlags(_screenciStudio));
424
+ const { base: baseRecordOptions, studio: studioRecord } = resolveStudioRecordOptions(codeRecordOptions);
425
+ const { obj: renderOptionsObj, studio: studioRender } = resolveStudioRenderOptions(renderOptions);
426
+ const recordOptions = resolveEffectiveRecordOptions(baseRecordOptions, studioRecord, _screenciVideoName ?? testInfo.title);
427
+ const recorder = new EventRecorder(renderOptionsObj, recordOptions, {
428
+ renderOptions: studioRender,
429
+ recordOptions: studioRecord,
430
+ });
360
431
  // Declared `text` fields (and the active language's seeds) emitted once at
361
432
  // recording start so the backend/Studio learn them.
362
- const textDeclaration = buildTextDeclaration(_screenciLocalize, _screenciLanguage, _screenciStudio?.text ?? []);
433
+ const textDeclaration = buildTextDeclaration(_screenciText, _screenciLanguage);
363
434
  // Asset paths are authored relative to the user's script. Playwright reports
364
435
  // `testInfo.file` as the builder module that registered the test, so prefer
365
436
  // the script path captured at the call site.
@@ -379,7 +450,7 @@ const _videoBase = base.extend({
379
450
  page,
380
451
  testFilePath,
381
452
  recordOptions,
382
- renderOptions,
453
+ renderOptions: renderOptionsObj,
383
454
  });
384
455
  bindStillCaptureToPage(page);
385
456
  await setupMouseTracking(page, recorder);
@@ -424,7 +495,7 @@ const _videoBase = base.extend({
424
495
  testFilePath,
425
496
  recordingDir: videoDir,
426
497
  recordOptions,
427
- renderOptions,
498
+ renderOptions: renderOptionsObj,
428
499
  });
429
500
  await setupMouseTracking(page, recorder);
430
501
  // Navigate to blank page to ensure window is ready and rendered
@@ -437,6 +508,28 @@ const _videoBase = base.extend({
437
508
  await screenRecorder.start();
438
509
  // Mark the moment the video recording actually begins after the cursor is positioned.
439
510
  recorder.start();
511
+ const captureVolume = recordOptions.captureAudio ?? 0;
512
+ // captureAudio is Linux-only. On macOS/Windows skip capture entirely (a
513
+ // warning was already emitted at run start, and the worker fixture emits one
514
+ // at the end) rather than writing a silent or whole-machine track.
515
+ const audioSupported = isScreenAudioSupported();
516
+ // The recording browser is launched once per worker (audio mode is decided
517
+ // then from the root-level enableCaptureAudio switch), before this per-video
518
+ // recordOptions is known. If a video requests captureAudio without that
519
+ // switch on, the browser was launched muted on the legacy headless shell and
520
+ // the captured track would be silent. Fail loudly instead of writing silence.
521
+ if (audioSupported &&
522
+ captureRequestedButNotEnabled(captureVolume, isCaptureAudioEnabled())) {
523
+ throw new Error(`[screenci] "${videoName}" sets captureAudio but enableCaptureAudio is ` +
524
+ `not turned on. Add "enableCaptureAudio: true" at the top level of ` +
525
+ `your screenci config so the recording browser launches in audio mode ` +
526
+ `(it is decided once per worker, before a video's options are known). ` +
527
+ `See ${SCREEN_AUDIO_DOCS_URL}`);
528
+ }
529
+ const audioCapturePath = join(videoDir, 'screen-audio.wav');
530
+ const audioCapture = captureVolume > 0 && audioSupported && isCaptureAudioEnabled()
531
+ ? startScreenAudioCapture(audioCapturePath)
532
+ : null;
440
533
  // Wrap `page.screenshot()` only now, AFTER the screen recorder has started.
441
534
  // The recorder captures a baseline frame via `page.screenshot()` inside
442
535
  // `screenRecorder.start()`; wrapping earlier intercepted that internal call
@@ -460,6 +553,21 @@ const _videoBase = base.extend({
460
553
  restoreStillCapture();
461
554
  await screenRecorder.pause();
462
555
  recordingFinalizationQueue.push({ recorder: screenRecorder });
556
+ if (audioCapture !== null) {
557
+ try {
558
+ const captured = await audioCapture.stop();
559
+ recorder.addScreenAudioTrack({
560
+ path: captured.path,
561
+ fileHash: captured.fileHash,
562
+ volume: captureVolume,
563
+ repeat: false,
564
+ });
565
+ }
566
+ catch (err) {
567
+ logger.warn(`captureAudio: failed to capture audio track and it will be omitted. ` +
568
+ `${err instanceof Error ? err.message : String(err)}`);
569
+ }
570
+ }
463
571
  await page.close();
464
572
  if (testInfo.status === 'passed') {
465
573
  const configDir = process.env.SCREENCI_CONFIG_DIR ?? process.cwd();
@@ -502,7 +610,10 @@ export const video = _videoBase;
502
610
  // Attach the chainable fan-out builders. They register through the same test
503
611
  // instance, so per-language / per-variant passes inherit every video fixture.
504
612
  const _rootBuilder = createVideoBuilder(_videoBase);
505
- video.localize = _rootBuilder.localize;
506
- video.studio = _rootBuilder.studio;
613
+ video.narration = _rootBuilder.narration;
614
+ video.text = _rootBuilder.text;
615
+ video.overlays = _rootBuilder.overlays;
616
+ video.audio = _rootBuilder.audio;
617
+ video.languages = _rootBuilder.languages;
507
618
  video.each = _rootBuilder.each;
508
619
  //# sourceMappingURL=video.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAU/C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAazD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EACL,kBAAkB,GAGnB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,qCAAqC,GAItC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,4BAA4B,GAG7B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EACL,sBAAsB,EACtB,UAAU,EACV,4BAA4B,GAG7B,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,qBAAqB,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,GACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAA;AAG7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,aAA4B,EAC5B,mBAA4B,EAC5B,SAAiB;IAEjB,IAAI,CAAC,mBAAmB;QAAE,OAAO,aAAa,CAAA;IAC9C,OAAO,wBAAwB,CAC7B,aAAa,EACb,kBAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,CAClC,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAuC;IAEvC,MAAM,MAAM,GAAG,aAAa,KAAK,QAAQ,CAAA;IACzC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,CAAA;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,aAAmD;IAEnD,MAAM,MAAM,GAAG,aAAa,KAAK,QAAQ,CAAA;IACzC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,CAAA;AAC5D,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAgC;IAEhC,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACxC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CACT,kFAAkF,CACnF,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,CAAC,SAAS,CAAA;IAC1B,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7B,UAAU,CAAC,OAAO,EAAE,8BAA8B,CAAC,EAAE,CAAC,CAAC,CACxD,CAAA;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAW,EACX,SAAwB;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BE;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAU,EACV,UAA6C;IAE7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACpD,MACE,IAAI,CAAC,KAGN,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAEtC,OAAO,cAAc,CAAA;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,0BAA0B,GAG5B;IACF,KAAK,EAAE;QACL,MAAM;QACN,SAAS;QACT,SAAS;QACT,UAAU;QACV,MAAM;QACN,IAAI;QACJ,OAAO;QACP,YAAY;QACZ,UAAU;QACV,SAAS;QACT,WAAW;QACX,YAAY;KACb;IACD,IAAI,EAAE;QACJ,MAAM;QACN,SAAS;QACT,SAAS;QACT,WAAW;QACX,MAAM;QACN,IAAI;QACJ,UAAU;QACV,SAAS;QACT,WAAW;QACX,YAAY;KACb;CACF,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA8B,qBAAqB;IAEnD,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAA8B,EAC9B,WAA8B;IAE9B,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IACpD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,+EAA+E;YAC7E,uFAAuF,CAC1F,CAAA;IACH,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,GAAG,WAAW,CAAC,CAAA;AAChE,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAkB,EAClB,WAA8B;IAE9B,MAAM,MAAM,GAAI,QAAwC,CAAC,MAAM,CAAA;IAC/D,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,CAAA;IACrC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,yEAAyE;YACvE,uFAAuF,CAC1F,CAAA;IACH,CAAC;IACD,MAAM,CAAC,aAAa,GAAG,4BAA4B,CACjD,OAAmB,EACnB,WAAW,CACZ,CAAA;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,IAAU,EACV,UAAkB,EAClB,GAAQ,EACR,OAAgB,EAChB,WAAwB,EACxB,OAA2B;IAE3B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAE7D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAA+B,EAAE;QACrE,IAAI,EAAE,UAAU;QAChB,gBAAgB,EAAE,UAAU;QAC5B,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QACvB,GAAG;QACH,WAAW,EAAE,GAAG;KACjB,CAAC,CAAA;IAEF,6EAA6E;IAC7E,4EAA4E;IAC5E,qEAAqE;IACrE,yBAAyB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAK1E;IACC,QAGD,CAAC,aAAa,GAAG,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAA;IAEhD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,cAA+D;IAE/D,MAAM,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxD,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,6GAA6G,CAC5I,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,cAA+D,EAC/D,QAAuB;IAEvB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1D,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAClC,GAAG,CAAC,eAAe,EAAE,CAAA;IACvB,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAI,MAiBnD;IACC,MAAM,EACJ,cAAc,EACd,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,eAAe,GAAG,OAAO,EACzB,eAAe,GAChB,GAAG,MAAM,CAAA;IAEV,+BAA+B,CAAC,cAAc,CAAC,CAAA;IAE/C,IAAI,CAAC;QACH,OAAO,MAAM,6BAA6B,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YACpE,aAAa,EAAE,CAAA;YACf,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAC/B,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YAChC,0BAA0B,CAAC,QAAQ,CAAC,CAAA;YACpC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;YACjC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;YACjC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;YACjC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YAC9B,qBAAqB,CAAC,QAAQ,CAAC,CAAA;YAC/B,yBAAyB,CAAC,QAAQ,CAAC,CAAA;YACnC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACvB,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YAChC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YAChC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;YAChC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACvC,cAAc,CAAC,IAAI,CAAC,CAAA;YAEpB,sEAAsE;YACtE,yEAAyE;YACzE,mDAAmD;YACnD,IACE,cAAc,CAAC,YAAY,KAAK,IAAI;gBACpC,cAAc,CAAC,YAAY,KAAK,IAAI,EACpC,CAAC;gBACD,MAAM,4BAA4B,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;gBAC/D,MAAM,4BAA4B,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;YACjE,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,QAAQ,CAAC,cAAc,CACrB,eAAe,CAAC,MAAM,EACtB,eAAe,CAAC,YAAY,EAC5B,eAAe,CAAC,IAAI,CACrB,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;YACzB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,sBAAsB,CAAC,cAAc,CAAC,CAAA;YACxC,CAAC;YACD,uEAAuE;YACvE,yEAAyE;YACzE,sEAAsE;YACtE,0EAA0E;YAC1E,iBAAiB;YACjB,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YACpC,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,+BAA+B,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAsED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAG5B;IACA,aAAa,EAAE,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACxD,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5C,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChD,kBAAkB,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjD,kBAAkB,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACjD,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5C,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChD,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7C,0BAA0B,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzD,mBAAmB,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAElD,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS,EAAE,KAAK,EACd,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,aAAa,EAAE,EACjE,GAAG,EACH,EAAE;QACF,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,GACnD,0BAA0B,CAAC,aAAa,CAAC,CAAA;QAC3C,MAAM,GAAG,CACP,qBAAqB,CACnB,kBAAkB,EAClB,0BAA0B,EAAE,SAAS,IAAI,EAAE,EAC3C,qCAAqC,CAAC,gBAAgB,EAAE,YAAY,CAAC,CACtE,CACF,CAAA;IACH,CAAC;IAED,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,EAAE;QACxD,MAAM,GAAG,CACP,eAAe,CAAC,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC,CACxE,CAAA;IACH,CAAC;IAED,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,EAAE;QAChE,MAAM,GAAG,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,GAAG,CAAC,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD,0BAA0B,EAAE;QAC1B,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YAChB,MAAM,KAAK,GAA4B,EAAE,CAAA;YACzC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAA;YAEhB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpE,OAAM;YACR,CAAC;YAED,MAAM,8BAA8B,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;QACD,EAAE,KAAK,EAAE,QAAQ,EAAE;KACpB;IAED,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE;QACrC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAA;QAC9D,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,WAAW,GACf,YAAY,IAAI,qBAAqB,EAAE,IAAI,sBAAsB,EAAE,CAAA;QAErE,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,IAAI,GAAoB,IAAI,CAAA;QAChC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC,CAAA;YAC7C,IAAI,IAAI,EAAE,CAAC;gBACT,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CACT,kEAAkE;oBAChE,gEAAgE;oBAChE,8DAA8D;oBAC9D,OAAO,qBAAqB,EAAE,CACjC,CAAA;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,wBAAwB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QACzE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,MAAM,CAC9C,IAAI;YACF,CAAC,CAAC;gBACE,GAAG,aAAa;gBAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE;aACnD;YACH,CAAC,CAAC,aAAa,CAClB,CAAA;QACD,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC1B,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;QAClB,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;YAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QACD,8DAA8D;QAC9D,MAAM,WAAW,GAAG,6BAA6B,EAAE,CAAA;QACnD,IAAI,YAAY,IAAI,qBAAqB,EAAE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EACZ,EACE,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,MAAM,EACN,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,OAAO,EACP,YAAY,EACZ,OAAO,EACP,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,QAAQ,GACT,EACD,GAAG,EACH,QAAQ,EACR,EAAE;QACF,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,GACrD,0BAA0B,CAAC,aAAa,CAAC,CAAA;QAC3C,MAAM,sBAAsB,GAAG,6BAA6B,CAC1D,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,IAAI,QAAQ,CAAC,KAAK,CACrC,CAAA;QACD,MAAM,WAAW,GACf,sBAAsB,CAAC,WAAW,IAAI,oBAAoB,CAAA;QAC5D,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,IAAI,eAAe,CAAA;QACjE,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAA;QAE9D,0EAA0E;QAC1E,qDAAqD;QACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,2BAA2B,CAAC;YAC1B,UAAU;YACV,kBAAkB,EAAE,YAAY;YAChC,SAAS,EAAE;gBACT,WAAW;gBACX,MAAM;gBACN,UAAU;gBACV,SAAS;gBACT,WAAW;gBACX,WAAW;gBACX,gBAAgB;gBAChB,eAAe;gBACf,iBAAiB;gBACjB,OAAO;gBACP,YAAY;gBACZ,OAAO;gBACP,SAAS;gBACT,eAAe;gBACf,iBAAiB;gBACjB,QAAQ;gBACR,QAAQ;aACT;SACF,CAAC,CACH,CAAA;QAED,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE1B,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;QACpB,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,EACT,EACE,OAAO,EACP,aAAa,EAAE,iBAAiB,EAChC,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,EACD,GAAG,EACH,QAAQ,EACR,EAAE;QACF,uDAAuD;QACvD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAA;QAC9D,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,EAAE,GACrD,0BAA0B,CAAC,iBAAiB,CAAC,CAAA;QAC/C,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,GACnD,0BAA0B,CAAC,aAAa,CAAC,CAAA;QAC3C,MAAM,aAAa,GAAG,6BAA6B,CACjD,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,IAAI,QAAQ,CAAC,KAAK,CACrC,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,aAAa,EAAE;YAClE,aAAa,EAAE,YAAY;YAC3B,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAA;QACF,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,eAAe,GAAG,oBAAoB,CAC1C,aAAa,EACb,iBAAiB,CAClB,CAAA;QACD,6EAA6E;QAC7E,4EAA4E;QAC5E,6CAA6C;QAC7C,MAAM,YAAY,GAAG,mBAAmB,IAAI,QAAQ,CAAC,IAAI,CAAA;QACzD,wEAAwE;QACxE,2EAA2E;QAC3E,mEAAmE;QACnE,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAA;QAErD,oEAAoE;QACpE,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,SAAS,GAAG,kBAAkB,IAAI,QAAQ,CAAC,KAAK,CAAA;QAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;YACpC,MAAM,cAAc,GAAG,4BAA4B,CAAC;gBAClD,QAAQ;gBACR,IAAI;gBACJ,YAAY;gBACZ,aAAa;gBACb,aAAa,EAAE,gBAAgB;aAChC,CAAC,CAAA;YACF,sBAAsB,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YACxC,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,MAAM,0BAA0B,CAAC;gBAC/B,cAAc;gBACd,IAAI;gBACJ,QAAQ;gBACR,eAAe;gBACf,EAAE,EAAE,KAAK,IAAI,EAAE;oBACb,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjB,CAAC;aACF,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,OAAM;QACR,CAAC;QAED,oBAAoB;QACpB,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,oBAAoB,CAAA;QACrE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,eAAe,CAAA;QACxD,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,WAAW,CAAA;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,qBAAqB,CAAA;QAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAEtD,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEjE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;QAEhE,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1C,+CAA+C;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QAEjD,yDAAyD;QACzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACpC,MAAM,cAAc,GAAG,4BAA4B,CAAC;YAClD,QAAQ;YACR,IAAI;YACJ,YAAY;YACZ,YAAY,EAAE,QAAQ;YACtB,aAAa;YACb,aAAa,EAAE,gBAAgB;SAChC,CAAC,CAAA;QAEF,MAAM,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAExC,gEAAgE;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAE9B,yEAAyE;QACzE,sCAAsC;QACtC,MAAM,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAA;QAE/D,MAAM,cAAc,GAAG,MAAM,wBAAwB,CACnD,IAAI,EACJ,SAAS,EACT,GAAG,EACH,OAAO,EACP,WAAW,EACX,OAAO,CACR,CAAA;QAED,MAAM,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACrD,MAAM,cAAc,CAAC,KAAK,EAAE,CAAA;QAC5B,sFAAsF;QACtF,QAAQ,CAAC,KAAK,EAAE,CAAA;QAEhB,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,IAAI,CAAC,CAAA;QACrD,wEAAwE;QACxE,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,cAAc,GAAG,sBAAsB,EAAE,CAAA;QAC/C,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,6EAA6E;QAC7E,8EAA8E;QAC9E,IACE,cAAc;YACd,6BAA6B,CAAC,aAAa,EAAE,qBAAqB,EAAE,CAAC,EACrE,CAAC;YACD,MAAM,IAAI,KAAK,CACb,eAAe,SAAS,gDAAgD;gBACtE,oEAAoE;gBACpE,uEAAuE;gBACvE,uEAAuE;gBACvE,OAAO,qBAAqB,EAAE,CACjC,CAAA;QACH,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;QAC3D,MAAM,YAAY,GAChB,aAAa,GAAG,CAAC,IAAI,cAAc,IAAI,qBAAqB,EAAE;YAC5D,CAAC,CAAC,uBAAuB,CAAC,gBAAgB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAA;QAEV,4EAA4E;QAC5E,wEAAwE;QACxE,4EAA4E;QAC5E,8EAA8E;QAC9E,qEAAqE;QACrE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAExD,IAAI,CAAC;YACH,MAAM,0BAA0B,CAAC;gBAC/B,cAAc;gBACd,IAAI;gBACJ,QAAQ;gBACR,eAAe;gBACf,EAAE,EAAE,KAAK,IAAI,EAAE;oBACb,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;oBAEf,6BAA6B;oBAC7B,MAAM,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAC/B,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,mBAAmB,EAAE,CAAA;YACrB,MAAM,cAAc,CAAC,KAAK,EAAE,CAAA;YAC5B,0BAA0B,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;YAE7D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;oBAC1C,QAAQ,CAAC,mBAAmB,CAAC;wBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,KAAK;qBACd,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CACT,sEAAsE;wBACpE,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxD,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAElB,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;gBAClE,MAAM,QAAQ,CAAC,WAAW,CACxB,QAAQ,EACR,SAAS,EACT,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,CAClC,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC,CAAA;AAyMF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAA8B,CAAA;AAEnD,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,YAAY,GAAG,kBAAkB,CACrC,UAAiE,CAClE,CAAA;AACD,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;AACxC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;AAC9B,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;AACtC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAA;AAChC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;AACxC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA"}
@@ -3,6 +3,7 @@ import type { AutoZoomOptions } from './types.js';
3
3
  import type { AutoZoomState } from './runtimeContext.js';
4
4
  type FocusChangeZoom = NonNullable<FocusChangeEvent['zoom']>;
5
5
  export type ResolvedAutoZoomOptions = Required<AutoZoomOptions>;
6
+ export declare function resolveEffectiveDuration(options: ResolvedAutoZoomOptions, isZoomOut: boolean): number;
6
7
  export declare function resolveAutoZoomOptions(state: AutoZoomState, options: AutoZoomOptions): ResolvedAutoZoomOptions;
7
8
  export declare function resolveZoomTarget(params: {
8
9
  locatorRect: ElementRect;
@@ -1 +1 @@
1
- {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../src/zoom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,KAAK,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5D,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;AAoB/D,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GACvB,uBAAuB,CAYzB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,gCAAgC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1D,cAAc,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;CACxC,GACG;IAAE,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAAC,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACxE,SAAS,CAqBZ;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,gCAAgC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3D,GAAG;IACF,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C,CAwCA;AAgBD,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,MAAM,EACF;QACE,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;QAC3B,aAAa,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACxC,GACD,SAAS,CAAA;IACb,UAAU,EACN,IAAI,CACF,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EACrC,SAAS,GAAG,OAAO,GAAG,QAAQ,CAC/B,GACD,SAAS,CAAA;IACb,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;CACnD,GAAG,eAAe,GAAG,SAAS,CAkB9B"}
1
+ {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../src/zoom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,KAAK,eAAe,GAAG,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5D,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;AAE/D,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE,OAAO,GACjB,MAAM,CAER;AAoBD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GACvB,uBAAuB,CAYzB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,gCAAgC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1D,cAAc,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;CACxC,GACG;IAAE,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAAC,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACxE,SAAS,CAqBZ;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,WAAW,EAAE,WAAW,CAAA;IACxB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,gCAAgC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3D,GAAG;IACF,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,YAAY,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACtC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C,CAwCA;AAgBD,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,MAAM,EACF;QACE,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;QAC3B,aAAa,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KACxC,GACD,SAAS,CAAA;IACb,UAAU,EACN,IAAI,CACF,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EACrC,SAAS,GAAG,OAAO,GAAG,QAAQ,CAC/B,GACD,SAAS,CAAA;IACb,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;CACnD,GAAG,eAAe,GAAG,SAAS,CAkB9B"}
package/dist/src/zoom.js CHANGED
@@ -1,5 +1,8 @@
1
1
  import { DEFAULT_ZOOM_OPTIONS } from './defaults.js';
2
2
  import { invalidOptionError } from './errors.js';
3
+ export function resolveEffectiveDuration(options, isZoomOut) {
4
+ return isZoomOut ? options.zoomOutDuration : options.duration;
5
+ }
3
6
  function clamp(value, min, max) {
4
7
  return Math.min(max, Math.max(min, value));
5
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../src/zoom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../src/zoom.ts"],"names":[],"mappings":"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"}