From 71c77888aaf835bdc90c8427f496e6efb14463e6 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 22:05:33 +0000 Subject: [PATCH] docs(core,guide,plugins): name the shape eight props tables describe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Eight property tables across seven pages never said what they described, so a reader could not reach the declaration behind them. Each now names its shape, following `api/schema-reference.md`'s `### TypeName` convention where the section documents exactly one shape, and with a lead sentence naming the shape and its declaring package where several grouped tables partition one shape. Every binding was made by READING the page and the declaration, not by a mechanical binder — an earlier mechanical pass bound 9 of 14 such tables to the wrong shape. - `core/app-schema.mdx` (two tables) - `AppComponentSchema` (`packages/types/src/app.ts`). - `core/report-schema.mdx` - `ReportComponentSchema` (`packages/types/src/reports.ts`), the name the page's own example imports. - `guide/notifications.md` - `NotificationSystemConfig` (`packages/react/src/context/NotificationContext.tsx`). This one REPLACES a name rather than adding one: the lead said "the spec `NotificationConfigSchema`", and `@objectstack/spec` declares no such symbol. - `plugins/plugin-charts.mdx` - `BarChartSchema`. - `plugins/plugin-editor.mdx` - `CodeEditorSchema`. - `plugins/plugin-markdown.mdx` - `MarkdownSchema`, qualified to the plugin's own copy because `@object-ui/types` declares the same name differently. - `plugins/plugin-report.mdx` - the spec's `Report` (`ReportSchema`). Ten further tables were left alone and reported instead: two describe an anonymous inline object, three sit on a name declared four times with disagreeing shapes, one is a keyboard-shortcut table and not a props table at all, two already name their shape, one describes an unnamed intersection declared at a registration site, and one has no candidate that agrees with it. No fenced block changed: the fenced-block extraction over all seven files is byte-identical before and after. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_019b5UBNMtTzKbVtZZGvFuxe --- content/docs/core/app-schema.mdx | 4 ++++ content/docs/core/report-schema.mdx | 5 +++++ content/docs/guide/notifications.md | 4 +++- content/docs/plugins/plugin-charts.mdx | 6 +++++- content/docs/plugins/plugin-editor.mdx | 6 +++++- content/docs/plugins/plugin-markdown.mdx | 8 +++++++- content/docs/plugins/plugin-report.mdx | 4 ++++ 7 files changed, 33 insertions(+), 4 deletions(-) diff --git a/content/docs/core/app-schema.mdx b/content/docs/core/app-schema.mdx index 12ccd3acc5..3a8d64acc9 100644 --- a/content/docs/core/app-schema.mdx +++ b/content/docs/core/app-schema.mdx @@ -61,6 +61,10 @@ const app: AppComponentSchema = { ## Properties +The tables in this section describe `AppComponentSchema`, declared by +`@object-ui/types` (`packages/types/src/app.ts`). They group its properties by +topic; the declaration remains the complete list. + ### Basic Configuration | Property | Type | Description | diff --git a/content/docs/core/report-schema.mdx b/content/docs/core/report-schema.mdx index 8e1d417018..9c6f53173f 100644 --- a/content/docs/core/report-schema.mdx +++ b/content/docs/core/report-schema.mdx @@ -73,6 +73,11 @@ const salesReport: ReportComponentSchema = { ## Properties +The tables in this section describe `ReportComponentSchema`, declared by +`@object-ui/types` (`packages/types/src/reports.ts`) and imported by name in the +example above. They group its properties by topic; the declaration remains the +complete list. + ### Basic Configuration | Property | Type | Description | diff --git a/content/docs/guide/notifications.md b/content/docs/guide/notifications.md index ab7847d101..330c32f62c 100644 --- a/content/docs/guide/notifications.md +++ b/content/docs/guide/notifications.md @@ -183,7 +183,9 @@ would be the same "validates, then does nothing" shape this whole area is about. ## Configuring the system -`NotificationProvider`'s `config` is the spec `NotificationConfigSchema`: +`NotificationProvider`'s `config` is `NotificationSystemConfig`, declared by +`@object-ui/react` (`packages/react/src/context/NotificationContext.tsx`) and +normalized by `resolveNotificationConfig`: | Key | Default | Effect | |---|---|---| diff --git a/content/docs/plugins/plugin-charts.mdx b/content/docs/plugins/plugin-charts.mdx index a7520403c9..e2c7dc393a 100644 --- a/content/docs/plugins/plugin-charts.mdx +++ b/content/docs/plugins/plugin-charts.mdx @@ -71,7 +71,11 @@ const schema = { } ``` -### Properties +### BarChartSchema + +Declared by `@object-ui/plugin-charts` (`packages/plugin-charts/src/types.ts`). +It extends `BaseSchema`, so the shared component properties are available on a +`bar-chart` node as well as the ones below. | Property | Type | Default | Description | |----------|------|---------|-------------| diff --git a/content/docs/plugins/plugin-editor.mdx b/content/docs/plugins/plugin-editor.mdx index e80bb05eea..c4d1681984 100644 --- a/content/docs/plugins/plugin-editor.mdx +++ b/content/docs/plugins/plugin-editor.mdx @@ -63,7 +63,11 @@ const schema = { } ``` -### Properties +### CodeEditorSchema + +Declared by `@object-ui/plugin-editor` (`packages/plugin-editor/src/types.ts`). +It extends `BaseSchema`, so the shared component properties are available on a +`code-editor` node as well as the ones below. | Property | Type | Default | Description | |----------|------|---------|-------------| diff --git a/content/docs/plugins/plugin-markdown.mdx b/content/docs/plugins/plugin-markdown.mdx index d81a723636..05697cda88 100644 --- a/content/docs/plugins/plugin-markdown.mdx +++ b/content/docs/plugins/plugin-markdown.mdx @@ -55,7 +55,13 @@ const schema = { } ``` -### Properties +### MarkdownSchema + +Declared by `@object-ui/plugin-markdown` +(`packages/plugin-markdown/src/types.ts`) — the plugin ships its own copy of +this name, so read it there rather than the same-named interface in +`@object-ui/types`. It extends `BaseSchema`, so the shared component properties +are available on a `markdown` node as well as the ones below. | Property | Type | Default | Description | |----------|------|---------|-------------| diff --git a/content/docs/plugins/plugin-report.mdx b/content/docs/plugins/plugin-report.mdx index df12da5138..44edca9c6f 100644 --- a/content/docs/plugins/plugin-report.mdx +++ b/content/docs/plugins/plugin-report.mdx @@ -38,6 +38,10 @@ shape. ## The authoring shape +The authoring shape is `Report`, declared by `@objectstack/spec/ui` +(`ReportSchema`) and shipped as `json-schema/ui/Report.json` — the same +declaration `defineReport` validates against. + | Key | Type | Meaning | | --------------- | --------------------------------- | ------------------------------------------------------------------------------ | | `name` | `string` (required) | Identifier, at least 2 characters. |