Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-framework support #302

Open
chrisvxd opened this issue Dec 20, 2023 · 5 comments
Open

Multi-framework support #302

chrisvxd opened this issue Dec 20, 2023 · 5 comments

Comments

@chrisvxd
Copy link
Member

Puck should explore support for multi-framework support, including:

  • Vue.js
  • Svelte
  • -> Insert other JS framework here <-

Considerations

  • The host application is React
  • The components API is React
  • The DropZone API uses context, which is very React

Related

Proposals

No formal proposal yet, just some ideas:

  • Keep core as React, and use web components or similar to wrap the host app
  • Wrap component render methods using a compatibility layer
  • Reconsider DropZone API to avoid context (see More portable data payload #255)
  • Consider web components
@peoray
Copy link

peoray commented May 4, 2024

@chrisvxd any updated plan on this? I'm interested in creating a port for Vue

@chrisvxd
Copy link
Member Author

chrisvxd commented May 6, 2024

@peoray I think we might need to tackle #255 first, which I'm planning to explore within the next couple of months.

Interesting to hear your exploring a Vue port. Are you considering an approach similar to the ones outlined above?

@peoray
Copy link

peoray commented May 9, 2024

@chrisvxd I'm not familiar with Web Component, but after reading about it, it sounds like a good idea. My initial thought was to rewrite in Vue

@tbinna
Copy link

tbinna commented Jul 11, 2024

Might be useful for this work: Atlassian has released a framework agnostic drag and drop library (I believe after stopping their efforts on the React-specific dnd library).

@chrisvxd
Copy link
Member Author

Thanks @tbinna! We're not considering pragmatic-drag-and-drop as it doesn't support some of the functionality we require (previews, animations)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants