-
Notifications
You must be signed in to change notification settings - Fork 0
Quick start
Install v1.1.0, see a working component, then integrate it into your application. Node 24 or newer is required for the package CLI. The web runtime uses Custom Elements and ES modules. See Verification for tested environments.
In an existing npm project:
npm install --save-exact https://github.com/j3w1/theme/releases/download/v1.1.0/j3w1-ui-1.1.0.tgzKeep package.json and your package-manager lockfile. They record the archive dependency and its integrity. This is a package installation, not a live import from the documentation website.
For explicit pre-install verification, download j3w1-ui-1.1.0.tgz and release.json from the same release. Put them in one directory, save this as verify-release.mjs there, and run it:
import { readFile } from 'node:fs/promises';
import { createHash } from 'node:crypto';
const manifest = JSON.parse(await readFile('release.json', 'utf8'));
if (manifest.name !== '@j3w1/ui' || manifest.version !== '1.1.0' ||
manifest.file !== 'j3w1-ui-1.1.0.tgz') {
throw new Error('Unexpected release identity');
}
const bytes = await readFile('j3w1-ui-1.1.0.tgz');
const actual = 'sha256-' + createHash('sha256').update(bytes).digest('base64');
if (actual !== manifest.sha256 || bytes.length !== manifest.bytes) {
throw new Error('Release archive does not match release.json');
}
console.log('Release identity, length and SHA-256 match.');node verify-release.mjs
npm install --save-exact ./j3w1-ui-1.1.0.tgzA hash match proves agreement with the downloaded manifest; it does not replace choosing the trusted release source. Registry installation is an alternative only after the exact version is actually published to npm.
npx --no-install j3w1-ui listThe output lists component IDs and imports. Pick a small first task, such as text-field, button and dialog. Components lists all 67 entries and where their APIs and examples live.
npx --no-install j3w1-ui copy text-field --out ./j3w1-previewServe j3w1-preview with your existing local HTTP server and open its index.html. For example, if Python 3 is installed:
python -m http.server 8080 --bind 127.0.0.1 --directory ./j3w1-previewOpen http://127.0.0.1:8080/. ES modules must be served over HTTP; double-clicking an HTML file is not the supported workflow. The CLI refuses an existing output directory, so choose a new directory for another copy.
For a bundler-based browser entry:
import '@j3w1/ui/tokens.css';
import '@j3w1/ui/styles/text-field.css';
import '@j3w1/ui/register/text-field';Insert maintained markup from node_modules/@j3w1/ui/dist/examples/text-field.json, the generated element.html, or the component page. An empty <j3w1-text-field> does not create a label or input. Preserve native children and canonical classes; make IDs unique when reusing an example.
Use Vue integration for a complete SFC, or Web integration for HTML, React and Astro placement rules.
npx --no-install j3w1-ui kit --components text-field,button,dialog --mode package --framework vue --out ./j3w1-taskRead kit.json, selected examples, canonical/, rules/ and integration.md. Package mode produces integration instructions and contracts, not another copy of the installed runtime. Use --mode copy for complete source bundles. See Package and copy and Agent prompts.
Check labels, keyboard focus, required fields, successful FormData, reset, disabled states and narrow layout in your actual app. If you use a dialog, test Escape and focus return. Keep the exact package identity and theme revision alongside any unsupported mappings or deviations. See Verification.
Next: Vue integration · Themed controls · Troubleshooting.
Wiki home · Agent workflow · Portal · Vue demo · v1.1.0 release
This handbook explains consumption of v1.1.0. The pinned repository's tokens, specification, implementation contracts and evidence remain authoritative. The live site may advance; keep your application's pin explicit. Preserve the material's license notices.