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

wip: web components #382

Closed

Conversation

bennypowers
Copy link

Closes #363

An initial rough draft of the idea, still just at the noodling phase, but better to make a start than navel-gaze

Closes CloudCannon#363

An initial rough draft of the idea
@bglw
Copy link
Contributor

bglw commented Aug 15, 2023

Awesome, @bennypowers thanks for cracking into this!

Regarding Timelines

FYI I'm aiming to do a Pagefind 1.0 release within 2-3 weeks, so I'll aim to soft-exclude the Modular UI path from that. (It will still be available, as it currently is, but marked as experimental/fragile until this web component work completes).

So this PR might target something like a 1.1 release 🙂

Regarding the "Default UI"

I'll be adding a few features to the Default UI for the 1.0 release (sub-results, mainly). After that, I'm keen to help/iterate on this PR's approach to the Modular UI, with the aim of making the Modular UI & web components the primary recommendation when using Pagefind.

Regarding this PR so far

I'll need to upskill myself on web components a little! But skimming through it's looking pretty good. Some general questions and ponderings:

  • How do you propose we handle an option for whether the component is styled?
    • Currently a workflow is to omit the /_pagefind/*.css script and run your own styles.
    • Is there a nice way to use/inherit the site's styles, if a user wants the input style to match their existing theme?
  • One useful aspect of the existing Modular UI approach is the ability to target/hydrate an existing input element.
    • Do you think this is something we could work into the web component approach? or
    • Is this something best served with a separate piece of functionality altogether
  • How does register(instance) get called to connect this component to a Pagefind state (I assume this is just a TODO for now)

Let me know your thoughts! I'm keen to jump in and have a play with it, but I'll prioritize my 1.0 release tasks first 😅 Happy to keep ideating/reviewing in the meantime 🙂

@bennypowers
Copy link
Author

will have to let this pr rest until Hamas is utterly destroyed

@bglw
Copy link
Contributor

bglw commented Nov 11, 2023

Picking this up internally — will close out this draft PR for the time being

@bglw bglw closed this Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

offer a <page-find-ui> custom element
2 participants