feat: sync showcase with WRNexusJS 0.8.72 and @wrnexus/ui 0.8.88
- Sync app, public, scripts, test and examples from the framework's component-showcase: redesigned component demos, marketing blocks under /blocks, template and preview galleries, distinct Timeline/Section variants, Chat Bubble receipts, a top-placement Drawer demo, and the playground code panel fix (objects in array props no longer blank out). - Standalone adaptations kept: the generator and tests read component-reference.json from the published @wrnexus/ui, and tests use the published @wrnexus/compiler and @wrnexus/syntax. - Dependencies: every @wrnexus/* package to its latest release (ui 0.8.88, styles 0.8.26, core 0.8.16, cli 0.8.72, ...), happy-dom for the playground tests, Tailwind 4.3; bun.lock and package-lock.json refreshed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bec9ef2889
commit
c0ac38c572
171 files changed
+21983
-35658
No files matched your search
@@ -8,13 +8,12 @@ page FrameworkGuidesGuide {
|
||||
<article class="page-docs guide-page">
|
||||
<nav class="docs-breadcrumbs" aria-label="Breadcrumb"><a href="/docs">Docs</a><span aria-hidden="true">/</span><span>Framework guides</span></nav>
|
||||
<header class="docs-intro"><span class="showcase-eyebrow">Getting Started</span><h1>Framework guides</h1><p>WRNexus components use native HTML semantics and framework component mounts.</p></header>
|
||||
<section class="guide-section guide-example"><h2>Configure and use it</h2><p>This is the smallest useful starting point. Copy it into the indicated application file or run it from the project root, then adjust the documented values for your product.</p><pre><code>bunx wrnexus inspect component Navbar .
|
||||
bunx wrnexus typecheck .</code></pre><h3>What changes after this</h3><p>The page depends on public component props, slots, and outputs, so framework upgrades do not depend on private markup.</p></section>
|
||||
<section class="guide-section"><h2>Mount components</h2><p>Use the component mount name directly in .wrn views. Props are typed, slots remain server-rendered, and declared outputs reach parent bindings.</p></section><section class="guide-section"><h2>Own page composition</h2><p>Keep application structure in pages and layouts. Use library components for reusable behavior, then add application-specific styles in the owning .wrn file.</p></section><section class="guide-section"><h2>Prefer semantic contracts</h2><p>Choose props, slots, and outputs over selectors that depend on a component's internal markup. This keeps applications compatible with framework upgrades.</p></section><section class="guide-section"><h2>Inspect before integrating</h2><p>Use the CLI component inspector for the exact prop, slot, and output contract, then type-check the finished page.</p></section>
|
||||
<section class="guide-section"><h2>Verify the result</h2><p>Type-check the application, inspect the resolved package and styles, and build the production artifact. Test the page at a narrow viewport, with keyboard navigation, and in both color modes before shipping.</p><pre><code>bunx wrnexus typecheck .
|
||||
bunx wrnexus inspect packages .
|
||||
bunx wrnexus inspect styles .
|
||||
bunx wrnexus build .</code></pre><h3>Expected result</h3><p>The commands exit successfully, the build reports the installed UI components and active theme, and the rendered page remains usable before and after hydration.</p></section>
|
||||
<section class="guide-section"><h2>Overview</h2><p>WRNexus components use native HTML semantics and framework component mounts.</p></section><section class="guide-section"><h2>Configuration</h2><p>Use the design switcher in the header to test this setting live.</p></section><section class="guide-section"><h2>Component behavior</h2><p>The setting is inherited by components, blocks, templates, and playground previews.</p></section>
|
||||
<section class="guide-section"><h2>Connect a field to page state</h2><p>Props supply initial configuration. Output handlers receive payload directly. Use payload.value to update your page state and display the committed result.</p><pre><code>page NameForm <span>{</span>
|
||||
state name: string = ""
|
||||
view <span>{</span> <Input label="Your name" value="<span>{</span>name<span>}</span>" @input="name = payload.value" /><p>Hello <span>{</span>name<span>}</span></p> <span>}</span>
|
||||
<span>}</span></code></pre><h3>Verify the result</h3><p>Open the matching component page, change its options, and try the keyboard controls. Copy the demonstrated configuration into your page, then replace sample content with your data.</p></section>
|
||||
|
||||
<nav class="guide-next"><a href="/components/button">Explore components <span aria-hidden="true">→</span></a><a href="/block-library">Browse blocks <span aria-hidden="true">→</span></a></nav>
|
||||
</article>
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user