
* fix: fonts not rendered on init if `loadingdone` not fired (#5923) * fix: fonts not rendered on init if `loadingdone` not fired * remove unnecessary check * fix: Always bind to container selected by user (#5880) * fix: Always bind to container selected by user * Don't bind to container when using text tool * adjust z-index for bound text * fix * Add spec * Add test * Allow double click on transparent container and add spec * fix spec * adjust z-index only when binding * update index * fix * add index check * Update src/scene/Scene.ts Co-authored-by: dwelle <luzar.david@gmail.com> * feat: changed text copy/paste behaviour (#5786) Co-authored-by: dwelle <luzar.david@gmail.com> Co-authored-by: Antonio Della Fortuna <a.dellafortuna00@gmail.com> * feat: Don't add midpoint until dragged beyond a threshold (#5927) * Don't add midpoint until dragged beyond a threshold * remove unnecessary code * fix tests * fix * add spec * remove isMidpoint * cleanup * fix threshold for zoom * split into shouldAddMidpoint and addMidpoint * wrap in flushSync for synchronous updates * remove threshold for line editor and add spec * [unrelated] fix stack overflow state update * fix tests * don't drag arrow when dragging to add mid point * add specs Co-authored-by: dwelle <luzar.david@gmail.com> * refactor: remove unnecessary code (#5933) * fix: scale font correctly when using shift (#5935) * fix: scale font correctly when using shift * fix * Empty-Commit * Add spec * fix * fix: Dedupe boundElement ids when container duplicated with alt+drag (#5938) * Dedupe boundElement ids when container duplicated with alt+drag and add spec * set to null by default * fix: bindings do not survive history serialization (#5942) * fix: don't allow whitespaces for bound text (#5939) * fix: don't allow whitespaces for bound text * fix * remove * remove empty else * fix * fix * fix * feat: Support labels for arrow 🔥 (#5723) * feat: support arrow with text * render arrow -> clear rect-> render text * move bound text when linear elements move * fix centering cursor when linear element rotated * fix y coord when new line added and container has 3 points * update text position when 2nd point moved * support adding label on top of 2nd point when 3 points are present * change linear element editor shortcut to cmd+enter and fix tests * scale bound text points when resizing via bounding box * ohh yeah rotation works :) * fix coords when updating text properties * calculate new position after rotation always from original position * rotate the bound text by same angle as parent * don't rotate text and make sure dimensions and coords are always calculated from original point * hardcoding the text width for now * Move the linear element when bound text hit * Rotation working yaay * consider text element angle when editing * refactor * update x2 coords if needed when text updated * simplify * consider bound text to be part of bounding box when hit * show bounding box correctly when multiple element selected * fix typo * support rotating multiple elements * support multiple element resizing * shift bound text to mid point when odd points * Always render linear element handles inside editor after element rendered so point is visible for bound text * Delete bound text when point attached to it deleted * move bound to mid segement mid point when points are even * shift bound text when points nearby deleted and handle segment deletion * Resize working :) * more resize fixes * don't update cache-its breaking delete points, look for better soln * update mid point cache for bound elements when updated * introduce wrapping when resizing * wrap when resize for 2 pointer linear elements * support adding text for linear elements with more than 3 points * export to svg working :) * clip from nearest enclosing element with non transparent color if present when exporting and fill with correct color in canvas * fix snap * use visible elements * Make export to svg work with Mask :) * remove id * mask canvas linear element area where label is added * decide the position of bound text during render * fix coords when editing * fix multiple resize * update cache when bound text version changes * fix masking when rotated * render text in correct position in preview * remove unnecessary code * fix masking when rotating linear element * fix masking with zoom * fix mask in preview for export * fix offsets in export view * fix coords on svg export * fix mask when element rotated in svg * enable double-click to enter text * fix hint * Position cursor correctly and text dimensiosn when height of element is negative * don't allow 2 pointer linear element with bound text width to go beyond min width * code cleanup * fix freedraw * Add padding * don't show vertical align action for linear element containers * Add specs for getBoundTextElementPosition * more specs * move some utils to linearElementEditor.ts * remove only :p * check absoulte coods in test * Add test to hide vertical align for linear eleemnt with bound text * improve export preview * support labels only for arrows * spec * fix large texts * fix tests * fix zooming * enter line editor with cmd+double click * Allow points to move beyond min width/height for 2 pointer arrow with bound text * fix hint for line editing * attempt to fix arrow getting deselected * fix hint and shortcut * Add padding of 5px when creating bound text and add spec * Wrap bound text when arrow binding containers moved * Add spec * remove * set boundTextElementVersion to null if not present * dont use cache when version mismatch * Add a padding of 5px vertically when creating text * Add box sizing content box * Set bound elements when text element created to fix the padding * fix zooming in editor * fix zoom in export * remove globalCompositeOperation and use clearRect instead of fillRect * fix: repair element bindings on restore (#5956) * fix: repair element bindings on restore * fix dropping non-text bound elements * be more conservative * build: move release scripts to use release branch (#5958) * fix: renderFooter styling (#5962) * fix: `ExcalidrawArrowElement` rather than `ExcalidrawArrowEleement` (#5955) * fix: Galego and Kurdî missing in languages plus two locale typos (#5954) * fix: remove blank space (#5950) * fix: remove editor onpaste handler (#5971) * feat: better default radius sizes for rectangles (#5553) Co-authored-by: Ryan <diweihao@bytedance.com> Co-authored-by: dwelle <luzar.david@gmail.com> * chore: add display name to context providers (#5974) * chore: add display name to context providers * fix typo * fix: apply the right type of roundness when pasting styles (#5979) * fix: only paste roundness when target and source elements are of the same type * apply roundness when pasting across different types * simplify Co-authored-by: dwelle <luzar.david@gmail.com> * feat: allow readonly actions to be used in viewMode (#5982) * fix: chart pasting not working due to removing tab characters (#5987) * fix: Avatar outline on safari & center (#5997) * fix: not properly restoring element stroke and bg colors (#6002) * fix: PWA not working after CRA@5 update (#6012) * fix: PWA not working after CRA@5 update * fix: fallback to default locale when fetch fails * fix: resize sometimes throwing on missing null-checks (#6013) * fix: showing `grabbing` cursor when holding `spacebar` (#6015) * fix: don't push whitespace to next line when exceeding max width during wrapping and make sure to use same width of text editor on DOM when measuring dimensions (#5996) * fix: don't push whitespace to next line when exceeding max width during wrapping * add a helper function and never push empty line * use width same as in text area so dimensions are same * add tests * make sure dom element has exact same width as text editor * feat: render footer as a component instead of render prop (#5970) * feat: render footer as a component instead of render prop * Export FooterCenter as footer * remove useDevice export * revert some changes * remove * add spec * update specs * parse children into a dictionary * factor app footer components into a single file * Add docs * split app footer components Co-authored-by: dwelle <luzar.david@gmail.com> * feat: move contextMenu into the component tree and control via appState (#6021) * fix: ColorPicker getColor (#5949) Co-authored-by: dwelle <luzar.david@gmail.com> * chore: bump typescript @ 4.9.4 (#6024) * feat: support shrinking text containers to original height when text removed (#6025) * fix:cache bind text containers height so that it could autoshrink to original height when text deleted * revert * rename * reset cache when resized * safe check * restore original containr height when text is unbind * update cache when redrawing bounding box * reset cache when unbind * make type-safe * add specs * skip one test * remoe mock * fix Co-authored-by: dwelle <luzar.david@gmail.com> * fix: restoring deleted bindings (#6029) * fix: restoring deleted bindings * add tests * add one more test * merge restore tests files * fix: use canvas measureText to calculate width in measureText (#6030) * fix: use canvas measureText to calculate width in measureText * calculate multiline width correctly using canvas measure text and rename functions * set correct width when pasting in bound container * take existing value + new pasted * remove debugger :p * fix snaps * fix: remove background from wysiwyg when editing arrow label (#6033) Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> * fix: use displayName since name gets stripped off when uglifying/minifiyng in production (#6036) fix: use displayName since name gets stripped off when uglifying/minifiy in production * feat: Scroll using PageUp and PageDown (#6038) * feat: Scroll using PageUp and PageDown * support x-axis via `shift` & enable in viewMode * tweak test Co-authored-by: dwelle <luzar.david@gmail.com> * chore: Update translations from Crowdin (#5807) Co-authored-by: David Luzar <luzar.david@gmail.com> * fix: remove ga from docker build (#6059) * fix: remove ga from docker build * lint * fix debug * fix: show error message on collab save failure (#6063) * fix: show error message on collab save failure * comment * feat: new Menu Component API (#6034) * feat: new Menu Component API * allow valid children types * introduce menu group to group items * Add lang footer * use display name * displayName * define types inside * fix default menu * add json export to menu * fix * simplify expression * put open menu into own compo to optimize perf So that we don't rerun `useOutsideClickHook` (and rebind event listeners all the time) * naming tweaks * rename MenuComponents->MenuDefaultItems and export default items from Menu.Items * import Menu.scss in Menu.tsx * move menu scss to excal app * Don't filter children inside menu group * move E+ out of socials * support style prop for MenuItem and MenuGroup * Support header in menu group and add Excalidraw links header for default items in social section * rename header to title * fix padding for lang * render menu in mobile * review fixes * tweaks * Export collaborators and show in mobile menu * revert .env * lint :p * again lint * show correct actions in view mode for mobile * Whitelist Collaborators Comp * mobile styling * padding * don't show nerds when menu open in mobile * lint :( * hide shortcuts * refactor userlist to support mobile and keep a wrapper comp for excal app * use only UserList * render only on mobile for default items * remove unused hooks * Show collab button in menu when onCollabButtonClick present and hide export when UIOptions.canvasActions.export is false * fix tests * lint * inject userlist inside menu on mobile * revert userlist * move menu socials to default menu * fix collab * use meny in library * Make Menu generic and create hamburgemenu for public excal menu and use menu in library as well * use appState.openMenu for mobile * fix tests * styling fixes and support style and class name in menu content * fix test * rename MenuDefaultItems->DefaultItems * move footer css to its own comp * rename HamburgerMenu -> MainMenu * rename menu -> dropdownMenu and update classes, onClick->onToggle * close main menu when dialog closes * by bye filtering * update docs * fix lint * update example, docs for useDevice and footer in mobile, rename menu ->DropDownMenu everywhere * spec * remove isMenuOpenAtom and set openMenu as canvas for main menu, render decreases in specs :) * [temp] remove cyclic depenedency to fix build * hack- update appstate to sync lang change * Add more specs * wip: rewrite MainMenu footer * fix margin * fix snaps * not needed as lang list no more imported * simplify custom footer rendering * Add DropdownMenuItemLink and DropdownMenuItemCustom and update API, docs * fix `MainMenu.ItemCustom` * naming * use onSelect and base class for custom items * fix lint * fix snap * use custom item for lang * update docs * fix * properly use `MainMenu.ItemCustom` for `LanguageList` * add margin top to custom items * flex Co-authored-by: dwelle <luzar.david@gmail.com> * fix: HelpDialog (#6072) * chore: Update translations from Crowdin (#6052) * New translations en.json (German) * Auto commit: Calculate translation coverage * New translations en.json (Hindi) * New translations en.json (Marathi) * New translations en.json (Hindi) * Auto commit: Calculate translation coverage * New translations en.json (Galician) * Auto commit: Calculate translation coverage * New translations en.json (Romanian) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Arabic) * New translations en.json (Bulgarian) * New translations en.json (Catalan) * New translations en.json (Czech) * New translations en.json (Danish) * New translations en.json (German) * New translations en.json (Greek) * New translations en.json (Basque) * New translations en.json (Finnish) * New translations en.json (Hebrew) * New translations en.json (Hungarian) * New translations en.json (Italian) * New translations en.json (Japanese) * New translations en.json (Korean) * New translations en.json (Kurdish) * New translations en.json (Lithuanian) * New translations en.json (Dutch) * New translations en.json (Punjabi) * New translations en.json (Polish) * New translations en.json (Portuguese) * New translations en.json (Russian) * New translations en.json (Slovak) * New translations en.json (Slovenian) * New translations en.json (Swedish) * New translations en.json (Turkish) * New translations en.json (Ukrainian) * New translations en.json (Chinese Simplified) * New translations en.json (Chinese Traditional) * New translations en.json (Vietnamese) * New translations en.json (Galician) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Indonesian) * New translations en.json (Persian) * New translations en.json (Tamil) * New translations en.json (Bengali) * New translations en.json (Marathi) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Kazakh) * New translations en.json (Latvian) * New translations en.json (Hindi) * New translations en.json (Burmese) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.json (Sinhala) * New translations en.json (Norwegian Bokmal) * New translations en.json (Occitan) * New translations en.json (Kabyle) * Auto commit: Calculate translation coverage * New translations en.json (Chinese Simplified) * Auto commit: Calculate translation coverage * New translations en.json (Chinese Traditional) * New translations en.json (Chinese Traditional) * New translations en.json (Norwegian Bokmal) * Auto commit: Calculate translation coverage * New translations en.json (Latvian) * Auto commit: Calculate translation coverage * New translations en.json (Romanian) * Auto commit: Calculate translation coverage * New translations en.json (Slovenian) * Auto commit: Calculate translation coverage * New translations en.json (Spanish) * New translations en.json (Russian) * Auto commit: Calculate translation coverage * New translations en.json (German) * Auto commit: Calculate translation coverage * New translations en.json (Vietnamese) * Auto commit: Calculate translation coverage * New translations en.json (Hindi) * Auto commit: Calculate translation coverage * New translations en.json (Dutch) * Auto commit: Calculate translation coverage * New translations en.json (Marathi) * Auto commit: Calculate translation coverage * New translations en.json (Latvian) * New translations en.json (French) * Auto commit: Calculate translation coverage * New translations en.json (French) * Auto commit: Calculate translation coverage * New translations en.json (Portuguese, Brazilian) * Auto commit: Calculate translation coverage * New translations en.json (Japanese) * Auto commit: Calculate translation coverage * build(deps): bump json5 from 2.2.1 to 2.2.3 in /src/packages/excalidraw (#6062) Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump json5 from 2.2.1 to 2.2.3 in /src/packages/utils (#6061) Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump json5 from 2.2.1 to 2.2.3 in /dev-docs (#6060) Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (#5963) Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump json5 from 1.0.1 to 1.0.2 (#6076) Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump loader-utils from 2.0.3 to 2.0.4 (#5905) Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump loader-utils from 2.0.3 to 2.0.4 in /src/packages/excalidraw (#5892) build(deps): bump loader-utils in /src/packages/excalidraw Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: stale appState of MainMenu defaultItems rendered from Actions (#6074) * fix: png-exporting does not preserve angles correctly for flipped images (#6085) * fix: png-exporting does not preserve angles correctly for flipped images * refactor related code * simplify further and comment * fix: image horizontal flip fix + improved tests (#5799) Co-authored-by: Antonio Della Fortuna <a.dellafortuna00@gmail.com> Co-authored-by: dwelle <luzar.david@gmail.com> fixes https://github.com/excalidraw/excalidraw/issues/5784 * fix: React.memo resolvers not accounting for all props (#6042) * fix: use position absolute for mobile misc tools (#6099) * feat: generic button export (#6092) Co-authored-by: dwelle <luzar.david@gmail.com> * feat: render unknown supplied children to UI (#6096) * feat: support WelcomeScreen customization API (#6048) * fix: renamed folder MainMenu->main-menu and support rest props (#6103) * renamed folder MainMenu -> main-menu * rename ariaLabel -> aria-label and dataTestId -> data-testid * allow rest props * fix * lint * add ts check * ts for div * fix * fix * fix * feat: new Live Collaboration Component API (#6104) * feat: new Live Collaboration Component API * namespace export icons into `icons` dictionary and lowercase * update readme and changelog * review fixes * fix * fix * update docs * remove * allow button rest props * update docs * docs * add `WelcomeScreen.Center.MenuItemLiveCollaborationTrigger` * fix lint * update changelog Co-authored-by: dwelle <luzar.david@gmail.com> * fix: mobile tools positioning (#6107) * fix: mobile tools positioning * add var for padding * use css var * new line * stupid mistake * lint * fix: remove overflow hidden from button (#6110) remove overflow hidden from button * docs: release @excalidraw/excalidraw@0.14.0 🎉 (#6109) * docs: release @excalidraw/excalidraw@0.14.1 🎉 (#6112) * build: temporarily disable pre-commit (#6132) * chore: Update translations from Crowdin (#6077) * feat: show copy-as-png export button on firefox and show steps how to enable it (#6125) * feat: hide copy-as-png shortcut from help dialog if not supported * fix: support firefox if clipboard.write supported * show shrotcut in firefox and instead show error message how to enable the flag support * widen to TypeError because minification * show copy-as-png on firefox even if it will throw * style: change in ExportButton style (#6147) (#6148) Co-authored-by: David Luzar <luzar.david@gmail.com> * fix: button background and svg sizes (#6155) * fix: button background color fallback * fix svg width/height * feat: add hand/panning tool (#6141) * feat: add hand/panning tool * move hand tool right of tool lock separator * tweak i18n * rename `panning` -> `hand` * toggle between last tool and hand on `H` shortcut * hide properties sidebar when `hand` active * revert to rendering HandButton manually due to mobile toolbar * feat: close MainMenu and Library dropdown on item select (#6152) * fix: declare css variable for font in excalidraw so its available in host (#6160) declar css variable for font in excalidraw so its available in host * fix: 🐛 broken emojis when wrap text (#6153) * fix: 🐛 broken emojis when wrap text * refactor: Delete unnecessary "else" (reduce indentation) * fix: remove code block that causes the emojis to disappear * Apply suggestions from code review Co-authored-by: David Luzar <luzar.david@gmail.com> * fix: 🚑 possibly undefined value * Add spec Co-authored-by: David Luzar <luzar.david@gmail.com> Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> * fix: set the width correctly using measureText in editor (#6162) * fix: quick typo fix (#6167) * fix: add 1px width to the container to calculate more accurately (#6174) * fix: add 1px width to the container to calculate accurately * fix tests * feat: rewrite public UI component rendering using tunnels (#6117) * feat: rewrite public UI component rendering using tunnels * factor out into components * comments * fix variable naming * fix not hiding welcomeScreen * factor out AppFooter and memoize components * remove `UIOptions.welcomeScreen` and render only from host app * factor out tunnels into own file * update changelog. Keep `UIOptions.welcomeScreen` as deprecated * update changelog * lint --------- Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> * fix: make tunnels work in multi-instance scenarios (#6178) * fix: make tunnels work in multi-instance scenarios * factor tunnels out * use tunnel-rat fork until upsteam updated * fix: horizontal padding when aligning bound text containers (#6180) * fix: horizontal padding when aligning bound text containers * Add specs * fix * docs: release @excalidraw/excalidraw@0.14.2 🎉 (#6181) * docs: migrating dev docs to docusaurus :) (#6073) * docs: migrating existing docs to docosaraus :) * log broken links * lint :p * fix * divide the doc into diff categories * fix * order sidebars and more * fix lint * point to installation * making docs better :) * fix * renaming git * renaming git * fix links * fix * update readme * fix * resolve duplicate url and make /docs as base url * fix * move main docs as well * making docs better * support mdx * update og * fix title * upgrade docusarus to stable version * use draculla theme * fix * make entire sidebar collapsable * live editor for footer wohoo * render excalidraw only on client to fix the prod build * migrate MainMenu to live editor too :) * lint :p * cleanup integration and use live editor and tabs * fix * Add welcome screen doc * Live Collaboration comp docs * Add collaborator example * Add example * add more * remove isCollaborating * Rewrite ref and move to sidebar * change color of links inside pre * add initial data * fix lint * Add styling * fix lint * Add example for customizing styles * fix lint * fix * fix lint * Add link to livecollabtrigger * fix * rewrite UIOptions to sidebar * move initialdata to sidebar * move render props to sidebar and rewrite renderTopRightUI and renderCustomStats * rewrite renderSidebar * update og * update url for testing * fix url * update readme * fix style * tweaks * Add highlight comp to highlight text * Add bash syntax highlight * fix * tweaks * fix * rewrite export utilities * fix restore * rewrite utils * move constants to sidebar * update readme * add copyright * fix links style * Add linkedin * tweaks * rename package to @excalidraw/excalidraw * enable algolia with dummy creds * tweaks to integration doc * tweak WelcomeScreen docs to reflect upcoming API changes * tweak components intro * tweak nomenclature * fix admonition * rename `components` sidebar item and change order of components list * uncollapse package section in sidebar * show level 4 haeadings in TOC * remove algolia * remove unused assets * capitalize C * tweak * rename components to App * rename components -> children-components in the routes * move notable used tools to intro * update MainMenu docs with `onSelect` preventDefault behavior * change sidebar label for children components * use code * tweak README & docs intro * tweak package development doc * make scrollbar gutter stable * tweak api intro * add admonition for export utils * use next * wip * wip * make excalidraw examples use current color theme & prefer system * fix welcomescreen docs * use latest temp release * fix component order * revert wip changes * use next * tweak * increase height to fix welcome screen hint * tweak editor height * update excal version * wrap Excal with forwardRef to fix refs * migrate contributing.md * fix broken links --------- Co-authored-by: dwelle <luzar.david@gmail.com> * fix: edit link in docs (#6182) * docs: show last updated time and author (#6183) docs:show last updated time and author * fix: hide welcome screen on mobile once user interacts (#6185) * fix: hide welcome screen on mobile once started drawing * Add specs * fix: sort bound text elements to fix text duplication z-index error (#5130) * fix: sort bound text elements to fix text duplication z-index error * improve & sort groups & add tests * fix backtracking and discontiguous groups --------- Co-authored-by: dwelle <luzar.david@gmail.com> * feat: disable canvas smoothing (antialiasing) for right-angled elements (#6186)Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * feat: disable canvas smoothing for text and other types * disable smoothing for all right-angled elements * Update src/renderer/renderElement.ts Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * Update src/renderer/renderElement.ts Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * fix lint * always enable smoothing while zooming --------- Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * chore: Update translations from Crowdin (#6150) * feat: shortcut for clearCanvas confirmDialog (#6114) Co-authored-by: dwelle <luzar.david@gmail.com> resolve https://github.com/excalidraw/excalidraw/issues/5818 * feat: show error message when not connected to internet while collabo… (#6165) Co-authored-by: dwelle <luzar.david@gmail.com> Resolves https://github.com/excalidraw/excalidraw/issues/5994 * fix: docker build architecture:linux/amd64 error occur on linux/arm64 instance (#6197) fix docker build when in linux/arm64 use docker buildx plugin to build linux/amd64 image, a build error will occur causing the build to break * refactor: Make the example React app reusable without duplication (#6188) * fix: don't allow blank space in collab name (#6211) * don't allow blank space in collab name * add spec * prevent blank * docs: enable Algolia for search (#6230) * feat: Make repair and refreshDimensions configurable in restoreElements (#6238) * fix: don't repair during reconcilation * Add opts to restoreElement and enable refreshDimensions and repair via config * remove * update changelog * fix tests * rename to repairBindings * docs: Fixed broken codesandbox link in the dev-docs (#6229) fixed broken link * docs: new readme (#6240) Co-authored-by: David Luzar <luzar.david@gmail.com> * docs: fix next.js example (#6241) * docs: fix typo (#6252) * feat: Bind text to container if double clicked on filled shape or stroke (#6250) * feat: bind text to container when clicked on filled shape or element stroke * Bind if double clicked on stroke as well * remove * specs * remove * shuffle * fix * back to normal * docs: Fix outdated link in README.md (#6263) * fix: improve text wrapping in ellipse and alignment (#6172) * fix: improve text wrapping in ellipse * compute height when font properties updated * fix alignment * fix alignment when resizing * fix * ad padding * always compute height when redrawing bounding box and refactor * lint * fix specs * fix * redraw text bounding box when pasted or refreshed * fix * Add specs * fix * restore on font load * add comments * fix: improve text wrapping inside rhombus and more fixes (#6265) * fix: improve text wrapping inside rhombus * Add comments * specs * fix: shift resize and multiple element regression for ellipse and rhombus * use container width for scaling font size * fix * fix multiple resize * lint * redraw on submit * redraw only newly pasted elements * no padding when center * fix tests * fix * dont add padding in rhombus when aligning * refactor * fix * move getMaxContainerHeight and getMaxContainerWidth to textElement.ts * Add specs * fix: indenting via `tab` clashing with IME compositor (#6258) * chore: Update translations from Crowdin (#6191) * fix: rerender i18n in host components on lang change (#6224) * fix: fit mobile toolbar and make scrollable (#6270) Co-authored-by: dwelle <luzar.david@gmail.com> * feat: improve text measurements in bound containers (#6187) * feat: move to canvas measureText * calcualte height with better heuristic * improve heuristic more * remove vertical offset as its not needed * lint * calculate width of individual char and ceil to calculate width and remove adjustment factor * push the word if equal to max width * update height when text overflows for vertical alignment top/bottom * remove the hack of updating height when line mismatch as its not needed * remove scroll height and calculate the height instead * remove unused code * fix * remove * use math.ceil for whole width instead of individual chars * fix tests * fix * fix * redraw text bounding box instead when font loaded to fix alignment as well * fix * fix * fix * Add a 0.05px extra only for firefox * Add spec * stop taking ceil and increase firefox editor width by 0.05px * Ad 0.05px in safari too * lint * lint * remove baseline from measureFontSizeFromWH * don't redraw on font load * lint * refactor name and signature * fix: compute container height from bound text correctly (#6273) * fix: compute container height from bound text correctly * fix specs * Add tests * fix: svg text baseline (#6285 * fix: svg text baseline * fix for multiline --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: David Luzar <luzar.david@gmail.com> Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> Co-authored-by: Antonio Della Fortuna <50418432+adarkforce@users.noreply.github.com> Co-authored-by: Antonio Della Fortuna <a.dellafortuna00@gmail.com> Co-authored-by: DanielJGeiger <1852529+DanielJGeiger@users.noreply.github.com> Co-authored-by: Fer <63980689+1fbr@users.noreply.github.com> Co-authored-by: fennghuang <89014758+fennghuang@users.noreply.github.com> Co-authored-by: Ryan Di <ryan.weihao.di@gmail.com> Co-authored-by: Ryan <diweihao@bytedance.com> Co-authored-by: Excalidraw Bot <77840495+excalibot@users.noreply.github.com> Co-authored-by: EternalWill43 <70084418+EternalWill43@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Barnabás Molnár <38168628+barnabasmolnar@users.noreply.github.com> Co-authored-by: Nishant-l <61119157+Nishant-l@users.noreply.github.com> Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> Co-authored-by: JUNYI OU <49964599+Irvingouj@users.noreply.github.com> Co-authored-by: Jang Min <jangmin.dev@gmail.com> Co-authored-by: Matthieu Rossignon <51274353+Mattross45@users.noreply.github.com> Co-authored-by: Dejavu Moe <jialong.vip@gmail.com> Co-authored-by: Luka Hietala <95122845+LukaHietala@users.noreply.github.com> Co-authored-by: Milos Vetesnik <maielo.mv@gmail.com> Co-authored-by: Jan Klass <kissaki@posteo.de> Co-authored-by: Hikaru Yoshino <57059705+osushicrusher@users.noreply.github.com> Co-authored-by: Tengku Farhan <109069184+tfarhan00@users.noreply.github.com>
1231 lines
33 KiB
JavaScript
1231 lines
33 KiB
JavaScript
export const libraryItems = [
|
|
[
|
|
{
|
|
type: "line",
|
|
version: 1699,
|
|
versionNonce: 1813275999,
|
|
isDeleted: false,
|
|
id: "1OMHrnYMU3LJ3w3IaXU_R",
|
|
fillStyle: "hachure",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: 209.72304760646858,
|
|
y: 338.83587294718825,
|
|
strokeColor: "#881fa3",
|
|
backgroundColor: "#be4bdb",
|
|
width: 116.42036295658873,
|
|
height: 103.65107323746608,
|
|
seed: 1445523839,
|
|
groupIds: [],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[-92.28090097254909, 7.105427357601002e-15],
|
|
[-154.72281841151394, 19.199290805487394],
|
|
[-155.45758928571422, 79.43840749607878],
|
|
[-99.89923520113778, 103.6510732374661],
|
|
[-40.317783799181804, 79.1587107641305],
|
|
[-39.037226329125524, 21.285677238400705],
|
|
[-92.28090097254909, 7.105427357601002e-15],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
],
|
|
[
|
|
{
|
|
type: "line",
|
|
version: 3901,
|
|
versionNonce: 540959103,
|
|
isDeleted: false,
|
|
id: "b-rwW8s76ztV_uTu1SHq1",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -249.48446738689245,
|
|
y: 374.851387389359,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "#228be6",
|
|
width: 88.21658171083376,
|
|
height: 113.8575037534261,
|
|
seed: 1513238033,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[-0.22814350714115691, -43.414939319563715],
|
|
[0.06274947619197979, 42.63794490105306],
|
|
[-0.21453039840335475, 52.43469208825097],
|
|
[4.315205554872581, 56.66774540453215],
|
|
[20.089784992984285, 60.25027917349701],
|
|
[46.7532926683984, 61.365826671969444],
|
|
[72.22851104292477, 59.584691681394986],
|
|
[85.76368213524371, 55.325139565662596],
|
|
[87.67263486434864, 51.7342924478499],
|
|
[87.94074036468018, 43.84700272879395],
|
|
[87.73030872197806, -36.195582644606276],
|
|
[87.2559282533682, -43.758132174307036],
|
|
[81.5915337527493, -47.984890854524416],
|
|
[69.66352776578219, -50.4328058257654],
|
|
[42.481213744224995, -52.49167708145666],
|
|
[20.68789182864576, -51.26396751574663],
|
|
[3.5475921483286084, -47.099726468136254],
|
|
[-0.2758413461535838, -43.46664538034193],
|
|
[-0.22814350714115691, -43.414939319563715],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 1635,
|
|
versionNonce: 1383184881,
|
|
isDeleted: false,
|
|
id: "3CMZYj34FwjhgPB7jUC3f",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -249.02524930453623,
|
|
y: 398.8804363713438,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "transparent",
|
|
width: 88.30808627974527,
|
|
height: 9.797916664247975,
|
|
seed: 683951089,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, -2.1538602707609424],
|
|
[2.326538897826852, 1.751753055375216],
|
|
[12.359939318521995, 5.028526743934819],
|
|
[25.710950037209347, 7.012921076245119],
|
|
[46.6269757640547, 7.193749997581346],
|
|
[71.03526003420632, 5.930375670950649],
|
|
[85.2899738827162, 1.3342483900732343],
|
|
[88.30808627974527, -2.6041666666666288],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 1722,
|
|
versionNonce: 303290783,
|
|
isDeleted: false,
|
|
id: "DX3fUhBWtlJwYyrBDhebG",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -250.11899081659772,
|
|
y: 365.80628180927204,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "transparent",
|
|
width: 88.30808627974527,
|
|
height: 9.797916664247975,
|
|
seed: 1817746897,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, -2.1538602707609424],
|
|
[2.326538897826852, 1.751753055375216],
|
|
[12.359939318521995, 5.028526743934819],
|
|
[25.710950037209347, 7.012921076245119],
|
|
[46.6269757640547, 7.193749997581346],
|
|
[71.03526003420632, 5.930375670950649],
|
|
[85.2899738827162, 1.3342483900732343],
|
|
[88.30808627974527, -2.6041666666666288],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 4738,
|
|
versionNonce: 753357777,
|
|
isDeleted: false,
|
|
id: "a-Snvp2FgqDYqSLylF44S",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -251.23981350275943,
|
|
y: 323.4117518426986,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "#fff",
|
|
width: 87.65074610854188,
|
|
height: 17.72670397681366,
|
|
seed: 1409727409,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: ["bxuMGTzXLn7H-uBCptINx"],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 109,
|
|
versionNonce: 1992641983,
|
|
isDeleted: false,
|
|
id: "7-6c-JFuB2yGoNQRgb2WM",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -179.73008120217884,
|
|
y: 347.98755471983213,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "#fff",
|
|
width: 12.846057046979809,
|
|
height: 13.941904362416096,
|
|
seed: 1073094033,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 158,
|
|
versionNonce: 1028567473,
|
|
isDeleted: false,
|
|
id: "150XitJtlKDhTPRCyzv56",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -179.73008120217884,
|
|
y: 378.5900085788926,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "#fff",
|
|
width: 12.846057046979809,
|
|
height: 13.941904362416096,
|
|
seed: 526271345,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 212,
|
|
versionNonce: 158547423,
|
|
isDeleted: false,
|
|
id: "cmwAR3NBl1VqvSorrQN2W",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -179.73008120217884,
|
|
y: 411.8508097533892,
|
|
strokeColor: "#0a11d3",
|
|
backgroundColor: "#fff",
|
|
width: 12.846057046979809,
|
|
height: 13.941904362416096,
|
|
seed: 243707217,
|
|
groupIds: ["N2YAi9nU-wlRb0rDaDZoe"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
],
|
|
[
|
|
{
|
|
type: "diamond",
|
|
version: 659,
|
|
versionNonce: 1294871039,
|
|
isDeleted: false,
|
|
id: "aDDArXRjZugwyEawdhCeZ",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -109.55894395256101,
|
|
y: 381.22641397493356,
|
|
strokeColor: "#c92a2a",
|
|
backgroundColor: "#fd8888",
|
|
width: 112.64736525303451,
|
|
height: 36.77344700318558,
|
|
seed: 511870335,
|
|
groupIds: ["M6ByXuSmtHCr3RtPPKJQh"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "diamond",
|
|
version: 700,
|
|
versionNonce: 60864881,
|
|
isDeleted: false,
|
|
id: "Hzx8zkeyDs3YicO2Tdv6G",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -109.55894395256101,
|
|
y: 372.354634046675,
|
|
strokeColor: "#c92a2a",
|
|
backgroundColor: "#fd8888",
|
|
width: 112.64736525303451,
|
|
height: 36.77344700318558,
|
|
seed: 1283079231,
|
|
groupIds: ["M6ByXuSmtHCr3RtPPKJQh"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "diamond",
|
|
version: 780,
|
|
versionNonce: 251040287,
|
|
isDeleted: false,
|
|
id: "PNzYhT295VNCT5EXmqvmw",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -109.55894395256101,
|
|
y: 359.72407445196296,
|
|
strokeColor: "#c92a2a",
|
|
backgroundColor: "#fd8888",
|
|
width: 112.64736525303451,
|
|
height: 36.77344700318558,
|
|
seed: 996251633,
|
|
groupIds: ["M6ByXuSmtHCr3RtPPKJQh"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "diamond",
|
|
version: 822,
|
|
versionNonce: 1862951761,
|
|
isDeleted: false,
|
|
id: "jiMMAhQF3__7bF-obgXc0",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -109.55894395256101,
|
|
y: 347.1924021546656,
|
|
strokeColor: "#c92a2a",
|
|
backgroundColor: "#fd8888",
|
|
width: 112.64736525303451,
|
|
height: 36.77344700318558,
|
|
seed: 1764842481,
|
|
groupIds: ["M6ByXuSmtHCr3RtPPKJQh"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
],
|
|
[
|
|
{
|
|
type: "line",
|
|
version: 4766,
|
|
versionNonce: 2003030321,
|
|
isDeleted: false,
|
|
id: "BXfdLRoPYZ9MIumzzoA9-",
|
|
fillStyle: "hachure",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 1.5707963267948957,
|
|
x: -471.6208001976387,
|
|
y: 520.7681448415112,
|
|
strokeColor: "#087f5b",
|
|
backgroundColor: "#40c057",
|
|
width: 52.317507746132115,
|
|
height: 154.56722543646003,
|
|
seed: 1424381745,
|
|
groupIds: ["HSrtfEf-CssQTf160Fb6R"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[-0.24755378372925183, -40.169554027464216],
|
|
[-0.07503751055611152, 76.6515171914404],
|
|
[-0.23948042713317108, 89.95108885873196],
|
|
[2.446913573036335, 95.69766931810295],
|
|
[11.802146636255692, 100.56113713047068],
|
|
[27.615140546177496, 102.07554835500338],
|
|
[42.72341054254274, 99.65756899883291],
|
|
[50.75054563137204, 93.87501510096598],
|
|
[51.88266441510958, 89.00026150397161],
|
|
[52.04166639997853, 78.29287333983132],
|
|
[51.916868330459295, -30.36891819848148],
|
|
[51.635533423123285, -40.63545540065934],
|
|
[48.27622163143906, -46.37349057843314],
|
|
[41.202227904674494, -49.69665692879073],
|
|
[25.081551986374073, -52.49167708145666],
|
|
[12.15685839679867, -50.825000270901],
|
|
[1.9916746648394732, -45.171835889467935],
|
|
[-0.2758413461535838, -40.23974757720194],
|
|
[-0.24755378372925183, -40.169554027464216],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 2405,
|
|
versionNonce: 2120341087,
|
|
isDeleted: false,
|
|
id: "TYsYe2VvJ60T_yKa3kyOw",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 1.5707963267948957,
|
|
x: -496.3957643857249,
|
|
y: 541.7241190920508,
|
|
strokeColor: "#087f5b",
|
|
backgroundColor: "transparent",
|
|
width: 50.7174766392476,
|
|
height: 12.698053371678215,
|
|
seed: 726657713,
|
|
groupIds: ["HSrtfEf-CssQTf160Fb6R"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, -2.0205717204386002],
|
|
[1.3361877396713384, 3.0410845646550486],
|
|
[7.098613049589299, 7.287767671898479],
|
|
[14.766422451441104, 9.859533283467512],
|
|
[26.779003528407447, 10.093886705011586],
|
|
[40.79727342221974, 8.456559589697127],
|
|
[48.98410145879092, 2.500000505196364],
|
|
[50.7174766392476, -2.6041666666666288],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 2538,
|
|
versionNonce: 1913946897,
|
|
isDeleted: false,
|
|
id: "VIuxhGjvYUBniitomEkKm",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 1.5707963267948957,
|
|
x: -450.969983237283,
|
|
y: 542.1789894334747,
|
|
strokeColor: "#087f5b",
|
|
backgroundColor: "transparent",
|
|
width: 50.57247907260371,
|
|
height: 10.178760037658167,
|
|
seed: 1977326481,
|
|
groupIds: ["HSrtfEf-CssQTf160Fb6R"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, -2.136356936862347],
|
|
[1.332367676378171, 1.9210669226078037],
|
|
[7.078318632616268, 5.325208253515953],
|
|
[14.724206326638113, 7.386735659885842],
|
|
[26.70244431044034, 7.574593370991538],
|
|
[40.68063699304561, 6.262111896696538],
|
|
[48.84405948536458, 1.4873339211608216],
|
|
[50.57247907260371, -2.6041666666666288],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 5503,
|
|
versionNonce: 1236644479,
|
|
isDeleted: false,
|
|
id: "1acGiqpJjntE3sr1JVnBP",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 1.5707963267948957,
|
|
x: -404.36521010516793,
|
|
y: 534.1894365757241,
|
|
strokeColor: "#087f5b",
|
|
backgroundColor: "#fff",
|
|
width: 51.27812853552538,
|
|
height: 22.797152568995934,
|
|
seed: 1774660383,
|
|
groupIds: ["HSrtfEf-CssQTf160Fb6R"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: ["bxuMGTzXLn7H-uBCptINx"],
|
|
},
|
|
],
|
|
[
|
|
{
|
|
type: "rectangle",
|
|
version: 4270,
|
|
versionNonce: 309922463,
|
|
isDeleted: false,
|
|
id: "SqGRpNqls7OV1QB2Eq-0m",
|
|
fillStyle: "solid",
|
|
strokeWidth: 2,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -393.3000561423187,
|
|
y: 338.9742643666818,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 70.67858069123133,
|
|
height: 107.25081879410921,
|
|
seed: 371096063,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [
|
|
"CFu0B4Mw_1wC1Hbgx8Fs0",
|
|
"XIl_NhaFtRO00pX5Pq6VU",
|
|
"EndiSTFlx1AT7vcBVjgve",
|
|
],
|
|
},
|
|
{
|
|
type: "rectangle",
|
|
version: 4319,
|
|
versionNonce: 896119505,
|
|
isDeleted: false,
|
|
id: "fayss6b_GPh6LK1x4iX-q",
|
|
fillStyle: "solid",
|
|
strokeWidth: 2,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -400.8474891780329,
|
|
y: 331.95417508096745,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 70.67858069123133,
|
|
height: 107.25081879410921,
|
|
seed: 685932433,
|
|
groupIds: ["0RJwA-yKP5dqk5oMiSeot", "9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [
|
|
"CFu0B4Mw_1wC1Hbgx8Fs0",
|
|
"XIl_NhaFtRO00pX5Pq6VU",
|
|
"EndiSTFlx1AT7vcBVjgve",
|
|
],
|
|
},
|
|
{
|
|
type: "rectangle",
|
|
version: 4417,
|
|
versionNonce: 1968987839,
|
|
isDeleted: false,
|
|
id: "HgAnv2rwYhUpLiJiZAXv-",
|
|
fillStyle: "solid",
|
|
strokeWidth: 2,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -410.24257846374826,
|
|
y: 323.7002688309677,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 70.67858069123133,
|
|
height: 107.25081879410921,
|
|
seed: 58634943,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [
|
|
"CFu0B4Mw_1wC1Hbgx8Fs0",
|
|
"XIl_NhaFtRO00pX5Pq6VU",
|
|
"EndiSTFlx1AT7vcBVjgve",
|
|
],
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 3541,
|
|
versionNonce: 1680683185,
|
|
isDeleted: false,
|
|
id: "12aO-Bs9HdALZN_-tuQTr",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -398.2561518768373,
|
|
y: 371.84603609547054,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 46.57983585730082,
|
|
height: 3.249953844290203,
|
|
seed: 1673003743,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
points: [
|
|
[0, 0.6014697828497827],
|
|
[40.42449133807562, 0.7588628355182573],
|
|
[46.57983585730082, -2.491091008771946],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 3567,
|
|
versionNonce: 620768991,
|
|
isDeleted: false,
|
|
id: "Ck_Y0EVPh_fsY0qoRnGiD",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -396.400899638823,
|
|
y: 340.9822185794818,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 45.567415680676426,
|
|
height: 2.8032978840147194,
|
|
seed: 1821527807,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
points: [
|
|
[0, 0],
|
|
[16.832548902953302, -2.8032978840147194],
|
|
[45.567415680676426, -0.3275477042019195],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 3592,
|
|
versionNonce: 1300624017,
|
|
isDeleted: false,
|
|
id: "a_7IZapEuD918VW1P8Ss_",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -396.4774991551924,
|
|
y: 408.37659284983897,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 48.33668263438425,
|
|
height: 4.280657518731036,
|
|
seed: 1485707039,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
points: [
|
|
[0, 0],
|
|
[26.41225578429045, -0.2552319773002338],
|
|
[37.62000339651456, 2.3153712935189787],
|
|
[48.33668263438425, -1.9652862252120569],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 3629,
|
|
versionNonce: 737475327,
|
|
isDeleted: false,
|
|
id: "8io6FVNdFOLsQ266W8Lni",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -399.6615463367227,
|
|
y: 419.61974125811776,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 54.40694982784246,
|
|
height: 2.9096445412231735,
|
|
seed: 1042012991,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
points: [
|
|
[0, 0],
|
|
[10.166093050596771, -1.166642430373031],
|
|
[16.130660965377448, -0.8422655250909383],
|
|
[46.26079588567538, 0.6125567455206506],
|
|
[54.40694982784246, -2.297087795702523],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 3594,
|
|
versionNonce: 1982560369,
|
|
isDeleted: false,
|
|
id: "LJI5kY6tg7UFAjPV3fKL-",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -399.3767034411569,
|
|
y: 356.042820132743,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 46.92865289294453,
|
|
height: 2.4757501798128,
|
|
seed: 295443295,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
points: [
|
|
[0, 0],
|
|
[18.193786115221407, -0.5912874140789839],
|
|
[46.92865289294453, 1.884462765733816],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 3609,
|
|
versionNonce: 1857766175,
|
|
isDeleted: false,
|
|
id: "zCrZOHW-q8YWKLw6ltKxX",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -399.26921524500654,
|
|
y: 390.5261491685826,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 46.92865289294453,
|
|
height: 2.4757501798128,
|
|
seed: 1734301567,
|
|
groupIds: ["9ppmKFUbA4iKjt8FaDFox"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
points: [
|
|
[0, 0],
|
|
[8.093938105125233, 1.4279702913643746],
|
|
[18.193786115221407, -0.5912874140789839],
|
|
[46.92865289294453, 1.884462765733816],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
],
|
|
[
|
|
{
|
|
type: "rectangle",
|
|
version: 676,
|
|
versionNonce: 1841530687,
|
|
isDeleted: false,
|
|
id: "XOD3vRhtoLWoxC9wF9Sk8",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -593.9896997899341,
|
|
y: 343.9798351106279,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "transparent",
|
|
width: 127.88383573213892,
|
|
height: 76.53703389977764,
|
|
seed: 106569279,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 462,
|
|
versionNonce: 1737150513,
|
|
isDeleted: false,
|
|
id: "WBkTga1PjKzYK-tcGjnjZ",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -595.0652975408293,
|
|
y: 354.6963695028721,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "transparent",
|
|
width: 128.84193229844433,
|
|
height: 0,
|
|
seed: 73916127,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, 0],
|
|
[128.84193229844433, 0],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 282,
|
|
versionNonce: 1198409567,
|
|
isDeleted: false,
|
|
id: "FHX0ZsIzUUfYPJqrZ8Lso",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 0,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -589.5016643209792,
|
|
y: 348.2514049106367,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fa5252",
|
|
width: 5.001953125,
|
|
height: 5.001953125,
|
|
seed: 387857791,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 327,
|
|
versionNonce: 1661182481,
|
|
isDeleted: false,
|
|
id: "ugVRR0f_uDOjrllO10yAs",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 0,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -579.2389690084792,
|
|
y: 348.2514049106367,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fab005",
|
|
width: 5.001953125,
|
|
height: 5.001953125,
|
|
seed: 1486370207,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 385,
|
|
versionNonce: 2047607679,
|
|
isDeleted: false,
|
|
id: "SBzNA0Sn-ou4QGxotj0SB",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 0,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -568.525552542133,
|
|
y: 348.7021260644829,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#40c057",
|
|
width: 5.001953125,
|
|
height: 5.001953125,
|
|
seed: 610150847,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 664,
|
|
versionNonce: 2135373809,
|
|
isDeleted: false,
|
|
id: "VKcfbELTVlyJ90m0bGsj0",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 90,
|
|
angle: 0,
|
|
x: -552.4984915525058,
|
|
y: 364.75449494249875,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#04aaf7",
|
|
width: 42.72020253937572,
|
|
height: 42.72020253937572,
|
|
seed: 144280593,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "draw",
|
|
version: 1281,
|
|
versionNonce: 1708997535,
|
|
isDeleted: false,
|
|
id: "zWrJVrKnkF5K8iXNxi9Aa",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 0,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -530.327851842306,
|
|
y: 378.9357912947449,
|
|
strokeColor: "#087f5b",
|
|
backgroundColor: "#40c057",
|
|
width: 28.226201983883442,
|
|
height: 24.44112284281997,
|
|
seed: 29167967,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[4.907524351775825, 2.043055712211473],
|
|
[3.0769604829149455, 1.6284171290602836],
|
|
[-2.66472604008681, -4.228569719133945],
|
|
[-6.450168189798415, -2.304577297733668],
|
|
[-7.704241049212052, 4.416384506147983],
|
|
[-6.361372181234263, 8.783101300254884],
|
|
[-12.516984713388897, 10.9291595737194],
|
|
[-12.295677738198286, 15.686226498407976],
|
|
[-7.473371426945252, 15.393030178104425],
|
|
[-3.787654025313423, 11.5207568827343],
|
|
[1.2873793872375165, 19.910682356036197],
|
|
[4.492232250183542, 20.212553123686025],
|
|
[1.1302787567009416, 6.843494873631317],
|
|
[6.294108177816019, 6.390688722156585],
|
|
[8.070028349098962, 7.910451897221202],
|
|
[14.143675334886687, 7.910451897221202],
|
|
[15.709217270494545, 2.6780252579576427],
|
|
[9.128749989671498, 3.1533849725326517],
|
|
[10.393751588600717, -3.7167773257046695],
|
|
[7.380151667177483, -3.30213874255348],
|
|
[4.669824267311791, 1.1200945145694894],
|
|
[4.907524351775825, 2.043055712211473],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 701,
|
|
versionNonce: 1583157713,
|
|
isDeleted: false,
|
|
id: "LX6kTl9A8K36ld2MEV4tI",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 90,
|
|
angle: 0,
|
|
x: -551.4394290784783,
|
|
y: 385.71736850567976,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#99bcff",
|
|
width: 42.095115772272244,
|
|
height: 0,
|
|
seed: 1443027377,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, 0],
|
|
[42.095115772272244, 0],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 2908,
|
|
versionNonce: 252866495,
|
|
isDeleted: false,
|
|
id: "SHmV_QtcwxIE-peI_QOX1",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 0,
|
|
opacity: 90,
|
|
angle: 0,
|
|
x: -546.3441000487039,
|
|
y: 372.6245229061568,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#99bcff",
|
|
width: 29.31860660384862,
|
|
height: 5.711199931375845,
|
|
seed: 244310513,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, -2.341683327443203],
|
|
[0.7724193963150375, -0.06510358900749044],
|
|
[4.103544916365185, 1.84492589414448],
|
|
[8.536129150893453, 3.0016281808630056],
|
|
[15.480325949120388, 3.1070332647092163],
|
|
[23.583965316012858, 2.3706131055211244],
|
|
[28.316582284417855, -0.3084668090492442],
|
|
[29.31860660384862, -2.6041666666666288],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 725,
|
|
versionNonce: 1969008561,
|
|
isDeleted: false,
|
|
id: "PKRg6SqIetkWIgRqBAnDY",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 90,
|
|
angle: 0,
|
|
x: -538.2701841247845,
|
|
y: 363.37196531290607,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "transparent",
|
|
width: 15.528434353116108,
|
|
height: 44.82230388130942,
|
|
seed: 683572113,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "line",
|
|
version: 3113,
|
|
versionNonce: 533471199,
|
|
isDeleted: false,
|
|
id: "HrelUAgvfxi_4v8MyL_iT",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 0,
|
|
opacity: 90,
|
|
angle: 0,
|
|
x: -544.828148539078,
|
|
y: 402.0199316371545,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#99bcff",
|
|
width: 29.31860660384862,
|
|
height: 5.896061363392446,
|
|
seed: 318798801,
|
|
groupIds: ["TC0RSM64Cxmu17MlE12-o"],
|
|
strokeSharpness: "round",
|
|
boundElementIds: [],
|
|
startBinding: null,
|
|
endBinding: null,
|
|
points: [
|
|
[0, 0],
|
|
[4.103544916365185, -4.322122351104391],
|
|
[8.536129150893453, -5.516265043290966],
|
|
[15.480325949120388, -5.625081903117008],
|
|
[23.583965316012858, -4.8648251269605955],
|
|
[28.316582284417855, -2.0990281379671547],
|
|
[29.31860660384862, 0.2709794602754383],
|
|
],
|
|
lastCommittedPoint: null,
|
|
startArrowhead: null,
|
|
endArrowhead: null,
|
|
},
|
|
],
|
|
[
|
|
{
|
|
type: "rectangle",
|
|
version: 685,
|
|
versionNonce: 706399231,
|
|
isDeleted: false,
|
|
id: "dba8s5bDYEnF20oGn2a8b",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -715.1043446306466,
|
|
y: 330.4231266309418,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#ced4da",
|
|
width: 70.81644178885557,
|
|
height: 108.30428902193904,
|
|
seed: 1914896753,
|
|
groupIds: ["GMZ-NW9lG7c1AtfBInZ0n"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "rectangle",
|
|
version: 835,
|
|
versionNonce: 851916657,
|
|
isDeleted: false,
|
|
id: "3HxCT4mFZF-jJ6m9pyOCt",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -706.996640540555,
|
|
y: 338.68030798133873,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 55.801163535143246,
|
|
height: 82.83278895375764,
|
|
seed: 1306468145,
|
|
groupIds: ["GMZ-NW9lG7c1AtfBInZ0n"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "ellipse",
|
|
version: 881,
|
|
versionNonce: 704574495,
|
|
isDeleted: false,
|
|
id: "xX9mcMHy_0Bn-D0UAMyCc",
|
|
fillStyle: "solid",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -684.8099707762028,
|
|
y: 425.0579911039235,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fff",
|
|
width: 11.427824006438863,
|
|
height: 11.427824006438863,
|
|
seed: 93422161,
|
|
groupIds: ["GMZ-NW9lG7c1AtfBInZ0n"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "rectangle",
|
|
version: 528,
|
|
versionNonce: 816914769,
|
|
isDeleted: false,
|
|
id: "h60d2h6UPYkopTlW_XEs4",
|
|
fillStyle: "cross-hatch",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -698.7169501405845,
|
|
y: 349.2244646574789,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fab005",
|
|
width: 39.2417827352022,
|
|
height: 19.889460471185775,
|
|
seed: 11646495,
|
|
groupIds: ["GMZ-NW9lG7c1AtfBInZ0n"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
{
|
|
type: "rectangle",
|
|
version: 570,
|
|
versionNonce: 1198069823,
|
|
isDeleted: false,
|
|
id: "bZbx28BjXM33JV1UezMcH",
|
|
fillStyle: "cross-hatch",
|
|
strokeWidth: 1,
|
|
strokeStyle: "solid",
|
|
roughness: 1,
|
|
opacity: 100,
|
|
angle: 0,
|
|
x: -698.7169501405845,
|
|
y: 384.7822247024333,
|
|
strokeColor: "#000000",
|
|
backgroundColor: "#fab005",
|
|
width: 39.2417827352022,
|
|
height: 19.889460471185775,
|
|
seed: 291717649,
|
|
groupIds: ["GMZ-NW9lG7c1AtfBInZ0n"],
|
|
strokeSharpness: "sharp",
|
|
boundElementIds: [],
|
|
},
|
|
],
|
|
];
|
|
|
|
const initialData = {
|
|
libraryItems,
|
|
};
|
|
export default initialData;
|