@readerseye2/cr_viewer 1.0.3 → 1.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.
Files changed (28) hide show
  1. package/dist/CR_Viewer.d.ts +38 -9
  2. package/dist/CR_Viewer.d.ts.map +1 -1
  3. package/dist/components/PageSectionWrap.d.ts.map +1 -1
  4. package/dist/components/PaginationRender.d.ts.map +1 -1
  5. package/dist/components/RangeContextMenu.d.ts +12 -0
  6. package/dist/components/RangeContextMenu.d.ts.map +1 -0
  7. package/dist/components/RangeHandles.d.ts +10 -0
  8. package/dist/components/RangeHandles.d.ts.map +1 -0
  9. package/dist/components/RenderRuns.d.ts.map +1 -1
  10. package/dist/components/SectionRendererVirtuoso.d.ts.map +1 -1
  11. package/dist/components/TranslateModal.d.ts +14 -0
  12. package/dist/components/TranslateModal.d.ts.map +1 -0
  13. package/dist/components/btns/MoveSectionBtns.d.ts +4 -4
  14. package/dist/components/btns/MoveSectionBtns.d.ts.map +1 -1
  15. package/dist/hooks/useSwipePageClicks.d.ts +5 -0
  16. package/dist/hooks/useSwipePageClicks.d.ts.map +1 -1
  17. package/dist/index.cjs +6 -6
  18. package/dist/index.js +4868 -4427
  19. package/dist/overlay-bars/OverlayLayer.d.ts.map +1 -1
  20. package/dist/overlay-bars/ViewerSettingsSheet.d.ts.map +1 -1
  21. package/dist/overlay-bars/bottomBar/OverlayBottomBar.d.ts.map +1 -1
  22. package/dist/overlay-bars/topBar/OverlayTopBar.d.ts.map +1 -1
  23. package/dist/playback/PlaybackViewport.d.ts.map +1 -1
  24. package/dist/stores/progress/crViewer_progress.store.d.ts +33 -9
  25. package/dist/stores/progress/crViewer_progress.store.d.ts.map +1 -1
  26. package/dist/stores/quizprogress/quiz_progress.provider.d.ts +3 -0
  27. package/dist/stores/quizprogress/quiz_progress.provider.d.ts.map +1 -1
  28. package/package.json +59 -59
@@ -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,59 +1,59 @@
1
- {
2
- "name": "@readerseye2/cr_viewer",
3
- "version": "1.0.3",
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
- },
15
- "files": [
16
- "dist"
17
- ],
18
- "scripts": {
19
- "dev": "vite",
20
- "build": "vite build",
21
- "build:lib": "vite build --mode lib",
22
- "preview": "vite preview",
23
- "deploy_npm": "npm run build:lib && npm version patch && npm publish --access public"
24
- },
25
- "peerDependencies": {
26
- "react": "^18.0.0 || ^19.0.0",
27
- "react-dom": "^18.0.0 || ^19.0.0"
28
- },
29
- "dependencies": {
30
- "@readerseye2/cr_type": "^1.0.52",
31
- "lodash": "^4.17.21",
32
- "react-icons": "^5.0.0",
33
- "react-virtuoso": "^4.0.0",
34
- "use-sync-external-store": "^1.6.0",
35
- "zustand": "^5.0.0"
36
- },
37
- "devDependencies": {
38
- "@types/lodash": "^4.17.21",
39
- "@types/react": "^19.0.0",
40
- "@types/react-dom": "^19.0.0",
41
- "@vitejs/plugin-react": "^4.3.0",
42
- "react": "^19.0.0",
43
- "react-dom": "^19.0.0",
44
- "sass": "^1.80.0",
45
- "typescript": "^5.8.0",
46
- "vite": "^6.0.0",
47
- "vite-plugin-css-injected-by-js": "^3.5.2",
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
- }
1
+ {
2
+ "name": "@readerseye2/cr_viewer",
3
+ "version": "1.0.6",
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
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "scripts": {
19
+ "dev": "vite",
20
+ "build": "vite build",
21
+ "build:lib": "vite build --mode lib",
22
+ "preview": "vite preview",
23
+ "deploy_npm": "npm run build:lib && npm version patch && npm publish --access public"
24
+ },
25
+ "peerDependencies": {
26
+ "react": "^18.0.0 || ^19.0.0",
27
+ "react-dom": "^18.0.0 || ^19.0.0"
28
+ },
29
+ "dependencies": {
30
+ "@readerseye2/cr_type": "^1.0.59",
31
+ "lodash": "^4.17.21",
32
+ "react-icons": "^5.0.0",
33
+ "react-virtuoso": "^4.0.0",
34
+ "use-sync-external-store": "^1.6.0",
35
+ "zustand": "^5.0.0"
36
+ },
37
+ "devDependencies": {
38
+ "@types/lodash": "^4.17.21",
39
+ "@types/react": "^19.0.0",
40
+ "@types/react-dom": "^19.0.0",
41
+ "@vitejs/plugin-react": "^4.3.0",
42
+ "react": "^19.0.0",
43
+ "react-dom": "^19.0.0",
44
+ "sass": "^1.80.0",
45
+ "typescript": "^5.8.0",
46
+ "vite": "^6.0.0",
47
+ "vite-plugin-css-injected-by-js": "^3.5.2",
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
+ }