@haklex/rich-ext-excalidraw 0.46.2 → 0.46.4

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.d.ts CHANGED
@@ -17,7 +17,7 @@ export { EXCALIDRAW_NODE_KEY } from './slot';
17
17
  export { excalidrawFullscreenPopup } from './styles.css';
18
18
  export { EXCALIDRAW_BLOCK_TRANSFORMER } from './transformer';
19
19
  export type { ExcalidrawSnapshot } from './types';
20
- export { parseSnapshot, serializeSnapshot } from './types';
20
+ export { isLocalScenePath, parseSnapshot, serializeSnapshot } from './types';
21
21
  export type { ExcalidrawStaticRendererProps } from './ExcalidrawDisplayRenderer';
22
22
  export type { ExcalidrawStaticRendererProps as ExcalidrawRendererProps } from './ExcalidrawDisplayRenderer';
23
23
  export { ExcalidrawDisplayRenderer as ExcalidrawStaticRenderer } from './ExcalidrawDisplayRenderer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EACV,6BAA6B,IAAI,8BAA8B,EAC/D,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG3D,YAAY,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,6BAA6B,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,yBAAyB,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EACV,6BAA6B,IAAI,8BAA8B,EAC/D,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG7E,YAAY,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,6BAA6B,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,yBAAyB,IAAI,kBAAkB,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, l as _defineProperty, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER, u as __exportAll } from "./transformer-V980vfl0.js";
2
- import { C as excalidrawHeaderActions, M as ExcalidrawConfigProvider, N as useExcalidrawConfig, O as excalidrawStatusDot, S as excalidrawFullscreenPopup, T as excalidrawLoading, _ as excalidrawDialogTitle, b as excalidrawEditorContainer, d as excalidrawConfirmBtnDanger, f as excalidrawConfirmBtnPrimary, g as excalidrawDialogMeta, i as excalidrawActionBarBtn, j as readonlyUIOptions, k as fitSceneOnReady, l as excalidrawConfirmActions, m as excalidrawDialogHeader, n as parseSnapshot, p as excalidrawDialogCanvas, r as serializeSnapshot, t as useExcalidrawData, u as excalidrawConfirmBtn, v as excalidrawEditLabel, w as excalidrawHeaderClose, x as excalidrawError, y as excalidrawEditOverlay } from "./useExcalidrawData-BPIFyK-H.js";
1
+ import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, l as _defineProperty, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER, u as __exportAll } from "./transformer-DO1Yxp8A.js";
2
+ import { A as fitSceneOnReady, C as excalidrawFullscreenPopup, E as excalidrawLoading, M as readonlyUIOptions, N as ExcalidrawConfigProvider, P as useExcalidrawConfig, S as excalidrawError, T as excalidrawHeaderClose, _ as excalidrawDialogMeta, a as excalidrawActionBarBtn, b as excalidrawEditOverlay, d as excalidrawConfirmBtn, f as excalidrawConfirmBtnDanger, h as excalidrawDialogHeader, i as serializeSnapshot, k as excalidrawStatusDot, m as excalidrawDialogCanvas, n as isLocalScenePath, p as excalidrawConfirmBtnPrimary, r as parseSnapshot, t as useExcalidrawData, u as excalidrawConfirmActions, v as excalidrawDialogTitle, w as excalidrawHeaderActions, x as excalidrawEditorContainer, y as excalidrawEditLabel } from "./useExcalidrawData-ZN9PHFyy.js";
3
3
  import { Suspense, createElement, lazy, useCallback, useEffect, useRef, useState } from "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  import { useColorScheme } from "@haklex/rich-editor/static";
@@ -562,4 +562,4 @@ function ExcalidrawPlugin() {
562
562
  return null;
563
563
  }
564
564
  //#endregion
