@xom11/whiteboard 0.31.0 → 0.33.0
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/ai.d.mts +149 -28
- package/dist/ai.d.ts +149 -28
- package/dist/ai.js +2652 -430
- package/dist/ai.js.map +1 -1
- package/dist/ai.mjs +2482 -426
- package/dist/ai.mjs.map +1 -1
- package/dist/catalog.json +4 -4
- package/dist/{chunk-JJ4FPCBE.mjs → chunk-4EXRNZRX.mjs} +641 -75
- package/dist/chunk-4EXRNZRX.mjs.map +1 -0
- package/dist/{chunk-TMRFSOM7.mjs → chunk-4NJUTCFF.mjs} +4 -4
- package/dist/{chunk-TMRFSOM7.mjs.map → chunk-4NJUTCFF.mjs.map} +1 -1
- package/dist/{chunk-LTLLQUMN.mjs → chunk-BZZ5BROM.mjs} +6 -7
- package/dist/chunk-BZZ5BROM.mjs.map +1 -0
- package/dist/{host-KMWP7KBT.mjs → chunk-C3RDFBQ5.mjs} +20 -35
- package/dist/chunk-C3RDFBQ5.mjs.map +1 -0
- package/dist/chunk-C7C66BAV.mjs +11 -0
- package/dist/chunk-C7C66BAV.mjs.map +1 -0
- package/dist/{chunk-T3N4BSJV.mjs → chunk-DCFZTKFE.mjs} +13 -5
- package/dist/chunk-DCFZTKFE.mjs.map +1 -0
- package/dist/{chunk-44JY2AKC.mjs → chunk-F42MZ745.mjs} +3 -3
- package/dist/{chunk-44JY2AKC.mjs.map → chunk-F42MZ745.mjs.map} +1 -1
- package/dist/{chunk-BMYC2ILT.mjs → chunk-FOPZOVI3.mjs} +5 -4
- package/dist/chunk-FOPZOVI3.mjs.map +1 -0
- package/dist/{chunk-K5BS2H56.mjs → chunk-GKDQ5IV7.mjs} +4 -4
- package/dist/{chunk-K5BS2H56.mjs.map → chunk-GKDQ5IV7.mjs.map} +1 -1
- package/dist/{chunk-73Q7ADVL.mjs → chunk-MNHOFOM5.mjs} +2 -2
- package/dist/{chunk-73Q7ADVL.mjs.map → chunk-MNHOFOM5.mjs.map} +1 -1
- package/dist/{chunk-KOXOC2FI.mjs → chunk-NBMYET5H.mjs} +11 -15
- package/dist/chunk-NBMYET5H.mjs.map +1 -0
- package/dist/{chunk-DWIEVCGK.mjs → chunk-NTFG7ZRN.mjs} +53 -3
- package/dist/chunk-NTFG7ZRN.mjs.map +1 -0
- package/dist/{chunk-C76SOFXF.mjs → chunk-QCK3Z5WN.mjs} +3 -3
- package/dist/{chunk-C76SOFXF.mjs.map → chunk-QCK3Z5WN.mjs.map} +1 -1
- package/dist/chunk-SUXIMLYN.mjs +238 -0
- package/dist/chunk-SUXIMLYN.mjs.map +1 -0
- package/dist/geometry-2d.d.mts +1 -1
- package/dist/geometry-2d.d.ts +1 -1
- package/dist/geometry-2d.js +1026 -231
- package/dist/geometry-2d.js.map +1 -1
- package/dist/geometry-2d.mjs +6 -5
- package/dist/geometry-3d.d.mts +1 -1
- package/dist/geometry-3d.d.ts +1 -1
- package/dist/geometry-3d.js +4001 -475
- package/dist/geometry-3d.js.map +1 -1
- package/dist/geometry-3d.mjs +5 -5
- package/dist/graph-2d.d.mts +1 -1
- package/dist/graph-2d.d.ts +1 -1
- package/dist/graph-2d.js +712 -115
- package/dist/graph-2d.js.map +1 -1
- package/dist/graph-2d.mjs +5 -5
- package/dist/{handleExtractProblem-BrDY9ifM.d.ts → handleExtractProblem-mtJyhEw3.d.mts} +2 -0
- package/dist/{handleExtractProblem-BrDY9ifM.d.mts → handleExtractProblem-mtJyhEw3.d.ts} +2 -0
- package/dist/host-6WTLCXUE.mjs +62 -0
- package/dist/host-6WTLCXUE.mjs.map +1 -0
- package/dist/{host-H2IGOKJU.mjs → host-BWIXT5TR.mjs} +3 -3
- package/dist/{host-H2IGOKJU.mjs.map → host-BWIXT5TR.mjs.map} +1 -1
- package/dist/{host-4FIUNIDQ.mjs → host-QDVRULJV.mjs} +14 -11
- package/dist/host-QDVRULJV.mjs.map +1 -0
- package/dist/host-USOIVTQB.mjs +4976 -0
- package/dist/host-USOIVTQB.mjs.map +1 -0
- package/dist/index.d.mts +14 -4
- package/dist/index.d.ts +14 -4
- package/dist/index.js +4273 -521
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48 -27
- package/dist/index.mjs.map +1 -1
- package/dist/latex.d.mts +1 -1
- package/dist/latex.d.ts +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/serialize-7UZWQQ4I.mjs +9 -0
- package/dist/{serialize-PGHQZEPV.mjs.map → serialize-7UZWQQ4I.mjs.map} +1 -1
- package/dist/studio.d.mts +35 -0
- package/dist/studio.d.ts +35 -0
- package/dist/studio.js +10883 -0
- package/dist/studio.js.map +1 -0
- package/dist/studio.mjs +28 -0
- package/dist/studio.mjs.map +1 -0
- package/dist/{types-tePd94vW.d.ts → types-eEEEVsLF.d.mts} +1 -1
- package/dist/{types-tePd94vW.d.mts → types-eEEEVsLF.d.ts} +1 -1
- package/package.json +12 -2
- package/dist/chunk-BMYC2ILT.mjs.map +0 -1
- package/dist/chunk-DWIEVCGK.mjs.map +0 -1
- package/dist/chunk-JJ4FPCBE.mjs.map +0 -1
- package/dist/chunk-KOXOC2FI.mjs.map +0 -1
- package/dist/chunk-LTLLQUMN.mjs.map +0 -1
- package/dist/chunk-QK6OVDLC.mjs +0 -103
- package/dist/chunk-QK6OVDLC.mjs.map +0 -1
- package/dist/chunk-T3N4BSJV.mjs.map +0 -1
- package/dist/host-4FIUNIDQ.mjs.map +0 -1
- package/dist/host-4ZB4XD4S.mjs +0 -2378
- package/dist/host-4ZB4XD4S.mjs.map +0 -1
- package/dist/host-KMWP7KBT.mjs.map +0 -1
- package/dist/serialize-PGHQZEPV.mjs +0 -9
package/dist/index.mjs
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import './index.css';
|
|
3
|
-
import { geometryStamp } from './chunk-
|
|
4
|
-
export { geometryStamp } from './chunk-
|
|
5
|
-
import { geometry3dStamp } from './chunk-
|
|
6
|
-
export { geometry3dStamp } from './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import { latexStamp } from './chunk-
|
|
9
|
-
export { latexStamp } from './chunk-
|
|
10
|
-
import
|
|
11
|
-
|
|
3
|
+
import { geometryStamp } from './chunk-FOPZOVI3.mjs';
|
|
4
|
+
export { geometryStamp } from './chunk-FOPZOVI3.mjs';
|
|
5
|
+
import { geometry3dStamp } from './chunk-4NJUTCFF.mjs';
|
|
6
|
+
export { geometry3dStamp } from './chunk-4NJUTCFF.mjs';
|
|
7
|
+
import './chunk-DCFZTKFE.mjs';
|
|
8
|
+
import { latexStamp } from './chunk-QCK3Z5WN.mjs';
|
|
9
|
+
export { latexStamp } from './chunk-QCK3Z5WN.mjs';
|
|
10
|
+
import './chunk-X5R72SSJ.mjs';
|
|
11
|
+
import { graph2dStamp } from './chunk-GKDQ5IV7.mjs';
|
|
12
|
+
export { graph2dStamp } from './chunk-GKDQ5IV7.mjs';
|
|
12
13
|
import './chunk-KWDBVLST.mjs';
|
|
13
14
|
import './chunk-O4WIZFRQ.mjs';
|
|
14
15
|
import './chunk-K7VJU7LQ.mjs';
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-F42MZ745.mjs';
|
|
17
|
+
import { insertStampImage } from './chunk-QLQ4MJNO.mjs';
|
|
18
|
+
import './chunk-C7C66BAV.mjs';
|
|
19
|
+
import './chunk-5UTGXHLJ.mjs';
|
|
20
|
+
import { renderGeometrySvgFromState } from './chunk-NBMYET5H.mjs';
|
|
17
21
|
import './chunk-R5FL6S7L.mjs';
|
|
18
22
|
import './chunk-IE2GGHNF.mjs';
|
|
19
23
|
import './chunk-ICR4CVOE.mjs';
|
|
20
|
-
import './chunk-
|
|
24
|
+
import './chunk-4EXRNZRX.mjs';
|
|
21
25
|
import './chunk-CH6SFONH.mjs';
|
|
22
|
-
export { handleExtractProblem } from './chunk-
|
|
23
|
-
import './chunk-
|
|
26
|
+
export { handleExtractProblem } from './chunk-SUXIMLYN.mjs';
|
|
27
|
+
import './chunk-MNHOFOM5.mjs';
|
|
24
28
|
import './chunk-B4NJJZFR.mjs';
|
|
25
|
-
import './chunk-X5R72SSJ.mjs';
|
|
26
|
-
import './chunk-QLQ4MJNO.mjs';
|
|
27
|
-
import './chunk-5UTGXHLJ.mjs';
|
|
28
29
|
import './chunk-J5LGTIGS.mjs';
|
|
29
30
|
import { lazy, useRef, useCallback, useEffect, Suspense, useState, useMemo, useLayoutEffect } from 'react';
|
|
30
31
|
import { createPortal } from 'react-dom';
|
|
@@ -39,7 +40,7 @@ var STAMP_CATALOG = Object.freeze([
|
|
|
39
40
|
version: 1,
|
|
40
41
|
experimental: false,
|
|
41
42
|
runtimeDeps: ["jsxgraph"],
|
|
42
|
-
bundleSize: { js:
|
|
43
|
+
bundleSize: { js: 97.84, css: 0 }
|
|
43
44
|
},
|
|
44
45
|
{
|
|
45
46
|
id: "latex",
|
|
@@ -55,7 +56,7 @@ var STAMP_CATALOG = Object.freeze([
|
|
|
55
56
|
version: 2,
|
|
56
57
|
experimental: true,
|
|
57
58
|
runtimeDeps: ["jsxgraph"],
|
|
58
|
-
bundleSize: { js:
|
|
59
|
+
bundleSize: { js: 85.26, css: 0 }
|
|
59
60
|
},
|
|
60
61
|
{
|
|
61
62
|
id: "graph2d",
|
|
@@ -63,7 +64,7 @@ var STAMP_CATALOG = Object.freeze([
|
|
|
63
64
|
version: 2,
|
|
64
65
|
experimental: true,
|
|
65
66
|
runtimeDeps: ["jsxgraph"],
|
|
66
|
-
bundleSize: { js:
|
|
67
|
+
bundleSize: { js: 58.04, css: 0 }
|
|
67
68
|
}
|
|
68
69
|
]);
|
|
69
70
|
function findCatalogEntry(id) {
|
|
@@ -1768,17 +1769,17 @@ function useScenePersist(opts) {
|
|
|
1768
1769
|
try {
|
|
1769
1770
|
const latestScene = latestSceneRef.current;
|
|
1770
1771
|
if (!latestScene) return;
|
|
1771
|
-
const
|
|
1772
|
+
const liveElements2 = latestScene.elements.filter((e) => !e.isDeleted);
|
|
1772
1773
|
const liveAppState = pickSyncableAppState(latestScene.appState);
|
|
1773
1774
|
const hashFn = hashElementsVersionRef.current;
|
|
1774
|
-
const elementHash = hashFn ? hashFn(
|
|
1775
|
+
const elementHash = hashFn ? hashFn(liveElements2) : liveElements2.map((e) => e.id).join("|");
|
|
1775
1776
|
const sceneHash = `${elementHash}:${JSON.stringify(liveAppState)}`;
|
|
1776
1777
|
if (sceneHash === lastSceneHashRef.current) return;
|
|
1777
1778
|
lastSceneHashRef.current = sceneHash;
|
|
1778
|
-
onSceneChangeRef.current?.({ elements:
|
|
1779
|
+
onSceneChangeRef.current?.({ elements: liveElements2, appState: liveAppState });
|
|
1779
1780
|
if (persistEnabledRef.current) {
|
|
1780
1781
|
writeScene(persistKeyRef.current, {
|
|
1781
|
-
elements:
|
|
1782
|
+
elements: liveElements2,
|
|
1782
1783
|
appState: liveAppState
|
|
1783
1784
|
});
|
|
1784
1785
|
}
|
|
@@ -1786,13 +1787,18 @@ function useScenePersist(opts) {
|
|
|
1786
1787
|
console.warn("[whiteboard] flushScene th\u1EA5t b\u1EA1i:", err);
|
|
1787
1788
|
}
|
|
1788
1789
|
};
|
|
1790
|
+
const liveElements = () => {
|
|
1791
|
+
const latest = latestSceneRef.current?.elements;
|
|
1792
|
+
if (latest) return latest.filter((e) => !e.isDeleted);
|
|
1793
|
+
return apiRef.current?.getSceneElements?.() ?? [];
|
|
1794
|
+
};
|
|
1789
1795
|
const flushFilesRef = useRef(() => void 0);
|
|
1790
1796
|
flushFilesRef.current = () => {
|
|
1791
1797
|
try {
|
|
1792
1798
|
const pending = pendingFilesRef.current;
|
|
1793
1799
|
pendingFilesRef.current = {};
|
|
1794
1800
|
if (Object.keys(pending).length === 0) return;
|
|
1795
|
-
const currentElements =
|
|
1801
|
+
const currentElements = liveElements();
|
|
1796
1802
|
const stampIds = /* @__PURE__ */ new Set();
|
|
1797
1803
|
for (const el of currentElements) {
|
|
1798
1804
|
const fid = el.fileId;
|
|
@@ -1812,7 +1818,8 @@ function useScenePersist(opts) {
|
|
|
1812
1818
|
const flushPruneRef = useRef(() => void 0);
|
|
1813
1819
|
flushPruneRef.current = () => {
|
|
1814
1820
|
try {
|
|
1815
|
-
|
|
1821
|
+
if (!latestSceneRef.current) return;
|
|
1822
|
+
const currentElements = liveElements();
|
|
1816
1823
|
const keep = /* @__PURE__ */ new Set();
|
|
1817
1824
|
for (const el of currentElements) {
|
|
1818
1825
|
const fid = el.fileId;
|
|
@@ -2159,6 +2166,20 @@ function Whiteboard({
|
|
|
2159
2166
|
] });
|
|
2160
2167
|
}
|
|
2161
2168
|
|
|
2162
|
-
|
|
2169
|
+
// src/stamps/geometry-2d/insertGeometryStamp.ts
|
|
2170
|
+
async function insertGeometryStampIntoScene(api, jsonState) {
|
|
2171
|
+
const svgString = await renderGeometrySvgFromState(jsonState);
|
|
2172
|
+
await insertStampImage(api, {
|
|
2173
|
+
svgString,
|
|
2174
|
+
makeCustomData: () => ({
|
|
2175
|
+
kind: "geometry",
|
|
2176
|
+
version: 1,
|
|
2177
|
+
jsonState
|
|
2178
|
+
}),
|
|
2179
|
+
editingElementId: null
|
|
2180
|
+
});
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2183
|
+
export { ALL_STAMPS, DEFAULT_STAMPS, EXPERIMENTAL_STAMPS, STABLE_STAMPS, STAMP_CATALOG, Whiteboard, closePdfDocument, configurePdfWorker, findCatalogEntry, findStampForCustomData, insertGeometryStampIntoScene, insertPdfPages, insertRasterizedPagesIntoScene, isStampElement, loadPdfDocument, parsePageRange, pickSyncableAppState, rasterizePdf, restoreMissingStampFiles };
|
|
2163
2184
|
//# sourceMappingURL=index.mjs.map
|
|
2164
2185
|
//# sourceMappingURL=index.mjs.map
|