schema-components 2.0.2 → 2.1.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/README.md +98 -1
- package/dist/SchemaComponent-B__6-5-E.d.mts +277 -0
- package/dist/SchemaComponent-BxzzsHsK.mjs +668 -0
- package/dist/adapter-ktQaheWB.d.mts +213 -0
- package/dist/constructorTypes-BdCiMS6e.d.mts +30 -0
- package/dist/core/adapter.d.mts +3 -213
- package/dist/core/constraintHint.d.mts +1 -1
- package/dist/core/constraints.d.mts +2 -2
- package/dist/core/contexts.d.mts +71 -0
- package/dist/core/contexts.mjs +1 -0
- package/dist/core/diagnostics.d.mts +1 -1
- package/dist/core/errors.d.mts +1 -1
- package/dist/core/fieldOrder.d.mts +1 -1
- package/dist/{react → core}/fieldPath.d.mts +2 -2
- package/dist/{react → core}/fieldPath.mjs +3 -3
- package/dist/core/formats.d.mts +1 -1
- package/dist/core/inferValue.d.mts +1 -1
- package/dist/core/limits.d.mts +1 -1
- package/dist/core/merge.d.mts +1 -1
- package/dist/core/normalise.d.mts +2 -2
- package/dist/core/ref.d.mts +1 -1
- package/dist/core/renderField.d.mts +147 -0
- package/dist/core/renderField.mjs +81 -0
- package/dist/core/renderer.d.mts +2 -199
- package/dist/core/swagger2.d.mts +1 -1
- package/dist/core/typeInference.d.mts +1 -982
- package/dist/core/types.d.mts +1 -1
- package/dist/core/unionMatch.d.mts +1 -1
- package/dist/core/version.d.mts +1 -1
- package/dist/core/walkBuilders.d.mts +3 -3
- package/dist/core/walker.d.mts +1 -1
- package/dist/{errors-Dki7tji4.d.mts → errors-DbaI04x2.d.mts} +1 -1
- package/dist/html/a11y.d.mts +2 -2
- package/dist/html/renderToHtml.d.mts +5 -5
- package/dist/html/renderToHtml.mjs +33 -18
- package/dist/html/renderToHtmlStream.d.mts +5 -5
- package/dist/html/renderers.d.mts +1 -1
- package/dist/html/streamRenderers.d.mts +3 -3
- package/dist/{inferValue-Ce-PviSD.d.mts → inferValue-eAnh50EM.d.mts} +3 -3
- package/dist/lit/SchemaComponent.d.mts +125 -0
- package/dist/lit/SchemaComponent.mjs +2 -0
- package/dist/lit/SchemaField.d.mts +65 -0
- package/dist/lit/SchemaField.mjs +2 -0
- package/dist/lit/SchemaView.d.mts +14 -0
- package/dist/lit/SchemaView.mjs +2 -0
- package/dist/lit/constructorTypes.d.mts +2 -0
- package/dist/lit/constructorTypes.mjs +1 -0
- package/dist/lit/contexts.d.mts +78 -0
- package/dist/lit/contexts.mjs +238 -0
- package/dist/lit/defaultResolver.d.mts +33 -0
- package/dist/lit/defaultResolver.mjs +2 -0
- package/dist/lit/registry.d.mts +66 -0
- package/dist/lit/registry.mjs +2 -0
- package/dist/lit/renderers/baseElement.d.mts +131 -0
- package/dist/lit/renderers/baseElement.mjs +109 -0
- package/dist/lit/renderers/recordHelpers.d.mts +25 -0
- package/dist/lit/renderers/recordHelpers.mjs +55 -0
- package/dist/lit/renderers/scArray.d.mts +14 -0
- package/dist/lit/renderers/scArray.mjs +86 -0
- package/dist/lit/renderers/scBoolean.d.mts +15 -0
- package/dist/lit/renderers/scBoolean.mjs +47 -0
- package/dist/lit/renderers/scConditional.d.mts +23 -0
- package/dist/lit/renderers/scConditional.mjs +65 -0
- package/dist/lit/renderers/scDiscriminated.d.mts +23 -0
- package/dist/lit/renderers/scDiscriminated.mjs +138 -0
- package/dist/lit/renderers/scEnum.d.mts +16 -0
- package/dist/lit/renderers/scEnum.mjs +66 -0
- package/dist/lit/renderers/scFile.d.mts +15 -0
- package/dist/lit/renderers/scFile.mjs +53 -0
- package/dist/lit/renderers/scLiteralNullNever.d.mts +30 -0
- package/dist/lit/renderers/scLiteralNullNever.mjs +57 -0
- package/dist/lit/renderers/scNumber.d.mts +15 -0
- package/dist/lit/renderers/scNumber.mjs +64 -0
- package/dist/lit/renderers/scObject.d.mts +14 -0
- package/dist/lit/renderers/scObject.mjs +57 -0
- package/dist/lit/renderers/scRecord.d.mts +14 -0
- package/dist/lit/renderers/scRecord.mjs +112 -0
- package/dist/lit/renderers/scString.d.mts +19 -0
- package/dist/lit/renderers/scString.mjs +165 -0
- package/dist/lit/renderers/scTuple.d.mts +14 -0
- package/dist/lit/renderers/scTuple.mjs +58 -0
- package/dist/lit/renderers/scUnion.d.mts +14 -0
- package/dist/lit/renderers/scUnion.mjs +44 -0
- package/dist/lit/renderers/scUnknown.d.mts +15 -0
- package/dist/lit/renderers/scUnknown.mjs +45 -0
- package/dist/lit/ssr.d.mts +37 -0
- package/dist/lit/ssr.mjs +9565 -0
- package/dist/lit/types.d.mts +2 -0
- package/dist/lit/types.mjs +1 -0
- package/dist/lit/widget.d.mts +71 -0
- package/dist/lit/widget.mjs +87 -0
- package/dist/openapi/ApiCallbacks.d.mts +1 -1
- package/dist/openapi/ApiLinks.d.mts +1 -1
- package/dist/openapi/ApiResponseHeaders.d.mts +1 -1
- package/dist/openapi/ApiSecurity.d.mts +1 -1
- package/dist/openapi/components.d.mts +4 -4
- package/dist/openapi/parser.d.mts +2 -2
- package/dist/openapi/resolve.d.mts +1 -1
- package/dist/preact/SchemaComponent.d.mts +3 -0
- package/dist/preact/SchemaComponent.mjs +26 -0
- package/dist/preact/SchemaErrorBoundary.d.mts +2 -0
- package/dist/preact/SchemaErrorBoundary.mjs +20 -0
- package/dist/preact/SchemaView.d.mts +2 -0
- package/dist/preact/SchemaView.mjs +22 -0
- package/dist/preact/headless.d.mts +2 -0
- package/dist/preact/headless.mjs +18 -0
- package/dist/react/SchemaComponent.d.mts +3 -270
- package/dist/react/SchemaComponent.mjs +41 -32
- package/dist/react/SchemaView.d.mts +6 -6
- package/dist/react/SchemaView.mjs +32 -29
- package/dist/react/a11y.d.mts +2 -2
- package/dist/react/fieldShell.d.mts +1 -1
- package/dist/react/headless.d.mts +1 -1
- package/dist/react/headlessRenderers.d.mts +2 -2
- package/dist/{ref-DdsbekXX.d.mts → ref-DWrQG1Er.d.mts} +1 -1
- package/dist/renderer-ab9E52Bp.d.mts +245 -0
- package/dist/solid/SchemaComponent.d.mts +136 -0
- package/dist/solid/SchemaComponent.mjs +391 -0
- package/dist/solid/SchemaErrorBoundary.d.mts +38 -0
- package/dist/solid/SchemaErrorBoundary.mjs +57 -0
- package/dist/solid/SchemaField.d.mts +40 -0
- package/dist/solid/SchemaField.mjs +113 -0
- package/dist/solid/SchemaView.d.mts +54 -0
- package/dist/solid/SchemaView.mjs +168 -0
- package/dist/solid/a11y.d.mts +70 -0
- package/dist/solid/a11y.mjs +71 -0
- package/dist/solid/contexts.d.mts +37 -0
- package/dist/solid/contexts.mjs +66 -0
- package/dist/solid/headless.d.mts +10 -0
- package/dist/solid/headless.mjs +27 -0
- package/dist/solid/renderers.d.mts +79 -0
- package/dist/solid/renderers.mjs +840 -0
- package/dist/solid/types.d.mts +90 -0
- package/dist/solid/types.mjs +1 -0
- package/dist/solid/widget.d.mts +29 -0
- package/dist/solid/widget.mjs +35 -0
- package/dist/themes/mantine.d.mts +1 -1
- package/dist/themes/mui.d.mts +1 -1
- package/dist/themes/radix.d.mts +1 -1
- package/dist/themes/shadcn.d.mts +1 -1
- package/dist/typeInference-Y8tNEQJk.d.mts +983 -0
- package/dist/types-BCy7K3nk.d.mts +125 -0
- package/package.json +71 -1
- package/src/svelte/SchemaComponent.svelte +427 -0
- package/src/svelte/SchemaErrorBoundary.svelte +66 -0
- package/src/svelte/SchemaField.svelte +216 -0
- package/src/svelte/SchemaProvider.svelte +46 -0
- package/src/svelte/SchemaView.svelte +244 -0
- package/src/svelte/a11y.ts +112 -0
- package/src/svelte/contexts.ts +79 -0
- package/src/svelte/dispatch.ts +267 -0
- package/src/svelte/headless.ts +73 -0
- package/src/svelte/headlessFns.ts +124 -0
- package/src/svelte/renderers/Array.svelte +98 -0
- package/src/svelte/renderers/Boolean.svelte +43 -0
- package/src/svelte/renderers/Conditional.svelte +67 -0
- package/src/svelte/renderers/DiscriminatedUnion.svelte +197 -0
- package/src/svelte/renderers/Enum.svelte +53 -0
- package/src/svelte/renderers/Fallback.svelte +24 -0
- package/src/svelte/renderers/File.svelte +46 -0
- package/src/svelte/renderers/Literal.svelte +29 -0
- package/src/svelte/renderers/Mount.svelte +24 -0
- package/src/svelte/renderers/Negation.svelte +35 -0
- package/src/svelte/renderers/Never.svelte +24 -0
- package/src/svelte/renderers/Null.svelte +19 -0
- package/src/svelte/renderers/Number.svelte +68 -0
- package/src/svelte/renderers/Object.svelte +74 -0
- package/src/svelte/renderers/Record.svelte +134 -0
- package/src/svelte/renderers/RecursionSentinel.svelte +27 -0
- package/src/svelte/renderers/String.svelte +152 -0
- package/src/svelte/renderers/Tuple.svelte +84 -0
- package/src/svelte/renderers/Union.svelte +49 -0
- package/src/svelte/renderers/Unknown.svelte +42 -0
- package/src/svelte/svelte-modules.d.ts +25 -0
- package/src/svelte/types.ts +238 -0
- package/src/svelte/widget.ts +62 -0
- /package/dist/{diagnostics-BTrm3O6J.d.mts → diagnostics-mftUZI7c.d.mts} +0 -0
- /package/dist/{limits-x4OiyJxh.d.mts → limits-Vv9hUbI_.d.mts} +0 -0
- /package/dist/{types-BrYbjC7_.d.mts → types-BBQaEPfE.d.mts} +0 -0
- /package/dist/{version-DL8U5RuA.d.mts → version-BEBx10ND.d.mts} +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { j as WalkedField } from "../types-BBQaEPfE.mjs";
|
|
2
|
+
import { l as RenderFunction, n as BaseFieldProps, t as AllConstraints } from "../renderer-ab9E52Bp.mjs";
|
|
3
|
+
import { JSX } from "solid-js";
|
|
4
|
+
|
|
5
|
+
//#region src/solid/types.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Per-field props handed to a Solid render function.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors React's `RenderProps` shape (the contract is identical at the
|
|
10
|
+
* data layer) but the `renderChild` return type is Solid's `JSX.Element`
|
|
11
|
+
* rather than React's `ReactNode`. The walker, path threading,
|
|
12
|
+
* constraint extraction, and union heuristics are all shared with the
|
|
13
|
+
* React adapter.
|
|
14
|
+
*/
|
|
15
|
+
interface SolidRenderProps extends BaseFieldProps {
|
|
16
|
+
/** Callback to update the field value. */
|
|
17
|
+
onChange: (value: unknown) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Render a child field. Theme adapters call this to recursively
|
|
20
|
+
* render nested structures (object fields, array elements, union
|
|
21
|
+
* options). The Solid resolver and rendering context are already
|
|
22
|
+
* wired in.
|
|
23
|
+
*
|
|
24
|
+
* @param tree - The walked field tree for the child.
|
|
25
|
+
* @param value - The child's current value.
|
|
26
|
+
* @param onChange - Callback receiving the child's next value.
|
|
27
|
+
* @param pathSuffix - Path segment from the parent (e.g. `"city"`,
|
|
28
|
+
* `"[0]"`). Joined to the parent's path with a dot, or
|
|
29
|
+
* substituted when the parent acts as a transparent wrapper
|
|
30
|
+
* (union options). Required for every container — without it
|
|
31
|
+
* children inherit no path and `fieldDomId()` returns the bare
|
|
32
|
+
* prefix.
|
|
33
|
+
*/
|
|
34
|
+
renderChild: (tree: WalkedField, value: unknown, onChange: (v: unknown) => void, pathSuffix?: string) => JSX.Element;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Signature for a Solid render function attached to a
|
|
38
|
+
* {@link SolidComponentResolver}. Specialises the generic
|
|
39
|
+
* {@link RenderFunction} from `core/renderer.ts` with Solid's `JSX.Element`
|
|
40
|
+
* output and the Solid-flavoured {@link SolidRenderProps} props.
|
|
41
|
+
*
|
|
42
|
+
* The compile-time relationship
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* type Check = SolidRenderFunction extends RenderFunction<JSX.Element, SolidRenderProps>
|
|
46
|
+
* ? true
|
|
47
|
+
* : false; // → true
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* holds by construction — the Solid renderer plugs into the generic
|
|
51
|
+
* core contract without any per-framework escape hatch.
|
|
52
|
+
*/
|
|
53
|
+
type SolidRenderFunction = RenderFunction<JSX.Element, SolidRenderProps>;
|
|
54
|
+
/**
|
|
55
|
+
* Theme adapter — maps every schema field type to its Solid renderer.
|
|
56
|
+
* Unset keys fall back to the headless resolver (see
|
|
57
|
+
* `solid/headless.ts`). Pass to `<SchemaProvider resolver={...}>` to
|
|
58
|
+
* drive every schema-driven render with a specific theme.
|
|
59
|
+
*
|
|
60
|
+
* Structurally mirrors React's `ComponentResolver` from
|
|
61
|
+
* `core/renderer.ts` — Solid and React share the renderer key matrix
|
|
62
|
+
* because both consume the same `WalkedField` discriminated union.
|
|
63
|
+
*/
|
|
64
|
+
interface SolidComponentResolver {
|
|
65
|
+
string?: SolidRenderFunction;
|
|
66
|
+
number?: SolidRenderFunction;
|
|
67
|
+
boolean?: SolidRenderFunction;
|
|
68
|
+
null?: SolidRenderFunction;
|
|
69
|
+
enum?: SolidRenderFunction;
|
|
70
|
+
object?: SolidRenderFunction;
|
|
71
|
+
array?: SolidRenderFunction;
|
|
72
|
+
tuple?: SolidRenderFunction;
|
|
73
|
+
record?: SolidRenderFunction;
|
|
74
|
+
union?: SolidRenderFunction;
|
|
75
|
+
discriminatedUnion?: SolidRenderFunction;
|
|
76
|
+
conditional?: SolidRenderFunction;
|
|
77
|
+
negation?: SolidRenderFunction;
|
|
78
|
+
literal?: SolidRenderFunction;
|
|
79
|
+
file?: SolidRenderFunction;
|
|
80
|
+
never?: SolidRenderFunction;
|
|
81
|
+
unknown?: SolidRenderFunction;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Widget map for Solid — maps `.meta({ component: <name> })` hints to
|
|
85
|
+
* per-instance render functions. Identical contract to the React widget
|
|
86
|
+
* map; only the per-frame element type differs.
|
|
87
|
+
*/
|
|
88
|
+
type SolidWidgetMap = ReadonlyMap<string, SolidRenderFunction>;
|
|
89
|
+
//#endregion
|
|
90
|
+
export { type AllConstraints, SolidComponentResolver, SolidRenderFunction, SolidRenderProps, SolidWidgetMap };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SolidRenderFunction } from "./types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/solid/widget.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Register a Solid widget globally. The widget is resolved when a schema
|
|
6
|
+
* field has `.meta({ component: <name> })`.
|
|
7
|
+
*
|
|
8
|
+
* For scoped registration prefer the `widgets` prop on
|
|
9
|
+
* `<SchemaComponent>` (instance-level) or `<SchemaProvider>`
|
|
10
|
+
* (context-level).
|
|
11
|
+
*/
|
|
12
|
+
declare function registerSolidWidget(name: string, render: SolidRenderFunction): void;
|
|
13
|
+
/**
|
|
14
|
+
* Look up a globally registered Solid widget by name. Returns
|
|
15
|
+
* `undefined` when nothing is registered for the supplied name.
|
|
16
|
+
*/
|
|
17
|
+
declare function lookupGlobalSolidWidget(name: string): SolidRenderFunction | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Clear every globally registered Solid widget. Intended for test
|
|
20
|
+
* isolation — `registerSolidWidget` writes to module-level state and
|
|
21
|
+
* that state otherwise leaks across test cases, making the test suite
|
|
22
|
+
* order-dependent. Tests should call this from a `beforeEach` or
|
|
23
|
+
* `afterEach` hook.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
declare function __clearGlobalSolidWidgets(): void;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { __clearGlobalSolidWidgets, lookupGlobalSolidWidget, registerSolidWidget };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/solid/widget.ts
|
|
2
|
+
/** Global widget registry — app-wide Solid widget defaults. */
|
|
3
|
+
const globalSolidWidgets = /* @__PURE__ */ new Map();
|
|
4
|
+
/**
|
|
5
|
+
* Register a Solid widget globally. The widget is resolved when a schema
|
|
6
|
+
* field has `.meta({ component: <name> })`.
|
|
7
|
+
*
|
|
8
|
+
* For scoped registration prefer the `widgets` prop on
|
|
9
|
+
* `<SchemaComponent>` (instance-level) or `<SchemaProvider>`
|
|
10
|
+
* (context-level).
|
|
11
|
+
*/
|
|
12
|
+
function registerSolidWidget(name, render) {
|
|
13
|
+
globalSolidWidgets.set(name, render);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Look up a globally registered Solid widget by name. Returns
|
|
17
|
+
* `undefined` when nothing is registered for the supplied name.
|
|
18
|
+
*/
|
|
19
|
+
function lookupGlobalSolidWidget(name) {
|
|
20
|
+
return globalSolidWidgets.get(name);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Clear every globally registered Solid widget. Intended for test
|
|
24
|
+
* isolation — `registerSolidWidget` writes to module-level state and
|
|
25
|
+
* that state otherwise leaks across test cases, making the test suite
|
|
26
|
+
* order-dependent. Tests should call this from a `beforeEach` or
|
|
27
|
+
* `afterEach` hook.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
function __clearGlobalSolidWidgets() {
|
|
32
|
+
globalSolidWidgets.clear();
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { __clearGlobalSolidWidgets, lookupGlobalSolidWidget, registerSolidWidget };
|
package/dist/themes/mui.d.mts
CHANGED
package/dist/themes/radix.d.mts
CHANGED
package/dist/themes/shadcn.d.mts
CHANGED