@charde/core
v0.0.11
Published
Chardes Web Component Library
Readme
Chardes Component Starter
This is a starter project for building a standalone Web Components using Chardes.
Chardes is a compiler for building fast web apps using Web Components.
Chardes combines the best concepts of the most popular frontend frameworks into a compile-time rather than runtime tool. Chardes takes TypeScript, JSX, a tiny virtual DOM layer, efficient one-way data binding, an asynchronous rendering pipeline (similar to React Fiber), and lazy-loading out of the box, and generates 100% standards-based Web Components that run in any browser supporting the Custom Elements specification.
Chardes components are just Web Components, so they work in any major framework or with no framework at all.
Getting Started
To start building a new web component using Chardes, clone this repo to a new directory:
git clone https://github.com/Willochs316/charisol-component-starter.git my-component
cd my-component
git remote rm originand run:
npm install
npm startTo build the component for production, run:
npm run buildTo run the unit tests for the components, run:
npm testNaming Components
When creating new component tags, we recommend using chardes in the component name (ex: <chardes-datepicker>).
Using this component
Kindly find the strategies we recommend for using web components built with Chardes.
The first step for all two of these strategies is to publish to NPM.
Lazy Loading
If your Chardes project is built with the dist output target, you can import a small bootstrap script that registers all components and allows you to load individual component scripts lazily.
For example, given your Chardes project namespace is called my-design-system, to use my-component on any website, inject this into your HTML:
<script type="module" src="https://unpkg.com/my-design-system"></script>
<!--
To avoid unpkg.com redirects to the actual file, you can also directly import:
https://unpkg.com/[email protected]/dist/foobar-design-system/foobar-design-system.esm.js
-->
<my-component first="Chardes" middle="'Don't call me a framework'" last="JS"></my-component>This will only load the necessary scripts needed to render <my-component />. Once more components of this package are used, they will automatically be loaded lazily.
You can also import the script as part of your node_modules in your applications entry file:
import 'foobar-design-system/dist/foobar-design-system/foobar-design-system.esm.js';Live Demo Coming Soon
Check out this Live Demo.
Standalone
Check out this Live Demo.
Keywords
web components
