USWDS Sandbox: test Stencil + Lit component composition#159
Draft
heymatthenry wants to merge 3 commits into
Draft
USWDS Sandbox: test Stencil + Lit component composition#159heymatthenry wants to merge 3 commits into
heymatthenry wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This branch demonstrates how Lit-based USWDS web components can be used inside Stencil components. It uses the default component that Stencil generates when creating a new project, but consumes the
usa-linkcomponent from @uswds/web-components.Here, the basic Stencil

my-componentcomponent contains theusa-linkcomponent:The end result looks like this:

The only changes to
my-componentare:hrefprop, to show how props can be passed through to Lit components; andconnectedCallbacklifecycle method which checks whether theusa-linkcomponent is defined in the custom element registry, and defines it if it isn't.Local testing
To test it yourself, just check out this branch and then install its dependencies:
Then you can spin up the Stencil dev server.
If you want to confirm that everything works outside of the Stencil dev server, just build the site:
and then serve the static files however you choose. For instance, you can do the following