565
- export { $createExcalidrawEditNode, $createExcalidrawNode, $isExcalidrawEditNode, $isExcalidrawNode, EXCALIDRAW_BLOCK_TRANSFORMER, EXCALIDRAW_NODE_KEY, ExcalidrawConfigProvider, ExcalidrawDisplayRenderer, ExcalidrawDisplayRenderer as ExcalidrawRenderer, ExcalidrawDisplayRenderer as ExcalidrawStaticRenderer, ExcalidrawEditNode, ExcalidrawEditRenderer, ExcalidrawExpandShell, ExcalidrawNode, ExcalidrawPlugin, ExcalidrawSSRRenderer, INSERT_EXCALIDRAW_COMMAND, excalidrawFullscreenPopup, parseSnapshot, serializeSnapshot, useExcalidrawConfig };
565
+ export { $createExcalidrawEditNode, $createExcalidrawNode, $isExcalidrawEditNode, $isExcalidrawNode, EXCALIDRAW_BLOCK_TRANSFORMER, EXCALIDRAW_NODE_KEY, ExcalidrawConfigProvider, ExcalidrawDisplayRenderer, ExcalidrawDisplayRenderer as ExcalidrawRenderer, ExcalidrawDisplayRenderer as ExcalidrawStaticRenderer, ExcalidrawEditNode, ExcalidrawEditRenderer, ExcalidrawExpandShell, ExcalidrawNode, ExcalidrawPlugin, ExcalidrawSSRRenderer, INSERT_EXCALIDRAW_COMMAND, excalidrawFullscreenPopup, isLocalScenePath, parseSnapshot, serializeSnapshot, useExcalidrawConfig };
package/dist/static.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER } from "./transformer-V980vfl0.js";
2
- import { M as ExcalidrawConfigProvider, N as useExcalidrawConfig, S as excalidrawFullscreenPopup } from "./useExcalidrawData-BPIFyK-H.js";
1
+ import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER } from "./transformer-DO1Yxp8A.js";
2
+ import { C as excalidrawFullscreenPopup, N as ExcalidrawConfigProvider, P as useExcalidrawConfig } from "./useExcalidrawData-ZN9PHFyy.js";
3
3
  export { $createExcalidrawNode, $isExcalidrawNode, EXCALIDRAW_BLOCK_TRANSFORMER, EXCALIDRAW_NODE_KEY, ExcalidrawConfigProvider, ExcalidrawDisplayRenderer, ExcalidrawDisplayRenderer as ExcalidrawRenderer, ExcalidrawDisplayRenderer as ExcalidrawStaticRenderer, ExcalidrawExpandShell, ExcalidrawNode, ExcalidrawSSRRenderer, excalidrawFullscreenPopup, useExcalidrawConfig };
@@ -1,4 +1,4 @@
1
- import { A as fitSceneToViewport, D as excalidrawStaticContainer, E as excalidrawPlaceholder, T as excalidrawLoading, _ as excalidrawDialogTitle, c as excalidrawActionGroup, h as excalidrawDialogHeaderTitle, j as readonlyUIOptions, k as fitSceneOnReady, m as excalidrawDialogHeader, p as excalidrawDialogCanvas, s as excalidrawActionButton, t as useExcalidrawData, w as excalidrawHeaderClose, x as excalidrawError } from "./useExcalidrawData-BPIFyK-H.js";
1
+ import { A as fitSceneOnReady, D as excalidrawPlaceholder, E as excalidrawLoading, M as readonlyUIOptions, O as excalidrawStaticContainer, S as excalidrawError, T as excalidrawHeaderClose, c as excalidrawActionButton, g as excalidrawDialogHeaderTitle, h as excalidrawDialogHeader, j as fitSceneToViewport, l as excalidrawActionGroup, m as excalidrawDialogCanvas, t as useExcalidrawData, v as excalidrawDialogTitle } from "./useExcalidrawData-ZN9PHFyy.js";
2
2
  import { Component, Suspense, lazy, useCallback, useEffect, useRef, useState } from "react";
3
3
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
4
  import { createRendererDecoration, useColorScheme } from "@haklex/rich-editor/static";
package/dist/types.d.ts CHANGED
@@ -9,6 +9,7 @@ export type ExcalidrawSnapshot = {
9
9
  baseUrl: string;
10
10
  delta: object;
11
11
  };
12
+ export declare function isLocalScenePath(ref: string): boolean;
12
13
  export declare function parseSnapshot(raw: string): ExcalidrawSnapshot | null;
13
14
  export declare function serializeSnapshot(snapshot: ExcalidrawSnapshot): string;
14
15
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CA+BpE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAYtE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAItD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAgCpE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAYtE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":""}
@@ -70,6 +70,10 @@ var excalidrawEditOverlay = "_1c3wdzlo";
70
70
  var excalidrawEditLabel = "_1c3wdzlp";
71
71
  //#endregion
72
72
  //#region src/types.ts
