From 8d0b0f6835d10919ea64812d0fee6c149c324a20 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 11 Mar 2022 15:25:42 +0100 Subject: [PATCH 01/84] custom --- src/components/App.tsx | 8 ++++++++ src/components/Avatar.scss | 2 +- src/components/LayerUI.tsx | 4 ++++ src/components/MobileMenu.tsx | 13 +++++++++++++ src/components/UserList.scss | 3 +-- src/components/icons.tsx | 4 ++++ src/css/styles.scss | 25 +++++++++++++++++++++++++ src/locales/en.json | 1 + src/packages/excalidraw/index.tsx | 9 ++++++++- src/renderer/renderScene.ts | 13 ++++++++++--- src/types.ts | 6 ++++++ 11 files changed, 81 insertions(+), 7 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index ec25b12909c5..edf038d3c1d8 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -499,6 +499,7 @@ class App extends React.Component { > { }; } + if (initialData?.scrollX != null) { + scene.appState.scrollX = initialData.scrollX; + } + if (initialData?.scrollY != null) { + scene.appState.scrollY = initialData.scrollY; + } + this.resetHistory(); this.syncActionResult({ ...scene, diff --git a/src/components/Avatar.scss b/src/components/Avatar.scss index d3f8c8bd309a..0a27c45b4736 100644 --- a/src/components/Avatar.scss +++ b/src/components/Avatar.scss @@ -4,7 +4,7 @@ .Avatar { width: 2.5rem; height: 2.5rem; - border-radius: 1.25rem; + border-radius: 50%; display: flex; justify-content: center; align-items: center; diff --git a/src/components/LayerUI.tsx b/src/components/LayerUI.tsx index 6e2ea29d51a6..e31501c2a5d5 100644 --- a/src/components/LayerUI.tsx +++ b/src/components/LayerUI.tsx @@ -40,6 +40,7 @@ import { trackEvent } from "../analytics"; import { useDeviceType } from "../components/App"; interface LayerUIProps { + onHomeButtonClick?: () => void; actionManager: ActionManager; appState: AppState; files: BinaryFiles; @@ -71,6 +72,7 @@ interface LayerUIProps { } const LayerUI = ({ + onHomeButtonClick, actionManager, appState, files, @@ -527,6 +529,7 @@ const LayerUI = ({ <> {dialogs} { const keys = Object.keys(prevAppState) as (keyof Partial)[]; return ( + prev.renderTopRightUI === next.renderTopRightUI && prev.renderCustomFooter === next.renderCustomFooter && prev.langCode === next.langCode && prev.elements === next.elements && diff --git a/src/components/MobileMenu.tsx b/src/components/MobileMenu.tsx index 9b40a437c460..b16a3a456d7f 100644 --- a/src/components/MobileMenu.tsx +++ b/src/components/MobileMenu.tsx @@ -18,8 +18,11 @@ import { UserList } from "./UserList"; import { BackgroundPickerAndDarkModeToggle } from "./BackgroundPickerAndDarkModeToggle"; import { LibraryButton } from "./LibraryButton"; import { PenModeButton } from "./PenModeButton"; +import { ToolButton } from "./ToolButton"; +import { home } from "./icons"; type MobileMenuProps = { + onHomeButtonClick?: () => void; appState: AppState; actionManager: ActionManager; renderJSONExportDialog: () => React.ReactNode; @@ -43,6 +46,7 @@ type MobileMenuProps = { }; export const MobileMenu = ({ + onHomeButtonClick, appState, elements, libraryMenu, @@ -85,6 +89,15 @@ export const MobileMenu = ({ {renderTopRightUI && renderTopRightUI(true, appState)} + , ); + +export const home = createIcon( + "M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z", +); diff --git a/src/css/styles.scss b/src/css/styles.scss index 0de93901bd98..2ef79e92ff50 100644 --- a/src/css/styles.scss +++ b/src/css/styles.scss @@ -567,6 +567,31 @@ display: none; } } + + .HomeButton { + display: inline-block; + position: absolute; + top: 60px; + left: 0; + + margin-left: calc(-2 * var(--margin)); + border-radius: 0 20px 20px 0; + + background-color: var(--button-gray-1); + &:hover { + background-color: var(--button-gray-1); + } + &:active { + background-color: var(--button-gray-2); + } + + .ToolIcon__icon { + border-radius: inherit; + } + svg { + position: static; + } + } } .ErrorSplash.excalidraw { diff --git a/src/locales/en.json b/src/locales/en.json index f6d887cf555b..e8042d1218bb 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -148,6 +148,7 @@ "undo": "Undo", "redo": "Redo", "resetLibrary": "Reset library", + "roomDialog": "Sharing", "createNewRoom": "Create new room", "fullScreen": "Full screen", "darkMode": "Dark mode", diff --git a/src/packages/excalidraw/index.tsx b/src/packages/excalidraw/index.tsx index 936effdb265c..808a0b99ee60 100644 --- a/src/packages/excalidraw/index.tsx +++ b/src/packages/excalidraw/index.tsx @@ -14,6 +14,7 @@ import { jotaiScope, jotaiStore } from "../../jotai"; const ExcalidrawBase = (props: ExcalidrawProps) => { const { + onHomeButtonClick, onChange, initialData, excalidrawRef, @@ -78,6 +79,7 @@ const ExcalidrawBase = (props: ExcalidrawProps) => { jotaiStore} scope={jotaiScope}> { - const { background } = getClientColors(socketId, appState); + const picture = appState.collaborators.get(socketId)?.picture; + const { background } = getClientColors( + picture || socketId, + appState, + ); return background; }, ), @@ -426,7 +430,6 @@ export const renderScene = ( // Paint remote pointers for (const clientId in renderConfig.remotePointerViewportCoords) { let { x, y } = renderConfig.remotePointerViewportCoords[clientId]; - x -= appState.offsetLeft; y -= appState.offsetTop; @@ -444,7 +447,11 @@ export const renderScene = ( y = Math.max(y, 0); y = Math.min(y, normalizedCanvasHeight - height); - const { background, stroke } = getClientColors(clientId, appState); + const picture = appState.collaborators.get(clientId)?.picture; + const { background, stroke } = getClientColors( + picture || clientId, + appState, + ); context.save(); context.strokeStyle = stroke; diff --git a/src/types.ts b/src/types.ts index 0eb01d578beb..1e6a2f232405 100644 --- a/src/types.ts +++ b/src/types.ts @@ -245,6 +245,8 @@ export type ExcalidrawAPIRefValue = export type ExcalidrawInitialDataState = Merge< ImportedDataState, { + scrollX?: number; + scrollY?: number; libraryItems?: | Required["libraryItems"] | Promise["libraryItems"]>; @@ -261,6 +263,10 @@ export interface ExcalidrawProps { | ExcalidrawInitialDataState | null | Promise; + onHomeButtonClick?: () => void; + user?: { + name?: string | null; + }; excalidrawRef?: ForwardRef; onCollabButtonClick?: () => void; isCollaborating?: boolean; From 63db62f0bcd3c80ae64ae2696e9e913f8d89c465 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 3 Jul 2021 16:57:53 +0200 Subject: [PATCH 02/84] redesign --- src/components/Island.scss | 31 ++++++++++++++++++++++++++++++- src/css/theme.scss | 2 +- src/locales/en.json | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/components/Island.scss b/src/components/Island.scss index 499d13ad3d51..491dbeee8dc2 100644 --- a/src/components/Island.scss +++ b/src/components/Island.scss @@ -6,10 +6,39 @@ border-radius: var(--border-radius-lg); padding: calc(var(--padding) * var(--space-factor)); position: relative; - transition: box-shadow 0.5s ease-in-out; &.zen-mode { box-shadow: none; } + + &::-webkit-scrollbar { + width: 10px; + } + + &::-webkit-scrollbar-track { + background-color: transparent; + } + + &::-webkit-scrollbar-thumb { + background-color: var(--color-scrollbar-thumb); + } + &::-webkit-scrollbar-thumb:hover { + background-color: var(--color-scrollbar-thumb-hover); + } + + &::-webkit-scrollbar-thumb:active { + background-color: var(--color-scrollbar-thumb-active); + } + } + + .App-menu_top { + .Stack_vertical { + .Island { + min-width: 216px; + } + .Stack_horizontal { + justify-content: center !important; + } + } } } diff --git a/src/css/theme.scss b/src/css/theme.scss index 1827a74bc2ad..b28e1fac84b6 100644 --- a/src/css/theme.scss +++ b/src/css/theme.scss @@ -78,7 +78,7 @@ --popup-bg-color: #2c2c2c; --popup-secondary-bg-color: #222; --popup-text-color: #{$oc-gray-4}; - --popup-text-inverted-color: #2c2c2c; + --popup-text-inverted-color: #635c5c; --select-highlight-color: #{$oc-blue-4}; --shadow-island: 1px 1px 5px #{transparentize($oc-black, 0.7)}; --text-primary-color: #{$oc-gray-4}; diff --git a/src/locales/en.json b/src/locales/en.json index e8042d1218bb..b0c0dcb713a5 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -132,7 +132,7 @@ "copyToClipboard": "Copy to clipboard", "copyPngToClipboard": "Copy PNG to clipboard", "scale": "Scale", - "save": "Save to current file", + "save": "Save (to active file)", "saveAs": "Save as", "load": "Load", "getShareableLink": "Get shareable link", From 2d55f6c95b94659ea4a58e49c76777f932e0315a Mon Sep 17 00:00:00 2001 From: dwelle Date: Sun, 28 Feb 2021 16:27:44 +0100 Subject: [PATCH 03/84] zenMode status class && scene toolbar width in viewMode --- src/components/App.tsx | 1 + src/components/Island.scss | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/components/App.tsx b/src/components/App.tsx index edf038d3c1d8..cb6a6efd0280 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -484,6 +484,7 @@ class App extends React.Component { return (
Date: Sun, 9 May 2021 22:45:30 +0200 Subject: [PATCH 04/84] make UserList vertical --- src/components/LayerUI.tsx | 20 ++++++++++++++++++++ src/components/MobileMenu.tsx | 6 +++++- src/components/UserList.scss | 34 ++++++++++++++++++++++++++++++++-- src/components/UserList.tsx | 25 +++++++++++++++++++++++-- 4 files changed, 80 insertions(+), 5 deletions(-) diff --git a/src/components/LayerUI.tsx b/src/components/LayerUI.tsx index e31501c2a5d5..5b7c1f609412 100644 --- a/src/components/LayerUI.tsx +++ b/src/components/LayerUI.tsx @@ -397,6 +397,26 @@ const LayerUI = ({ {renderTopRightUI?.(deviceType.isMobile, appState)}
+ + {appState.collaborators.size > 0 && + Array.from(appState.collaborators) + // Collaborator is either not initialized or is actually the current user. + .filter(([_, client]) => Object.keys(client).length !== 0) + .map(([clientId, client]) => ( + + {actionManager.renderAction("goToCollaborator", clientId)} + + ))} + ); diff --git a/src/components/MobileMenu.tsx b/src/components/MobileMenu.tsx index b16a3a456d7f..0f1774a4869f 100644 --- a/src/components/MobileMenu.tsx +++ b/src/components/MobileMenu.tsx @@ -212,7 +212,11 @@ export const MobileMenu = ({ {appState.collaborators.size > 0 && (
{t("labels.collaborators")} - + {Array.from(appState.collaborators) // Collaborator is either not initialized or is actually the current user. .filter( diff --git a/src/components/UserList.scss b/src/components/UserList.scss index 7d928531e97a..feadde6f6b39 100644 --- a/src/components/UserList.scss +++ b/src/components/UserList.scss @@ -1,20 +1,50 @@ .excalidraw { + $marginTop: 60px; + // eye-balled + $bottomOffset: 60px; + .UserList { pointer-events: none; /*github corner*/ padding: var(--space-factor); display: flex; - flex-wrap: wrap; justify-content: flex-end; + overflow: hidden; + border-radius: 60px; + &:empty { display: none; } + + &.layout-vertical { + grid-column: 3; + flex-direction: column-reverse; + position: absolute; + top: $marginTop; + right: var(--space-factor); + max-height: calc( + 100vh - var(--space-factor) - #{$marginTop} - #{$bottomOffset} + + var(--itemOffset) + ); + + .Avatar { + width: 2.4rem; + height: 2.4rem; + } + + padding-bottom: max(calc(var(--itemOffset) * -1), 0px); + } } .UserList > * { pointer-events: all; - margin: 0 0 var(--space-factor) var(--space-factor); + } + .UserList.layout-vertical > * { + margin-bottom: var(--itemOffset); + } + .UserList.layout-horizontal > * { + margin-right: var(--itemOffset); } .UserList_mobile { diff --git a/src/components/UserList.tsx b/src/components/UserList.tsx index 7cd1e12483b2..a159a1172c19 100644 --- a/src/components/UserList.tsx +++ b/src/components/UserList.tsx @@ -2,16 +2,37 @@ import "./UserList.scss"; import React from "react"; import clsx from "clsx"; +import { AppState } from "../types"; type UserListProps = { children: React.ReactNode; className?: string; mobile?: boolean; + collaborators: AppState["collaborators"]; + layout: "vertical" | "horizontal"; }; -export const UserList = ({ children, className, mobile }: UserListProps) => { +export const UserList = ({ + children, + className, + mobile, + collaborators = new Map(), + layout, +}: UserListProps) => { + const threshold = layout === "vertical" ? 6 : 3; + const offset = + collaborators.size > threshold + ? Math.min(collaborators.size - threshold, 15) * -2 + : 4; return ( -
+
{children}
); From 53c719c64317ceb464b882eddf24ff372744ded5 Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 8 Apr 2021 23:33:33 +0200 Subject: [PATCH 05/84] break to mobile at 800px --- src/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.ts b/src/constants.ts index afb7ecf3e369..a3f6bfd42d45 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -155,7 +155,7 @@ export const DEFAULT_UI_OPTIONS: AppProps["UIOptions"] = { }, }; -export const MQ_MAX_WIDTH_PORTRAIT = 730; +export const MQ_MAX_WIDTH_PORTRAIT = 800; export const MQ_MAX_WIDTH_LANDSCAPE = 1000; export const MQ_MAX_HEIGHT_LANDSCAPE = 500; From 5622eeccfba46499419fe52a4e915fb24d173daa Mon Sep 17 00:00:00 2001 From: dwelle Date: Sun, 2 May 2021 14:03:20 +0200 Subject: [PATCH 06/84] add id prop for debugging --- src/components/App.tsx | 1 + src/excalidraw-app/index.tsx | 1 + src/packages/excalidraw/index.tsx | 2 ++ src/types.ts | 2 ++ 4 files changed, 6 insertions(+) diff --git a/src/components/App.tsx b/src/components/App.tsx index cb6a6efd0280..4357b4905530 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1214,6 +1214,7 @@ class App extends React.Component { this.scene.getElementsIncludingDeleted(), this.state, this.files, + this.props.id, ); } } diff --git a/src/excalidraw-app/index.tsx b/src/excalidraw-app/index.tsx index 2f89e3c33ce6..4322a75a0e9f 100644 --- a/src/excalidraw-app/index.tsx +++ b/src/excalidraw-app/index.tsx @@ -657,6 +657,7 @@ const ExcalidrawWrapper = () => { })} > { onLinkOpen, onPointerDown, onScrollChange, + id, } = props; const canvasActions = props.UIOptions?.canvasActions; @@ -79,6 +80,7 @@ const ExcalidrawBase = (props: ExcalidrawProps) => { jotaiStore} scope={jotaiScope}> ; export interface ExcalidrawProps { + id: string | null; onChange?: ( elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, + id?: string | null, ) => void; initialData?: | ExcalidrawInitialDataState From 332eea7695fa90fd0049039011ca511c08a40f22 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 3 May 2021 12:57:12 +0200 Subject: [PATCH 07/84] use plus.excalidraw.com for svg font --- src/scene/export.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scene/export.ts b/src/scene/export.ts index 9dacc755b2d8..d1b669d4d553 100644 --- a/src/scene/export.ts +++ b/src/scene/export.ts @@ -135,11 +135,11 @@ export const exportToSvg = async ( From 821af2bd5dda031240ed45d46d623e2cca3caa8b Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 24 May 2021 14:12:56 +0200 Subject: [PATCH 08/84] fix uselist props & remove custom footer due to type issues --- src/components/LayerUI.tsx | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/components/LayerUI.tsx b/src/components/LayerUI.tsx index 5b7c1f609412..939f8d927b22 100644 --- a/src/components/LayerUI.tsx +++ b/src/components/LayerUI.tsx @@ -379,22 +379,6 @@ const LayerUI = ({ }, )} > - - {appState.collaborators.size > 0 && - Array.from(appState.collaborators) - // Collaborator is either not initialized or is actually the current user. - .filter(([_, client]) => Object.keys(client).length !== 0) - .map(([clientId, client]) => ( - - {actionManager.renderAction("goToCollaborator", { - id: clientId, - })} - - ))} - {renderTopRightUI?.(deviceType.isMobile, appState)}
- {actionManager.renderAction("goToCollaborator", clientId)} + {actionManager.renderAction("goToCollaborator", { + id: clientId, + })} ))} From 7c031150567e3ccce57b8757edc92d6074c7c269 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 3 Jul 2021 21:46:42 +0200 Subject: [PATCH 09/84] canvasActions & related --- src/actions/manager.tsx | 4 +- src/components/App.tsx | 12 +- src/components/JSONExportDialog.tsx | 16 ++- src/components/LayerUI.tsx | 39 ++---- src/components/MobileMenu.tsx | 29 ++--- src/components/ToolIcon.scss | 2 +- src/components/UserList.tsx | 73 +++++++---- src/constants.ts | 9 +- src/css/styles.scss | 6 +- src/excalidraw-app/index.tsx | 185 ++-------------------------- src/global.d.ts | 2 + src/packages/excalidraw/index.tsx | 28 +++-- src/types.ts | 10 +- 13 files changed, 142 insertions(+), 273 deletions(-) diff --git a/src/actions/manager.tsx b/src/actions/manager.tsx index 7481d56a35c0..d060cec4c283 100644 --- a/src/actions/manager.tsx +++ b/src/actions/manager.tsx @@ -83,7 +83,7 @@ export class ActionManager { .sort((a, b) => (b.keyPriority || 0) - (a.keyPriority || 0)) .filter( (action) => - (action.name in canvasActions + (canvasActions && action.name in canvasActions ? canvasActions[action.name as keyof typeof canvasActions] : true) && action.keyTest && @@ -141,7 +141,7 @@ export class ActionManager { if ( this.actions[name] && "PanelComponent" in this.actions[name] && - (name in canvasActions + (canvasActions && name in canvasActions ? canvasActions[name as keyof typeof canvasActions] : true) ) { diff --git a/src/components/App.tsx b/src/components/App.tsx index 4357b4905530..39dcf5f2b835 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -267,7 +267,7 @@ const DeviceTypeContext = React.createContext(defaultDeviceTypeContext); export const useDeviceType = () => useContext(DeviceTypeContext); const ExcalidrawContainerContext = React.createContext<{ container: HTMLDivElement | null; - id: string | null; + id?: string | null; }>({ container: null, id: null }); export const useExcalidrawContainer = () => useContext(ExcalidrawContainerContext); @@ -530,6 +530,7 @@ class App extends React.Component { } showThemeBtn={ typeof this.props?.theme === "undefined" && + this.props.UIOptions.canvasActions && this.props.UIOptions.canvasActions.theme } libraryReturnUrl={this.props.libraryReturnUrl} @@ -1068,6 +1069,15 @@ class App extends React.Component { }); } + if ( + !this.props.UIOptions.canvasActions && + this.state.openMenu === "canvas" + ) { + this.setState({ + openMenu: null, + }); + } + if (this.props.name && prevProps.name !== this.props.name) { this.setState({ name: this.props.name, diff --git a/src/components/JSONExportDialog.tsx b/src/components/JSONExportDialog.tsx index 5f29360d6805..048994f3e7c2 100644 --- a/src/components/JSONExportDialog.tsx +++ b/src/components/JSONExportDialog.tsx @@ -2,9 +2,9 @@ import React, { useState } from "react"; import { NonDeletedExcalidrawElement } from "../element/types"; import { t } from "../i18n"; import { useDeviceType } from "./App"; -import { AppState, ExportOpts, BinaryFiles } from "../types"; +import { AppState, CanvasActions, ExportOpts, BinaryFiles } from "../types"; import { Dialog } from "./Dialog"; -import { exportFile, exportToFileIcon, link } from "./icons"; +import { exportToFileIcon, link } from "./icons"; import { ToolButton } from "./ToolButton"; import { actionSaveFileToDisk } from "../actions/actionExport"; import { Card } from "./Card"; @@ -98,7 +98,7 @@ export const JSONExportDialog = ({ appState: AppState; files: BinaryFiles; actionManager: ActionManager; - exportOpts: ExportOpts; + exportOpts: CanvasActions["export"]; canvas: HTMLCanvasElement | null; }) => { const [modalIsShown, setModalIsShown] = useState(false); @@ -111,16 +111,20 @@ export const JSONExportDialog = ({ <> { - setModalIsShown(true); + if (typeof exportOpts === "function") { + actionManager.executeAction(actionSaveFileToDisk); + } else { + setModalIsShown(true); + } }} data-testid="json-export-button" - icon={exportFile} + icon={exportToFileIcon} type="button" aria-label={t("buttons.export")} showAriaLabel={useDeviceType().isMobile} title={t("buttons.export")} /> - {modalIsShown && ( + {modalIsShown && exportOpts && typeof exportOpts !== "function" && ( { - if (!UIOptions.canvasActions.export) { + if (!UIOptions.canvasActions || !UIOptions.canvasActions.export) { return null; } @@ -118,7 +119,7 @@ const LayerUI = ({ }; const renderImageExportDialog = () => { - if (!UIOptions.canvasActions.saveAsImage) { + if (!UIOptions.canvasActions || !UIOptions.canvasActions.saveAsImage) { return null; } @@ -165,10 +166,6 @@ const LayerUI = ({ ); }; - const Separator = () => { - return
; - }; - const renderViewModeCanvasActions = () => { return (
- + {actionManager.renderAction("clearCanvas")} - {actionManager.renderAction("loadScene")} {renderJSONExportDialog()} {renderImageExportDialog()} - {onCollabButtonClick && ( - {viewModeEnabled - ? renderViewModeCanvasActions() - : renderCanvasActions()} + {UIOptions.canvasActions && + (viewModeEnabled + ? renderViewModeCanvasActions() + : renderCanvasActions())} {shouldRenderSelectedShapeActions && renderSelectedShapeActions()} {!viewModeEnabled && ( @@ -387,22 +383,8 @@ const LayerUI = ({ })} layout="vertical" collaborators={appState.collaborators} - > - {appState.collaborators.size > 0 && - Array.from(appState.collaborators) - // Collaborator is either not initialized or is actually the current user. - .filter(([_, client]) => Object.keys(client).length !== 0) - .map(([clientId, client]) => ( - - {actionManager.renderAction("goToCollaborator", { - id: clientId, - })} - - ))} - + actionManager={actionManager} + />
); @@ -553,6 +535,7 @@ const LayerUI = ({ showThemeBtn={showThemeBtn} onImageAction={onImageAction} renderTopRightUI={renderTopRightUI} + UIOptions={UIOptions} /> ) : ( diff --git a/src/components/MobileMenu.tsx b/src/components/MobileMenu.tsx index 0f1774a4869f..9ccd090f8b7a 100644 --- a/src/components/MobileMenu.tsx +++ b/src/components/MobileMenu.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { AppState } from "../types"; +import { AppProps, AppState } from "../types"; import { ActionManager } from "../actions/manager"; import { t } from "../i18n"; import Stack from "./Stack"; @@ -43,6 +43,7 @@ type MobileMenuProps = { isMobile: boolean, appState: AppState, ) => JSX.Element | null; + UIOptions: AppProps["UIOptions"]; }; export const MobileMenu = ({ @@ -64,6 +65,7 @@ export const MobileMenu = ({ showThemeBtn, onImageAction, renderTopRightUI, + UIOptions, }: MobileMenuProps) => { const renderToolbar = () => { return ( @@ -134,16 +136,19 @@ export const MobileMenu = ({ getSelectedElements(elements, appState).length === 0; if (viewModeEnabled) { - return ( + return UIOptions.canvasActions ? (
{actionManager.renderAction("toggleCanvasMenu")}
+ ) : ( +
Excalidraw
); } return (
- {actionManager.renderAction("toggleCanvasMenu")} + {UIOptions.canvasActions && + actionManager.renderAction("toggleCanvasMenu")} {actionManager.renderAction("toggleEditMenu")} {actionManager.renderAction("undo")} @@ -203,7 +208,7 @@ export const MobileMenu = ({ }} > - {appState.openMenu === "canvas" ? ( + {UIOptions.canvasActions && appState.openMenu === "canvas" ? (
@@ -216,20 +221,8 @@ export const MobileMenu = ({ mobile layout="horizontal" collaborators={appState.collaborators} - > - {Array.from(appState.collaborators) - // Collaborator is either not initialized or is actually the current user. - .filter( - ([_, client]) => Object.keys(client).length !== 0, - ) - .map(([clientId, client]) => ( - - {actionManager.renderAction("goToCollaborator", { - id: clientId, - })} - - ))} - + actionManager={actionManager} + />
)} diff --git a/src/components/ToolIcon.scss b/src/components/ToolIcon.scss index 7057110c9f33..0f40a3119de4 100644 --- a/src/components/ToolIcon.scss +++ b/src/components/ToolIcon.scss @@ -187,7 +187,7 @@ .ToolIcon.ToolIcon_type_floating { display: inline-block; position: absolute; - right: -8px; + right: calc(-2 * var(--space-factor)); margin-left: 0; border-radius: 20px 0 0 20px; diff --git a/src/components/UserList.tsx b/src/components/UserList.tsx index a159a1172c19..ec92b0fc80db 100644 --- a/src/components/UserList.tsx +++ b/src/components/UserList.tsx @@ -3,37 +3,58 @@ import "./UserList.scss"; import React from "react"; import clsx from "clsx"; import { AppState } from "../types"; +import { ActionManager } from "../actions/manager"; +import { Tooltip } from "./Tooltip"; type UserListProps = { - children: React.ReactNode; className?: string; mobile?: boolean; collaborators: AppState["collaborators"]; layout: "vertical" | "horizontal"; + actionManager: ActionManager; }; -export const UserList = ({ - children, - className, - mobile, - collaborators = new Map(), - layout, -}: UserListProps) => { - const threshold = layout === "vertical" ? 6 : 3; - const offset = - collaborators.size > threshold - ? Math.min(collaborators.size - threshold, 15) * -2 - : 4; - return ( -
- {children} -
- ); -}; +export const UserList = React.memo( + ({ + className, + mobile, + collaborators = new Map(), + layout, + actionManager, + }: UserListProps) => { + const threshold = layout === "vertical" ? 6 : 3; + const offset = + collaborators.size > threshold + ? Math.min(collaborators.size - threshold, 15) * -2 + : 4; + return ( +
+ {collaborators.size > 0 && + Array.from(collaborators) + // Collaborator is either not initialized or is actually the current user. + .filter(([_, client]) => Object.keys(client).length !== 0) + .map(([clientId, client]) => + mobile ? ( + actionManager.renderAction("goToCollaborator", { id: clientId }) + ) : ( + + {actionManager.renderAction("goToCollaborator", { + id: clientId, + })} + + ), + )} +
+ ); + }, +); diff --git a/src/constants.ts b/src/constants.ts index a3f6bfd42d45..fbdbe2087e64 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,5 +1,5 @@ import cssVariables from "./css/variables.module.scss"; -import { AppProps } from "./types"; +import { AppProps, CanvasActions, ExportOpts } from "./types"; import { FontFamilyValues } from "./element/types"; export const APP_NAME = "Excalidraw"; @@ -143,7 +143,12 @@ export const URL_HASH_KEYS = { addLibrary: "addLibrary", } as const; -export const DEFAULT_UI_OPTIONS: AppProps["UIOptions"] = { +export const DEFAULT_UI_OPTIONS: Merge< + AppProps["UIOptions"], + { + canvasActions: Merge, { export: ExportOpts }>; + } +> = { canvasActions: { changeViewBackgroundColor: true, clearCanvas: true, diff --git a/src/css/styles.scss b/src/css/styles.scss index 2ef79e92ff50..08cd8223a542 100644 --- a/src/css/styles.scss +++ b/src/css/styles.scss @@ -568,13 +568,11 @@ } } - .HomeButton { + .HomeButton.ToolIcon.ToolIcon_type_floating { display: inline-block; position: absolute; top: 60px; - left: 0; - - margin-left: calc(-2 * var(--margin)); + left: calc(-2 * var(--space-factor)); border-radius: 0 20px 20px 0; background-color: var(--button-gray-1); diff --git a/src/excalidraw-app/index.tsx b/src/excalidraw-app/index.tsx index 4322a75a0e9f..306b9e97fd8b 100644 --- a/src/excalidraw-app/index.tsx +++ b/src/excalidraw-app/index.tsx @@ -1,7 +1,6 @@ import LanguageDetector from "i18next-browser-languagedetector"; import { useCallback, useContext, useEffect, useRef, useState } from "react"; import { trackEvent } from "../analytics"; -import { getDefaultAppState } from "../appState"; import { ErrorDialog } from "../components/ErrorDialog"; import { TopErrorBoundary } from "../components/TopErrorBoundary"; import { @@ -12,18 +11,10 @@ import { VERSION_TIMEOUT, } from "../constants"; import { loadFromBlob } from "../data/blob"; -import { - ExcalidrawElement, - FileId, - NonDeletedExcalidrawElement, -} from "../element/types"; +import { ExcalidrawElement, FileId } from "../element/types"; import { useCallbackRefState } from "../hooks/useCallbackRefState"; import { Language, t } from "../i18n"; -import { - Excalidraw, - defaultLang, - languages, -} from "../packages/excalidraw/index"; +import { Excalidraw, defaultLang } from "../packages/excalidraw/index"; import { AppState, LibraryItems, @@ -50,8 +41,7 @@ import CollabWrapper, { CollabContext, CollabContextConsumer, } from "./collab/CollabWrapper"; -import { LanguageList } from "./components/LanguageList"; -import { exportToBackend, getCollaborationLinkData, loadScene } from "./data"; +import { getCollaborationLinkData, loadScene } from "./data"; import { getLibraryItemsFromStorage, importFromLocalStorage, @@ -59,11 +49,8 @@ import { } from "./data/localStorage"; import CustomStats from "./CustomStats"; import { restoreAppState, RestoredDataState } from "../data/restore"; -import { Tooltip } from "../components/Tooltip"; -import { shield } from "../components/icons"; import "./index.scss"; -import { ExportToExcalidrawPlus } from "./components/ExportToExcalidrawPlus"; import { updateStaleImageStatuses } from "./data/FileManager"; import { newElementWith } from "../element/mutateElement"; @@ -192,38 +179,14 @@ const initializeScene = async (opts: { return { scene: null, isExternalScene: false }; }; -const PlusLPLinkJSX = ( -

- Introducing Excalidraw+ -
- - Try out now! - -

-); - -const PlusAppLinkJSX = ( - - Go to Excalidraw+ - -); - const ExcalidrawWrapper = () => { const [errorMessage, setErrorMessage] = useState(""); let currentLangCode = languageDetector.detect() || defaultLang.code; if (Array.isArray(currentLangCode)) { currentLangCode = currentLangCode[0]; } - const [langCode, setLangCode] = useState(currentLangCode); + const [langCode] = useState(currentLangCode); + // initial state // --------------------------------------------------------------------------- @@ -509,124 +472,16 @@ const ExcalidrawWrapper = () => { } }; - const onExportToBackend = async ( - exportedElements: readonly NonDeletedExcalidrawElement[], - appState: AppState, - files: BinaryFiles, - canvas: HTMLCanvasElement | null, - ) => { - if (exportedElements.length === 0) { - return window.alert(t("alerts.cannotExportEmptyCanvas")); - } - if (canvas) { - try { - await exportToBackend( - exportedElements, - { - ...appState, - viewBackgroundColor: appState.exportBackground - ? appState.viewBackgroundColor - : getDefaultAppState().viewBackgroundColor, - }, - files, - ); - } catch (error: any) { - if (error.name !== "AbortError") { - const { width, height } = canvas; - console.error(error, { width, height }); - setErrorMessage(error.message); - } - } - } - }; - const renderTopRightUI = useCallback( (isMobile: boolean, appState: AppState) => { - if (isMobile) { - return null; - } - - return ( -
- {isExcalidrawPlusSignedUser ? PlusAppLinkJSX : PlusLPLinkJSX} -
- ); + return <>; }, [], ); - const renderFooter = useCallback( - (isMobile: boolean) => { - const renderEncryptedIcon = () => ( - - - {shield} - - - ); - - const renderLanguageList = () => ( - setLangCode(langCode)} - languages={languages} - currentLangCode={langCode} - /> - ); - if (isMobile) { - const isTinyDevice = window.innerWidth < 362; - return ( -
-
- {t("labels.language")} - {renderLanguageList()} -
- {/* FIXME remove after 2021-05-20 */} -
- {isExcalidrawPlusSignedUser ? PlusAppLinkJSX : PlusLPLinkJSX} -
-
- ); - } - return ( - <> - {renderEncryptedIcon()} - {renderLanguageList()} - - ); - }, - [langCode], - ); + const renderFooter = useCallback((isMobile: boolean) => { + return <>; + }, []); const renderCustomStats = () => { return ( @@ -666,25 +521,8 @@ const ExcalidrawWrapper = () => { onPointerUpdate={collabAPI?.onPointerUpdate} UIOptions={{ canvasActions: { - export: { - onExportToBackend, - renderCustomUI: (elements, appState, files) => { - return ( - { - excalidrawAPI?.updateScene({ - appState: { - errorMessage: error.message, - }, - }); - }} - /> - ); - }, - }, + clearCanvas: false, + export: () => {}, }, }} renderTopRightUI={renderTopRightUI} @@ -695,6 +533,7 @@ const ExcalidrawWrapper = () => { handleKeyboardGlobally={true} onLibraryChange={onLibraryChange} autoFocus={true} + theme="light" /> {excalidrawAPI && ( ; } +type Merge = Omit & N; + type Mutable = { -readonly [P in keyof T]: T[P]; }; diff --git a/src/packages/excalidraw/index.tsx b/src/packages/excalidraw/index.tsx index a296b73a7c85..9c7e854a080b 100644 --- a/src/packages/excalidraw/index.tsx +++ b/src/packages/excalidraw/index.tsx @@ -46,15 +46,17 @@ const ExcalidrawBase = (props: ExcalidrawProps) => { const canvasActions = props.UIOptions?.canvasActions; const UIOptions: AppProps["UIOptions"] = { - canvasActions: { - ...DEFAULT_UI_OPTIONS.canvasActions, - ...canvasActions, - }, + canvasActions: canvasActions + ? { + ...DEFAULT_UI_OPTIONS.canvasActions, + ...canvasActions, + } + : false, }; - if (canvasActions?.export) { - UIOptions.canvasActions.export.saveFileToDisk = - canvasActions.export?.saveFileToDisk ?? + if (canvasActions && typeof canvasActions.export === "object") { + canvasActions.export.saveFileToDisk = + canvasActions.export?.saveFileToDisk || DEFAULT_UI_OPTIONS.canvasActions.export.saveFileToDisk; } @@ -149,11 +151,23 @@ const areEqual = ( prevUIOptions.canvasActions!, ) as (keyof Partial)[]; canvasOptionKeys.every((key) => { + if (!prevUIOptions?.canvasActions || !nextUIOptions?.canvasActions) { + return prevUIOptions?.canvasActions === nextUIOptions?.canvasActions; + } if ( key === "export" && prevUIOptions?.canvasActions?.export && nextUIOptions?.canvasActions?.export ) { + if ( + typeof prevUIOptions.canvasActions.export === "function" || + typeof nextUIOptions.canvasActions.export === "function" + ) { + return ( + prevUIOptions.canvasActions.export === + nextUIOptions.canvasActions.export + ); + } return ( prevUIOptions.canvasActions.export.saveFileToDisk === nextUIOptions.canvasActions.export.saveFileToDisk diff --git a/src/types.ts b/src/types.ts index 7e3869024cda..4022ff8d2c91 100644 --- a/src/types.ts +++ b/src/types.ts @@ -254,7 +254,7 @@ export type ExcalidrawInitialDataState = Merge< >; export interface ExcalidrawProps { - id: string | null; + id?: string | null; onChange?: ( elements: readonly ExcalidrawElement[], appState: AppState, @@ -345,10 +345,10 @@ export type ExportOpts = { ) => JSX.Element; }; -type CanvasActions = { +export type CanvasActions = { changeViewBackgroundColor?: boolean; clearCanvas?: boolean; - export?: false | ExportOpts; + export?: false | ExportOpts | (() => void); loadScene?: boolean; saveToActiveFile?: boolean; theme?: boolean; @@ -356,12 +356,12 @@ type CanvasActions = { }; export type UIOptions = { - canvasActions?: CanvasActions; + canvasActions?: CanvasActions | false; }; export type AppProps = ExcalidrawProps & { UIOptions: { - canvasActions: Required & { export: ExportOpts }; + canvasActions: Required | false; }; detectScroll: boolean; handleKeyboardGlobally: boolean; From 6a1e55e68baa30932e08ff163f145f2e577b9389 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 3 Jul 2021 22:11:50 +0200 Subject: [PATCH 10/84] npm tweaks --- src/packages/excalidraw/package.json | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index d96daafa3646..1e8aeb71ceee 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { - "name": "@excalidraw/excalidraw", - "version": "0.11.0", + "name": "@dwelle/excalidraw", + "version": "0.8.0", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ @@ -11,15 +11,8 @@ "access": "public" }, "description": "Excalidraw as a React component", - "repository": "https://github.com/excalidraw/excalidraw", "license": "MIT", - "keywords": [ - "excalidraw", - "excalidraw-embed", - "react", - "npm", - "npm excalidraw" - ], + "keywords": [], "browserslist": { "production": [ ">0.2%", @@ -69,7 +62,7 @@ "webpack-dev-server": "4.9.0", "webpack-merge": "5.8.0" }, - "bugs": "https://github.com/excalidraw/excalidraw/issues", + "repository": "https://github.com/dwelle/excalidraw", "homepage": "https://github.com/excalidraw/excalidraw/tree/master/src/packages/excalidraw", "scripts": { "gen:types": "tsc --project ../../../tsconfig-types.json", From 572aed233bd5090d0b3e4c9ecc2fc308ae18dc42 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 3 Jul 2021 22:12:48 +0200 Subject: [PATCH 11/84] release --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 1e8aeb71ceee..d4e4f197823e 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.8.0", + "version": "0.1.0", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 9a7a2365ab14ca55552b16411bc84bc1dc043fb6 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sun, 4 Jul 2021 23:00:24 +0200 Subject: [PATCH 12/84] remove i18n from build --- src/i18n.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n.ts b/src/i18n.ts index 7845c2557c3b..540eecfabc0c 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -86,7 +86,7 @@ export const setLanguage = async (lang: Language) => { currentLangData = {}; } else { currentLangData = await import( - /* webpackChunkName: "i18n-[request]" */ `./locales/${currentLang.code}.json` + /* webpackChunkName: "i18n-[request]" */ `./locales/en.json` ); } }; From 95da8f41bbac9d19aa051fd4875e9f8d5fe29123 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sun, 4 Jul 2021 23:01:03 +0200 Subject: [PATCH 13/84] release 0.2.0 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index d4e4f197823e..d9e1de9edaae 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.1.0", + "version": "0.2.0", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 93d76baa7bccc91a65ec4c6f215efbb751a3120f Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 5 Jul 2021 13:46:14 +0200 Subject: [PATCH 14/84] release 0.2.2 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index d9e1de9edaae..eceb041a8389 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.2.0", + "version": "0.2.2", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From c7e3fb6650eb928e1fbcd446754515d41bde6968 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 5 Jul 2021 14:20:39 +0200 Subject: [PATCH 15/84] support switching production build via window global --- src/packages/excalidraw/main.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/packages/excalidraw/main.js b/src/packages/excalidraw/main.js index b1668faf70a4..25c55a77b099 100644 --- a/src/packages/excalidraw/main.js +++ b/src/packages/excalidraw/main.js @@ -1,4 +1,7 @@ -if (process.env.NODE_ENV === "production") { +if ( + process.env.NODE_ENV === "production" || + window.__excalidraw_env__ === "production" +) { module.exports = require("./dist/excalidraw.production.min.js"); } else { module.exports = require("./dist/excalidraw.development.js"); From 6a6542443448e9871f7dbc19b9b9378bd03d0c4b Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 5 Jul 2021 14:21:00 +0200 Subject: [PATCH 16/84] release 0.2.3 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index eceb041a8389..acaa965e2756 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.2.2", + "version": "0.2.3", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From e9cdf8bc19d1b6252c50afed86d13d407ab62a0a Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 9 Jul 2021 13:03:48 +0200 Subject: [PATCH 17/84] add deploy script --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8f27edb95a84..09d833b637de 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,7 @@ "test:typecheck": "tsc", "test:update": "yarn test:app --updateSnapshot --watchAll=false", "test": "yarn test:app", - "autorelease": "node scripts/autorelease.js" + "autorelease": "node scripts/autorelease.js", + "publish": "cd src/packages/excalidraw && npm run build:umd && npm publish" } } From d735075bf86e1751198a55d6b891e12027e6989e Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 9 Jul 2021 13:04:17 +0200 Subject: [PATCH 18/84] hotfix for memory leak --- src/components/App.tsx | 25 ++++++++++++++++++++++++- src/global.d.ts | 4 ++++ src/renderer/renderElement.ts | 12 +++++++++--- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index 39dcf5f2b835..69590c7b517a 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -165,7 +165,10 @@ import { } from "../keys"; import { distance2d, getGridPoint, isPathALoop } from "../math"; import { renderScene } from "../renderer"; -import { invalidateShapeForElement } from "../renderer/renderElement"; +import { + clearRenderCache, + invalidateShapeForElement, +} from "../renderer/renderElement"; import { calculateScrollCenter, getTextBindableContainerAtPosition, @@ -892,6 +895,25 @@ class App extends React.Component { this.unmounted = true; this.removeEventListeners(); this.scene.destroy(); + clearRenderCache(); + + this.scene = new Scene(); + this.history = new History(); + this.actionManager = new ActionManager( + this.syncActionResult, + () => this.state, + () => this.scene.getElementsIncludingDeleted(), + this, + ); + this.library = new Library(this); + this.canvas = null; + this.rc = null; + + // @ts-ignore + this.excalidrawContainerRef.current = undefined; + this.nearestScrollableContainer = undefined; + this.excalidrawContainerValue = { container: null, id: "unmounted" }; + clearTimeout(touchTimeout); touchTimeout = 0; } @@ -932,6 +954,7 @@ class App extends React.Component { this.disableEvent, false, ); + document.fonts?.removeEventListener?.("loadingdone", this.onFontLoaded); document.removeEventListener( EVENT.GESTURE_START, diff --git a/src/global.d.ts b/src/global.d.ts index 45b9821a76d4..cddb1611c469 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -6,6 +6,10 @@ interface Document { type: "loading" | "loadingdone" | "loadingerror", listener: (this: Document, ev: Event) => any, ): void; + removeEventListener?( + type: "loading" | "loadingdone" | "loadingerror", + listener: (this: Document, ev: Event) => any, + ): void; }; } diff --git a/src/renderer/renderElement.ts b/src/renderer/renderElement.ts index 92f48a76b61e..3bd3dbcaad22 100644 --- a/src/renderer/renderElement.ts +++ b/src/renderer/renderElement.ts @@ -300,12 +300,12 @@ const drawElementOnCanvas = ( context.globalAlpha = 1; }; -const elementWithCanvasCache = new WeakMap< +let elementWithCanvasCache = new WeakMap< ExcalidrawElement, ExcalidrawElementWithCanvas >(); -const shapeCache = new WeakMap(); +let shapeCache = new WeakMap(); type ElementShape = Drawable | Drawable[] | null; @@ -332,6 +332,12 @@ export const setShapeForElement = ( export const invalidateShapeForElement = (element: ExcalidrawElement) => shapeCache.delete(element); +export const clearRenderCache = () => { + elementWithCanvasCache = new WeakMap(); + shapeCache = new WeakMap(); + pathsCache = new WeakMap(); +}; + export const generateRoughOptions = ( element: ExcalidrawElement, continuousPath = false, @@ -1044,7 +1050,7 @@ export const renderElementToSvg = ( } }; -export const pathsCache = new WeakMap([]); +export let pathsCache = new WeakMap([]); export function generateFreeDrawShape(element: ExcalidrawFreeDrawElement) { const svgPathData = getFreeDrawSvgPath(element); From a9033d17f286b8b3b53a631fe753b63738a88fde Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 25 Aug 2021 14:19:26 +0200 Subject: [PATCH 19/84] release 0.3.4 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index acaa965e2756..9a05d224858f 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.2.3", + "version": "0.3.4", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 20f76b4980b54885f144974eda75d5a856d6568d Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 23 Oct 2021 16:36:11 +0200 Subject: [PATCH 20/84] release 0.3.15 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 9a05d224858f..f19122917b8a 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.4", + "version": "0.3.15", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From bdb4055c10fd9a48163192eaaf01c8b05c2cb87d Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 23 Oct 2021 16:40:12 +0200 Subject: [PATCH 21/84] use yarn publish --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 09d833b637de..8cd9662baee2 100644 --- a/package.json +++ b/package.json @@ -113,6 +113,6 @@ "test:update": "yarn test:app --updateSnapshot --watchAll=false", "test": "yarn test:app", "autorelease": "node scripts/autorelease.js", - "publish": "cd src/packages/excalidraw && npm run build:umd && npm publish" + "publish": "cd src/packages/excalidraw && npm run build:umd && yarn publish" } } From 326fc8b395adb7759e1fa8ae8c95f2afa19dfbb7 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 27 Oct 2021 21:05:01 +0200 Subject: [PATCH 22/84] release 0.3.16 (master images) --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index f19122917b8a..1d918990a701 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.15", + "version": "0.3.16", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 76fdfed055499321f1037ce3e9fb21d056ecaed4 Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 4 Nov 2021 16:05:51 +0100 Subject: [PATCH 23/84] release 0.3.17 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 1d918990a701..f6dd6a51ed05 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.16", + "version": "0.3.17", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 7959f324d634dc7176ff1f535149ea22c75a26cf Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 19 Nov 2021 19:56:03 +0100 Subject: [PATCH 24/84] add `setup` script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 8cd9662baee2..d978df72de8a 100644 --- a/package.json +++ b/package.json @@ -90,6 +90,7 @@ "prettier": "@excalidraw/prettier-config", "private": true, "scripts": { + "setup": "yarn && cd src/packages/excalidraw && yarn", "build-node": "node ./scripts/build-node.js", "build:app:docker": "REACT_APP_DISABLE_SENTRY=true react-scripts build", "build:app": "REACT_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA react-scripts build", From 21db1bbfcd19e49183858f20dc112f47ecfff3e6 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 19 Nov 2021 19:56:05 +0100 Subject: [PATCH 25/84] fix lint --- src/components/LayerUI.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/LayerUI.tsx b/src/components/LayerUI.tsx index c139ef336a9f..be28867182bf 100644 --- a/src/components/LayerUI.tsx +++ b/src/components/LayerUI.tsx @@ -25,8 +25,6 @@ import { PasteChartDialog } from "./PasteChartDialog"; import { Section } from "./Section"; import { HelpDialog } from "./HelpDialog"; import Stack from "./Stack"; -import { Tooltip } from "./Tooltip"; -import { ToolButton } from "./ToolButton"; import { UserList } from "./UserList"; import Library, { distributeLibraryItemsOnSquareGrid } from "../data/library"; import { JSONExportDialog } from "./JSONExportDialog"; From c2bbaf20355430aa0a2ca46558437ca132d6788a Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 19 Nov 2021 19:56:22 +0100 Subject: [PATCH 26/84] release 0.3.18 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index f6dd6a51ed05..98d6254b8c6e 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.17", + "version": "0.3.18", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 5482bceffb315e00fa9f6018c93330adf650cb95 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 22 Nov 2021 11:41:26 +0100 Subject: [PATCH 27/84] inline library urls --- src/components/PublishLibrary.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/PublishLibrary.tsx b/src/components/PublishLibrary.tsx index 37543b6b063a..5491db14d856 100644 --- a/src/components/PublishLibrary.tsx +++ b/src/components/PublishLibrary.tsx @@ -225,10 +225,13 @@ const PublishLibrary = ({ formData.append("twitterHandle", libraryData.twitterHandle); formData.append("website", libraryData.website); - fetch(`${process.env.REACT_APP_LIBRARY_BACKEND}/submit`, { - method: "post", - body: formData, - }) + fetch( + `https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries/submit`, + { + method: "post", + body: formData, + }, + ) .then( (response) => { if (response.ok) { From 39a8c3d1db31bb9a75be0ae545fde18e49802414 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 22 Nov 2021 11:41:54 +0100 Subject: [PATCH 28/84] release 0.3.19 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 98d6254b8c6e..963a84366e0e 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.18", + "version": "0.3.19", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 432bc6cb1237f1d28820ff4495db759c995de590 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 29 Nov 2021 11:37:31 +0100 Subject: [PATCH 29/84] release 0.3.20 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 963a84366e0e..4a23830056b7 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.19", + "version": "0.3.20", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 480379c3ba352b2b20da91b7e2682b9115c7d5cb Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 29 Nov 2021 21:01:08 +0100 Subject: [PATCH 30/84] release 0.3.24 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 4a23830056b7..2f199b96a8eb 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.20", + "version": "0.3.24", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From f248b3a14a47c24aaf0399b90f297a659a4bad40 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 6 Dec 2021 19:11:24 +0100 Subject: [PATCH 31/84] release 0.3.25 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 2f199b96a8eb..94423257e58d 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.24", + "version": "0.3.25", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 060790b0776269c31d0b32de5c401ed7f512e70e Mon Sep 17 00:00:00 2001 From: dwelle Date: Tue, 7 Dec 2021 14:04:06 +0100 Subject: [PATCH 32/84] fix renderTopRightUI --- src/components/LayerUI.tsx | 3 ++- src/components/MobileMenu.tsx | 7 ++++++- src/css/styles.scss | 5 ++--- src/excalidraw-app/index.tsx | 2 +- src/types.ts | 1 + 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/components/LayerUI.tsx b/src/components/LayerUI.tsx index be28867182bf..70742b84d72d 100644 --- a/src/components/LayerUI.tsx +++ b/src/components/LayerUI.tsx @@ -59,6 +59,7 @@ interface LayerUIProps { renderTopRightUI?: ( isMobile: boolean, appState: AppState, + canvas: HTMLCanvasElement | null, ) => JSX.Element | null; renderCustomFooter?: (isMobile: boolean, appState: AppState) => JSX.Element; viewModeEnabled: boolean; @@ -373,7 +374,7 @@ const LayerUI = ({ }, )} > - {renderTopRightUI?.(deviceType.isMobile, appState)} + {renderTopRightUI?.(deviceType.isMobile, appState, canvas)} JSX.Element | null; UIOptions: AppProps["UIOptions"]; }; @@ -70,6 +71,8 @@ export const MobileMenu = ({ const renderToolbar = () => { return ( + {/* placeholder for grid 3-column template */} +
{(heading) => ( @@ -90,7 +93,6 @@ export const MobileMenu = ({ /> - {renderTopRightUI && renderTopRightUI(true, appState)} )}
+
+ {renderTopRightUI?.(true, appState, canvas)} +
); diff --git a/src/css/styles.scss b/src/css/styles.scss index 08cd8223a542..289a83e4334d 100644 --- a/src/css/styles.scss +++ b/src/css/styles.scss @@ -249,9 +249,8 @@ .App-top-bar { z-index: var(--zIndex-layerUI); - display: flex; - flex-direction: column; - align-items: center; + display: grid; + grid-template-columns: 1fr max-content 1fr; } .App-bottom-bar { diff --git a/src/excalidraw-app/index.tsx b/src/excalidraw-app/index.tsx index 306b9e97fd8b..8a65f0d57983 100644 --- a/src/excalidraw-app/index.tsx +++ b/src/excalidraw-app/index.tsx @@ -474,7 +474,7 @@ const ExcalidrawWrapper = () => { const renderTopRightUI = useCallback( (isMobile: boolean, appState: AppState) => { - return <>; + return
placeholder
; }, [], ); diff --git a/src/types.ts b/src/types.ts index 4022ff8d2c91..b62be11d641a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -284,6 +284,7 @@ export interface ExcalidrawProps { renderTopRightUI?: ( isMobile: boolean, appState: AppState, + canvas: HTMLCanvasElement | null, ) => JSX.Element | null; renderFooter?: (isMobile: boolean, appState: AppState) => JSX.Element; langCode?: Language["code"]; From d6dd81cd971e8cf279e270a71cedc9798f577d75 Mon Sep 17 00:00:00 2001 From: dwelle Date: Tue, 7 Dec 2021 14:04:21 +0100 Subject: [PATCH 33/84] release 0.3.26 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 94423257e58d..d2d0450efef0 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.25", + "version": "0.3.26", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 3be9fe27d429fbcce488f54cdf575555b69cc5f4 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 8 Dec 2021 17:00:01 +0100 Subject: [PATCH 34/84] expose `app` instance --- src/components/App.tsx | 1 + src/types.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/components/App.tsx b/src/components/App.tsx index 69590c7b517a..55701a6efd8f 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -388,6 +388,7 @@ class App extends React.Component { setActiveTool: this.setActiveTool, setCursor: this.setCursor, resetCursor: this.resetCursor, + app: this, } as const; if (typeof excalidrawRef === "function") { excalidrawRef(api); diff --git a/src/types.ts b/src/types.ts index b62be11d641a..efdac2c4f8a5 100644 --- a/src/types.ts +++ b/src/types.ts @@ -477,6 +477,7 @@ export type ExcalidrawImperativeAPI = { setActiveTool: InstanceType["setActiveTool"]; setCursor: InstanceType["setCursor"]; resetCursor: InstanceType["resetCursor"]; + app: InstanceType; }; export type DeviceType = { From 2dcff0226d2aca47532c3755f0b9f496a057d09c Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 8 Dec 2021 17:00:30 +0100 Subject: [PATCH 35/84] release 0.3.27 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index d2d0450efef0..6f55d9c4ff1d 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.26", + "version": "0.3.27", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 68c00b18e5ed211728a73d8e1723e33d453b8170 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 13 Dec 2021 15:19:37 +0100 Subject: [PATCH 36/84] release 0.3.28 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 6f55d9c4ff1d..a42183288b58 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.27", + "version": "0.3.28", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From b8cec7423ee77f25274b74b1a857a8867495a95c Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 15 Dec 2021 15:36:51 +0100 Subject: [PATCH 37/84] release 0.3.29 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index a42183288b58..adb7efc94e9f 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.28", + "version": "0.3.29", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 6af8527a913b886e90e432245929f66050c38412 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 17 Dec 2021 11:34:49 +0100 Subject: [PATCH 38/84] release 0.3.30 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index adb7efc94e9f..54f52387a5f6 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.29", + "version": "0.3.30", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From e06239ac350e12ec25669e79ffb3ec2199e097c1 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 17 Dec 2021 11:38:56 +0100 Subject: [PATCH 39/84] release 0.3.31 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 54f52387a5f6..d571b9ee3447 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.30", + "version": "0.3.31", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From e3766dbc760930995514d899186e96c0fd0354a3 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 22 Dec 2021 14:45:20 +0100 Subject: [PATCH 40/84] release 0.3.32 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index d571b9ee3447..292b893cbfbf 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.31", + "version": "0.3.32", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 502eae221f6fed3dd878c9585fc9ea4209dd4d7f Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 23 Dec 2021 17:39:01 +0100 Subject: [PATCH 41/84] release 0.3.33 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 292b893cbfbf..65267897e060 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.32", + "version": "0.3.33", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 149755ce7f89da1fdeb71ec2fad7b132fe61df3d Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 3 Jan 2022 15:21:48 +0100 Subject: [PATCH 42/84] release 0.3.34 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 65267897e060..c9bcf8c39998 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.33", + "version": "0.3.34", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 2e83d423d935331ef482129782ed1fb80cf27a86 Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 6 Jan 2022 13:31:02 +0100 Subject: [PATCH 43/84] release 0.3.35 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index c9bcf8c39998..4391803e14b8 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.34", + "version": "0.3.35", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 4ebdcdef679285c3d0180b56652dd258ee299cd3 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 26 Jan 2022 15:09:29 +0100 Subject: [PATCH 44/84] release 0.3.36 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 4391803e14b8..0094572ad8cc 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.35", + "version": "0.3.36", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From eedf48ecde13095ca0891b06141afa096595a097 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 29 Jan 2022 14:28:33 +0100 Subject: [PATCH 45/84] remove unused --- src/excalidraw-app/index.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/excalidraw-app/index.tsx b/src/excalidraw-app/index.tsx index 8a65f0d57983..b62b79e7b4cc 100644 --- a/src/excalidraw-app/index.tsx +++ b/src/excalidraw-app/index.tsx @@ -326,7 +326,6 @@ const ExcalidrawWrapper = () => { if (Array.isArray(langCode)) { langCode = langCode[0]; } - setLangCode(langCode); excalidrawAPI.updateScene({ ...localDataState, }); From ff8ecd9dd0f2fb4d76afc5c6002b84ac39554bbb Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 29 Jan 2022 14:29:44 +0100 Subject: [PATCH 46/84] v0.3.37 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 0094572ad8cc..b24c9de7756c 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.36", + "version": "0.3.37", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 3c446934c13adb41b955784ba456725603eb08c2 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 2 Feb 2022 15:17:02 +0100 Subject: [PATCH 47/84] v0.3.38 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index b24c9de7756c..272d479d0c20 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.37", + "version": "0.3.38", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 20bf0a5efb927b302e80a389e731fffd13aab3e2 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 2 Feb 2022 15:31:49 +0100 Subject: [PATCH 48/84] temp: hide hintViewer in mobile --- src/components/MobileMenu.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/MobileMenu.tsx b/src/components/MobileMenu.tsx index a624a408addf..ff24061e3125 100644 --- a/src/components/MobileMenu.tsx +++ b/src/components/MobileMenu.tsx @@ -7,7 +7,6 @@ import { showSelectedShapeActions } from "../element"; import { NonDeletedExcalidrawElement } from "../element/types"; import { FixedSideContainer } from "./FixedSideContainer"; import { Island } from "./Island"; -import { HintViewer } from "./HintViewer"; import { calculateScrollCenter, getSelectedElements } from "../scene"; import { SelectedShapeActions, ShapesSwitcher } from "./Actions"; import { Section } from "./Section"; @@ -128,7 +127,6 @@ export const MobileMenu = ({
{renderTopRightUI?.(true, appState, canvas)}
- ); }; From cad205c6cadaff3780361608bbee7762658d2bc1 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 2 Feb 2022 15:41:53 +0100 Subject: [PATCH 49/84] v0.3.39 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 272d479d0c20..61a7478c9d96 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.38", + "version": "0.3.39", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From b89b164ba4d1c046a63b0dbb1cc8644f913044e2 Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 3 Feb 2022 16:09:12 +0100 Subject: [PATCH 50/84] v0.3.40 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 61a7478c9d96..6c93552f14e4 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.39", + "version": "0.3.40", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From ca145a89af72a7b1bb7042e572c28aa17cc9d86d Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 3 Feb 2022 17:02:09 +0100 Subject: [PATCH 51/84] v0.3.42 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 6c93552f14e4..de8e46c0ecc0 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.40", + "version": "0.3.42", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 264ede887799a08564370bd4c3963c189360e6a6 Mon Sep 17 00:00:00 2001 From: dwelle Date: Sun, 6 Feb 2022 20:31:20 +0100 Subject: [PATCH 52/84] v0.3.43 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index de8e46c0ecc0..6db612facc55 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.42", + "version": "0.3.43", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From f0d695393da68a37e5feede93f76fafd49766ddd Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 7 Feb 2022 23:44:29 +0100 Subject: [PATCH 53/84] v0.3.44 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 6db612facc55..ba450df63b6e 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.43", + "version": "0.3.44", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 1566676d16039a9545a07392bd73f21ecbfc79b9 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 9 Feb 2022 21:44:29 +0100 Subject: [PATCH 54/84] v0.3.45 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index ba450df63b6e..f7ac304b31c3 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.44", + "version": "0.3.45", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 6dddee9406f6968db481294afa1b948bfed458ca Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 9 Feb 2022 21:52:38 +0100 Subject: [PATCH 55/84] add pull script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index d978df72de8a..b70462ba7c0c 100644 --- a/package.json +++ b/package.json @@ -114,6 +114,7 @@ "test:update": "yarn test:app --updateSnapshot --watchAll=false", "test": "yarn test:app", "autorelease": "node scripts/autorelease.js", + "pull": "git pull upstream master --rebase", "publish": "cd src/packages/excalidraw && npm run build:umd && yarn publish" } } From d50c147ced270297e9469cd641ee7bfa9520ed7d Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 12 Feb 2022 11:00:20 +0100 Subject: [PATCH 56/84] fix SVG fonts path --- src/scene/export.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scene/export.ts b/src/scene/export.ts index d1b669d4d553..6b3ec048e9c3 100644 --- a/src/scene/export.ts +++ b/src/scene/export.ts @@ -135,11 +135,11 @@ export const exportToSvg = async ( From 248b2feb9a4a1b790dc7e778f113df44f41a285a Mon Sep 17 00:00:00 2001 From: dwelle Date: Sat, 12 Feb 2022 11:01:44 +0100 Subject: [PATCH 57/84] v0.3.46 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index f7ac304b31c3..fe064069cbe2 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.45", + "version": "0.3.46", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From e9314c173d3635317b8196e0ec2b10c17da26b56 Mon Sep 17 00:00:00 2001 From: dwelle Date: Tue, 22 Feb 2022 12:02:16 +0100 Subject: [PATCH 58/84] v0.3.47 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index fe064069cbe2..9bb6df274619 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.46", + "version": "0.3.47", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 6634f71dff9c3b1a3755e2c81a1997a1d05b7be8 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 2 Mar 2022 17:20:19 +0100 Subject: [PATCH 59/84] v0.3.48 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 9bb6df274619..85a3a81e0e84 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.47", + "version": "0.3.48", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 34f3121bcd8aaebbb2d5d8127ca2bf579cdf57be Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 2 Mar 2022 23:58:12 +0100 Subject: [PATCH 60/84] v0.3.49 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 85a3a81e0e84..c45a495dd0fa 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.48", + "version": "0.3.49", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 7e8fe9d97c5c9ea3e13c909ff328a33f2d5b0a3d Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 11 Mar 2022 15:27:22 +0100 Subject: [PATCH 61/84] v0.3.50 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index c45a495dd0fa..dd4efef84288 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.49", + "version": "0.3.50", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 17f50fff68f8e1c1dbdabeb839f8712eaa1ca8d1 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 11 Mar 2022 15:48:52 +0100 Subject: [PATCH 62/84] v0.3.51 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index dd4efef84288..ced0200b5a99 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.50", + "version": "0.3.51", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 8d68e39b2a043cd63525705ced6b87e8b645d950 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 11 Mar 2022 16:16:19 +0100 Subject: [PATCH 63/84] v0.3.52 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index ced0200b5a99..75f629ae5fb3 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.51", + "version": "0.3.52", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 6f2aedda4765a136f2da65f901797ed02cca5cd6 Mon Sep 17 00:00:00 2001 From: dwelle Date: Tue, 15 Mar 2022 15:28:23 +0100 Subject: [PATCH 64/84] rename collab button to sharing --- src/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/en.json b/src/locales/en.json index b0c0dcb713a5..ecfe1c0d8b19 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -71,7 +71,7 @@ "layers": "Layers", "actions": "Actions", "language": "Language", - "liveCollaboration": "Live collaboration", + "liveCollaboration": "Sharing", "duplicateSelection": "Duplicate", "untitled": "Untitled", "name": "Name", From ab2fa0ed3a94faf8f58b50370c92f513beb4c6b2 Mon Sep 17 00:00:00 2001 From: dwelle Date: Tue, 15 Mar 2022 15:44:02 +0100 Subject: [PATCH 65/84] v0.3.53 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 75f629ae5fb3..f295a1ee0bf6 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.52", + "version": "0.3.53", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From ca9424243244b3917bc23b730df236401370557f Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 16 Mar 2022 16:32:55 +0100 Subject: [PATCH 66/84] v0.3.54 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index f295a1ee0bf6..c42e1ffdee5b 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.53", + "version": "0.3.54", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 30551fc06dda6383e6e19836ec9562e81a2b71b8 Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 21 Mar 2022 19:18:04 +0100 Subject: [PATCH 67/84] v0.3.55 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index c42e1ffdee5b..066aed0f3bdb 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.54", + "version": "0.3.55", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 4e17fdf8bd95f1c1d906141142a8f75ac2c01a8e Mon Sep 17 00:00:00 2001 From: dwelle Date: Mon, 28 Mar 2022 00:03:07 +0200 Subject: [PATCH 68/84] v0.3.56 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 066aed0f3bdb..e1d9bfc95d0f 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.55", + "version": "0.3.56", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From b01e4d167cf5842c20af9b8dc44697447fefc509 Mon Sep 17 00:00:00 2001 From: dwelle Date: Tue, 29 Mar 2022 17:18:15 +0200 Subject: [PATCH 69/84] v0.3.57 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index e1d9bfc95d0f..a08eb56fa974 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.56", + "version": "0.3.57", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 4e070279c62a0fd0426773495e8abb7d0fcc9499 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 30 Mar 2022 14:31:45 +0200 Subject: [PATCH 70/84] v0.3.58 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index a08eb56fa974..5e435f778989 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.57", + "version": "0.3.58", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From f85ad4e9f291f217544140e6a4230ad817c2d45e Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 7 Apr 2022 18:17:24 +0200 Subject: [PATCH 71/84] v0.3.59 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 5e435f778989..809a1126ff26 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.58", + "version": "0.3.59", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From d1f67ca6067f7e6ed76e4f8db935c1503554d4b7 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 20 Apr 2022 14:46:53 +0200 Subject: [PATCH 72/84] export jotai store and scope --- src/packages/excalidraw/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/packages/excalidraw/index.tsx b/src/packages/excalidraw/index.tsx index 9c7e854a080b..d6ee9a4e8e7a 100644 --- a/src/packages/excalidraw/index.tsx +++ b/src/packages/excalidraw/index.tsx @@ -247,3 +247,5 @@ export { cleanAppStateForExport, clearAppStateForLocalStorage, } from "../../appState"; + +export { jotaiScope, jotaiStore } from "../../jotai"; From e274656d6b1526569a5c3b51500ad9d2559c05d5 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 20 Apr 2022 14:49:48 +0200 Subject: [PATCH 73/84] v0.3.60 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 809a1126ff26..192e700ed8f5 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.59", + "version": "0.3.60", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 973dfff6df2668a7d437d992d3b5726d1522dce0 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 20 Apr 2022 14:56:41 +0200 Subject: [PATCH 74/84] export libraryItemsAtom --- src/packages/excalidraw/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/packages/excalidraw/index.tsx b/src/packages/excalidraw/index.tsx index d6ee9a4e8e7a..395ade629f7c 100644 --- a/src/packages/excalidraw/index.tsx +++ b/src/packages/excalidraw/index.tsx @@ -249,3 +249,4 @@ export { } from "../../appState"; export { jotaiScope, jotaiStore } from "../../jotai"; +export { libraryItemsAtom } from "../../data/library"; From fde85d51827e15e9e24e5d1bc8095c723e2baa18 Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 22 Apr 2022 20:55:43 +0200 Subject: [PATCH 75/84] v0.3.62 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 192e700ed8f5..e279553fd5ce 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.60", + "version": "0.3.62", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 87249d129c121a65e9e8988439c4befe8e522dc7 Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 28 Apr 2022 19:12:41 +0200 Subject: [PATCH 76/84] v0.3.63 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index e279553fd5ce..9afae0e91a6f 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.62", + "version": "0.3.63", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 615d3da78b818030e034e3e476162fe6d30fb427 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 11 May 2022 11:32:30 +0200 Subject: [PATCH 77/84] fix prop change --- src/renderer/renderScene.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/renderScene.ts b/src/renderer/renderScene.ts index 62d7cbf827da..c1104a1d65c2 100644 --- a/src/renderer/renderScene.ts +++ b/src/renderer/renderScene.ts @@ -318,7 +318,7 @@ export const renderScene = ( selectionColors.push( ...renderConfig.remoteSelectedElementIds[element.id].map( (socketId) => { - const picture = appState.collaborators.get(socketId)?.picture; + const picture = appState.collaborators.get(socketId)?.src; const { background } = getClientColors( picture || socketId, appState, @@ -447,7 +447,7 @@ export const renderScene = ( y = Math.max(y, 0); y = Math.min(y, normalizedCanvasHeight - height); - const picture = appState.collaborators.get(clientId)?.picture; + const picture = appState.collaborators.get(clientId)?.src; const { background, stroke } = getClientColors( picture || clientId, appState, From e6124c08004f0e4be9adce95886bb5ecd83a7546 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 11 May 2022 11:32:50 +0200 Subject: [PATCH 78/84] fix home button width --- src/css/styles.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/css/styles.scss b/src/css/styles.scss index 289a83e4334d..dfc9ea35d4a6 100644 --- a/src/css/styles.scss +++ b/src/css/styles.scss @@ -572,6 +572,7 @@ position: absolute; top: 60px; left: calc(-2 * var(--space-factor)); + right: auto; border-radius: 0 20px 20px 0; background-color: var(--button-gray-1); From 71d9a1be0a03565cbf951aa88f4a6a6b32e2ea48 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 11 May 2022 11:34:14 +0200 Subject: [PATCH 79/84] v0.3.64 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index 9afae0e91a6f..a44f7c6f9301 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.63", + "version": "0.3.64", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From c31118186d42f95d05ef143be7342e26046b9b3a Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 12 May 2022 17:45:50 +0200 Subject: [PATCH 80/84] fix --- src/renderer/renderScene.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/renderScene.ts b/src/renderer/renderScene.ts index c1104a1d65c2..37f073a56b5d 100644 --- a/src/renderer/renderScene.ts +++ b/src/renderer/renderScene.ts @@ -318,7 +318,7 @@ export const renderScene = ( selectionColors.push( ...renderConfig.remoteSelectedElementIds[element.id].map( (socketId) => { - const picture = appState.collaborators.get(socketId)?.src; + const picture = appState.collaborators.get(socketId)?.avatarUrl; const { background } = getClientColors( picture || socketId, appState, @@ -447,7 +447,7 @@ export const renderScene = ( y = Math.max(y, 0); y = Math.min(y, normalizedCanvasHeight - height); - const picture = appState.collaborators.get(clientId)?.src; + const picture = appState.collaborators.get(clientId)?.avatarUrl; const { background, stroke } = getClientColors( picture || clientId, appState, From cc3674321872c7e992eb5faaaf5168c26455bb4b Mon Sep 17 00:00:00 2001 From: dwelle Date: Thu, 12 May 2022 17:50:36 +0200 Subject: [PATCH 81/84] v0.3.65 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index a44f7c6f9301..ca5d7d56eb69 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.64", + "version": "0.3.65", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 20bc4133d0f95c29b025555759ac47ded1698088 Mon Sep 17 00:00:00 2001 From: dwelle Date: Wed, 18 May 2022 21:49:00 +0200 Subject: [PATCH 82/84] v0.3.66 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index ca5d7d56eb69..af46c2722945 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.65", + "version": "0.3.66", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From 23ee0c1ea2c379edc14fb65724846d088815150c Mon Sep 17 00:00:00 2001 From: dwelle Date: Fri, 20 May 2022 16:49:46 +0200 Subject: [PATCH 83/84] v0.3.67 --- src/packages/excalidraw/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/excalidraw/package.json b/src/packages/excalidraw/package.json index af46c2722945..87868a8bbe3a 100644 --- a/src/packages/excalidraw/package.json +++ b/src/packages/excalidraw/package.json @@ -1,6 +1,6 @@ { "name": "@dwelle/excalidraw", - "version": "0.3.66", + "version": "0.3.67", "main": "main.js", "types": "types/packages/excalidraw/index.d.ts", "files": [ From f2320cdd0047037cba866c12bd44832228874f49 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 29 May 2022 01:45:13 +0000 Subject: [PATCH 84/84] chore(deps-dev): bump @babel/core in /src/packages/utils Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.2 to 7.18.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- src/packages/utils/package.json | 2 +- src/packages/utils/yarn.lock | 224 ++++++++++++++++++++------------ 2 files changed, 144 insertions(+), 82 deletions(-) diff --git a/src/packages/utils/package.json b/src/packages/utils/package.json index 0c7c907ecd5d..e569d2412513 100644 --- a/src/packages/utils/package.json +++ b/src/packages/utils/package.json @@ -34,7 +34,7 @@ ] }, "devDependencies": { - "@babel/core": "7.17.2", + "@babel/core": "7.18.2", "@babel/plugin-transform-arrow-functions": "7.16.0", "@babel/plugin-transform-async-to-generator": "7.16.5", "@babel/plugin-transform-runtime": "7.17.10", diff --git a/src/packages/utils/yarn.lock b/src/packages/utils/yarn.lock index 07bcdec0f78b..ac60a1896415 100644 --- a/src/packages/utils/yarn.lock +++ b/src/packages/utils/yarn.lock @@ -2,12 +2,13 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.0.tgz#72becdf17ee44b2d1ac5651fb12f1952c336fe23" - integrity sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g== +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: - "@jridgewell/trace-mapping" "^0.3.0" + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@^7.16.7": version "7.16.7" @@ -21,35 +22,40 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.2.tgz#2c77fc430e95139d816d39b113b31bf40fb22337" - integrity sha512-R3VH5G42VSDolRHyUO4V2cfag8WHcZyxdq5Z/m8Xyb92lW/Erm/6kM+XtRFGf3Mulre3mveni2NHfEUws8wSvw== +"@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== + +"@babel/core@7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" + integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== dependencies: - "@ampproject/remapping" "^2.0.0" + "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.17.2" - "@babel/parser" "^7.17.0" + "@babel/generator" "^7.18.2" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.2" + "@babel/parser" "^7.18.0" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e" - integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw== +"@babel/generator@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" + integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.18.2" + "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" - source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.16.0": version "7.16.0" @@ -73,14 +79,14 @@ "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" + integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== dependencies: - "@babel/compat-data" "^7.16.4" + "@babel/compat-data" "^7.17.10" "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" + browserslist "^4.20.2" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.16.0": @@ -152,6 +158,11 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-environment-visitor@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" + integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== + "@babel/helper-explode-assignable-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" @@ -177,6 +188,14 @@ "@babel/template" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/helper-function-name@^7.17.9": + version "7.17.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" + integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== + dependencies: + "@babel/template" "^7.16.7" + "@babel/types" "^7.17.0" + "@babel/helper-get-function-arity@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" @@ -212,19 +231,19 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" - integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" + integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-simple-access" "^7.17.7" "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" @@ -274,6 +293,13 @@ dependencies: "@babel/types" "^7.16.7" +"@babel/helper-simple-access@^7.17.7": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" + integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== + dependencies: + "@babel/types" "^7.18.2" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -318,14 +344,14 @@ "@babel/traverse" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helpers@^7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" - integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== +"@babel/helpers@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" + integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== dependencies: "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.0" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" "@babel/highlight@^7.16.7": version "7.16.7" @@ -336,10 +362,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.16.7", "@babel/parser@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c" - integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw== +"@babel/parser@^7.16.7", "@babel/parser@^7.18.0": + version "7.18.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.3.tgz#39e99c7b0c4c56cef4d1eed8de9f506411c2ebc2" + integrity sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" @@ -1002,26 +1028,26 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.5", "@babel/traverse@^7.16.7", "@babel/traverse@^7.17.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30" - integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.5", "@babel/traverse@^7.16.7", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" + integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.0" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-environment-visitor" "^7.18.2" + "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.0" - "@babel/types" "^7.17.0" + "@babel/parser" "^7.18.0" + "@babel/types" "^7.18.2" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== +"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.4.4": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.2.tgz#191abfed79ebe6f4242f643a9a5cbaa36b10b091" + integrity sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" @@ -1031,20 +1057,42 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" + integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/resolve-uri@^3.0.3": version "3.0.4" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72" integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg== +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.10" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz#baf57b4e2a690d4f38560171f91783656b7f8186" integrity sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg== -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1452,7 +1500,7 @@ braces@^3.0.1: dependencies: fill-range "^7.0.1" -browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.19.1: +browserslist@^4.14.5, browserslist@^4.17.6, browserslist@^4.19.1: version "4.19.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== @@ -1463,6 +1511,17 @@ browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^ node-releases "^2.0.2" picocolors "^1.0.0" +browserslist@^4.20.2: + version "4.20.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.3.tgz#eb7572f49ec430e054f56d52ff0ebe9be915f8bf" + integrity sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg== + dependencies: + caniuse-lite "^1.0.30001332" + electron-to-chromium "^1.4.118" + escalade "^3.1.1" + node-releases "^2.0.3" + picocolors "^1.0.0" + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -1481,6 +1540,11 @@ caniuse-lite@^1.0.30001312: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== +caniuse-lite@^1.0.30001332: + version "1.0.30001344" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz#8a1e7fdc4db9c2ec79a05e9fd68eb93a761888bb" + integrity sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g== + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1658,6 +1722,11 @@ duplexer@^0.1.2: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== +electron-to-chromium@^1.4.118: + version "1.4.141" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.141.tgz#4dd9119e8a99f1c83c51dfcf1bed79ea541f08d6" + integrity sha512-mfBcbqc0qc6RlxrsIgLG2wCqkiPAjEezHxGTu7p3dHHFOurH4EjS9rFZndX5axC8264rI1Pcbw8uQP39oZckeA== + electron-to-chromium@^1.4.71: version "1.4.75" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz#d1ad9bb46f2f1bf432118c2be21d27ffeae82fdd" @@ -1981,12 +2050,10 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" +json5@^2.1.2, json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== kind-of@^6.0.2: version "6.0.3" @@ -2085,11 +2152,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimist@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -2115,6 +2177,11 @@ node-releases@^2.0.2: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== +node-releases@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" + integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== + npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -2457,11 +2524,6 @@ source-map-support@~0.5.19: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"