Skip to content

Documentation overhaul: Components#98

Merged
woksin merged 23 commits into
mainfrom
docs-overhaul
Jun 7, 2026
Merged

Documentation overhaul: Components#98
woksin merged 23 commits into
mainfrom
docs-overhaul

Conversation

@woksin

@woksin woksin commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Merge the Components docs-overhaul branch for the new Astro documentation site. Merge product documentation PRs before the Documentation site PR. Verification: Documentation/web npm run check built 710 pages with 0 errors and 0 broken internal links. Sensitive-info scan found no real secrets; only documentation placeholders/dev examples.

woksin and others added 23 commits May 30, 2026 17:22
Add Why Components, getting-started, and form/data/wizard/list recipes; replace the storybook-based toc with curated, Diataxis-bucketed navigation; fix Toolbar link depth.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the reference index with an aspire.dev-style Overview: a TopicHero plus Start here, Recipes, and Key components card grids.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Help readers pick between the overlapping components: CommandDialog vs
StepperCommandDialog vs CommandForm vs Dialog for input, and DataPage vs
DataTables for display, with rules of thumb and links to the recipes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reshape the flat install page into the project's guided-tour voice,
matching the Chronicle get-started exemplar. Authored as .mdx with Steps
and an Aside, threaded to the same RegisterAuthor/AllAuthors slice used
across the Arc getting-started pages. Adds a "what the provider sets up"
explanation, a Mermaid diagram showing where Components sits between the
generated proxies and PrimeReact, and a CommandDialog snippet so the
payoff is visible. Ends with a recap and forward links.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A threaded three-chapter tutorial builds one library screen on the Arc
proxies — a live data table, command-driven add/edit/remove, and a
DataPage list-and-detail view. A migration bridge maps the PrimeReact
forms and tables you'd hand-wire onto their Components equivalents, side
by side. Also surfaces the existing Choosing a component guide in the
sidebar.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Correct the list-and-detail tutorial to match the real DataPageProps interface — detailsComponent (lowercase), and drop the non-existent detailsTitle and initialSizes props — and rewrite the DataPage reference example to the idiomatic compound DataPage.Columns/DataPage.MenuItems API with a complete details-panel example.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Correct the DataTableForObservableQuery import to @cratis/components/DataTables (the root barrel only re-exports the namespace, matching Studio usage), add the required emptyMessage, and complete the list-screen DataPage example with title, emptyMessage, a toolbar menu item, and columns.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The documentation-authoring rules (tour voice, structure & formatting, the
cross-repo edit->sync->verify workflow, rendering/QA, correct examples) and
skills (edit/add/qa docs) live canonically in the Documentation repo's .ai/
and are shared to every repo. Copied here manually ahead of the
propagation-on-merge so docs work has the guidance now.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Source/.storybook/main.ts: minify CSS with esbuild instead of Vite's default
  lightningcss, which rejects stylesheets that start with a // comment
  ("Invalid empty selector") and broke `storybook build`.
- Documentation/storybook.md -> storybook.mdx: replace the DocFX storybook stub
  with a Starlight page that embeds the static Storybook via <StorybookEmbed/>.
- toc.yml: add the Storybook nav entry under Get started.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Resolve two conflicts:
- Documentation/toc.yml: keep the docs-overhaul bucketed nav (onboarding
  entries + the storybook.mdx embed page) and drop main's auto-generated
  per-story Storybook tree (pointed at the removed storybook.md) and its
  grouped "Components" block (incompatible with the converter's flat buckets).
  Carry over the one genuinely-new component from main as a flat entry: Filter.
- Source/.storybook/main.ts: take main's cssMinify:false. main fixed the same
  lightningcss "Invalid empty selector" build failure that the docs-overhaul
  esbuild override addressed; converging on main's fix avoids re-conflict.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Verified against Components/Source:
- Root-package import: the package root exposes Filter only as a namespace
  (`import * as Filter from './Filter'`), so the flat
  `import { FilterPanel, ... } from '@cratis/components'` is wrong. Show the
  namespace form (`import { Filter }` → `Filter.FilterPanel`). The
  `@cratis/components/Filter` subpath (flat) is unchanged and correct.
- RangeHistogramFilter `buckets` is optional (default 20), not required.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Snippet-correctness audit against current Components source. All fixes verified
against the component sources / type defs:
- Import paths: components are exposed from the root only as namespaces, so
  import each from its subpath (@cratis/components/<Component>); StepperPanel
  from primereact/stepperpanel.
- DataPage: detailsComponent (lowercase); detailsTitle/initialSizes removed
  (not real props).
- Props: ErrorBoundary takes only children (no fallback), ToolbarButton title
  (not tooltip), CommandDialog onCancel (not onHide), SchemaEditor canEdit
  (not readOnly).
- PivotViewer config shapes (getValue, real filter types, color keys, buckets,
  cardRenderer returns data); TimeMachine version/event shape.
- ConfirmationDialog/BusyIndicatorDialog are host-rendered (real trigger API).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The tree-shaking section's "before" and "after" had become near-identical (both
subpath imports). Show the actual anti-pattern: the package root re-exports each
component as a namespace, so importing from it pulls the whole package in —
contrasted with per-component subpath imports that tree-shake. Verified the
import surface against Components/Source (root namespaces + CommandForm re-exports
its fields).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the prerequisites aside with a standard Prerequisites section to
match the other products' onboarding shape.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Show the slice as an event model, highlighting that Components builds the two
ui blocks over the backend built in the Arc tutorial.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
DataPage renders a MenuItem's icon as <Icon/>, so the icon prop must be a component type (e.g. icon={FaPlus}) — string CSS classes and JSX elements don't render. ColorPickerField's default color is 000000, not ff0000. Verified against Components/Source.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Verified against current main (cratis/Components, PivotViewer/types.ts): filters, detailRenderer and getItemId are optional; only data, dimensions and cardRenderer are required.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@woksin woksin merged commit 70e5975 into main Jun 7, 2026
6 checks passed
@woksin woksin deleted the docs-overhaul branch June 7, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant