screenci 0.0.4 → 0.0.6
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.
- package/README.md +227 -0
- package/cli.ts +1111 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +896 -0
- package/dist/cli.js.map +1 -0
- package/dist/e2e/instrument.e2e.d.ts +2 -0
- package/dist/e2e/instrument.e2e.d.ts.map +1 -0
- package/dist/e2e/instrument.e2e.js +661 -0
- package/dist/e2e/instrument.e2e.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/playwright.config.d.ts +3 -0
- package/dist/playwright.config.d.ts.map +1 -0
- package/dist/playwright.config.js +21 -0
- package/dist/playwright.config.js.map +1 -0
- package/dist/reporter.d.ts +9 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporter.js +49 -0
- package/dist/reporter.js.map +1 -0
- package/dist/src/asset.d.ts +90 -0
- package/dist/src/asset.d.ts.map +1 -0
- package/dist/src/asset.js +74 -0
- package/dist/src/asset.js.map +1 -0
- package/dist/src/autoZoom.d.ts +40 -0
- package/dist/src/autoZoom.d.ts.map +1 -0
- package/dist/src/autoZoom.js +88 -0
- package/dist/src/autoZoom.js.map +1 -0
- package/dist/src/caption.d.ts +152 -0
- package/dist/src/caption.d.ts.map +1 -0
- package/dist/src/caption.js +240 -0
- package/dist/src/caption.js.map +1 -0
- package/dist/src/caption.test-d.d.ts +2 -0
- package/dist/src/caption.test-d.d.ts.map +1 -0
- package/dist/src/caption.test-d.js +50 -0
- package/dist/src/caption.test-d.js.map +1 -0
- package/dist/src/config.d.ts +42 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +147 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/defaults.d.ts +63 -0
- package/dist/src/defaults.d.ts.map +1 -0
- package/dist/src/defaults.js +66 -0
- package/dist/src/defaults.js.map +1 -0
- package/dist/src/dimensions.d.ts +29 -0
- package/dist/src/dimensions.d.ts.map +1 -0
- package/dist/src/dimensions.js +47 -0
- package/dist/src/dimensions.js.map +1 -0
- package/dist/src/events.d.ts +203 -0
- package/dist/src/events.d.ts.map +1 -0
- package/dist/src/events.js +227 -0
- package/dist/src/events.js.map +1 -0
- package/dist/src/hide.d.ts +27 -0
- package/dist/src/hide.d.ts.map +1 -0
- package/dist/src/hide.js +49 -0
- package/dist/src/hide.js.map +1 -0
- package/dist/src/instrument.d.ts +15 -0
- package/dist/src/instrument.d.ts.map +1 -0
- package/dist/src/instrument.js +910 -0
- package/dist/src/instrument.js.map +1 -0
- package/dist/src/logger.d.ts +7 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +13 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/reporter.d.ts +9 -0
- package/dist/src/reporter.d.ts.map +1 -0
- package/dist/src/reporter.js +50 -0
- package/dist/src/reporter.js.map +1 -0
- package/dist/src/sanitize.d.ts +5 -0
- package/dist/src/sanitize.d.ts.map +1 -0
- package/dist/src/sanitize.js +11 -0
- package/dist/src/sanitize.js.map +1 -0
- package/dist/src/types.d.ts +544 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/video.d.ts +138 -0
- package/dist/src/video.d.ts.map +1 -0
- package/dist/src/video.js +415 -0
- package/dist/src/video.js.map +1 -0
- package/dist/src/voices.d.ts +60 -0
- package/dist/src/voices.d.ts.map +1 -0
- package/dist/src/voices.js +42 -0
- package/dist/src/voices.js.map +1 -0
- package/dist/src/xvfb.d.ts +22 -0
- package/dist/src/xvfb.d.ts.map +1 -0
- package/dist/src/xvfb.js +87 -0
- package/dist/src/xvfb.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +45 -4
- package/bin/index.js +0 -3
- package/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrument.e2e.js","sourceRoot":"","sources":["../../e2e/instrument.e2e.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type { AspectRatio, FPS, Quality, Trace, RecordOptions, RenderOptions, ScreenCIConfig, ExtendedScreenCIConfig, CaptionConfig, AutoZoomOptions, Easing, PostClickMove, ClickBeforeFillOption, } from './src/types.js';
|
|
2
|
+
export { voices } from './src/voices.js';
|
|
3
|
+
export type { VoiceKey, VoiceForLang } from './src/voices.js';
|
|
4
|
+
export type { RecordingEvent, RecordingData, ElementRect, VideoStartEvent, InputEvent, MouseMoveEvent, MouseDownEvent, MouseUpEvent, MouseShowEvent, MouseHideEvent, MouseWaitEvent, CaptionStartEvent, CaptionUntilEvent, CaptionEndEvent, VideoCaptionStartEvent, HideStartEvent, HideEndEvent, AutoZoomStartEvent, AutoZoomEndEvent, } from './src/events.js';
|
|
5
|
+
export { DEFAULT_ASPECT_RATIO, DEFAULT_FPS, DEFAULT_QUALITY, DEFAULT_TRACE, DEFAULT_SEND_TRACES, DEFAULT_VIDEO_DIR, DEFAULT_VIDEO_OPTIONS, } from './src/defaults.js';
|
|
6
|
+
export { getDimensions } from './src/dimensions.js';
|
|
7
|
+
export { defineConfig } from './src/config.js';
|
|
8
|
+
export { video } from './src/video.js';
|
|
9
|
+
export type { ScreenCIPage, ScreenCILocator } from './src/types.js';
|
|
10
|
+
export { createCaptions, createVideoCaptions } from './src/caption.js';
|
|
11
|
+
export type { CaptionController, Captions, VideoCaptionEntry, VideoCaptions, } from './src/caption.js';
|
|
12
|
+
export type { CaptionTranslation, VideoCaptionTranslation, } from './src/events.js';
|
|
13
|
+
export { hide } from './src/hide.js';
|
|
14
|
+
export { autoZoom } from './src/autoZoom.js';
|
|
15
|
+
export { createAssets } from './src/asset.js';
|
|
16
|
+
export type { AssetController, AssetConfig, Assets } from './src/asset.js';
|
|
17
|
+
export type { AssetStartEvent, AssetEndEvent } from './src/events.js';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,GAAG,EACH,OAAO,EACP,KAAK,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,MAAM,EACN,aAAa,EACb,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG7D,YAAY,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtE,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC1E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Re-export voices
|
|
2
|
+
export { voices } from './src/voices.js';
|
|
3
|
+
// Re-export default values
|
|
4
|
+
export { DEFAULT_ASPECT_RATIO, DEFAULT_FPS, DEFAULT_QUALITY, DEFAULT_TRACE, DEFAULT_SEND_TRACES, DEFAULT_VIDEO_DIR, DEFAULT_VIDEO_OPTIONS, } from './src/defaults.js';
|
|
5
|
+
// Re-export dimension helper
|
|
6
|
+
export { getDimensions } from './src/dimensions.js';
|
|
7
|
+
// Re-export config function
|
|
8
|
+
export { defineConfig } from './src/config.js';
|
|
9
|
+
// Re-export video fixture and caption
|
|
10
|
+
export { video } from './src/video.js';
|
|
11
|
+
export { createCaptions, createVideoCaptions } from './src/caption.js';
|
|
12
|
+
export { hide } from './src/hide.js';
|
|
13
|
+
export { autoZoom } from './src/autoZoom.js';
|
|
14
|
+
export { createAssets } from './src/asset.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAiBA,mBAAmB;AACnB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AA0BxC,2BAA2B;AAC3B,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,mBAAmB,CAAA;AAE1B,6BAA6B;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,4BAA4B;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,sCAAsC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAWtE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../playwright.config.ts"],"names":[],"mappings":";AAEA,wBAkBE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineConfig, devices } from '@playwright/test';
|
|
2
|
+
export default defineConfig({
|
|
3
|
+
testDir: 'e2e',
|
|
4
|
+
testMatch: ['**/*.e2e.ts'],
|
|
5
|
+
/* Tests within a file run sequentially; module-level singletons (e.g.
|
|
6
|
+
* activeClickRecorder) are shared within a worker, so keep one worker. */
|
|
7
|
+
workers: 1,
|
|
8
|
+
reporter: 'list',
|
|
9
|
+
use: {
|
|
10
|
+
headless: true,
|
|
11
|
+
/* Enable touch so locator.tap() dispatches pointer/touch events. */
|
|
12
|
+
hasTouch: true,
|
|
13
|
+
},
|
|
14
|
+
projects: [
|
|
15
|
+
{
|
|
16
|
+
name: 'chromium',
|
|
17
|
+
use: { ...devices['Desktop Chrome'], hasTouch: true },
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=playwright.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright.config.js","sourceRoot":"","sources":["../playwright.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAExD,eAAe,YAAY,CAAC;IAC1B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,CAAC,aAAa,CAAC;IAC1B;8EAC0E;IAC1E,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,oEAAoE;QACpE,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;SACtD;KACF;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Reporter, FullConfig, Suite } from '@playwright/test/reporter';
|
|
2
|
+
/**
|
|
3
|
+
* Custom reporter that validates video names are unique after sanitization
|
|
4
|
+
*/
|
|
5
|
+
declare class VideoNameValidator implements Reporter {
|
|
6
|
+
onBegin(config: FullConfig, suite: Suite): void;
|
|
7
|
+
}
|
|
8
|
+
export default VideoNameValidator;
|
|
9
|
+
//# sourceMappingURL=reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EAEN,MAAM,2BAA2B,CAAA;AAGlC;;GAEG;AACH,cAAM,kBAAmB,YAAW,QAAQ;IAC1C,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;CAgDzC;AAED,eAAe,kBAAkB,CAAA"}
|
package/dist/reporter.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { sanitizeVideoName } from './src/sanitize.js';
|
|
2
|
+
/**
|
|
3
|
+
* Custom reporter that validates video names are unique after sanitization
|
|
4
|
+
*/
|
|
5
|
+
class VideoNameValidator {
|
|
6
|
+
onBegin(config, suite) {
|
|
7
|
+
const videoNames = new Map();
|
|
8
|
+
// Collect all test titles
|
|
9
|
+
const collectTests = (suite) => {
|
|
10
|
+
for (const test of suite.tests) {
|
|
11
|
+
const sanitized = sanitizeVideoName(test.title);
|
|
12
|
+
const existing = videoNames.get(sanitized);
|
|
13
|
+
if (existing) {
|
|
14
|
+
existing.push(test.title);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
videoNames.set(sanitized, [test.title]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (const child of suite.suites) {
|
|
21
|
+
collectTests(child);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
collectTests(suite);
|
|
25
|
+
// Check for duplicates
|
|
26
|
+
const duplicates = [];
|
|
27
|
+
for (const [sanitized, titles] of videoNames.entries()) {
|
|
28
|
+
if (titles.length > 1) {
|
|
29
|
+
duplicates.push({ sanitized, titles });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (duplicates.length > 0) {
|
|
33
|
+
console.error('\n❌ Duplicate video names detected after sanitization:\n');
|
|
34
|
+
for (const { sanitized, titles } of duplicates) {
|
|
35
|
+
console.error(` Sanitized name: "${sanitized}"`);
|
|
36
|
+
console.error(` Conflicts between:`);
|
|
37
|
+
for (const title of titles) {
|
|
38
|
+
console.error(` - "${title}"`);
|
|
39
|
+
}
|
|
40
|
+
console.error('');
|
|
41
|
+
}
|
|
42
|
+
console.error('Please ensure all video titles result in unique sanitized names.');
|
|
43
|
+
console.error('Sanitization rules: Converted to lowercase kebab-case (alphanumeric and dashes only).\n');
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export default VideoNameValidator;
|
|
49
|
+
//# sourceMappingURL=reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../reporter.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD;;GAEG;AACH,MAAM,kBAAkB;IACtB,OAAO,CAAC,MAAkB,EAAE,KAAY;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAA;QAE9C,0BAA0B;QAC1B,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE;YACpC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC1C,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;gBACzC,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAA;QAED,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,uBAAuB;QACvB,MAAM,UAAU,GAAmD,EAAE,CAAA;QACrE,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;YACzE,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,sBAAsB,SAAS,GAAG,CAAC,CAAA;gBACjD,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC,CAAA;gBACnC,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACnB,CAAC;YACD,OAAO,CAAC,KAAK,CACX,kEAAkE,CACnE,CAAA;YACD,OAAO,CAAC,KAAK,CACX,yFAAyF,CAC1F,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;CACF;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { IEventRecorder } from './events.js';
|
|
2
|
+
type ImageExt = 'png' | 'jpg' | 'jpeg' | 'gif' | 'webp' | 'svg' | 'bmp';
|
|
3
|
+
/** Asset config for image files. `duration` is required (images have no intrinsic duration). */
|
|
4
|
+
export type ImageAssetConfig = {
|
|
5
|
+
path: string;
|
|
6
|
+
audio: number;
|
|
7
|
+
fullScreen: boolean;
|
|
8
|
+
/** How long (in ms) to display the image before auto-hiding. */
|
|
9
|
+
duration: number;
|
|
10
|
+
};
|
|
11
|
+
/** Asset config for video/audio files. Duration is inferred from the media file. */
|
|
12
|
+
export type VideoAssetConfig = {
|
|
13
|
+
path: string;
|
|
14
|
+
audio: number;
|
|
15
|
+
fullScreen: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type AssetConfig = ImageAssetConfig | VideoAssetConfig;
|
|
18
|
+
type AssetConfigFor<P extends string> = Lowercase<P> extends `${string}.${ImageExt}` ? {
|
|
19
|
+
path: P;
|
|
20
|
+
audio: number;
|
|
21
|
+
fullScreen: boolean;
|
|
22
|
+
duration: number;
|
|
23
|
+
} : {
|
|
24
|
+
path: P;
|
|
25
|
+
audio: number;
|
|
26
|
+
fullScreen: boolean;
|
|
27
|
+
};
|
|
28
|
+
export declare function setActiveAssetRecorder(recorder: IEventRecorder | null): void;
|
|
29
|
+
export interface AssetController {
|
|
30
|
+
/**
|
|
31
|
+
* Shows the asset overlay and records an assetStart event.
|
|
32
|
+
*
|
|
33
|
+
* For image assets, `show()` blocks for the configured `duration` ms and
|
|
34
|
+
* then auto-records the assetEnd event. Calling `hide()` before the timer
|
|
35
|
+
* fires cancels the auto-hide.
|
|
36
|
+
*
|
|
37
|
+
* Also directly awaitable: `await assets.logo` is equivalent to
|
|
38
|
+
* `await assets.logo.show()`.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* await assets.logo // show image for its configured duration
|
|
43
|
+
* await page.goto('/page')
|
|
44
|
+
* await assets.clip.show() // start playing video overlay
|
|
45
|
+
* await assets.clip.hide() // stop video overlay manually
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
show(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Hides the asset overlay and records an assetEnd event.
|
|
51
|
+
* For image assets, also cancels any pending auto-hide timer.
|
|
52
|
+
*/
|
|
53
|
+
hide(): Promise<void>;
|
|
54
|
+
then<T>(onfulfilled?: ((value: void) => T | PromiseLike<T>) | null, onrejected?: ((reason: unknown) => T | PromiseLike<T>) | null): PromiseLike<T>;
|
|
55
|
+
}
|
|
56
|
+
export type Assets<T extends Record<string, AssetConfig>> = {
|
|
57
|
+
[K in keyof T]: AssetController;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Creates a set of typed asset controllers, one per key in the map.
|
|
61
|
+
*
|
|
62
|
+
* Each controller exposes `show()` and `hide()` methods. It is also
|
|
63
|
+
* directly awaitable — `await assets.logo` is shorthand for
|
|
64
|
+
* `await assets.logo.show()`.
|
|
65
|
+
*
|
|
66
|
+
* **Image assets** require a `duration` (in ms). Calling `show()` will
|
|
67
|
+
* automatically record the assetEnd after that many milliseconds. Calling
|
|
68
|
+
* `hide()` before the timer fires cancels the auto-hide.
|
|
69
|
+
*
|
|
70
|
+
* **Video assets** do not require a `duration` — the video's natural length
|
|
71
|
+
* determines how long it plays. Call `hide()` explicitly to stop it.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* const assets = createAssets({
|
|
76
|
+
* logo: { path: './logo.png', audio: 0, fullScreen: false, duration: 3000 },
|
|
77
|
+
* intro: { path: './intro.mp4', audio: 1.0, fullScreen: true },
|
|
78
|
+
* })
|
|
79
|
+
*
|
|
80
|
+
* await assets.logo // shows logo for 3 s, then auto-hides
|
|
81
|
+
* await page.goto('/dashboard')
|
|
82
|
+
* assets.intro.show() // start video overlay (non-blocking for caller)
|
|
83
|
+
* await assets.intro.hide() // hide video overlay manually
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function createAssets<const T extends Record<string, AssetConfig>>(assetsMap: {
|
|
87
|
+
[K in keyof T]: AssetConfigFor<T[K]['path']>;
|
|
88
|
+
}): Assets<T>;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;AAEvE,gGAAgG;AAChG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAA;AAG7D,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAClC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,IAAI,QAAQ,EAAE,GACxC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAA;AAIrD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAE5E;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAErB,IAAI,CAAC,CAAC,EACJ,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAC1D,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAC5D,WAAW,CAAC,CAAC,CAAC,CAAA;CAClB;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI;KACzD,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe;CAChC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAC1B,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAC3C,SAAS,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CASxE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
let activeRecorder = null;
|
|
2
|
+
export function setActiveAssetRecorder(recorder) {
|
|
3
|
+
activeRecorder = recorder;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Creates a set of typed asset controllers, one per key in the map.
|
|
7
|
+
*
|
|
8
|
+
* Each controller exposes `show()` and `hide()` methods. It is also
|
|
9
|
+
* directly awaitable — `await assets.logo` is shorthand for
|
|
10
|
+
* `await assets.logo.show()`.
|
|
11
|
+
*
|
|
12
|
+
* **Image assets** require a `duration` (in ms). Calling `show()` will
|
|
13
|
+
* automatically record the assetEnd after that many milliseconds. Calling
|
|
14
|
+
* `hide()` before the timer fires cancels the auto-hide.
|
|
15
|
+
*
|
|
16
|
+
* **Video assets** do not require a `duration` — the video's natural length
|
|
17
|
+
* determines how long it plays. Call `hide()` explicitly to stop it.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const assets = createAssets({
|
|
22
|
+
* logo: { path: './logo.png', audio: 0, fullScreen: false, duration: 3000 },
|
|
23
|
+
* intro: { path: './intro.mp4', audio: 1.0, fullScreen: true },
|
|
24
|
+
* })
|
|
25
|
+
*
|
|
26
|
+
* await assets.logo // shows logo for 3 s, then auto-hides
|
|
27
|
+
* await page.goto('/dashboard')
|
|
28
|
+
* assets.intro.show() // start video overlay (non-blocking for caller)
|
|
29
|
+
* await assets.intro.hide() // hide video overlay manually
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export function createAssets(assetsMap) {
|
|
33
|
+
const result = {};
|
|
34
|
+
for (const name in assetsMap) {
|
|
35
|
+
const config = assetsMap[name];
|
|
36
|
+
result[name] = createAssetController(name, config);
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
function createAssetController(name, config) {
|
|
41
|
+
let autoHideTimer = null;
|
|
42
|
+
const controller = {
|
|
43
|
+
show() {
|
|
44
|
+
if (activeRecorder === null)
|
|
45
|
+
return Promise.resolve();
|
|
46
|
+
activeRecorder.addAssetStart(name, config.path, config.audio, config.fullScreen);
|
|
47
|
+
if ('duration' in config && typeof config.duration === 'number') {
|
|
48
|
+
return new Promise((resolve) => {
|
|
49
|
+
autoHideTimer = setTimeout(() => {
|
|
50
|
+
autoHideTimer = null;
|
|
51
|
+
activeRecorder?.addAssetEnd(name);
|
|
52
|
+
resolve();
|
|
53
|
+
}, config.duration);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return Promise.resolve();
|
|
57
|
+
},
|
|
58
|
+
hide() {
|
|
59
|
+
if (autoHideTimer !== null) {
|
|
60
|
+
clearTimeout(autoHideTimer);
|
|
61
|
+
autoHideTimer = null;
|
|
62
|
+
}
|
|
63
|
+
if (activeRecorder === null)
|
|
64
|
+
return Promise.resolve();
|
|
65
|
+
activeRecorder.addAssetEnd(name);
|
|
66
|
+
return Promise.resolve();
|
|
67
|
+
},
|
|
68
|
+
then(onfulfilled, onrejected) {
|
|
69
|
+
return controller.show().then(onfulfilled, onrejected);
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
return controller;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AA4BA,IAAI,cAAc,GAA0B,IAAI,CAAA;AAEhD,MAAM,UAAU,sBAAsB,CAAC,QAA+B;IACpE,cAAc,GAAG,QAAQ,CAAA;AAC3B,CAAC;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,YAAY,CAE1B,SAA2D;IAC3D,MAAM,MAAM,GAAG,EAAe,CAAA;IAE9B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAiB,CAAA;QAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,MAAmB;IAEnB,IAAI,aAAa,GAAyC,IAAI,CAAA;IAE9D,MAAM,UAAU,GAAoB;QAClC,IAAI;YACF,IAAI,cAAc,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YACrD,cAAc,CAAC,aAAa,CAC1B,IAAI,EACJ,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAU,CAClB,CAAA;YACD,IAAI,UAAU,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAChE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC9B,aAAa,GAAG,IAAI,CAAA;wBACpB,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;wBACjC,OAAO,EAAE,CAAA;oBACX,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACrB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI;YACF,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC3B,YAAY,CAAC,aAAa,CAAC,CAAA;gBAC3B,aAAa,GAAG,IAAI,CAAA;YACtB,CAAC;YACD,IAAI,cAAc,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;YACrD,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAChC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI,CACF,WAA0D,EAC1D,UAA6D;YAE7D,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QACxD,CAAC;KACF,CAAA;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ElementRect, IEventRecorder } from './events.js';
|
|
2
|
+
import type { AutoZoomOptions } from './types.js';
|
|
3
|
+
export type ZoomLocation = {
|
|
4
|
+
x: number;
|
|
5
|
+
y: number;
|
|
6
|
+
elementRect: ElementRect;
|
|
7
|
+
eventType: 'click' | 'fill';
|
|
8
|
+
};
|
|
9
|
+
export declare function setActiveAutoZoomRecorder(recorder: IEventRecorder | null): void;
|
|
10
|
+
export declare function isInsideAutoZoom(): boolean;
|
|
11
|
+
export declare function getZoomDuration(): number | null;
|
|
12
|
+
export declare function getPostZoomInOutDelay(): number | null;
|
|
13
|
+
export declare function getLastZoomLocation(): ZoomLocation | null;
|
|
14
|
+
export declare function setLastZoomLocation(loc: ZoomLocation | null): void;
|
|
15
|
+
/**
|
|
16
|
+
* Zooms the camera in on interactions inside `fn`, panning to follow each
|
|
17
|
+
* click and fill. After `fn` resolves the camera zooms back out.
|
|
18
|
+
*
|
|
19
|
+
* Wrap page sections or forms — not individual clicks. One `autoZoom` per
|
|
20
|
+
* distinct area of the UI gives the camera a natural rhythm.
|
|
21
|
+
*
|
|
22
|
+
* Cannot be nested — calling `autoZoom()` inside another `autoZoom()` throws.
|
|
23
|
+
*
|
|
24
|
+
* @param fn - The interactions to zoom in on
|
|
25
|
+
* @param options - Optional zoom settings
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* await autoZoom(
|
|
30
|
+
* async () => {
|
|
31
|
+
* await page.locator('#name').fill('Jane Doe')
|
|
32
|
+
* await page.locator('#email').fill('jane@example.com')
|
|
33
|
+
* await page.locator('button[type="submit"]').click()
|
|
34
|
+
* },
|
|
35
|
+
* { duration: 400, easing: 'ease-in-out', amount: 0.4 }
|
|
36
|
+
* )
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function autoZoom(fn: () => Promise<void> | void, options?: AutoZoomOptions): Promise<void>;
|
|
40
|
+
//# sourceMappingURL=autoZoom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoZoom.d.ts","sourceRoot":"","sources":["../../src/autoZoom.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAA;CAC5B,CAAA;AAQD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAC9B,IAAI,CAEN;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD;AAED,wBAAgB,mBAAmB,IAAI,YAAY,GAAG,IAAI,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAElE;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { DEFAULT_ZOOM_DURATION, DEFAULT_POST_ZOOM_IN_OUT_DELAY, } from './defaults.js';
|
|
2
|
+
let activeRecorder = null;
|
|
3
|
+
let insideAutoZoom = false;
|
|
4
|
+
let currentZoomDuration = null;
|
|
5
|
+
let currentPostZoomInOutDelay = null;
|
|
6
|
+
let lastZoomLocation = null;
|
|
7
|
+
export function setActiveAutoZoomRecorder(recorder) {
|
|
8
|
+
activeRecorder = recorder;
|
|
9
|
+
}
|
|
10
|
+
export function isInsideAutoZoom() {
|
|
11
|
+
return insideAutoZoom;
|
|
12
|
+
}
|
|
13
|
+
export function getZoomDuration() {
|
|
14
|
+
return currentZoomDuration;
|
|
15
|
+
}
|
|
16
|
+
export function getPostZoomInOutDelay() {
|
|
17
|
+
return currentPostZoomInOutDelay;
|
|
18
|
+
}
|
|
19
|
+
export function getLastZoomLocation() {
|
|
20
|
+
return lastZoomLocation;
|
|
21
|
+
}
|
|
22
|
+
export function setLastZoomLocation(loc) {
|
|
23
|
+
lastZoomLocation = loc;
|
|
24
|
+
}
|
|
25
|
+
function sleep(ms) {
|
|
26
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Zooms the camera in on interactions inside `fn`, panning to follow each
|
|
30
|
+
* click and fill. After `fn` resolves the camera zooms back out.
|
|
31
|
+
*
|
|
32
|
+
* Wrap page sections or forms — not individual clicks. One `autoZoom` per
|
|
33
|
+
* distinct area of the UI gives the camera a natural rhythm.
|
|
34
|
+
*
|
|
35
|
+
* Cannot be nested — calling `autoZoom()` inside another `autoZoom()` throws.
|
|
36
|
+
*
|
|
37
|
+
* @param fn - The interactions to zoom in on
|
|
38
|
+
* @param options - Optional zoom settings
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* await autoZoom(
|
|
43
|
+
* async () => {
|
|
44
|
+
* await page.locator('#name').fill('Jane Doe')
|
|
45
|
+
* await page.locator('#email').fill('jane@example.com')
|
|
46
|
+
* await page.locator('button[type="submit"]').click()
|
|
47
|
+
* },
|
|
48
|
+
* { duration: 400, easing: 'ease-in-out', amount: 0.4 }
|
|
49
|
+
* )
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export async function autoZoom(fn, options) {
|
|
53
|
+
if (insideAutoZoom) {
|
|
54
|
+
throw new Error('Cannot nest autoZoom() calls');
|
|
55
|
+
}
|
|
56
|
+
if (activeRecorder !== null) {
|
|
57
|
+
activeRecorder.addAutoZoomStart(options);
|
|
58
|
+
}
|
|
59
|
+
const zoomStartTime = Date.now();
|
|
60
|
+
insideAutoZoom = true;
|
|
61
|
+
currentZoomDuration = options?.duration ?? DEFAULT_ZOOM_DURATION;
|
|
62
|
+
currentPostZoomInOutDelay =
|
|
63
|
+
options?.postZoomInOutDelay ?? DEFAULT_POST_ZOOM_IN_OUT_DELAY;
|
|
64
|
+
try {
|
|
65
|
+
await fn();
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
insideAutoZoom = false;
|
|
69
|
+
lastZoomLocation = null;
|
|
70
|
+
currentZoomDuration = null;
|
|
71
|
+
currentPostZoomInOutDelay = null;
|
|
72
|
+
}
|
|
73
|
+
const duration = options?.duration ?? DEFAULT_ZOOM_DURATION;
|
|
74
|
+
const postZoomInOutDelay = options?.postZoomInOutDelay ?? DEFAULT_POST_ZOOM_IN_OUT_DELAY;
|
|
75
|
+
const elapsed = Date.now() - zoomStartTime;
|
|
76
|
+
const remaining = duration + postZoomInOutDelay - elapsed;
|
|
77
|
+
if (remaining > 0) {
|
|
78
|
+
await sleep(remaining);
|
|
79
|
+
}
|
|
80
|
+
if (activeRecorder !== null) {
|
|
81
|
+
activeRecorder.addAutoZoomEnd(options);
|
|
82
|
+
}
|
|
83
|
+
const postEndDelay = duration + postZoomInOutDelay;
|
|
84
|
+
if (postEndDelay > 0) {
|
|
85
|
+
await sleep(postEndDelay);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=autoZoom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoZoom.js","sourceRoot":"","sources":["../../src/autoZoom.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,eAAe,CAAA;AAWtB,IAAI,cAAc,GAA0B,IAAI,CAAA;AAChD,IAAI,cAAc,GAAG,KAAK,CAAA;AAC1B,IAAI,mBAAmB,GAAkB,IAAI,CAAA;AAC7C,IAAI,yBAAyB,GAAkB,IAAI,CAAA;AACnD,IAAI,gBAAgB,GAAwB,IAAI,CAAA;AAEhD,MAAM,UAAU,yBAAyB,CACvC,QAA+B;IAE/B,cAAc,GAAG,QAAQ,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,yBAAyB,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAwB;IAC1D,gBAAgB,GAAG,GAAG,CAAA;AACxB,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAA8B,EAC9B,OAAyB;IAEzB,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAChC,cAAc,GAAG,IAAI,CAAA;IACrB,mBAAmB,GAAG,OAAO,EAAE,QAAQ,IAAI,qBAAqB,CAAA;IAChE,yBAAyB;QACvB,OAAO,EAAE,kBAAkB,IAAI,8BAA8B,CAAA;IAC/D,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAA;IACZ,CAAC;YAAS,CAAC;QACT,cAAc,GAAG,KAAK,CAAA;QACtB,gBAAgB,GAAG,IAAI,CAAA;QACvB,mBAAmB,GAAG,IAAI,CAAA;QAC1B,yBAAyB,GAAG,IAAI,CAAA;IAClC,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,qBAAqB,CAAA;IAC3D,MAAM,kBAAkB,GACtB,OAAO,EAAE,kBAAkB,IAAI,8BAA8B,CAAA;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAA;IAC1C,MAAM,SAAS,GAAG,QAAQ,GAAG,kBAAkB,GAAG,OAAO,CAAA;IACzD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,GAAG,kBAAkB,CAAA;IAClD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,YAAY,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC"}
|