@lofcz/platejs-toc 52.0.11 → 52.3.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.
- package/dist/index-Bo0QYvtJ.d.ts +27 -0
- package/dist/index.d.ts +2 -19
- package/dist/index.js +1 -2
- package/dist/isHeading-CiQqjntU.js +1 -2
- package/dist/react/index.d.ts +123 -8
- package/dist/react/index.js +1 -2
- package/package.json +3 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/isHeading-CiQqjntU.js.map +0 -1
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/index.js.map +0 -1
- package/dist/types-CqaZEV-V.d.ts +0 -13
- package/dist/types-CqaZEV-V.d.ts.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as platejs1 from "platejs";
|
|
2
|
+
import { InsertNodesOptions, Path, PluginConfig, SlateEditor, TNode } from "platejs";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/types.d.ts
|
|
5
|
+
type Heading = {
|
|
6
|
+
id: string;
|
|
7
|
+
depth: number;
|
|
8
|
+
path: Path;
|
|
9
|
+
title: string;
|
|
10
|
+
type: string;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/lib/BaseTocPlugin.d.ts
|
|
14
|
+
type TocConfig = PluginConfig<'toc', {
|
|
15
|
+
isScroll: boolean;
|
|
16
|
+
topOffset: number;
|
|
17
|
+
queryHeading?: (editor: SlateEditor) => Heading[];
|
|
18
|
+
}>;
|
|
19
|
+
declare const BaseTocPlugin: platejs1.SlatePlugin<TocConfig>;
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/lib/transforms/insertToc.d.ts
|
|
22
|
+
declare const insertToc: (editor: SlateEditor, options?: InsertNodesOptions) => void;
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/lib/utils/isHeading.d.ts
|
|
25
|
+
declare const isHeading: (node: TNode) => unknown;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Heading as a, TocConfig as i, insertToc as n, BaseTocPlugin as r, isHeading as t };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
//#region src/lib/BaseTocPlugin.d.ts
|
|
5
|
-
type TocConfig = PluginConfig<'toc', {
|
|
6
|
-
isScroll: boolean;
|
|
7
|
-
topOffset: number;
|
|
8
|
-
queryHeading?: (editor: SlateEditor) => Heading[];
|
|
9
|
-
}>;
|
|
10
|
-
declare const BaseTocPlugin: any;
|
|
11
|
-
//#endregion
|
|
12
|
-
//#region src/lib/transforms/insertToc.d.ts
|
|
13
|
-
declare const insertToc: (editor: SlateEditor, options?: InsertNodesOptions) => void;
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region src/lib/utils/isHeading.d.ts
|
|
16
|
-
declare const isHeading: (node: TNode) => any;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { BaseTocPlugin, Heading, TocConfig, insertToc, isHeading };
|
|
19
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
import { a as Heading, i as TocConfig, n as insertToc, r as BaseTocPlugin, t as isHeading } from "./index-Bo0QYvtJ";
|
|
2
|
+
export { BaseTocPlugin, Heading, TocConfig, insertToc, isHeading };
|
package/dist/index.js
CHANGED
|
@@ -18,5 +18,4 @@ const BaseTocPlugin = createTSlatePlugin({
|
|
|
18
18
|
const isHeading = (node) => node.type && KEYS.heading.includes(node.type);
|
|
19
19
|
|
|
20
20
|
//#endregion
|
|
21
|
-
export { BaseTocPlugin as n, isHeading as t };
|
|
22
|
-
//# sourceMappingURL=isHeading-CiQqjntU.js.map
|
|
21
|
+
export { BaseTocPlugin as n, isHeading as t };
|
package/dist/react/index.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as Heading } from "../index-Bo0QYvtJ";
|
|
2
|
+
import * as platejs0 from "platejs";
|
|
3
|
+
import * as platejs_react0 from "platejs/react";
|
|
2
4
|
import React$1 from "react";
|
|
5
|
+
import * as is_hotkey0 from "is-hotkey";
|
|
6
|
+
import * as mutative0 from "mutative";
|
|
7
|
+
import * as zustand_x0 from "zustand-x";
|
|
3
8
|
|
|
4
9
|
//#region src/react/TocPlugin.d.ts
|
|
5
|
-
declare const TocPlugin:
|
|
10
|
+
declare const TocPlugin: platejs_react0.PlatePlugin<platejs0.PluginConfig<"toc", {
|
|
11
|
+
isScroll: boolean;
|
|
12
|
+
topOffset: number;
|
|
13
|
+
queryHeading?: (editor: platejs0.SlateEditor) => Heading[];
|
|
14
|
+
}, {}, {}, {}>>;
|
|
6
15
|
//#endregion
|
|
7
16
|
//#region src/react/types.d.ts
|
|
8
17
|
type TocSideBarProps = {
|
|
@@ -68,8 +77,8 @@ declare const useTocController: ({
|
|
|
68
77
|
//#endregion
|
|
69
78
|
//#region src/react/hooks/useTocElement.d.ts
|
|
70
79
|
declare const useTocElementState: () => {
|
|
71
|
-
editor:
|
|
72
|
-
headingList:
|
|
80
|
+
editor: platejs_react0.PlateEditor;
|
|
81
|
+
headingList: Heading[];
|
|
73
82
|
onContentScroll: (el: HTMLElement, id: string, behavior?: ScrollBehavior) => void;
|
|
74
83
|
};
|
|
75
84
|
declare const useTocElement: ({
|
|
@@ -101,7 +110,114 @@ declare const useTocSideBarState: ({
|
|
|
101
110
|
open,
|
|
102
111
|
rootMargin,
|
|
103
112
|
topOffset
|
|
104
|
-
}: TocSideBarProps) =>
|
|
113
|
+
}: TocSideBarProps) => {
|
|
114
|
+
activeContentId: string;
|
|
115
|
+
editor: {
|
|
116
|
+
id: string;
|
|
117
|
+
children: platejs0.Value;
|
|
118
|
+
history: platejs0.History;
|
|
119
|
+
marks: platejs0.EditorMarks | null;
|
|
120
|
+
meta: platejs0.UnknownObject & {
|
|
121
|
+
isNormalizing?: boolean;
|
|
122
|
+
};
|
|
123
|
+
operations: platejs0.Operation<platejs0.TElement | platejs0.TText>[];
|
|
124
|
+
selection: platejs0.EditorSelection;
|
|
125
|
+
} & platejs0.EditorMethods<platejs0.Value> & platejs0.UnknownObject & {
|
|
126
|
+
dom: {
|
|
127
|
+
composing: boolean;
|
|
128
|
+
currentKeyboardEvent: is_hotkey0.KeyboardEventLike | null;
|
|
129
|
+
focused: boolean;
|
|
130
|
+
prevSelection: platejs0.TRange | null;
|
|
131
|
+
readOnly: boolean;
|
|
132
|
+
};
|
|
133
|
+
meta: platejs0.EditorBase["meta"] & {
|
|
134
|
+
key: any;
|
|
135
|
+
components: platejs0.NodeComponents;
|
|
136
|
+
userId?: string | null;
|
|
137
|
+
isFallback: boolean;
|
|
138
|
+
pluginCache: {
|
|
139
|
+
decorate: string[];
|
|
140
|
+
handlers: {
|
|
141
|
+
onChange: string[];
|
|
142
|
+
onNodeChange: string[];
|
|
143
|
+
onTextChange: string[];
|
|
144
|
+
};
|
|
145
|
+
inject: {
|
|
146
|
+
nodeProps: string[];
|
|
147
|
+
};
|
|
148
|
+
node: {
|
|
149
|
+
isContainer: string[];
|
|
150
|
+
isLeaf: string[];
|
|
151
|
+
isText: string[];
|
|
152
|
+
leafProps: string[];
|
|
153
|
+
textProps: string[];
|
|
154
|
+
types: Record<string, string>;
|
|
155
|
+
};
|
|
156
|
+
normalizeInitialValue: string[];
|
|
157
|
+
render: {
|
|
158
|
+
aboveEditable: string[];
|
|
159
|
+
aboveNodes: string[];
|
|
160
|
+
aboveSlate: string[];
|
|
161
|
+
afterContainer: string[];
|
|
162
|
+
afterEditable: string[];
|
|
163
|
+
beforeContainer: string[];
|
|
164
|
+
beforeEditable: string[];
|
|
165
|
+
belowNodes: string[];
|
|
166
|
+
belowRootNodes: string[];
|
|
167
|
+
};
|
|
168
|
+
rules: {
|
|
169
|
+
match: string[];
|
|
170
|
+
};
|
|
171
|
+
useHooks: string[];
|
|
172
|
+
};
|
|
173
|
+
pluginList: any[];
|
|
174
|
+
uid?: string;
|
|
175
|
+
};
|
|
176
|
+
plugins: Record<string, any>;
|
|
177
|
+
setOptions: <C extends platejs0.AnyPluginConfig>(plugin: platejs0.WithRequiredKey<C>, options: ((state: mutative0.Draft<Partial<platejs0.InferOptions<C>>>) => void) | Partial<platejs0.InferOptions<C>>) => void;
|
|
178
|
+
getInjectProps: <C extends platejs0.AnyPluginConfig = platejs0.PluginConfig>(plugin: platejs0.WithRequiredKey<C>) => platejs0.InjectNodeProps<C>;
|
|
179
|
+
getOption: <C extends platejs0.AnyPluginConfig, StateType extends platejs0.InferOptions<C>, TSelectors extends platejs0.InferSelectors<C>, K$1 extends keyof StateType | keyof TSelectors | "state">(plugin: platejs0.WithRequiredKey<C>, key: K$1, ...args: K$1 extends keyof TSelectors ? Parameters<TSelectors[K$1]> : []) => K$1 extends "state" ? StateType : K$1 extends keyof TSelectors ? ReturnType<TSelectors[K$1]> : K$1 extends keyof StateType ? StateType[K$1] : never;
|
|
180
|
+
getOptions: <C extends platejs0.AnyPluginConfig = platejs0.PluginConfig>(plugin: platejs0.WithRequiredKey<C>) => platejs0.InferOptions<C>;
|
|
181
|
+
getOptionsStore: <C extends platejs0.AnyPluginConfig>(plugin: platejs0.WithRequiredKey<C>) => zustand_x0.TStateApi<platejs0.InferOptions<C>, [["zustand/mutative-x", never]], {}, platejs0.InferSelectors<C>>;
|
|
182
|
+
getPlugin: <C extends platejs0.AnyPluginConfig = platejs0.PluginConfig>(plugin: platejs0.WithRequiredKey<C>) => C extends {
|
|
183
|
+
node: any;
|
|
184
|
+
} ? C : platejs0.EditorPlugin<C>;
|
|
185
|
+
getType: (pluginKey: string) => string;
|
|
186
|
+
setOption: <C extends platejs0.AnyPluginConfig, K$1 extends keyof platejs0.InferOptions<C>>(plugin: platejs0.WithRequiredKey<C>, optionKey: K$1, value: platejs0.InferOptions<C>[K$1]) => void;
|
|
187
|
+
} & {
|
|
188
|
+
api: platejs0.EditorApi & platejs0.UnionToIntersection<platejs0.InferApi<platejs_react0.PlateCorePlugin>>;
|
|
189
|
+
meta: platejs0.BaseEditor["meta"] & {
|
|
190
|
+
pluginList: platejs_react0.AnyEditorPlatePlugin[];
|
|
191
|
+
shortcuts: platejs_react0.Shortcuts;
|
|
192
|
+
};
|
|
193
|
+
plugins: Record<string, platejs_react0.AnyEditorPlatePlugin>;
|
|
194
|
+
tf: platejs0.EditorTransforms & platejs0.UnionToIntersection<platejs0.InferTransforms<platejs_react0.PlateCorePlugin>>;
|
|
195
|
+
transforms: platejs0.EditorTransforms & platejs0.UnionToIntersection<platejs0.InferTransforms<platejs_react0.PlateCorePlugin>>;
|
|
196
|
+
getApi: <C extends platejs0.AnyPluginConfig = platejs0.PluginConfig>(plugin?: platejs0.WithRequiredKey<C>) => platejs_react0.PlateEditor["api"] & platejs0.InferApi<C>;
|
|
197
|
+
getPlugin: <C extends platejs0.AnyPluginConfig = platejs0.PluginConfig>(plugin: platejs0.WithRequiredKey<C>) => C extends {
|
|
198
|
+
node: any;
|
|
199
|
+
} ? C : platejs_react0.EditorPlatePlugin<C>;
|
|
200
|
+
getTransforms: <C extends platejs0.AnyPluginConfig = platejs0.PluginConfig>(plugin?: platejs0.WithRequiredKey<C>) => platejs_react0.PlateEditor["tf"] & platejs0.InferTransforms<C>;
|
|
201
|
+
uid?: string;
|
|
202
|
+
} & {
|
|
203
|
+
store: platejs_react0.PlateStore;
|
|
204
|
+
};
|
|
205
|
+
headingList: Heading[];
|
|
206
|
+
mouseInToc: boolean;
|
|
207
|
+
open: boolean;
|
|
208
|
+
setIsObserve: React$1.Dispatch<React$1.SetStateAction<boolean>>;
|
|
209
|
+
setMouseInToc: React$1.Dispatch<React$1.SetStateAction<boolean>>;
|
|
210
|
+
tocRef: React$1.RefObject<HTMLElement | null>;
|
|
211
|
+
onContentScroll: ({
|
|
212
|
+
id,
|
|
213
|
+
behavior,
|
|
214
|
+
el
|
|
215
|
+
}: {
|
|
216
|
+
id: string;
|
|
217
|
+
el: HTMLElement;
|
|
218
|
+
behavior?: ScrollBehavior;
|
|
219
|
+
}) => void;
|
|
220
|
+
};
|
|
105
221
|
declare const useTocSideBar: ({
|
|
106
222
|
editor,
|
|
107
223
|
mouseInToc,
|
|
@@ -112,7 +228,7 @@ declare const useTocSideBar: ({
|
|
|
112
228
|
onContentScroll
|
|
113
229
|
}: ReturnType<typeof useTocSideBarState>) => {
|
|
114
230
|
navProps: {
|
|
115
|
-
ref:
|
|
231
|
+
ref: React$1.RefObject<HTMLElement | null>;
|
|
116
232
|
onMouseEnter: () => void;
|
|
117
233
|
onMouseLeave: (e: React$1.MouseEvent<HTMLElement, globalThis.MouseEvent>) => void;
|
|
118
234
|
};
|
|
@@ -125,5 +241,4 @@ declare function checkIn(e: React.MouseEvent<HTMLElement, globalThis.MouseEvent>
|
|
|
125
241
|
//#region src/react/utils/heightToTop.d.ts
|
|
126
242
|
declare const heightToTop: (ele: HTMLElement, editorContentRef?: React$1.RefObject<HTMLDivElement | null>) => number;
|
|
127
243
|
//#endregion
|
|
128
|
-
export { TocPlugin, TocSideBarProps, UseContentController, checkIn, heightToTop, useContentController, useContentObserver, useTocController, useTocElement, useTocElementState, useTocObserver, useTocSideBar, useTocSideBarState };
|
|
129
|
-
//# sourceMappingURL=index.d.ts.map
|
|
244
|
+
export { TocPlugin, TocSideBarProps, UseContentController, checkIn, heightToTop, useContentController, useContentObserver, useTocController, useTocElement, useTocElementState, useTocObserver, useTocSideBar, useTocSideBarState };
|
package/dist/react/index.js
CHANGED
|
@@ -485,5 +485,4 @@ const useTocSideBar = ({ editor, mouseInToc, open, setIsObserve, setMouseInToc,
|
|
|
485
485
|
};
|
|
486
486
|
|
|
487
487
|
//#endregion
|
|
488
|
-
export { TocPlugin, checkIn, heightToTop, useContentController, useContentObserver, useTocController, useTocElement, useTocElementState, useTocObserver, useTocSideBar, useTocSideBarState };
|
|
489
|
-
//# sourceMappingURL=index.js.map
|
|
488
|
+
export { TocPlugin, checkIn, heightToTop, useContentController, useContentObserver, useTocController, useTocElement, useTocElementState, useTocObserver, useTocSideBar, useTocSideBarState };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lofcz/platejs-toc",
|
|
3
|
-
"version": "52.
|
|
3
|
+
"version": "52.3.6",
|
|
4
4
|
"description": "Table of Contents plugin for Plate",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plate",
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
"dist/**/*"
|
|
30
30
|
],
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@plate/scripts": "1.0.0"
|
|
32
|
+
"@plate/scripts": "1.0.0",
|
|
33
|
+
"platejs": "npm:@lofcz/platejs@52.3.6"
|
|
33
34
|
},
|
|
34
35
|
"peerDependencies": {
|
|
35
36
|
"platejs": ">=52.0.11",
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/BaseTocPlugin.ts","../src/lib/transforms/insertToc.ts","../src/lib/utils/isHeading.ts"],"sourcesContent":[],"mappings":";;;;KASY,SAAA,GAAY;;EAAZ,SAAA,EAAA,MAAS;EAKO,YAAA,CAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,GAAgB,OAAhB,EAAA;CAAgB,CAAA;AALpB,cASX,aATW,EAAA,GAAA;;;cCLX,oBACH,uBACE;;;cCJC,kBAAmB"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["InsertNodesOptions","SlateEditor","TElement","KEYS","insertToc","editor","options","tf","insertNodes","children","text","type","getType","toc"],"sources":["../src/lib/transforms/insertToc.ts"],"sourcesContent":["import type { InsertNodesOptions, SlateEditor, TElement } from 'platejs';\n\nimport { KEYS } from 'platejs';\n\nexport const insertToc = (\n editor: SlateEditor,\n options?: InsertNodesOptions\n) => {\n editor.tf.insertNodes<TElement>(\n {\n children: [{ text: '' }],\n type: editor.getType(KEYS.toc),\n },\n options as any\n );\n};\n"],"mappings":";;;;AAIA,MAAaI,aACXC,QACAC,YACG;AACHD,QAAOE,GAAGC,YACR;EACEC,UAAU,CAAC,EAAEC,MAAM,IAAI,CAAC;EACxBC,MAAMN,OAAOO,QAAQT,KAAKU,IAAG;EAC9B,EACDP,QACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isHeading-CiQqjntU.js","names":["PluginConfig","SlateEditor","createTSlatePlugin","KEYS","Heading","TocConfig","isScroll","topOffset","queryHeading","editor","BaseTocPlugin","key","toc","node","isElement","isVoid","options","TNode","KEYS","isHeading","node","type","heading","includes"],"sources":["../src/lib/BaseTocPlugin.ts","../src/lib/utils/isHeading.ts"],"sourcesContent":["import {\n type PluginConfig,\n type SlateEditor,\n createTSlatePlugin,\n KEYS,\n} from 'platejs';\n\nimport type { Heading } from './types';\n\nexport type TocConfig = PluginConfig<\n 'toc',\n {\n isScroll: boolean;\n topOffset: number;\n queryHeading?: (editor: SlateEditor) => Heading[];\n }\n>;\n\nexport const BaseTocPlugin = createTSlatePlugin<TocConfig>({\n key: KEYS.toc,\n node: { isElement: true, isVoid: true },\n options: {\n isScroll: true,\n topOffset: 80,\n },\n});\n","import { type TNode, KEYS } from 'platejs';\n\nexport const isHeading = (node: TNode) =>\n node.type && KEYS.heading.includes(node.type as any);\n"],"mappings":";;;AAkBA,MAAaU,gBAAgBR,mBAA8B;CACzDS,KAAKR,KAAKS;CACVC,MAAM;EAAEC,WAAW;EAAMC,QAAQ;EAAM;CACvCC,SAAS;EACPV,UAAU;EACVC,WAAW;EACb;CACD,CAAC;;;;ACvBF,MAAaY,aAAaC,SACxBA,KAAKC,QAAQH,KAAKI,QAAQC,SAASH,KAAKC,KAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/react/TocPlugin.tsx","../../src/react/types.ts","../../src/react/hooks/useContentController.ts","../../src/react/hooks/useContentObserver.ts","../../src/react/hooks/useTocController.ts","../../src/react/hooks/useTocElement.ts","../../src/react/hooks/useTocObserver.ts","../../src/react/hooks/useTocSideBar.ts","../../src/react/utils/checkIn.ts","../../src/react/utils/heightToTop.ts"],"sourcesContent":[],"mappings":";;;;cAIa;;;KCJD,eAAA;;;;ADIZ,CAAA;KCEY,oBAAA;gBACI,KAAA,CAAM,UAAU;;EAPpB,UAAA,EAAA,MAAe;EAMf,SAAA,EAAA,MAAA;;;;cCMC;;;;;GAKV;;;;;;;IFbU,EAAA,EAAA,MAAwC;QEkD7C;eACO;;ADvDf,CAAA;;;KEOK,kBAAA;oBACe,OAAA,CAAM,UAAU;;EHJvB,QAAA,EAAA,OAAwC;;;;ACJzC,cEeC,kBFfc,EAAA,CAAA;EAAA,gBAAA;EAAA,SAAA;EAAA,QAAA;EAAA,UAAA;EAAA;AAAA,CAAA,EEqBxB,kBFrBwB,EAAA,GAAA;EAMf,QAAA,EAAA,MAAA;;;;KGFP,gBAAA;;;EJAQ,MAAA,EIGH,OAAA,CAAM,SJHqC,CIG3B,WJH2B,GAAA,IAAA,CAAA;;cIMxC;;;;GAIV;;;cCCU;;ELXA,WAAA,EAAwC,GAAA;wBKoB5C,oCAAmC;;cAyB/B;;;GAGV,kBAAkB;EJpDT,KAAA,EAAA;IAMA,OAAA,EAAA,CAAA,CAAA,EIiDH,OAAA,CAAM,UJjDiB,CIiDN,WJhDM,EIgDO,UAAA,CAAW,UJhDnB,CAAA,EAAA,IAAA,EIiDnB,OJjDmB,EAAA,QAAA,EIkDf,cJlDe,EAAA,GAAA,IAAA;;;;;KKL1B,cAAA;;;ENEQ,MAAA,EMCH,OAAA,CAAM,SNDqC,CMC3B,WND2B,GAAA,IAAA,CAAA;;cMIxC;;;;GAIV;;ELZS,OAAA,EAAA,OAAA;AAMZ,CAAA;;;cMMa;;;;GAIV;APZU,cOiDA,aPjDwC,EAAA,CAAA;EAAA,MAAA;EAAA,UAAA;EAAA,IAAA;EAAA,YAAA;EAAA,aAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EOyDlD,UPzDkD,CAAA,OOyDhC,kBPzDgC,CAAA,EAAA,GAAA;;;;ICJzC,YAAA,EAAe,CAAA,CAAA,EMqGhB,OAAA,CAAM,UNrGU,CMqGC,WNrGD,EMqGc,UAAA,CAAW,UNrGzB,CAAA,EAAA,GAAA,IAAA;EAMf,CAAA;sBMmEH,OAAA,CAAM,WAAW,aAAa,UAAA,CAAW,mBACtC,oBACK;;;;iBC3ED,OAAA,IACX,KAAA,CAAM,WAAW,aAAa,UAAA,CAAW;;;cCCjC,mBACN,gCACc,OAAA,CAAM,UAAU"}
|
package/dist/react/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["toPlatePlugin","BaseTocPlugin","TocPlugin","checkIn","e","React","MouseEvent","HTMLElement","globalThis","event","window","x","Number","clientX","y","clientY","ele","target","div_x","getBoundingClientRect","left","div_x_width","clientWidth","div_y","top","div_y_height","clientHeight","React","heightToTop","ele","HTMLElement","editorContentRef","RefObject","HTMLDivElement","root","current","document","body","containerRect","getBoundingClientRect","elementRect","scrollY","scrollTop","absoluteElementTop","top","SlateEditor","TElement","NodeApi","Heading","BaseTocPlugin","isHeading","headingDepth","Record","h1","h2","h3","h4","h5","h6","getHeadingList","editor","options","getOptions","queryHeading","headingList","values","api","nodes","at","match","n","node","path","type","title","string","depth","id","push","React","NodeApi","useEditorRef","useEditorSelector","getHeadingList","UseContentObserver","editorContentRef","RefObject","HTMLElement","isObserve","isScroll","rootMargin","status","useContentObserver","t0","$","_c","t1","Symbol","for","headingElementsRef","useRef","editor","t2","headingList","activeId","setActiveId","useState","t3","root","current","undefined","callback","headings","reduce","_temp","visibleHeadings","Object","keys","forEach","key","headingElement_0","headingElement","isIntersecting","push","lastKey","pop","length","observer","IntersectionObserver","item","path","node","get","element","api","toDOMNode","observe","disconnect","t4","useEffect","t5","map","target","id","React","KEYS","useEditorRef","UseContentController","heightToTop","useContentObserver","useContentController","containerRef","isObserve","rootMargin","topOffset","editor","editorContentRef","setEditorContentRef","useState","isScrollRef","useRef","isScroll","current","scrollHeight","clientHeight","scrollContainer","useMemo","window","status","setStatus","activeId","activeContentId","setActiveContentId","onContentScroll","id","behavior","el","HTMLElement","ScrollBehavior","scrollTo","top","getApi","key","blockSelection","addSelectedRow","useEffect","scroll","Date","now","addEventListener","removeEventListener","React","UseTocObserver","activeId","isObserve","tocRef","RefObject","HTMLElement","useTocObserver","t0","$","_c","visible","setVisible","useState","offset","setOffset","t1","root","current","updateOffset","entries","entry","boundingClientRect","intersectionRatio","rootBounds","halfHeight","getBoundingClientRect","height","isAbove","top","isBelow","bottom","isVisible","offset_0","observer","IntersectionObserver","element","querySelectorAll","observe","disconnect","t2","useEffect","t3","React","useTocObserver","UseTocController","activeId","isObserve","tocRef","RefObject","HTMLElement","useTocController","t0","$","_c","activeTocId","setActiveTocId","useState","t1","offset","visible","t2","t3","tocItemWrapper","current","querySelector","top","scrollTop","scrollTo","behavior","useEffect","t4","t5","React","KEYS","NodeApi","useEditorPlugin","useEditorSelector","useScrollRef","Heading","getHeadingList","TocPlugin","heightToTop","useTocElementState","editor","getOptions","isScroll","topOffset","headingList","containerRef","onContentScroll","useCallback","el","HTMLElement","id","behavior","ScrollBehavior","current","scrollTo","top","window","setTimeout","getApi","key","blockSelection","addSelectedRow","useTocElement","ReturnType","props","onClick","e","MouseEvent","globalThis","item","preventDefault","path","node","get","api","toDOMNode","React","NodeApi","useEditorRef","useEditorSelector","useScrollRef","Heading","TocSideBarProps","useContentController","useTocController","getHeadingList","checkIn","useTocSideBarState","t0","$","_c","open","t1","rootMargin","t2","topOffset","t3","undefined","editor","t4","Symbol","for","headingList","containerRef","tocRef","useRef","mouseInToc","setMouseInToc","useState","isObserve","setIsObserve","t5","activeContentId","onContentScroll","t6","activeId","t7","useTocSideBar","ReturnType","useEffect","onContentClick","useCallback","e","MouseEvent","HTMLElement","globalThis","item","behavior","ScrollBehavior","preventDefault","id","path","node","get","el","api","toDOMNode","navProps","ref","onMouseEnter","onMouseLeave","isIn"],"sources":["../../src/react/TocPlugin.tsx","../../src/react/utils/checkIn.ts","../../src/react/utils/heightToTop.ts","../../src/internal/getHeadingList.ts","../../src/react/hooks/useContentObserver.ts","../../src/react/hooks/useContentController.ts","../../src/react/hooks/useTocObserver.ts","../../src/react/hooks/useTocController.ts","../../src/react/hooks/useTocElement.ts","../../src/react/hooks/useTocSideBar.ts"],"sourcesContent":["import { toPlatePlugin } from 'platejs/react';\n\nimport { BaseTocPlugin } from '../lib';\n\nexport const TocPlugin = toPlatePlugin(BaseTocPlugin);\n","export function checkIn(\n e: React.MouseEvent<HTMLElement, globalThis.MouseEvent>\n) {\n const event = window.event as unknown as React.MouseEvent<\n HTMLElement,\n globalThis.MouseEvent\n >;\n const x = Number(event.clientX); // 鼠标相对屏幕横坐标\n const y = Number(event.clientY); // 鼠标相对屏幕纵坐标\n\n const ele = e.target as HTMLElement;\n const div_x = Number(ele.getBoundingClientRect().left); // 相对屏幕的横坐标\n const div_x_width = Number(\n ele.getBoundingClientRect().left + ele.clientWidth\n ); // 相对屏幕的横坐标+width\n\n const div_y = Number(ele.getBoundingClientRect().top); // 相对屏幕的纵坐标\n const div_y_height = Number(\n ele.getBoundingClientRect().top + ele.clientHeight\n ); // 相对屏幕的纵坐标+height\n\n if (x > div_x && x < div_x_width && y > div_y && y < div_y_height) {\n return true;\n }\n\n return false;\n}\n","import type React from 'react';\n\nexport const heightToTop = (\n ele: HTMLElement,\n editorContentRef?: React.RefObject<HTMLDivElement | null>\n) => {\n const root = editorContentRef ? editorContentRef.current : document.body;\n\n if (!root || !ele) return 0;\n\n const containerRect = root.getBoundingClientRect();\n const elementRect = ele.getBoundingClientRect();\n\n const scrollY = root.scrollTop;\n const absoluteElementTop = elementRect.top + scrollY - containerRect.top;\n\n return absoluteElementTop;\n};\n","import { type SlateEditor, type TElement, NodeApi } from 'platejs';\n\nimport type { Heading } from '../lib/types';\n\nimport { BaseTocPlugin } from '../lib';\nimport { isHeading } from '../lib/utils/isHeading';\n\nconst headingDepth: Record<string, number> = {\n h1: 1,\n h2: 2,\n h3: 3,\n h4: 4,\n h5: 5,\n h6: 6,\n};\n\nexport const getHeadingList = (editor: SlateEditor) => {\n const options = editor.getOptions(BaseTocPlugin);\n\n if (options.queryHeading) {\n return options.queryHeading(editor);\n }\n\n const headingList: Heading[] = [];\n\n const values = editor.api.nodes<TElement>({\n at: [],\n match: (n) => isHeading(n),\n });\n\n if (!values) return [];\n\n for (const [node, path] of values) {\n const { type } = node;\n const title = NodeApi.string(node);\n const depth = headingDepth[type];\n const id = node.id as string;\n\n if (title) {\n headingList.push({ id, depth, path, title, type });\n }\n }\n\n return headingList;\n};\n","import React from 'react';\n\nimport { NodeApi } from 'platejs';\nimport { useEditorRef, useEditorSelector } from 'platejs/react';\n\nimport { getHeadingList } from '../../internal/getHeadingList';\n\ntype UseContentObserver = {\n editorContentRef: React.RefObject<HTMLElement | null>;\n isObserve: boolean;\n isScroll: boolean;\n rootMargin: string;\n status: number;\n};\n\nexport const useContentObserver = ({\n editorContentRef,\n isObserve,\n isScroll,\n rootMargin,\n status,\n}: UseContentObserver) => {\n const headingElementsRef = React.useRef<\n Record<string, IntersectionObserverEntry>\n >({});\n\n const editor = useEditorRef();\n const headingList = useEditorSelector(getHeadingList, []);\n\n const [activeId, setActiveId] = React.useState('');\n\n React.useEffect(() => {\n // ✅ Access ref inside effect, not during render\n const root = isScroll ? editorContentRef.current : undefined;\n\n const callback = (headings: IntersectionObserverEntry[]) => {\n if (!isObserve) return;\n\n headingElementsRef.current = headings.reduce((map, headingElement) => {\n map[headingElement.target.id] = headingElement;\n\n return map;\n }, headingElementsRef.current);\n\n const visibleHeadings: string[] = [];\n\n Object.keys(headingElementsRef.current).forEach((key) => {\n const headingElement = headingElementsRef.current[key];\n\n if (headingElement.isIntersecting) visibleHeadings.push(key);\n });\n const lastKey = Object.keys(headingElementsRef.current).pop()!;\n\n if (visibleHeadings.length > 0) {\n setActiveId(visibleHeadings[0] || lastKey);\n }\n headingElementsRef.current = {};\n };\n const observer = new IntersectionObserver(callback, {\n root,\n rootMargin,\n });\n\n headingList.forEach((item) => {\n const { path } = item;\n\n const node = NodeApi.get(editor, path);\n\n if (!node) return;\n\n const element = editor.api.toDOMNode(node);\n\n if (element) {\n observer.observe(element);\n }\n });\n\n return () => {\n observer.disconnect();\n };\n }, [\n headingList,\n isObserve,\n editor,\n editorContentRef,\n isScroll,\n rootMargin,\n status,\n ]);\n\n return { activeId };\n};\n","'use client';\n\nimport React from 'react';\n\nimport { KEYS } from 'platejs';\nimport { useEditorRef } from 'platejs/react';\n\nimport type { UseContentController } from '../types';\n\nimport { heightToTop } from '../utils';\nimport { useContentObserver } from './useContentObserver';\n\nexport const useContentController = ({\n containerRef,\n isObserve,\n rootMargin,\n topOffset,\n}: UseContentController) => {\n const editor = useEditorRef();\n const [editorContentRef, setEditorContentRef] = React.useState(containerRef);\n\n const isScrollRef = React.useRef(false);\n\n const isScroll =\n (editorContentRef.current?.scrollHeight || 0) >\n (editorContentRef.current?.clientHeight || 0);\n\n isScrollRef.current = isScroll;\n\n const scrollContainer = React.useMemo(() => {\n if (typeof window !== 'object') return;\n\n return isScroll ? editorContentRef.current : window;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isScroll]);\n\n const [status, setStatus] = React.useState(0);\n\n const { activeId } = useContentObserver({\n editorContentRef,\n isObserve,\n isScroll,\n rootMargin,\n status,\n });\n\n const [activeContentId, setActiveContentId] = React.useState(activeId);\n\n const onContentScroll = ({\n id,\n behavior = 'instant',\n el,\n }: {\n id: string;\n el: HTMLElement;\n behavior?: ScrollBehavior;\n }) => {\n setActiveContentId(id);\n\n if (isScrollRef.current) {\n editorContentRef.current?.scrollTo({\n behavior,\n top: heightToTop(el, editorContentRef) - topOffset,\n });\n } else {\n const top = heightToTop(el) - topOffset;\n // Note: if behavior === smooth,scrolling the toc then click the title immediately will scroll to the wrong position.It should be a chrome bug.\n window.scrollTo({ behavior, top });\n }\n\n editor\n .getApi({ key: KEYS.blockSelection })\n .blockSelection?.addSelectedRow?.(id);\n };\n\n React.useEffect(() => {\n setEditorContentRef(containerRef);\n }, [containerRef]);\n\n React.useEffect(() => {\n setActiveContentId(activeId);\n }, [activeId]);\n\n React.useEffect(() => {\n if (!scrollContainer) return;\n\n const scroll = () => {\n if (isObserve) {\n setStatus(Date.now());\n }\n };\n\n scrollContainer.addEventListener('scroll', scroll);\n\n return () => {\n scrollContainer.removeEventListener('scroll', scroll);\n };\n }, [isObserve, scrollContainer]);\n\n return { activeContentId, onContentScroll };\n};\n","import React from 'react';\n\ntype UseTocObserver = {\n activeId: string;\n isObserve: boolean;\n tocRef: React.RefObject<HTMLElement | null>;\n};\n\nexport const useTocObserver = ({\n activeId,\n isObserve,\n tocRef,\n}: UseTocObserver) => {\n const [visible, setVisible] = React.useState<boolean>(true);\n const [offset, setOffset] = React.useState<number>(0);\n\n React.useEffect(() => {\n // ✅ Access ref inside effect, not during render\n const root = tocRef.current;\n\n const updateOffset = (entries: IntersectionObserverEntry[]) => {\n if (!isObserve) return;\n\n const [entry] = entries;\n const { boundingClientRect, intersectionRatio, rootBounds } = entry;\n\n if (!rootBounds) return;\n\n const halfHeight = (root?.getBoundingClientRect().height || 0) / 2;\n const isAbove = boundingClientRect.top < rootBounds.top;\n const isBelow = boundingClientRect.bottom > rootBounds.bottom;\n const isVisible = intersectionRatio === 1;\n\n setVisible(isVisible);\n\n if (!isVisible) {\n const offset = isAbove\n ? boundingClientRect.top - rootBounds!.top! - halfHeight\n : isBelow\n ? boundingClientRect.bottom - rootBounds!.bottom! + halfHeight\n : 0;\n\n setOffset(offset);\n }\n };\n\n const observer = new IntersectionObserver(updateOffset, {\n root,\n });\n\n const element = root?.querySelectorAll('#toc_item_active')[0];\n\n if (element) observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [tocRef, activeId, isObserve]);\n\n return { offset, visible };\n};\n","import React from 'react';\n\nimport { useTocObserver } from './useTocObserver';\n\ntype UseTocController = {\n activeId: string;\n isObserve: boolean;\n tocRef: React.RefObject<HTMLElement | null>;\n};\n\nexport const useTocController = ({\n activeId,\n isObserve,\n tocRef,\n}: UseTocController) => {\n const [activeTocId, setActiveTocId] = React.useState('');\n const { offset, visible } = useTocObserver({\n activeId: activeTocId,\n isObserve,\n tocRef,\n });\n\n React.useEffect(() => {\n if (!visible) {\n const tocItemWrapper = tocRef.current?.querySelector('#toc_wrap');\n const top = (tocItemWrapper?.scrollTop as any) + offset;\n\n tocItemWrapper?.scrollTo({ behavior: 'instant', top });\n }\n }, [visible, offset, tocRef]);\n\n React.useEffect(() => {\n setActiveTocId(activeId);\n }, [activeId]);\n};\n","import React from 'react';\n\nimport { KEYS, NodeApi } from 'platejs';\nimport {\n useEditorPlugin,\n useEditorSelector,\n useScrollRef,\n} from 'platejs/react';\n\nimport type { Heading } from '../../lib/types';\n\nimport { getHeadingList } from '../../internal/getHeadingList';\nimport { TocPlugin } from '../TocPlugin';\nimport { heightToTop } from '../utils';\n\nexport const useTocElementState = () => {\n const { editor, getOptions } = useEditorPlugin(TocPlugin);\n const { isScroll, topOffset } = getOptions();\n\n const headingList = useEditorSelector(getHeadingList, []);\n\n const containerRef = useScrollRef();\n\n const onContentScroll = React.useCallback(\n (el: HTMLElement, id: string, behavior: ScrollBehavior = 'instant') => {\n if (!containerRef.current) return;\n if (isScroll) {\n containerRef.current?.scrollTo({\n behavior,\n top: heightToTop(el, containerRef as any) - topOffset,\n });\n } else {\n const top = heightToTop(el) - topOffset;\n window.scrollTo({ behavior, top });\n }\n\n setTimeout(() => {\n editor\n .getApi({ key: KEYS.blockSelection })\n .blockSelection?.addSelectedRow?.(id);\n }, 0);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isScroll, topOffset]\n );\n\n return { editor, headingList, onContentScroll };\n};\n\nexport const useTocElement = ({\n editor,\n onContentScroll,\n}: ReturnType<typeof useTocElementState>) => ({\n props: {\n onClick: (\n e: React.MouseEvent<HTMLElement, globalThis.MouseEvent>,\n item: Heading,\n behavior: ScrollBehavior\n ) => {\n e.preventDefault();\n const { id, path } = item;\n const node = NodeApi.get(editor, path);\n\n if (!node) return;\n\n const el = editor.api.toDOMNode(node);\n\n if (!el) return;\n\n onContentScroll(el, id, behavior);\n },\n },\n});\n","import React from 'react';\n\nimport { NodeApi } from 'platejs';\nimport { useEditorRef, useEditorSelector, useScrollRef } from 'platejs/react';\n\nimport type { Heading } from '../../lib/types';\nimport type { TocSideBarProps } from '../types';\n\nimport { useContentController, useTocController } from '.';\nimport { getHeadingList } from '../../internal/getHeadingList';\nimport { checkIn } from '../utils';\n\nexport const useTocSideBarState = ({\n open = true,\n rootMargin = '0px 0px 0px 0px',\n topOffset = 0,\n}: TocSideBarProps): any => {\n const editor = useEditorRef();\n const headingList = useEditorSelector(getHeadingList, []);\n const containerRef = useScrollRef();\n\n const tocRef = React.useRef<HTMLElement>(null);\n\n const [mouseInToc, setMouseInToc] = React.useState(false);\n\n const [isObserve, setIsObserve] = React.useState(open);\n\n const { activeContentId, onContentScroll } = useContentController({\n containerRef,\n isObserve,\n rootMargin,\n topOffset,\n });\n\n useTocController({\n activeId: activeContentId,\n isObserve,\n tocRef,\n });\n\n return {\n activeContentId,\n editor,\n headingList,\n mouseInToc,\n open,\n setIsObserve,\n setMouseInToc,\n tocRef,\n onContentScroll,\n };\n};\n\nexport const useTocSideBar = ({\n editor,\n mouseInToc,\n open,\n setIsObserve,\n setMouseInToc,\n tocRef,\n onContentScroll,\n}: ReturnType<typeof useTocSideBarState>) => {\n React.useEffect(() => {\n if (mouseInToc) {\n setIsObserve(false);\n } else {\n setIsObserve(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mouseInToc]);\n\n const onContentClick = React.useCallback(\n (\n e: React.MouseEvent<HTMLElement, globalThis.MouseEvent>,\n item: Heading,\n behavior?: ScrollBehavior\n ) => {\n e.preventDefault();\n const { id, path } = item;\n const node = NodeApi.get(editor, path);\n\n if (!node) return;\n\n const el = editor.api.toDOMNode(node);\n\n if (!el) return;\n\n onContentScroll({ id, behavior, el });\n },\n [editor, onContentScroll]\n );\n\n return {\n navProps: {\n ref: tocRef,\n onMouseEnter: () => {\n if (!mouseInToc && open) {\n setMouseInToc(true);\n }\n },\n onMouseLeave: (\n e: React.MouseEvent<HTMLElement, globalThis.MouseEvent>\n ) => {\n if (open) {\n const isIn = checkIn(e);\n\n if (isIn !== mouseInToc) {\n setMouseInToc(isIn);\n }\n }\n },\n },\n onContentClick,\n };\n};\n"],"mappings":"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"}
|
package/dist/types-CqaZEV-V.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Path } from "platejs";
|
|
2
|
-
|
|
3
|
-
//#region src/lib/types.d.ts
|
|
4
|
-
type Heading = {
|
|
5
|
-
id: string;
|
|
6
|
-
depth: number;
|
|
7
|
-
path: Path;
|
|
8
|
-
title: string;
|
|
9
|
-
type: string;
|
|
10
|
-
};
|
|
11
|
-
//#endregion
|
|
12
|
-
export { Heading as t };
|
|
13
|
-
//# sourceMappingURL=types-CqaZEV-V.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-CqaZEV-V.d.ts","names":[],"sources":["../src/lib/types.ts"],"sourcesContent":[],"mappings":";;;KAEY,OAAA;;EAAA,KAAA,EAAA,MAAO;QAGX"}
|