Integrations
Web Components
The CDN bundle registers all your design system components as native Web Components. No build step, no npm install. Just a script tag.
CDN usage
Drop this into any HTML page, including CMS-embedded pages (WordPress, Webflow, Squarespace). All components are registered as custom elements immediately. Because the URL includes latest, every app using this script automatically receives updated components whenever a new version is published, with no redeploy needed.
<!DOCTYPE html>
<html>
<head>
<!-- Drop into any HTML page, no build step needed -->
<!-- Always serves the latest published version automatically -->
<script
type="module"
src="https://cdn.reframeui.app/org/project/latest/design-system.js"
></script>
</head>
<body>
<ds-badge variant="success">Live</ds-badge>
<ds-button variant="primary">Deploy now</ds-button>
</body>
</html>How it works
The CDN bundle is a self-contained ES module that:
- 1.Injects your CSS custom properties (design tokens) into the document
- 2.Calls
customElements.define()for each component (e.g.ds-button,ds-badge) - 3.Handles attribute-to-prop reflection automatically
Web Components work in plain HTML, CMS-embedded code (WordPress, Webflow, Squarespace), and any JS framework via the DOM, since they're just HTML elements.
Use in existing frameworks
Even if you're using React, Vue, or Angular, you can use the CDN bundle to consume your design system without installing the framework-specific adapter. Useful for prototypes or apps that can't add npm dependencies:
// React 19+ supports web components natively
// Just add the script tag to your HTML and use as JSX:
export function App() {
return (
<div>
{/* TypeScript needs a declaration for custom elements */}
<ds-badge variant="success">Live</ds-badge>
<ds-button variant="primary">Deploy now</ds-button>
</div>
);
}Limitations
- •No tree-shaking: The CDN bundle includes all components. Use the npm adapter if bundle size matters.
- •No TypeScript types: Custom elements are untyped in JSX by default. Use the React/Vue/Angular adapter for full type safety.
- •SSR: Custom elements require a browser environment. For SSR, use the framework-specific adapters which handle hydration.
Next steps
Learn how to use the CLI to build, preview, and publish from CI.
CLI Reference →