@readerseye2/cr_viewer 1.0.3 → 1.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayLayer.d.ts","sourceRoot":"","sources":["../../src/overlay-bars/OverlayLayer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,YAAY,oCAcvB,CAAC"}
1
+ {"version":3,"file":"OverlayLayer.d.ts","sourceRoot":"","sources":["../../src/overlay-bars/OverlayLayer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,YAAY,oCAgCvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewerSettingsSheet.d.ts","sourceRoot":"","sources":["../../src/overlay-bars/ViewerSettingsSheet.tsx"],"names":[],"mappings":"AASA,KAAK,KAAK,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAElC,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,2CAgLrD"}
1
+ {"version":3,"file":"ViewerSettingsSheet.d.ts","sourceRoot":"","sources":["../../src/overlay-bars/ViewerSettingsSheet.tsx"],"names":[],"mappings":"AASA,KAAK,KAAK,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAElC,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,2CAyKrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayBottomBar.d.ts","sourceRoot":"","sources":["../../../src/overlay-bars/bottomBar/OverlayBottomBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiC,MAAM,OAAO,CAAC;AA2BtD,iBAAS,oBAAoB,4CAoO5B;AAED,eAAO,MAAM,gBAAgB,wDAAmC,CAAC"}
1
+ {"version":3,"file":"OverlayBottomBar.d.ts","sourceRoot":"","sources":["../../../src/overlay-bars/bottomBar/OverlayBottomBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiC,MAAM,OAAO,CAAC;AA0BtD,iBAAS,oBAAoB,4CAiN5B;AAED,eAAO,MAAM,gBAAgB,wDAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayTopBar.d.ts","sourceRoot":"","sources":["../../../src/overlay-bars/topBar/OverlayTopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAsEjF,iBAAS,iBAAiB,4CA6EzB;AAED,eAAO,MAAM,aAAa,qDAAgC,CAAC"}
1
+ {"version":3,"file":"OverlayTopBar.d.ts","sourceRoot":"","sources":["../../../src/overlay-bars/topBar/OverlayTopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAM3C,iBAAS,iBAAiB,4CA2DzB;AAED,eAAO,MAAM,aAAa,qDAAgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlaybackViewport.d.ts","sourceRoot":"","sources":["../../src/playback/PlaybackViewport.tsx"],"names":[],"mappings":"AACA,OAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQ5C,KAAK,qBAAqB,GAAG;IAC3B,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB;IAChB,eAAe,EAAE,YAAY,CAAC;IAC9B,aAAa;IACb,eAAe,EAAE,iBAAiB,CAAC;IACnC,aAAa;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY;IACZ,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,eAAe;IACf,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,oBAAoB;IACpB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACzD,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,sBAAsB;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,iBAAS,gBAAgB,CAAC,EACxB,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,aAAa,GACd,EAAE,qBAAqB,2CA+FvB;;AAED,wBAAsC"}
1
+ {"version":3,"file":"PlaybackViewport.d.ts","sourceRoot":"","sources":["../../src/playback/PlaybackViewport.tsx"],"names":[],"mappings":"AACA,OAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQ5C,KAAK,qBAAqB,GAAG;IAC3B,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB;IAChB,eAAe,EAAE,YAAY,CAAC;IAC9B,aAAa;IACb,eAAe,EAAE,iBAAiB,CAAC;IACnC,aAAa;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,YAAY;IACZ,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,eAAe;IACf,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,oBAAoB;IACpB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACzD,sBAAsB;IACtB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACjD,sBAAsB;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,iBAAS,gBAAgB,CAAC,EACxB,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,aAAa,GACd,EAAE,qBAAqB,2CA6FvB;;AAED,wBAAsC"}
@@ -1,5 +1,5 @@
1
1
  import { StoreApi } from 'zustand/vanilla';
2
- import { SectionData, SectionSummary, SectionId } from '@readerseye2/cr_type';
2
+ import { SectionData } from '@readerseye2/cr_type';
3
3
  import { ViewerRecorderStore } from '../recorder/viewerRecorder.store';
4
4
  /** 진행 상태를 갱신한 주체 */
5
5
  export type UpdateSource = 'program' | 'scroll' | 'audio' | 'scrubber-live' | 'scrubber-commit' | 'scrubber-step' | 'playback';
@@ -40,12 +40,14 @@ export type DerivedLayout = {
40
40
  export type SectionProgress = {
41
41
  /** 현재 섹션 전체 데이터 (AST 포함) */
42
42
  section: SectionData;
43
- /** 섹션 리스트 (이전/다음 섹션 이동용 메타) */
44
- sectionList?: SectionSummary[];
45
- /** 섹션 변경 함수 (이벤트 emit 포함) */
46
- onSectionChange?: (nextId: SectionId) => void;
47
- /** 원본 섹션 변경 콜백 (내부용) */
48
- _onSectionChangeCallback?: (nextId: SectionId) => void;
43
+ /** 뷰어 닫기 요청 콜백 */
44
+ onViewerClose?: () => void;
45
+ /** 섹션 이동 요청 콜백 */
46
+ onSectionNav?: (dir: 'prev' | 'next') => void;
47
+ /** 이전 섹션 이동 가능 여부 */
48
+ isCanPrev: boolean;
49
+ /** 다음 섹션 이동 가능 여부 */
50
+ isCanNext: boolean;
49
51
  /** 섹션 식별자 */
50
52
  sectionId: string;
51
53
  /** 현재 마크(전역 run 인덱스). 없으면 -1 */
@@ -54,6 +56,8 @@ export type SectionProgress = {
54
56
  lastUpdateBy: UpdateSource;
55
57
  /** 섹션 전체 전역 runs 수 */
56
58
  totalRuns: number;
59
+ /** 페이지 모드 현재 페이지 인덱스 */
60
+ pageIndex: number;
57
61
  /** 파생 레이아웃/네비 데이터 */
58
62
  derivedNav?: DerivedNav;
59
63
  layout?: DerivedLayout;
@@ -70,6 +74,20 @@ export type SectionProgress = {
70
74
  setCurrentGlobalRunIndex: (globalIdx: number, by?: UpdateSource) => void;
71
75
  /** 부팅 제어 */
72
76
  setSectionLoading: (l: boolean) => void;
77
+ /** 페이지 인덱스 변경 */
78
+ setPageIndex: (idx: number) => void;
79
+ /** Range 시작 GI (null = range 없음) */
80
+ rangeStartGI: number | null;
81
+ /** Range 끝 GI */
82
+ rangeEndGI: number | null;
83
+ /** Range 설정 */
84
+ setRange: (startGI: number, endGI: number) => void;
85
+ /** Range 해제 */
86
+ clearRange: () => void;
87
+ /** Range 확장 (클릭한 GI 기준) */
88
+ extendRange: (gi: number) => void;
89
+ /** Range 내 텍스트 가져오기 */
90
+ getRangeText: () => string;
73
91
  snapToReadable: (gi: number) => number;
74
92
  nextReadableFrom: (gi: number, dir: -1 | 1) => number | null;
75
93
  edgeReadable: (dir: -1 | 1) => number | null;
@@ -89,8 +107,14 @@ export type CRViewerProgressInitialState = {
89
107
  section: SectionData;
90
108
  /** 초기 GI. 명시 안 하면 totalRuns>0일 때 0, 아니면 -1 */
91
109
  initialIndex?: number;
92
- sectionList?: SectionSummary[];
93
- onSectionChange?: (nextId: SectionId) => void;
110
+ /** 뷰어 닫기 요청 콜백 */
111
+ onViewerClose?: () => void;
112
+ /** 섹션 이동 요청 콜백 */
113
+ onSectionNav?: (dir: 'prev' | 'next') => void;
114
+ /** 이전 섹션 이동 가능 여부 */
115
+ isCanPrev?: boolean;
116
+ /** 다음 섹션 이동 가능 여부 */
117
+ isCanNext?: boolean;
94
118
  /** 뷰어 레코더 스토어 (이벤트 emit용) */
95
119
  recorderStore?: ViewerRecorderStore;
96
120
  };
@@ -1 +1 @@
1
- {"version":3,"file":"crViewer_progress.store.d.ts","sourceRoot":"","sources":["../../../src/stores/progress/crViewer_progress.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crViewer_progress.store.d.ts","sourceRoot":"","sources":["../../../src/stores/progress/crViewer_progress.store.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { SectionData } from '@readerseye2/cr_type';
3
+ import { QuizResult } from '../../CR_Viewer';
3
4
  type Props = PropsWithChildren<{
4
5
  /** 초기에 특정 섹션을 미리 적재하고 싶을 때 */
5
6
  initialState: {
6
7
  section: SectionData;
8
+ onQuizComplete?: (result: QuizResult) => void;
7
9
  };
8
10
  }>;
9
11
  /**
@@ -11,6 +13,7 @@ type Props = PropsWithChildren<{
11
13
  * - 최초 마운트 시 store 생성 (vanilla Zustand)
12
14
  * - initialState.section이 바뀌면 해당 섹션 퀴즈 배열만 미리 적재
13
15
  * - phase(doing/finished)는 유지
16
+ * - 퀴즈 완료 시 onQuizComplete 콜백 호출
14
17
  */
15
18
  export default function QuizProgressProvider({ children, initialState }: Props): import("react/jsx-runtime").JSX.Element;
16
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"quiz_progress.provider.d.ts","sourceRoot":"","sources":["../../../src/stores/quizprogress/quiz_progress.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA8B,MAAM,OAAO,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,8BAA8B;IAC9B,YAAY,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;CACxC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,KAAK,2CAgB7E"}
1
+ {"version":3,"file":"quiz_progress.provider.d.ts","sourceRoot":"","sources":["../../../src/stores/quizprogress/quiz_progress.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAA8B,MAAM,OAAO,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC7B,8BAA8B;IAC9B,YAAY,EAAE;QACZ,OAAO,EAAE,WAAW,CAAC;QACrB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;KAC/C,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,KAAK,2CAqE7E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@readerseye2/cr_viewer",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -27,7 +27,7 @@
27
27
  "react-dom": "^18.0.0 || ^19.0.0"
28
28
  },
29
29
  "dependencies": {
30
- "@readerseye2/cr_type": "^1.0.52",
30
+ "@readerseye2/cr_type": "^1.0.59",
31
31
  "lodash": "^4.17.21",
32
32
  "react-icons": "^5.0.0",
33
33
  "react-virtuoso": "^4.0.0",