@vectoriox/iox-ui 4.38.0 → 4.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts
CHANGED
|
@@ -2116,6 +2116,18 @@ interface SeoFieldState {
|
|
|
2116
2116
|
source: SeoFieldSource;
|
|
2117
2117
|
/** Recommended length, where one applies — for the character counter. */
|
|
2118
2118
|
maxLength?: number;
|
|
2119
|
+
/**
|
|
2120
|
+
* The input controller this field is authored with — `text`, `textarea`, `image`, … — taken
|
|
2121
|
+
* from the SHARED schema, which is the single place that declares it.
|
|
2122
|
+
*
|
|
2123
|
+
* A panel renders the declared control; it never hand-rolls one. An `image` field rendered as a
|
|
2124
|
+
* text box throws away a picker the schema already asked for, and a raw `<input>` shares no
|
|
2125
|
+
* sizing, disabled state, RTL or theme with the rest of the app. See iox-ai-guidance
|
|
2126
|
+
* `CLAUDE.md` → Non-Negotiable Standards.
|
|
2127
|
+
*/
|
|
2128
|
+
control: string;
|
|
2129
|
+
/** Whatever the declared controller needs — select options, code language, range bounds. */
|
|
2130
|
+
options?: unknown;
|
|
2119
2131
|
}
|
|
2120
2132
|
/**
|
|
2121
2133
|
* Describe every bindable field for the authoring panel.
|
package/package.json
CHANGED
package/src/seo-core/schema.ts
CHANGED
|
@@ -109,7 +109,9 @@ export function buildSeoSchemaProperties(): Record<string, unknown> {
|
|
|
109
109
|
structuredData: {
|
|
110
110
|
type: 'object',
|
|
111
111
|
label: 'Structured Data (JSON-LD)',
|
|
112
|
-
|
|
112
|
+
// `code`, not `json`: the client registers `code` (CodeMirror) and has no `json`
|
|
113
|
+
// controller, so a `json` declaration silently falls back to a plain text box.
|
|
114
|
+
controller: { type: 'code', options: { language: 'json' } },
|
|
113
115
|
},
|
|
114
116
|
sitemap: {
|
|
115
117
|
type: 'object',
|