The ::mf/props and ::mf/wrap-props metadata keys are no-ops on modern
components (those defined with mf/defc and the * suffix) since the *
suffix already triggers the props behavior these keys attempt to
configure. This cleanup removes the redundant metadata from modern
components across all UI directories.
Changes:
- comments/: comments
- dashboard/: comments, deleted, files, fonts, grid, import, libraries,
pin_button, projects, search, sidebar, subscription, team, templates
- exports/: files
- modal/: modal
- settings/: subscription
- static/: static
- viewer/: comments, interactions, viewer
- workspace/: context_menu, libraries, sidebar/assets,
viewport/gradients, tokens/settings/menu
* 🐛 Fix several race conditions on workspace and dashboard code
It also fixes a corner case that happens when penpot workspace
is loaded in a background tab on firefox.
* 🐛 Add missing team-id prop to several file returning endpoints
* 💄 Change call convention for dashboard grid component
* 🎉 Add helper component for easy portal to document
* 🐛 Fix context menu event handling issues
With this commit, the behavior of context menu and scroll is changed
to: close menu on scroll instead of disabling all pointer events while
menu is open. The previous behavior causes a second event of context
menu open a native browser context menu instead of penpot menu.
The rationale behind this change is to allow use of already
declared react context on modals; because with portals, react
propagates top context to the children, independently if they
are direct descendant on dom or not.
Relevant changes:
- replace user-viewer? with can-edit removing many double
negations on the code
- always use team permissions making the permissions access uniform
around all the code
- expose team permissions to ui tree through ctx/team-permissions
context