FineSoft Stencil
Composable custom elements, public component parts, and an optional Base UI theme. See the Stencil column for this project's implementation.
FINESOFT COMPONENTS / DOCUMENTATION
A Stencil Web Components library with an independent implementation, optional themes, and React reference examples from Base UI.
QUICK START / HTML
Load FineSoft Components directly from this site. No package install or build tool is required. The script registers the fs-* elements and loads each component when it is used.
<script type="module"
src="https://components.finesoft.org/cdn/finesoft-components/finesoft-components.esm.js"
></script>Add data-fs-theme="base-ui" to your <html> element for the built-in theme. No extra stylesheet is needed; omit the attribute to provide your own styles.
<!doctype html>
<html lang="en" data-fs-theme="base-ui">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>FineSoft Components · Plain HTML example</title>
<script type="module"
src="https://components.finesoft.org/cdn/finesoft-components/finesoft-components.esm.js"
></script>
<style>
body { max-width: 36rem; margin: 4rem auto; padding: 0 1.5rem; font-family: system-ui, sans-serif; }
h1 { font-size: 1.75rem; }
p { line-height: 1.6; }
fs-accordion-panel p { margin: 0; padding: 1rem; }
</style>
</head>
<body>
<h1>FineSoft Components</h1>
<p>A working Web Component, loaded with one script tag.</p>
<fs-accordion-root>
<fs-accordion-item value="getting-started">
<fs-accordion-header>
<fs-accordion-trigger>Do I need a build tool?</fs-accordion-trigger>
</fs-accordion-header>
<fs-accordion-panel>
<p>No. Add the module script and use the fs-* elements in your HTML.</p>
</fs-accordion-panel>
</fs-accordion-item>
<fs-accordion-item value="project">
<fs-accordion-header>
<fs-accordion-trigger>Is this the official Base UI library?</fs-accordion-trigger>
</fs-accordion-header>
<fs-accordion-panel>
<p>FineSoft Components is an independent Stencil implementation based on Base UI.</p>
</fs-accordion-panel>
</fs-accordion-item>
</fs-accordion-root>
</body>
</html>This URL follows the latest successful deployment. Use a current browser with JavaScript modules and Web Components support. A legacy nomodule build is not provided.
Composable custom elements, public component parts, and an optional Base UI theme. See the Stencil column for this project's implementation.
Compare FineSoft examples with frozen Base UI React 1.8.0 examples. React API text is preserved as an upstream reference.
Explore styling, composition, and component behavior before integrating the elements into your own application.
Read the styling guide ↗FineSoft Components is based on the open-source Base UI project. This site is maintained for FineSoft Components; it is not the official Base UI website and is not affiliated with or endorsed by the Base UI team.
Looking for the original React library? Visit the official Base UI documentation ↗