USWDS Sandbox: test Stencil + Lit component composition #159
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-link
component from @uswds/web-components.Here, the basic Stencil
![image](https://private-user-images.githubusercontent.com/6290/378929500-caf0968f-f9df-44b5-8496-2e02688bac7c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNDk2NzcsIm5iZiI6MTczOTM0OTM3NywicGF0aCI6Ii82MjkwLzM3ODkyOTUwMC1jYWYwOTY4Zi1mOWRmLTQ0YjUtODQ5Ni0yZTAyNjg4YmFjN2MucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMDgzNjE3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWQ0YTc4YzEwYTk5MjBhZTA2MDUwNGM5NGNjYzVjZDExZGJkNWQxZTA1OGQwOGIwODg4YTg1NjgzYTIwOTUzNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ._RspbkOfbbISZ446HuJYN1HVX5Km1MyX3chrBK_WPFo)
my-component
component contains theusa-link
component:The end result looks like this:
![image](https://private-user-images.githubusercontent.com/6290/378929006-f427c1f8-7280-4b2d-9daa-db1a35b3e070.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNDk2NzcsIm5iZiI6MTczOTM0OTM3NywicGF0aCI6Ii82MjkwLzM3ODkyOTAwNi1mNDI3YzFmOC03MjgwLTRiMmQtOWRhYS1kYjFhMzViM2UwNzAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTJUMDgzNjE3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Yjk5MjIyMjNiNzNjYjA4NzQ0ZjBmM2FmNGIxMWFlYWU5NTkxZDBjY2Q2MGU3YWQ5NzUwNzljMGViZWM1YjU1YyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.VkyahQPEsaWtPqEq1Sw5XhA8uoTKztkSM8vizzry6k4)
The only changes to
my-component
are:href
prop, to show how props can be passed through to Lit components; andconnectedCallback
lifecycle method which checks whether theusa-link
component 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