diff --git a/package.json b/package.json index 4e4241488..01b20a6d3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@descript/draft-js", "description": "A React framework for building text editors.", - "version": "0.11.6-descript.40", + "version": "0.11.6-descript.41", "packageManager": "pnpm@10.28.1", "keywords": [ "draftjs", diff --git a/src/component/base/DraftEditorProps.ts b/src/component/base/DraftEditorProps.ts index d8b67695a..484c7b369 100644 --- a/src/component/base/DraftEditorProps.ts +++ b/src/component/base/DraftEditorProps.ts @@ -28,7 +28,7 @@ import {BlockNode} from '../../model/immutable/BlockNode'; export type DraftEditorBlockSkeletonOptions = Readonly<{ enabled: boolean; - scrollContainerRef: RefObject; + scrollContainerRef: RefObject; onBlockSkeletonsRendered?: () => void; }>; diff --git a/src/component/base/__tests__/DraftEditor.react-test.tsx b/src/component/base/__tests__/DraftEditor.react-test.tsx index 3d6f94c01..8827f53a7 100644 --- a/src/component/base/__tests__/DraftEditor.react-test.tsx +++ b/src/component/base/__tests__/DraftEditor.react-test.tsx @@ -78,12 +78,15 @@ test('must has editorKey same as props', () => { expect(editorInstance?.getEditorKey()).toBe('hash'); }); -test('promotes intersecting skeleton blocks to full rendering', () => { +test.each([true, false])('promotes blocks; null ref: %s', nullRef => { const originalIntersectionObserver = globalThis.IntersectionObserver; let observerCallback: IntersectionObserverCallback | undefined; let observerCount = 0; const observedElements: Element[] = []; const renderedSkeletonCounts: number[] = []; + const scrollContainerRef: React.RefObject = { + current: nullRef ? null : container, + }; class MockIntersectionObserver implements IntersectionObserver { readonly root = container; @@ -120,7 +123,7 @@ test('promotes intersecting skeleton blocks to full rendering', () => { container.querySelectorAll('[data-block-skeleton]').length, ); }, - scrollContainerRef: {current: container}, + scrollContainerRef, }} />, ); diff --git a/src/component/hooks/useDraftEditorBlockSkeleton.ts b/src/component/hooks/useDraftEditorBlockSkeleton.ts index 8f5946abf..66256ca24 100644 --- a/src/component/hooks/useDraftEditorBlockSkeleton.ts +++ b/src/component/hooks/useDraftEditorBlockSkeleton.ts @@ -11,7 +11,7 @@ type Options = Readonly<{ editorState: EditorState; contentsElement: HTMLElement | null; onBlockSkeletonsRendered?: () => void; - scrollContainerRef?: RefObject; + scrollContainerRef?: RefObject; }>; const OBSERVER_MARGIN = '500px 0px';