73
+ var LOCAL_SCENE_PATH = /^(?:\.{1,2}\/)?[\w-][\w./-]*\.excalidraw$/;
74
+ function isLocalScenePath(ref) {
75
+ return LOCAL_SCENE_PATH.test(ref);
76
+ }
73
77
  function parseSnapshot(raw) {
74
78
  if (!raw || !raw.trim()) return null;
75
79
  try {
@@ -81,7 +85,7 @@ function parseSnapshot(raw) {
81
85
  } catch {}
82
86
  const lines = raw.split("\n");
83
87
  const firstLine = lines[0].trim();
84
- if (!firstLine.startsWith("http") && !firstLine.startsWith("blob:") && !firstLine.startsWith("ref:")) return null;
88
+ if (!firstLine.startsWith("http") && !firstLine.startsWith("blob:") && !firstLine.startsWith("ref:") && !isLocalScenePath(firstLine)) return null;
85
89
  const remaining = lines.slice(1).join("\n").trim();
86
90
  if (remaining) try {
87
91
  const delta = JSON.parse(remaining);
@@ -107,7 +111,7 @@ function serializeSnapshot(snapshot) {
107
111
  //#region src/useExcalidrawData.ts
108
112
  function resolveUrl(url, apiUrl) {
109
113
  const refLine = url;
110
- if (url.startsWith("http") || url.startsWith("blob:")) return {
114
+ if (url.startsWith("http") || url.startsWith("blob:") || isLocalScenePath(url)) return {
111
115
  fetchUrl: url,
112
116
  refLine
113
117
  };
@@ -220,4 +224,4 @@ function useExcalidrawData(data) {
220
224
  };
221
225
  }
222
226
  //#endregion
223
- export { fitSceneToViewport as A, excalidrawHeaderActions as C, excalidrawStaticContainer as D, excalidrawPlaceholder as E, ExcalidrawConfigProvider as M, useExcalidrawConfig as N, excalidrawStatusDot as O, excalidrawFullscreenPopup as S, excalidrawLoading as T, excalidrawDialogTitle as _, excalidrawActionBarSep as a, excalidrawEditorContainer as b, excalidrawActionGroup as c, excalidrawConfirmBtnDanger as d, excalidrawConfirmBtnPrimary as f, excalidrawDialogMeta as g, excalidrawDialogHeaderTitle as h, excalidrawActionBarBtn as i, readonlyUIOptions as j, fitSceneOnReady as k, excalidrawConfirmActions as l, excalidrawDialogHeader as m, parseSnapshot as n, excalidrawActionBarUrl as o, excalidrawDialogCanvas as p, serializeSnapshot as r, excalidrawActionButton as s, useExcalidrawData as t, excalidrawConfirmBtn as u, excalidrawEditLabel as v, excalidrawHeaderClose as w, excalidrawError as x, excalidrawEditOverlay as y };
227
+ export { fitSceneOnReady as A, excalidrawFullscreenPopup as C, excalidrawPlaceholder as D, excalidrawLoading as E, readonlyUIOptions as M, ExcalidrawConfigProvider as N, excalidrawStaticContainer as O, useExcalidrawConfig as P, excalidrawError as S, excalidrawHeaderClose as T, excalidrawDialogMeta as _, excalidrawActionBarBtn as a, excalidrawEditOverlay as b, excalidrawActionButton as c, excalidrawConfirmBtn as d, excalidrawConfirmBtnDanger as f, excalidrawDialogHeaderTitle as g, excalidrawDialogHeader as h, serializeSnapshot as i, fitSceneToViewport as j, excalidrawStatusDot as k, excalidrawActionGroup as l, excalidrawDialogCanvas as m, isLocalScenePath as n, excalidrawActionBarSep as o, excalidrawConfirmBtnPrimary as p, parseSnapshot as r, excalidrawActionBarUrl as s, useExcalidrawData as t, excalidrawConfirmActions as u, excalidrawDialogTitle as v, excalidrawHeaderActions as w, excalidrawEditorContainer as x, excalidrawEditLabel as y };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-ext-excalidraw",
3
- "version": "0.46.2",
3
+ "version": "0.46.4",
4
4
  "description": "Excalidraw whiteboard extension",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "jsondiffpatch": "^0.7.6",
29
- "@haklex/rich-headless": "0.46.2"
29
+ "@haklex/rich-headless": "0.46.4"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@excalidraw/excalidraw": "^0.18.1",
@@ -50,9 +50,9 @@
50
50
  "lucide-react": "^1.0.0",
51
51
  "react": ">=19",
52
52
  "react-dom": ">=19",
53
- "@haklex/rich-editor": "^0.46.2",
54
- "@haklex/rich-editor-ui": "^0.46.2",
55
- "@haklex/rich-style-token": "^0.46.2"
53
+ "@haklex/rich-style-token": "^0.46.4",
54
+ "@haklex/rich-editor": "^0.46.4",
55
+ "@haklex/rich-editor-ui": "^0.46.4"
56
56
  },
57
57
  "publishConfig": {
58
58
  "access": "public"