* fix: fallback to primary color if --color-primary-chubb not present
* rename to --color-primary-contrast-offset
* use contarst-offset
Co-authored-by: David Luzar <luzar.david@gmail.com>
* Update src/packages/excalidraw/README_NEXT.md
* remove
* Update src/packages/excalidraw/README_NEXT.md
Co-authored-by: David Luzar <luzar.david@gmail.com>
Co-authored-by: David Luzar <luzar.david@gmail.com>
* feat: Allow publishing libraries from UI
* Add status for each library item and show publish only for unpublished libs
* Add publish library dialog
* Pass the data to publish the library
* pass lib blob
* Handle old and new libraries when importing
* Better error handling
* Show publish success when library submitted for review
* don't close library when publish success dialog open
* Support multiple libs deletion and publish
* Set status to published once library submitted for review
* Save to LS after library published
* unique key for publish and delete
* fix layout shift when hover and also highlight selected library items
* design improvements
* migrate old library to the new one
* fix
* fix tests
* use i18n
* Support submit type in toolbutton
* Use html5 form validation, add asteriks for required fields, add twitter handle, mark github handle optional
* Add twitter handle in form state
* revert html5 validation as fetch is giving some issues :/
* clarify types around LibraryItems
* Add website optional field
* event.preventDefault to make htm5 form validationw work
* improve png generation by drawing a bounding box rect and aligining pngs to support multiple libs png
* remove ts-ignore
* add placeholders for fields
* decrease clickable area for checkbox by 0.5em
* add checkbox background color
* rename `items` to `elements`
* improve checkbox hit area
* show selected library items in publish dialog
* decrease dimensions by 3px to improve jerky experience when opening/closing library menu
* Don't close publish dialog when clicked outside
* Show selected library actions only when any library item selected and use icons instead of button
* rename library to libraryItems in excalidrawLib and added migration
* change icon and swap bg/color
* use blue brand color for hover/selected states
* prompt for confirmation when deleting library items
* separate unpublished items from published
* factor `LibraryMenu` into own file
* i18n and minor fixes for unpublished items
* fix not rendering empty cells when library empty
* don't render published section if empty and unpublished is not
* Add edit name functionality for library items
* fix
* edit lib name with onchange/blur
* bump library version
* prefer response error message
* add library urls to ENV vars
* mark lib item name as required
* Use input only for lib item name
* better error validation for lib items
* fix label styling for lib items
* design and i18n fixes
* Save publish dialog data to local storage and clear once published
* Add a note about MIT License
* Add note for guidelines
* Add tooltip for publish button
* Show spinner in submit button when submission is in progress
* assign id for older lib items when installed and set status as published for all lib when installed
* update export icon and support export library for selected items
* move LibraryMenuItems into its own component as its best to keep one comp per file
* fix spec
* Refactoring the library actions for reusablility
* show only load when items not present
* close on click outside in publish dialog
* ad dialog description and tweak copy
* vertically center input labels
* align input styles
* move author name input to other usernames
* rename param
* inline to simplify
* fix to not inline `undefined` class names
* fix version & include only latest lib schema in library export type
* await response callback
* refactor types
* refactor
* i18n
* align casing & tweaks
* move ls logic to publishLibrary
* support removal of item inside publish dialog
* fix labels for trash icon when items selected
* replace window.confirm for removal libs with confirm dialog
* fix input/textarea styling
* move library item menu scss to its own file
* use blue for load and cyan for publish
* reduce margin for submit and make submit => Submit
* Make library items header sticky
* move publish icon to left so there is no jerkiness when unpublish items selected
* update url
* fix grid gap between lib items
* Mark older items imported from initial data as unpublished
* add text to publish button on non-mobile
* add items counter
* fix test
* show personal and excal libs sections and personal goes first
* show toast on adding to library via contextMenu
* Animate plus icon and not the pending item
* fix snap
* use i18n when no item in publish dialog
* tweak style of new lib item
* show empty cells for both sections and set status as published for installed libs
* fix
* push selected item first in unpublished section
* set status as published for imported from webiste but unpublished for json
* Add items to the begining of library
* add `created` library item attr
* fix test
* use `defaultValue` instead of `value`
* fix dark theme styles
* fix toggle button not closing library
* close library menu on Escape
* tweak publish dialog item remove style
* fix remove icon in publish dialog
Co-authored-by: dwelle <luzar.david@gmail.com>
* fix: image not initialized correctly due to not renewing `state.pendingImageElement`
* ensure we replace elements on update
* set file as errored on >= 400 status respones
* flush queues on portal close
* fix mouse broadcast race condition
* stop mutating image elements when updating status
to fix race condition when closing/opening collab room
* check `files` when resolving `LayerUI`
* fix displaying AbortError
* Use Theme type everywhere
* Rename Appearance type to Theme for consistency
* Reorder headers in readme
The host don't need to pass hardcoded strings any more and instead can use the exported constant
* feat: support exporting json to excalidraw plus
* add Firebase Storage rules to codebase
* factor the onClick handler out
* move excal icon to icons.tsx
* handle export error
* feat: support updating appState in updateScene API
* make `updateScene.data.appState` more type-safe
* restore `appState` when passing to `updateScene`
* fix
Co-authored-by: dwelle <luzar.david@gmail.com>
* feat: dnt share library & attach to the excalidraw instance
* fix
* Add addToLibrary, resetLibrary and libraryItems in initialData
* remove comment
* handle errors & improve types
* remove resetLibrary and addToLibrary and add onLibraryChange prop
* set library cache to empty arrary on reset
* Add i18n for remove/add library
* Update src/locales/en.json
Co-authored-by: David Luzar <luzar.david@gmail.com>
* update docs
* Assign unique ID to
each excalidraw component and remove csrfToken from library as its not needed
* tweaks
Co-authored-by: David Luzar <luzar.david@gmail.com>
* update
* tweak
Co-authored-by: dwelle <luzar.david@gmail.com>
* fix: Bind keyboard events to excalidraw container
* fix cases around blurring
* fix modal rendering so keyboard shortcuts work on modal as well
* Revert "fix modal rendering so keyboard shortcuts work on modal as well"
This reverts commit 2c8ec6be8eff7d308591467fe2c33cfbca16138f.
* Attach keyboard event in react way so we need not handle portals separately (modals)
* dnt propagate esc event when modal shown
* focus the container when help dialog closed with shift+?
* focus the help icon when help dialog on close triggered
* move focusNearestTabbableParent to util
* rename util to focusNearestParent and remove outline from excal and modal
* Add prop bindKeyGlobally to decide if keyboard events should be binded to document and allow it in excal app, revert tests
* fix
* focus container after installing library, reset library and closing error dialog
* fix tests and create util to focus container
* Add excalidraw-container class to focus on the container
* pass focus container to library to focus current instance of excal
* update docs
* remove util as it wont be used anywhere
* fix propagation not being stopped for React keyboard handling
* tweak reamde
Co-authored-by: David Luzar <luzar.david@gmail.com>
* tweak changelog
* rename prop to handleKeyboardGlobally
Co-authored-by: dwelle <luzar.david@gmail.com>
* Remove width/height from the ".excalidraw" container so it will sized automatically.
* updated all ref calculation to ".excalidraw" instead of parent since now ".excalidraw" will get resized
* Remove props width/height as its not needed anymore.
* Resize handler is also not needed anymore.
* Position absolute canvas due to #3379 (comment)
* move css to style and remove one extra rerendering
* factor out mock logic for test
* set height, width so as to avoid unnecessary updates of regression snap
* better mock
* better type checking and omit width,height from getDefaultAppState and also restore
* revert
* default to window dimensions in constructor
* update docs
* update
* update
* tweaks