|
@@ -67,13 +67,14 @@ const getFontFamilyByName = (fontFamilyName: string): FontFamilyValues => {
|
|
|
};
|
|
|
|
|
|
const restoreElementWithProperties = <
|
|
|
- T extends ExcalidrawElement,
|
|
|
- K extends Pick<T, keyof Omit<Required<T>, keyof ExcalidrawElement>>,
|
|
|
->(
|
|
|
- element: Required<T> & {
|
|
|
+ T extends Required<Omit<ExcalidrawElement, "customData">> & {
|
|
|
+ customData?: ExcalidrawElement["customData"];
|
|
|
/** @deprecated */
|
|
|
boundElementIds?: readonly ExcalidrawElement["id"][];
|
|
|
},
|
|
|
+ K extends Pick<T, keyof Omit<Required<T>, keyof ExcalidrawElement>>,
|
|
|
+>(
|
|
|
+ element: T,
|
|
|
extra: Pick<
|
|
|
T,
|
|
|
// This extra Pick<T, keyof K> ensure no excess properties are passed.
|
|
@@ -115,6 +116,10 @@ const restoreElementWithProperties = <
|
|
|
locked: element.locked ?? false,
|
|
|
};
|
|
|
|
|
|
+ if ("customData" in element) {
|
|
|
+ base.customData = element.customData;
|
|
|
+ }
|
|
|
+
|
|
|
return {
|
|
|
...base,
|
|
|
...getNormalizedDimensions(base),
|