From b25033e872cb423a872cea1b7f9107569de917e0 Mon Sep 17 00:00:00 2001 From: Yanzhen Yu Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] limit max scale to 1 --- src/Player.svelte | 3 ++- typings/index.d.ts | 28 +++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/Player.svelte b/src/Player.svelte index e0cc6f16..04dcd59b 100644 --- a/src/Player.svelte +++ b/src/Player.svelte @@ -55,7 +55,8 @@ const widthScale = width / frameDimension.width; const heightScale = height / frameDimension.height; el.style.transform = - `scale(${Math.min(widthScale, heightScale)})` + 'translate(-50%, -50%)'; + `scale(${Math.min(widthScale, heightScale, 1)})` + + 'translate(-50%, -50%)'; }; export const triggerResize = () => { diff --git a/typings/index.d.ts b/typings/index.d.ts index 9a34d330..6268e7bb 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -2,20 +2,22 @@ import { eventWithTime, playerConfig } from 'rrweb/typings/types'; import { Replayer, mirror } from 'rrweb'; import { SvelteComponent } from 'svelte'; +export type RRwebPlayerOptions = { + target: HTMLElement; + props: { + events: eventWithTime[]; + width?: number; + height?: number; + autoPlay?: boolean; + speed?: number; + speedOption?: number[]; + showController?: boolean; + tags?: Record; + } & Partial; +}; + export default class rrwebPlayer extends SvelteComponent { - constructor(options: { - target: HTMLElement; - props: { - events: eventWithTime[]; - width?: number; - height?: number; - autoPlay?: boolean; - speed?: number; - speedOption?: number[]; - showController?: boolean; - tags?: Record; - } & Partial; - }); + constructor(options: RRwebPlayerOptions); addEventListener(event: string, handler: (params: any) => unknown): void;