@readerseye2/cr_viewer 1.0.1
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/dist/CR_Viewer.d.ts +24 -0
- package/dist/CR_Viewer.d.ts.map +1 -0
- package/dist/components/PageSectionWrap.d.ts +15 -0
- package/dist/components/PageSectionWrap.d.ts.map +1 -0
- package/dist/components/PaginationRender.d.ts +11 -0
- package/dist/components/PaginationRender.d.ts.map +1 -0
- package/dist/components/RenderParagraph.d.ts +16 -0
- package/dist/components/RenderParagraph.d.ts.map +1 -0
- package/dist/components/RenderRuns.d.ts +14 -0
- package/dist/components/RenderRuns.d.ts.map +1 -0
- package/dist/components/ScrollSectionWrap.d.ts +2 -0
- package/dist/components/ScrollSectionWrap.d.ts.map +1 -0
- package/dist/components/SectionRendererVirtuoso.d.ts +7 -0
- package/dist/components/SectionRendererVirtuoso.d.ts.map +1 -0
- package/dist/components/btns/MoveSectionBtns.d.ts +18 -0
- package/dist/components/btns/MoveSectionBtns.d.ts.map +1 -0
- package/dist/components/btns/SolveQuizBtn.d.ts +2 -0
- package/dist/components/btns/SolveQuizBtn.d.ts.map +1 -0
- package/dist/components/dom.util.d.ts +40 -0
- package/dist/components/dom.util.d.ts.map +1 -0
- package/dist/components/quiz/QuizRenderer.d.ts +3 -0
- package/dist/components/quiz/QuizRenderer.d.ts.map +1 -0
- package/dist/components/scroll/CustomScroller.d.ts +4 -0
- package/dist/components/scroll/CustomScroller.d.ts.map +1 -0
- package/dist/components/spinner/SectionLoadingSpinner.d.ts +2 -0
- package/dist/components/spinner/SectionLoadingSpinner.d.ts.map +1 -0
- package/dist/components/spinner/Spinner.d.ts +10 -0
- package/dist/components/spinner/Spinner.d.ts.map +1 -0
- package/dist/hooks/useDebounce.d.ts +16 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useLongPressSpan.d.ts +10 -0
- package/dist/hooks/useLongPressSpan.d.ts.map +1 -0
- package/dist/hooks/useResizeObserver.d.ts +2 -0
- package/dist/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/hooks/useSingleDoubleClick.d.ts +16 -0
- package/dist/hooks/useSingleDoubleClick.d.ts.map +1 -0
- package/dist/hooks/useSwipePageClicks.d.ts +24 -0
- package/dist/hooks/useSwipePageClicks.d.ts.map +1 -0
- package/dist/index.cjs +33 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8723 -0
- package/dist/overlay-bars/OverlayLayer.d.ts +3 -0
- package/dist/overlay-bars/OverlayLayer.d.ts.map +1 -0
- package/dist/overlay-bars/ViewerSettingsSheet.d.ts +6 -0
- package/dist/overlay-bars/ViewerSettingsSheet.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/AudioControlsMini.d.ts +2 -0
- package/dist/overlay-bars/bottomBar/AudioControlsMini.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/FakeAudioControlsMini.d.ts +3 -0
- package/dist/overlay-bars/bottomBar/FakeAudioControlsMini.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/OverlayBottomBar.d.ts +5 -0
- package/dist/overlay-bars/bottomBar/OverlayBottomBar.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/PlayButton.d.ts +13 -0
- package/dist/overlay-bars/bottomBar/PlayButton.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/ProgressScrubber.d.ts +5 -0
- package/dist/overlay-bars/bottomBar/ProgressScrubber.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/StepBtn.d.ts +6 -0
- package/dist/overlay-bars/bottomBar/StepBtn.d.ts.map +1 -0
- package/dist/overlay-bars/bottomBar/WPMSpeedButtons.d.ts +2 -0
- package/dist/overlay-bars/bottomBar/WPMSpeedButtons.d.ts.map +1 -0
- package/dist/overlay-bars/topBar/OverlayTopBar.d.ts +5 -0
- package/dist/overlay-bars/topBar/OverlayTopBar.d.ts.map +1 -0
- package/dist/playback/CR_ViewerPlayback.d.ts +27 -0
- package/dist/playback/CR_ViewerPlayback.d.ts.map +1 -0
- package/dist/playback/PlaybackBar.d.ts +28 -0
- package/dist/playback/PlaybackBar.d.ts.map +1 -0
- package/dist/playback/PlaybackToggleButton.d.ts +10 -0
- package/dist/playback/PlaybackToggleButton.d.ts.map +1 -0
- package/dist/playback/PlaybackViewport.d.ts +30 -0
- package/dist/playback/PlaybackViewport.d.ts.map +1 -0
- package/dist/playback/index.d.ts +5 -0
- package/dist/playback/index.d.ts.map +1 -0
- package/dist/playback/types.d.ts +20 -0
- package/dist/playback/types.d.ts.map +1 -0
- package/dist/recording/PlaybackHandler.d.ts +6 -0
- package/dist/recording/PlaybackHandler.d.ts.map +1 -0
- package/dist/recording/SettingsChangeEmitter.d.ts +3 -0
- package/dist/recording/SettingsChangeEmitter.d.ts.map +1 -0
- package/dist/recording/SnapshotRegistrar.d.ts +7 -0
- package/dist/recording/SnapshotRegistrar.d.ts.map +1 -0
- package/dist/recording/ViewportResizeEmitter.d.ts +7 -0
- package/dist/recording/ViewportResizeEmitter.d.ts.map +1 -0
- package/dist/stores/audio/crViewer_audio.context.d.ts +10 -0
- package/dist/stores/audio/crViewer_audio.context.d.ts.map +1 -0
- package/dist/stores/audio/crViewer_audio.hooks.d.ts +6 -0
- package/dist/stores/audio/crViewer_audio.hooks.d.ts.map +1 -0
- package/dist/stores/audio/crViewer_audio.provider.d.ts +14 -0
- package/dist/stores/audio/crViewer_audio.provider.d.ts.map +1 -0
- package/dist/stores/audio/crViewer_audio.store.d.ts +65 -0
- package/dist/stores/audio/crViewer_audio.store.d.ts.map +1 -0
- package/dist/stores/player/index.d.ts +5 -0
- package/dist/stores/player/index.d.ts.map +1 -0
- package/dist/stores/player/viewerPlayer.context.d.ts +7 -0
- package/dist/stores/player/viewerPlayer.context.d.ts.map +1 -0
- package/dist/stores/player/viewerPlayer.hooks.d.ts +13 -0
- package/dist/stores/player/viewerPlayer.hooks.d.ts.map +1 -0
- package/dist/stores/player/viewerPlayer.provider.d.ts +18 -0
- package/dist/stores/player/viewerPlayer.provider.d.ts.map +1 -0
- package/dist/stores/player/viewerPlayer.store.d.ts +52 -0
- package/dist/stores/player/viewerPlayer.store.d.ts.map +1 -0
- package/dist/stores/progress/crViewer_progress.context.d.ts +3 -0
- package/dist/stores/progress/crViewer_progress.context.d.ts.map +1 -0
- package/dist/stores/progress/crViewer_progress.hooks.d.ts +6 -0
- package/dist/stores/progress/crViewer_progress.hooks.d.ts.map +1 -0
- package/dist/stores/progress/crViewer_progress.provider.d.ts +15 -0
- package/dist/stores/progress/crViewer_progress.provider.d.ts.map +1 -0
- package/dist/stores/progress/crViewer_progress.store.d.ts +98 -0
- package/dist/stores/progress/crViewer_progress.store.d.ts.map +1 -0
- package/dist/stores/quizprogress/quiz_progress.context.d.ts +3 -0
- package/dist/stores/quizprogress/quiz_progress.context.d.ts.map +1 -0
- package/dist/stores/quizprogress/quiz_progress.hooks.d.ts +10 -0
- package/dist/stores/quizprogress/quiz_progress.hooks.d.ts.map +1 -0
- package/dist/stores/quizprogress/quiz_progress.provider.d.ts +17 -0
- package/dist/stores/quizprogress/quiz_progress.provider.d.ts.map +1 -0
- package/dist/stores/quizprogress/quiz_progress.store.d.ts +63 -0
- package/dist/stores/quizprogress/quiz_progress.store.d.ts.map +1 -0
- package/dist/stores/recorder/viewerRecorder.context.d.ts +7 -0
- package/dist/stores/recorder/viewerRecorder.context.d.ts.map +1 -0
- package/dist/stores/recorder/viewerRecorder.hooks.d.ts +13 -0
- package/dist/stores/recorder/viewerRecorder.hooks.d.ts.map +1 -0
- package/dist/stores/recorder/viewerRecorder.provider.d.ts +24 -0
- package/dist/stores/recorder/viewerRecorder.provider.d.ts.map +1 -0
- package/dist/stores/recorder/viewerRecorder.store.d.ts +50 -0
- package/dist/stores/recorder/viewerRecorder.store.d.ts.map +1 -0
- package/dist/stores/test/tempRecordingStore.d.ts +13 -0
- package/dist/stores/test/tempRecordingStore.d.ts.map +1 -0
- package/dist/stores/viewer/CRViewer.provider.d.ts +10 -0
- package/dist/stores/viewer/CRViewer.provider.d.ts.map +1 -0
- package/dist/stores/viewer/crViewer.context.d.ts +7 -0
- package/dist/stores/viewer/crViewer.context.d.ts.map +1 -0
- package/dist/stores/viewer/crViewer.hooks.d.ts +26 -0
- package/dist/stores/viewer/crViewer.hooks.d.ts.map +1 -0
- package/dist/stores/viewer/crViewer.store.d.ts +130 -0
- package/dist/stores/viewer/crViewer.store.d.ts.map +1 -0
- package/dist/types/viewerEvent.types.d.ts +149 -0
- package/dist/types/viewerEvent.types.d.ts.map +1 -0
- package/dist/utils/audioSrc.d.ts +4 -0
- package/dist/utils/audioSrc.d.ts.map +1 -0
- package/dist/utils/buildAudioTextMap.d.ts +15 -0
- package/dist/utils/buildAudioTextMap.d.ts.map +1 -0
- package/dist/utils/calcPage.util.d.ts +42 -0
- package/dist/utils/calcPage.util.d.ts.map +1 -0
- package/dist/utils/calcPage.util_BACKV3_2399_sf.d.ts +40 -0
- package/dist/utils/calcPage.util_BACKV3_2399_sf.d.ts.map +1 -0
- package/dist/utils/calcPage.util_BACKclaude.d.ts +40 -0
- package/dist/utils/calcPage.util_BACKclaude.d.ts.map +1 -0
- package/dist/utils/calcPage.util_BACKclaude_gptagain.d.ts +40 -0
- package/dist/utils/calcPage.util_BACKclaude_gptagain.d.ts.map +1 -0
- package/dist/utils/calcPage.util_BACKrecent.d.ts +40 -0
- package/dist/utils/calcPage.util_BACKrecent.d.ts.map +1 -0
- package/dist/utils/calcPage.util_BACKv6_fast_Sf.d.ts +40 -0
- package/dist/utils/calcPage.util_BACKv6_fast_Sf.d.ts.map +1 -0
- package/dist/utils/doubleRaf.d.ts +3 -0
- package/dist/utils/doubleRaf.d.ts.map +1 -0
- package/dist/utils/quizSrc.d.ts +3 -0
- package/dist/utils/quizSrc.d.ts.map +1 -0
- package/dist/utils/sectionRender.util.d.ts +21 -0
- package/dist/utils/sectionRender.util.d.ts.map +1 -0
- package/dist/utils/text.util.d.ts +3 -0
- package/dist/utils/text.util.d.ts.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { CRViewerState } from '../stores/viewer/crViewer.store';
|
|
2
|
+
/** 뷰어 이벤트 타입 */
|
|
3
|
+
export type ViewerEventType = 'recording_start' | 'recording_stop' | 'global_index_change' | 'scroll' | 'page_change' | 'section_change' | 'mode_change' | 'settings_change' | 'viewer_state_snapshot' | 'render_start' | 'loading_start' | 'loading_end' | 'viewport_resize' | 'audio_control';
|
|
4
|
+
/** 녹화용 뷰어 상태 */
|
|
5
|
+
export type RecordingViewerState = CRViewerState;
|
|
6
|
+
/** 오디오 상태 스냅샷 */
|
|
7
|
+
export type AudioSnapshot = {
|
|
8
|
+
/** 오디오 상태 (playing, paused 등) */
|
|
9
|
+
status: 'idle' | 'loading' | 'playing' | 'paused' | 'ended' | 'error';
|
|
10
|
+
/** 현재 클립 인덱스 */
|
|
11
|
+
currentClip: number;
|
|
12
|
+
/** 현재 재생 시간 (ms) */
|
|
13
|
+
currentTimeMs: number;
|
|
14
|
+
};
|
|
15
|
+
/** 녹화 시작 시 저장할 초기 스냅샷 */
|
|
16
|
+
export type RecordingSnapshot = {
|
|
17
|
+
/** 뷰어 설정 상태 */
|
|
18
|
+
viewerState: RecordingViewerState;
|
|
19
|
+
/** 현재 globalIndex (마크 위치) */
|
|
20
|
+
globalIndex: number;
|
|
21
|
+
/** 스크롤 위치 (scroll 모드) - deprecated, anchorGI 사용 권장 */
|
|
22
|
+
scrollY?: number;
|
|
23
|
+
/** 화면 상단에 보이는 run의 globalIndex (스크롤 복원용) */
|
|
24
|
+
anchorGI?: number;
|
|
25
|
+
/** anchorGI 요소가 뷰포트 상단에서 떨어진 비율 (0~1) */
|
|
26
|
+
anchorOffsetRatio?: number;
|
|
27
|
+
/** 현재 페이지 (page 모드) */
|
|
28
|
+
currentPage?: number;
|
|
29
|
+
/** 섹션 ID */
|
|
30
|
+
sectionId: string;
|
|
31
|
+
/** 뷰어 렌더 영역 너비 (px) */
|
|
32
|
+
viewportWidth: number;
|
|
33
|
+
/** 뷰어 렌더 영역 높이 (px) */
|
|
34
|
+
viewportHeight: number;
|
|
35
|
+
/** 오디오 상태 (optional - 오디오 없을 수 있음) */
|
|
36
|
+
audio?: AudioSnapshot;
|
|
37
|
+
};
|
|
38
|
+
/** 기본 이벤트 (뷰어에서 emit) */
|
|
39
|
+
export type ViewerEventBase<T extends ViewerEventType, P = Record<string, unknown>> = {
|
|
40
|
+
type: T;
|
|
41
|
+
/** 절대 시간 (Date.now()) */
|
|
42
|
+
timestamp: number;
|
|
43
|
+
payload: P;
|
|
44
|
+
};
|
|
45
|
+
/** 저장용 이벤트 (외부에서 relTime 추가) */
|
|
46
|
+
export type StoredViewerEvent<T extends ViewerEventType, P = Record<string, unknown>> = ViewerEventBase<T, P> & {
|
|
47
|
+
/** 녹화 시작 기준 상대 시간 (초 단위, 예: 1.23) */
|
|
48
|
+
relTime: number;
|
|
49
|
+
};
|
|
50
|
+
/** 녹화 시작 이벤트 */
|
|
51
|
+
export type RecordingStartEvent = ViewerEventBase<'recording_start', {
|
|
52
|
+
snapshot: RecordingSnapshot;
|
|
53
|
+
}>;
|
|
54
|
+
/** 녹화 중지 이벤트 */
|
|
55
|
+
export type RecordingStopEvent = ViewerEventBase<'recording_stop', {
|
|
56
|
+
duration: number;
|
|
57
|
+
}>;
|
|
58
|
+
/** globalIndex 변경 이벤트 */
|
|
59
|
+
export type GlobalIndexChangeEvent = ViewerEventBase<'global_index_change', {
|
|
60
|
+
globalIndex: number;
|
|
61
|
+
}>;
|
|
62
|
+
/** 스크롤 이벤트 (scroll 모드 전용) */
|
|
63
|
+
export type ScrollEvent = ViewerEventBase<'scroll', {
|
|
64
|
+
/** 스크롤 절대 위치 (px) */
|
|
65
|
+
scrollTop: number;
|
|
66
|
+
/** 스크롤 비율 (0~1, scrollTop / (scrollHeight - clientHeight)) */
|
|
67
|
+
scrollRatio: number;
|
|
68
|
+
/** 화면 상단 기준 run index */
|
|
69
|
+
anchorGI: number;
|
|
70
|
+
/** anchorGI 요소가 뷰포트 상단에서 떨어진 비율 (0~1) */
|
|
71
|
+
anchorOffsetRatio: number;
|
|
72
|
+
}>;
|
|
73
|
+
/** 페이지 변경 이벤트 */
|
|
74
|
+
export type PageChangeEvent = ViewerEventBase<'page_change', {
|
|
75
|
+
page: number;
|
|
76
|
+
}>;
|
|
77
|
+
/** 섹션 변경 이벤트 */
|
|
78
|
+
export type SectionChangeEvent = ViewerEventBase<'section_change', {
|
|
79
|
+
sectionId: string;
|
|
80
|
+
}>;
|
|
81
|
+
/** 모드 변경 이벤트 */
|
|
82
|
+
export type ModeChangeEvent = ViewerEventBase<'mode_change', {
|
|
83
|
+
mode: 'scroll' | 'page';
|
|
84
|
+
}>;
|
|
85
|
+
/** 설정 변경 이벤트 (개별 키) */
|
|
86
|
+
export type SettingsChangeEvent = ViewerEventBase<'settings_change', {
|
|
87
|
+
key: keyof CRViewerState;
|
|
88
|
+
value: unknown;
|
|
89
|
+
}>;
|
|
90
|
+
/** 뷰어 상태 전체 스냅샷 이벤트 (설정 변경 시 전체 상태 기록) */
|
|
91
|
+
export type ViewerStateSnapshotEvent = ViewerEventBase<'viewer_state_snapshot', {
|
|
92
|
+
viewerState: CRViewerState;
|
|
93
|
+
}>;
|
|
94
|
+
/** 뷰어 렌더 시작 이벤트 (마운트 시, 섹션 변경 시) */
|
|
95
|
+
export type RenderStartEvent = ViewerEventBase<'render_start', {
|
|
96
|
+
sectionId: string;
|
|
97
|
+
}>;
|
|
98
|
+
/** 로딩 시작 이벤트 */
|
|
99
|
+
export type LoadingStartEvent = ViewerEventBase<'loading_start', Record<string, never>>;
|
|
100
|
+
/** 로딩 완료 이벤트 */
|
|
101
|
+
export type LoadingEndEvent = ViewerEventBase<'loading_end', {
|
|
102
|
+
/** 로딩 소요 시간 (초, 예: 1.523) */
|
|
103
|
+
duration: number;
|
|
104
|
+
}>;
|
|
105
|
+
/** 뷰포트 리사이즈 이벤트 */
|
|
106
|
+
export type ViewportResizeEvent = ViewerEventBase<'viewport_resize', {
|
|
107
|
+
width: number;
|
|
108
|
+
height: number;
|
|
109
|
+
}>;
|
|
110
|
+
/** 오디오 제어 액션 타입 */
|
|
111
|
+
export type AudioControlAction = 'play' | 'pause' | 'stop';
|
|
112
|
+
/** 오디오 제어 이벤트 */
|
|
113
|
+
export type AudioControlEvent = ViewerEventBase<'audio_control', {
|
|
114
|
+
action: AudioControlAction;
|
|
115
|
+
}>;
|
|
116
|
+
/** 모든 뷰어 이벤트 타입 */
|
|
117
|
+
export type ViewerEvent = RecordingStartEvent | RecordingStopEvent | GlobalIndexChangeEvent | ScrollEvent | PageChangeEvent | SectionChangeEvent | ModeChangeEvent | SettingsChangeEvent | ViewerStateSnapshotEvent | RenderStartEvent | LoadingStartEvent | LoadingEndEvent | ViewportResizeEvent | AudioControlEvent;
|
|
118
|
+
export type ViewerEventCallback = (event: ViewerEvent) => void;
|
|
119
|
+
/** 저장용 이벤트 (any type) */
|
|
120
|
+
export type StoredEvent = StoredViewerEvent<ViewerEventType, unknown>;
|
|
121
|
+
/** 녹화 청크 (15초 단위 등) */
|
|
122
|
+
export type RecordingChunk = {
|
|
123
|
+
/** 청크 인덱스 (0, 1, 2, ...) */
|
|
124
|
+
index: number;
|
|
125
|
+
/** 청크 시작 시간 (초, 녹화 시작 기준) */
|
|
126
|
+
startTime: number;
|
|
127
|
+
/** 청크 종료 시간 (초) */
|
|
128
|
+
endTime: number;
|
|
129
|
+
/** 청크 시작 시점의 뷰어 스냅샷 */
|
|
130
|
+
snapshot: RecordingSnapshot;
|
|
131
|
+
/** 이 청크에 포함된 이벤트들 */
|
|
132
|
+
events: StoredEvent[];
|
|
133
|
+
};
|
|
134
|
+
/** 녹화 메타데이터 (전체 녹화 정보) */
|
|
135
|
+
export type RecordingMeta = {
|
|
136
|
+
/** 녹화 ID */
|
|
137
|
+
id: string;
|
|
138
|
+
/** 녹화 시작 절대 시간 */
|
|
139
|
+
startedAt: number;
|
|
140
|
+
/** 총 녹화 시간 (초) */
|
|
141
|
+
totalDuration: number;
|
|
142
|
+
/** 청크 길이 (초) */
|
|
143
|
+
chunkDuration: number;
|
|
144
|
+
/** 총 청크 수 */
|
|
145
|
+
chunkCount: number;
|
|
146
|
+
/** 섹션 ID */
|
|
147
|
+
sectionId: string;
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=viewerEvent.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewerEvent.types.d.ts","sourceRoot":"","sources":["../../src/types/viewerEvent.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioSrc.d.ts","sourceRoot":"","sources":["../../src/utils/audioSrc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,oCAAoC;AACpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAkB/D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SectionData } from '@readerseye2/cr_type';
|
|
2
|
+
export type ClipTimeToGI = Array<{
|
|
3
|
+
t: number;
|
|
4
|
+
g: number;
|
|
5
|
+
}>;
|
|
6
|
+
export type G2CT = Array<{
|
|
7
|
+
clip: number;
|
|
8
|
+
t: number;
|
|
9
|
+
} | undefined>;
|
|
10
|
+
export type AudioTextMap = {
|
|
11
|
+
byClip: Record<number, ClipTimeToGI>;
|
|
12
|
+
g2ct: G2CT;
|
|
13
|
+
};
|
|
14
|
+
export declare function buildAudioTextMap(section: SectionData): AudioTextMap;
|
|
15
|
+
//# sourceMappingURL=buildAudioTextMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildAudioTextMap.d.ts","sourceRoot":"","sources":["../../src/utils/buildAudioTextMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE3D,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrC,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CA0BpE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Block } from '@readerseye2/cr_type';
|
|
2
|
+
export type PageSlice = {
|
|
3
|
+
startBlock: number;
|
|
4
|
+
endBlock: number;
|
|
5
|
+
startOffsetInBlock?: number;
|
|
6
|
+
endOffsetInBlock?: number;
|
|
7
|
+
startCharInRun?: number;
|
|
8
|
+
endCharInRun?: number;
|
|
9
|
+
};
|
|
10
|
+
export type RenderItem = {
|
|
11
|
+
kind: 'paragraph' | 'image';
|
|
12
|
+
block: Block;
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
paraIndex?: number;
|
|
15
|
+
};
|
|
16
|
+
export type CalcPagesParams = {
|
|
17
|
+
viewHost: HTMLElement;
|
|
18
|
+
measureRoot: HTMLElement;
|
|
19
|
+
contentArea: HTMLElement;
|
|
20
|
+
items: RenderItem[];
|
|
21
|
+
cfgMaxWidth: number;
|
|
22
|
+
marginX: number;
|
|
23
|
+
fontFamily?: string | null;
|
|
24
|
+
fontSizePx: number;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
showSplit: boolean;
|
|
27
|
+
breakGapPx?: number;
|
|
28
|
+
showSlash: boolean;
|
|
29
|
+
paragraphMarkers: (string | undefined)[];
|
|
30
|
+
playbackScale?: number;
|
|
31
|
+
viewportHeight?: number;
|
|
32
|
+
};
|
|
33
|
+
export type CalcPagesResult = {
|
|
34
|
+
pages: PageSlice[];
|
|
35
|
+
pageByRunIndex: Int32Array | null;
|
|
36
|
+
};
|
|
37
|
+
export declare class CalcPagesCanceled extends Error {
|
|
38
|
+
readonly code = "CALC_PAGES_CANCELED";
|
|
39
|
+
constructor();
|
|
40
|
+
}
|
|
41
|
+
export declare function calcPages({ viewHost, measureRoot, contentArea, items, cfgMaxWidth, marginX, fontFamily, fontSizePx, lineHeight, showSplit, breakGapPx, showSlash, paragraphMarkers, playbackScale, viewportHeight, }: CalcPagesParams): Promise<CalcPagesResult>;
|
|
42
|
+
//# sourceMappingURL=calcPage.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calcPage.util.d.ts","sourceRoot":"","sources":["../../src/utils/calcPage.util.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,sBAAsB,CAAC;AAG9E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IAGzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IAGnB,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAGzC,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC,CAAC;AAiBF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,yBAAyB;;CAKvC;AA8CD,wBAAsB,SAAS,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAc,EACd,SAAS,EACT,gBAAgB,EAChB,aAAiB,EACjB,cAAkB,GACnB,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CA+f5C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Block } from '@readerseye2/cr_type';
|
|
2
|
+
export type PageSlice = {
|
|
3
|
+
startBlock: number;
|
|
4
|
+
endBlock: number;
|
|
5
|
+
startOffsetInBlock?: number;
|
|
6
|
+
endOffsetInBlock?: number;
|
|
7
|
+
startCharInRun?: number;
|
|
8
|
+
endCharInRun?: number;
|
|
9
|
+
};
|
|
10
|
+
export type RenderItem = {
|
|
11
|
+
kind: 'paragraph' | 'image';
|
|
12
|
+
block: Block;
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
paraIndex?: number;
|
|
15
|
+
};
|
|
16
|
+
export type CalcPagesParams = {
|
|
17
|
+
viewHost: HTMLElement;
|
|
18
|
+
measureRoot: HTMLElement;
|
|
19
|
+
contentArea: HTMLElement;
|
|
20
|
+
items: RenderItem[];
|
|
21
|
+
cfgMaxWidth: number;
|
|
22
|
+
marginX: number;
|
|
23
|
+
fontFamily?: string | null;
|
|
24
|
+
fontSizePx: number;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
showSplit: boolean;
|
|
27
|
+
breakGapPx?: number;
|
|
28
|
+
showSlash: boolean;
|
|
29
|
+
paragraphMarkers: (string | undefined)[];
|
|
30
|
+
};
|
|
31
|
+
export type CalcPagesResult = {
|
|
32
|
+
pages: PageSlice[];
|
|
33
|
+
pageByRunIndex: Int32Array | null;
|
|
34
|
+
};
|
|
35
|
+
export declare class CalcPagesCanceled extends Error {
|
|
36
|
+
readonly code = "CALC_PAGES_CANCELED";
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare function calcPages({ viewHost, measureRoot, contentArea, items, cfgMaxWidth, marginX, fontFamily, fontSizePx, lineHeight, showSplit, breakGapPx, showSlash, paragraphMarkers, }: CalcPagesParams): Promise<CalcPagesResult>;
|
|
40
|
+
//# sourceMappingURL=calcPage.util_BACKV3_2399_sf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calcPage.util_BACKV3_2399_sf.d.ts","sourceRoot":"","sources":["../../src/utils/calcPage.util_BACKV3_2399_sf.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,sBAAsB,CAAC;AAG9E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IAGzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IAGnB,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC,CAAC;AAiBF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,yBAAyB;;CAKvC;AAwCD,wBAAsB,SAAS,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAc,EACd,SAAS,EACT,gBAAgB,GACjB,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAwc5C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Block } from '@readerseye2/cr_type';
|
|
2
|
+
export interface PageSlice {
|
|
3
|
+
startBlock: number;
|
|
4
|
+
endBlock: number;
|
|
5
|
+
startOffsetInBlock?: number;
|
|
6
|
+
endOffsetInBlock?: number;
|
|
7
|
+
startCharInRun?: number;
|
|
8
|
+
endCharInRun?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface RenderItem {
|
|
11
|
+
kind: 'paragraph' | 'image';
|
|
12
|
+
block: Block;
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
paraIndex?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface CalcPagesParams {
|
|
17
|
+
viewHost: HTMLElement;
|
|
18
|
+
measureRoot: HTMLElement;
|
|
19
|
+
contentArea: HTMLElement;
|
|
20
|
+
items: RenderItem[];
|
|
21
|
+
cfgMaxWidth: number;
|
|
22
|
+
marginX: number;
|
|
23
|
+
fontFamily: string | null | undefined;
|
|
24
|
+
fontSizePx: number;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
showSplit: boolean;
|
|
27
|
+
breakGapPx?: number;
|
|
28
|
+
showSlash: boolean;
|
|
29
|
+
paragraphMarkers: (string | undefined)[];
|
|
30
|
+
}
|
|
31
|
+
export interface CalcPagesResult {
|
|
32
|
+
pages: PageSlice[];
|
|
33
|
+
pageByRunIndex: Int32Array | null;
|
|
34
|
+
}
|
|
35
|
+
export declare class CalcPagesCanceled extends Error {
|
|
36
|
+
readonly code = "CALC_PAGES_CANCELED";
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare function calcPages(params: CalcPagesParams): Promise<CalcPagesResult>;
|
|
40
|
+
//# sourceMappingURL=calcPage.util_BACKclaude.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calcPage.util_BACKclaude.d.ts","sourceRoot":"","sources":["../../src/utils/calcPage.util_BACKclaude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,sBAAsB,CAAC;AAG9E,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAsBD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,yBAAyB;;CAKvC;AA6eD,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAuIjF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Block } from '@readerseye2/cr_type';
|
|
2
|
+
export interface PageSlice {
|
|
3
|
+
startBlock: number;
|
|
4
|
+
endBlock: number;
|
|
5
|
+
startOffsetInBlock?: number;
|
|
6
|
+
endOffsetInBlock?: number;
|
|
7
|
+
startCharInRun?: number;
|
|
8
|
+
endCharInRun?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface RenderItem {
|
|
11
|
+
kind: 'paragraph' | 'image';
|
|
12
|
+
block: Block;
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
paraIndex?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface CalcPagesParams {
|
|
17
|
+
viewHost: HTMLElement;
|
|
18
|
+
measureRoot: HTMLElement;
|
|
19
|
+
contentArea: HTMLElement;
|
|
20
|
+
items: RenderItem[];
|
|
21
|
+
cfgMaxWidth: number;
|
|
22
|
+
marginX: number;
|
|
23
|
+
fontFamily: string | null | undefined;
|
|
24
|
+
fontSizePx: number;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
showSplit: boolean;
|
|
27
|
+
breakGapPx?: number;
|
|
28
|
+
showSlash: boolean;
|
|
29
|
+
paragraphMarkers: (string | undefined)[];
|
|
30
|
+
}
|
|
31
|
+
export interface CalcPagesResult {
|
|
32
|
+
pages: PageSlice[];
|
|
33
|
+
pageByRunIndex: Int32Array | null;
|
|
34
|
+
}
|
|
35
|
+
export declare class CalcPagesCanceled extends Error {
|
|
36
|
+
readonly code: "CALC_PAGES_CANCELED";
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare function calcPages(params: CalcPagesParams): Promise<CalcPagesResult>;
|
|
40
|
+
//# sourceMappingURL=calcPage.util_BACKclaude_gptagain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calcPage.util_BACKclaude_gptagain.d.ts","sourceRoot":"","sources":["../../src/utils/calcPage.util_BACKclaude_gptagain.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,sBAAsB,CAAC;AAK9E,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AA0BD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAU;;CAKhD;AAqhBD,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAsIjF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Block } from '@readerseye2/cr_type';
|
|
2
|
+
export type PageSlice = {
|
|
3
|
+
startBlock: number;
|
|
4
|
+
endBlock: number;
|
|
5
|
+
startOffsetInBlock?: number;
|
|
6
|
+
endOffsetInBlock?: number;
|
|
7
|
+
startCharInRun?: number;
|
|
8
|
+
endCharInRun?: number;
|
|
9
|
+
};
|
|
10
|
+
export type RenderItem = {
|
|
11
|
+
kind: 'paragraph' | 'image';
|
|
12
|
+
block: Block;
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
paraIndex?: number;
|
|
15
|
+
};
|
|
16
|
+
export type CalcPagesParams = {
|
|
17
|
+
viewHost: HTMLElement;
|
|
18
|
+
measureRoot: HTMLElement;
|
|
19
|
+
contentArea: HTMLElement;
|
|
20
|
+
items: RenderItem[];
|
|
21
|
+
cfgMaxWidth: number;
|
|
22
|
+
marginX: number;
|
|
23
|
+
fontFamily?: string | null;
|
|
24
|
+
fontSizePx: number;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
showSplit: boolean;
|
|
27
|
+
breakGapPx?: number;
|
|
28
|
+
showSlash: boolean;
|
|
29
|
+
paragraphMarkers: (string | undefined)[];
|
|
30
|
+
};
|
|
31
|
+
export type CalcPagesResult = {
|
|
32
|
+
pages: PageSlice[];
|
|
33
|
+
pageByRunIndex: Int32Array | null;
|
|
34
|
+
};
|
|
35
|
+
export declare class CalcPagesCanceled extends Error {
|
|
36
|
+
readonly code = "CALC_PAGES_CANCELED";
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare function calcPages({ viewHost, measureRoot, contentArea, items, cfgMaxWidth, marginX, fontFamily, fontSizePx, lineHeight, showSplit, breakGapPx, showSlash, paragraphMarkers, }: CalcPagesParams): Promise<CalcPagesResult>;
|
|
40
|
+
//# sourceMappingURL=calcPage.util_BACKrecent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calcPage.util_BACKrecent.d.ts","sourceRoot":"","sources":["../../src/utils/calcPage.util_BACKrecent.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,sBAAsB,CAAC;AAG9E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IAGzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IAGnB,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC,CAAC;AAiBF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,yBAAyB;;CAKvC;AA8CD,wBAAsB,SAAS,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAc,EACd,SAAS,EACT,gBAAgB,GACjB,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAud5C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Block } from '@readerseye2/cr_type';
|
|
2
|
+
export type PageSlice = {
|
|
3
|
+
startBlock: number;
|
|
4
|
+
endBlock: number;
|
|
5
|
+
startOffsetInBlock?: number;
|
|
6
|
+
endOffsetInBlock?: number;
|
|
7
|
+
startCharInRun?: number;
|
|
8
|
+
endCharInRun?: number;
|
|
9
|
+
};
|
|
10
|
+
export type RenderItem = {
|
|
11
|
+
kind: 'paragraph' | 'image';
|
|
12
|
+
block: Block;
|
|
13
|
+
originalIndex: number;
|
|
14
|
+
paraIndex?: number;
|
|
15
|
+
};
|
|
16
|
+
export type CalcPagesParams = {
|
|
17
|
+
viewHost: HTMLElement;
|
|
18
|
+
measureRoot: HTMLElement;
|
|
19
|
+
contentArea: HTMLElement;
|
|
20
|
+
items: RenderItem[];
|
|
21
|
+
cfgMaxWidth: number;
|
|
22
|
+
marginX: number;
|
|
23
|
+
fontFamily?: string | null;
|
|
24
|
+
fontSizePx: number;
|
|
25
|
+
lineHeight: number;
|
|
26
|
+
showSplit: boolean;
|
|
27
|
+
breakGapPx?: number;
|
|
28
|
+
showSlash: boolean;
|
|
29
|
+
paragraphMarkers: (string | undefined)[];
|
|
30
|
+
};
|
|
31
|
+
export type CalcPagesResult = {
|
|
32
|
+
pages: PageSlice[];
|
|
33
|
+
pageByRunIndex: Int32Array | null;
|
|
34
|
+
};
|
|
35
|
+
export declare class CalcPagesCanceled extends Error {
|
|
36
|
+
readonly code = "CALC_PAGES_CANCELED";
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
export declare function calcPages({ viewHost, measureRoot, contentArea, items, cfgMaxWidth, marginX, fontFamily, fontSizePx, lineHeight, showSplit, breakGapPx, showSlash, paragraphMarkers, }: CalcPagesParams): Promise<CalcPagesResult>;
|
|
40
|
+
//# sourceMappingURL=calcPage.util_BACKv6_fast_Sf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calcPage.util_BACKv6_fast_Sf.d.ts","sourceRoot":"","sources":["../../src/utils/calcPage.util_BACKv6_fast_Sf.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,sBAAsB,CAAC;AAG9E,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IAGzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IAGnB,gBAAgB,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC,CAAC;AAiBF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,yBAAyB;;CAKvC;AA8CD,wBAAsB,SAAS,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAc,EACd,SAAS,EACT,gBAAgB,GACjB,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAud5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doubleRaf.d.ts","sourceRoot":"","sources":["../../src/utils/doubleRaf.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,qBAKlB,CAAC;AACL,wBAAsB,aAAa,CAAC,KAAK,SAAI,iBAI5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quizSrc.d.ts","sourceRoot":"","sources":["../../src/utils/quizSrc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAU1D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Block, InlineRun, ParagraphBlock } from '@readerseye2/cr_type';
|
|
2
|
+
export declare function formatIndex(n: number, format?: string): string;
|
|
3
|
+
export declare function toCircled(n: number): string;
|
|
4
|
+
export declare function toRoman(num: number, upper?: boolean): string;
|
|
5
|
+
export declare function toAlpha(num: number, upper?: boolean): string;
|
|
6
|
+
export type OrderedCounter = {
|
|
7
|
+
next: (numId: number | string, level: number | string) => number;
|
|
8
|
+
reset: () => void;
|
|
9
|
+
};
|
|
10
|
+
export declare function createOrderedCounter(seed?: Map<string, number>): OrderedCounter;
|
|
11
|
+
export declare function computeOrderedMarker(p: ParagraphBlock, counter: OrderedCounter): string | undefined;
|
|
12
|
+
export declare function getRunCounts(blocks: Block[]): number[];
|
|
13
|
+
export declare function prefixSums(arr: number[]): number[];
|
|
14
|
+
export type SplitGroup = {
|
|
15
|
+
splitIndex: number;
|
|
16
|
+
runs: InlineRun[];
|
|
17
|
+
startG: number;
|
|
18
|
+
endG: number;
|
|
19
|
+
};
|
|
20
|
+
export declare function makeSplitGroups(runs: InlineRun[], baseIndex: number): SplitGroup[];
|
|
21
|
+
//# sourceMappingURL=sectionRender.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sectionRender.util.d.ts","sourceRoot":"","sources":["../../src/utils/sectionRender.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK7E,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB9D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAG3C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,MAAM,CA0BzD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,MAAM,CAS1D;AAKD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IACjE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,cAAc,CAa/E;AAED,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,cAAc,EACjB,OAAO,EAAE,cAAc,GACtB,MAAM,GAAG,SAAS,CASpB;AAKD,wBAAgB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAEtD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAIlD;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAyBlF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.util.d.ts","sourceRoot":"","sources":["../../src/utils/text.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,YAA6B,CAAC;AACvE,eAAO,MAAM,eAAe,GAAI,IAAI,OAAO,GAAG,IAAI,WAAmC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@readerseye2/cr_viewer",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.cjs",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"require": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./style.css": "./dist/style.css"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev": "vite",
|
|
21
|
+
"build": "vite build",
|
|
22
|
+
"build:lib": "vite build --mode lib",
|
|
23
|
+
"preview": "vite preview",
|
|
24
|
+
"deploy_npm": "npm run build:lib && npm version patch && npm publish --access public"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
28
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@readerseye2/cr_type": "^1.0.52",
|
|
32
|
+
"lodash": "^4.17.21",
|
|
33
|
+
"react-icons": "^5.0.0",
|
|
34
|
+
"react-virtuoso": "^4.0.0",
|
|
35
|
+
"use-sync-external-store": "^1.6.0",
|
|
36
|
+
"zustand": "^5.0.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/lodash": "^4.17.21",
|
|
40
|
+
"@types/react": "^19.0.0",
|
|
41
|
+
"@types/react-dom": "^19.0.0",
|
|
42
|
+
"@vitejs/plugin-react": "^4.3.0",
|
|
43
|
+
"react": "^19.0.0",
|
|
44
|
+
"react-dom": "^19.0.0",
|
|
45
|
+
"sass": "^1.80.0",
|
|
46
|
+
"typescript": "^5.8.0",
|
|
47
|
+
"vite": "^6.0.0",
|
|
48
|
+
"vite-plugin-dts": "^4.0.0"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "https://github.com/bnri/CR_viewer.git"
|
|
53
|
+
},
|
|
54
|
+
"author": "guripong",
|
|
55
|
+
"license": "MIT",
|
|
56
|
+
"publishConfig": {
|
|
57
|
+
"access": "public"
|
|
58
|
+
}
|
|
59
|
+
}
|