* feat: allow the hiding of top picks
* feat: allow the hiding of default fonts
* refactor: rename to compactMode
* feat: introduce layout (incomplete)
* tweak icons
* do not show border
* lint
* add isTouchMobile to device
* add isTouchMobile to device
* refactor to use showCompactSidebar instead
* hide library label in compact
* fix icon color in dark theme
* fix library and share btns getting hidden in smaller tablet widths
* update tests
* use a smaller gap between shapes
* proper fix of range
* quicker switching between different popovers
* to not show properties panel at all when editing text
* fix switching between different popovers for texts
* fix popover not closable and font search auto focus
* change properties for a new or editing text
* change icon for more style settings
* use bolt icon for extra actions
* fix breakpoints
* use rem for icon sizes
* fix tests
* improve switching between triggers (incomplete)
* improve trigger switching (complete)
* clean up code
* put compact into app state
* fix button size
* remove redundant PanelComponentProps["compactMode"]
* move fontSize UI on top
* mobile detection (breakpoints incomplete)
* tweak compact mode detection
* rename appState prop & values
* update snapshots
---------
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>
* feat: switch between basic shapes
* add tab for testing
* style tweaks
* only show hint when a new node is created
* fix panel state
* refactor
* combine captures into one
* keep original font size
* switch multi
* switch different types altogether
* use tab only
* fix font size atom
* do not switch from active tool change
* prefer generic when mixed
* provide an optional direction when shape switching
* adjust panel bg & shadow
* redraw to correctly position text
* remove redundant code
* only tab to switch if focusing on app container
* limit which linear elements can be switched
* add shape switch to command palette
* remove hint
* cache initial panel position
* bend line to elbow if needed
* remove debug logic
* clean switch of arrows using app state
* safe conversion between line, sharp, curved, and elbow
* cache linear when panel shows up
* type safe element conversion
* rename type
* respect initial type when switching between linears
* fix elbow segment indexing
* use latest linear
* merge converted elbow points if too close
* focus on panel after click
* set roudness to null to fix drag points offset for elbows
* remove Mutable
* add arrowBoundToElement check
* make it dependent on one signle state
* unmount when not showing
* simpler types, tidy up code
* can change linear when it's linear + non-generic
* fix popup component lifecycle
* move constant to CLASSES
* DRY out type detection
* file & variable renaming
* refactor
* throw in not-prod instead
* simplify
* semi-fix bindings on `generic` type conversion
---------
Co-authored-by: dwelle <5153846+dwelle@users.noreply.github.com>