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.
Files changed (180) hide show
  1. package/README.md +98 -1
  2. package/dist/SchemaComponent-B__6-5-E.d.mts +277 -0
  3. package/dist/SchemaComponent-BxzzsHsK.mjs +668 -0
  4. package/dist/adapter-ktQaheWB.d.mts +213 -0
  5. package/dist/constructorTypes-BdCiMS6e.d.mts +30 -0
  6. package/dist/core/adapter.d.mts +3 -213
  7. package/dist/core/constraintHint.d.mts +1 -1
  8. package/dist/core/constraints.d.mts +2 -2
  9. package/dist/core/contexts.d.mts +71 -0
  10. package/dist/core/contexts.mjs +1 -0
  11. package/dist/core/diagnostics.d.mts +1 -1
  12. package/dist/core/errors.d.mts +1 -1
  13. package/dist/core/fieldOrder.d.mts +1 -1
  14. package/dist/{react → core}/fieldPath.d.mts +2 -2
  15. package/dist/{react → core}/fieldPath.mjs +3 -3
  16. package/dist/core/formats.d.mts +1 -1
  17. package/dist/core/inferValue.d.mts +1 -1
  18. package/dist/core/limits.d.mts +1 -1
  19. package/dist/core/merge.d.mts +1 -1
  20. package/dist/core/normalise.d.mts +2 -2
  21. package/dist/core/ref.d.mts +1 -1
  22. package/dist/core/renderField.d.mts +147 -0
  23. package/dist/core/renderField.mjs +81 -0
  24. package/dist/core/renderer.d.mts +2 -199
  25. package/dist/core/swagger2.d.mts +1 -1
  26. package/dist/core/typeInference.d.mts +1 -982
  27. package/dist/core/types.d.mts +1 -1
  28. package/dist/core/unionMatch.d.mts +1 -1
  29. package/dist/core/version.d.mts +1 -1
  30. package/dist/core/walkBuilders.d.mts +3 -3
  31. package/dist/core/walker.d.mts +1 -1
  32. package/dist/{errors-Dki7tji4.d.mts → errors-DbaI04x2.d.mts} +1 -1
  33. package/dist/html/a11y.d.mts +2 -2
  34. package/dist/html/renderToHtml.d.mts +5 -5
  35. package/dist/html/renderToHtml.mjs +33 -18
  36. package/dist/html/renderToHtmlStream.d.mts +5 -5
  37. package/dist/html/renderers.d.mts +1 -1
  38. package/dist/html/streamRenderers.d.mts +3 -3
  39. package/dist/{inferValue-Ce-PviSD.d.mts → inferValue-eAnh50EM.d.mts} +3 -3
  40. package/dist/lit/SchemaComponent.d.mts +125 -0
  41. package/dist/lit/SchemaComponent.mjs +2 -0
  42. package/dist/lit/SchemaField.d.mts +65 -0
  43. package/dist/lit/SchemaField.mjs +2 -0
  44. package/dist/lit/SchemaView.d.mts +14 -0
  45. package/dist/lit/SchemaView.mjs +2 -0
  46. package/dist/lit/constructorTypes.d.mts +2 -0
  47. package/dist/lit/constructorTypes.mjs +1 -0
  48. package/dist/lit/contexts.d.mts +78 -0
  49. package/dist/lit/contexts.mjs +238 -0
  50. package/dist/lit/defaultResolver.d.mts +33 -0
  51. package/dist/lit/defaultResolver.mjs +2 -0
  52. package/dist/lit/registry.d.mts +66 -0
  53. package/dist/lit/registry.mjs +2 -0
  54. package/dist/lit/renderers/baseElement.d.mts +131 -0
  55. package/dist/lit/renderers/baseElement.mjs +109 -0
  56. package/dist/lit/renderers/recordHelpers.d.mts +25 -0
  57. package/dist/lit/renderers/recordHelpers.mjs +55 -0
  58. package/dist/lit/renderers/scArray.d.mts +14 -0
  59. package/dist/lit/renderers/scArray.mjs +86 -0
  60. package/dist/lit/renderers/scBoolean.d.mts +15 -0
  61. package/dist/lit/renderers/scBoolean.mjs +47 -0
  62. package/dist/lit/renderers/scConditional.d.mts +23 -0
  63. package/dist/lit/renderers/scConditional.mjs +65 -0
  64. package/dist/lit/renderers/scDiscriminated.d.mts +23 -0
  65. package/dist/lit/renderers/scDiscriminated.mjs +138 -0
  66. package/dist/lit/renderers/scEnum.d.mts +16 -0
  67. package/dist/lit/renderers/scEnum.mjs +66 -0
  68. package/dist/lit/renderers/scFile.d.mts +15 -0
  69. package/dist/lit/renderers/scFile.mjs +53 -0
  70. package/dist/lit/renderers/scLiteralNullNever.d.mts +30 -0
  71. package/dist/lit/renderers/scLiteralNullNever.mjs +57 -0
  72. package/dist/lit/renderers/scNumber.d.mts +15 -0
  73. package/dist/lit/renderers/scNumber.mjs +64 -0
  74. package/dist/lit/renderers/scObject.d.mts +14 -0
  75. package/dist/lit/renderers/scObject.mjs +57 -0
  76. package/dist/lit/renderers/scRecord.d.mts +14 -0
  77. package/dist/lit/renderers/scRecord.mjs +112 -0
  78. package/dist/lit/renderers/scString.d.mts +19 -0
  79. package/dist/lit/renderers/scString.mjs +165 -0
  80. package/dist/lit/renderers/scTuple.d.mts +14 -0
  81. package/dist/lit/renderers/scTuple.mjs +58 -0
  82. package/dist/lit/renderers/scUnion.d.mts +14 -0
  83. package/dist/lit/renderers/scUnion.mjs +44 -0
  84. package/dist/lit/renderers/scUnknown.d.mts +15 -0
  85. package/dist/lit/renderers/scUnknown.mjs +45 -0
  86. package/dist/lit/ssr.d.mts +37 -0
  87. package/dist/lit/ssr.mjs +9565 -0
  88. package/dist/lit/types.d.mts +2 -0
  89. package/dist/lit/types.mjs +1 -0
  90. package/dist/lit/widget.d.mts +71 -0
  91. package/dist/lit/widget.mjs +87 -0
  92. package/dist/openapi/ApiCallbacks.d.mts +1 -1
  93. package/dist/openapi/ApiLinks.d.mts +1 -1
  94. package/dist/openapi/ApiResponseHeaders.d.mts +1 -1
  95. package/dist/openapi/ApiSecurity.d.mts +1 -1
  96. package/dist/openapi/components.d.mts +4 -4
  97. package/dist/openapi/parser.d.mts +2 -2
  98. package/dist/openapi/resolve.d.mts +1 -1
  99. package/dist/preact/SchemaComponent.d.mts +3 -0
  100. package/dist/preact/SchemaComponent.mjs +26 -0
  101. package/dist/preact/SchemaErrorBoundary.d.mts +2 -0
  102. package/dist/preact/SchemaErrorBoundary.mjs +20 -0
  103. package/dist/preact/SchemaView.d.mts +2 -0
  104. package/dist/preact/SchemaView.mjs +22 -0
  105. package/dist/preact/headless.d.mts +2 -0
  106. package/dist/preact/headless.mjs +18 -0
  107. package/dist/react/SchemaComponent.d.mts +3 -270
  108. package/dist/react/SchemaComponent.mjs +41 -32
  109. package/dist/react/SchemaView.d.mts +6 -6
  110. package/dist/react/SchemaView.mjs +32 -29
  111. package/dist/react/a11y.d.mts +2 -2
  112. package/dist/react/fieldShell.d.mts +1 -1
  113. package/dist/react/headless.d.mts +1 -1
  114. package/dist/react/headlessRenderers.d.mts +2 -2
  115. package/dist/{ref-DdsbekXX.d.mts → ref-DWrQG1Er.d.mts} +1 -1
  116. package/dist/renderer-ab9E52Bp.d.mts +245 -0
  117. package/dist/solid/SchemaComponent.d.mts +136 -0
  118. package/dist/solid/SchemaComponent.mjs +391 -0
  119. package/dist/solid/SchemaErrorBoundary.d.mts +38 -0
  120. package/dist/solid/SchemaErrorBoundary.mjs +57 -0
  121. package/dist/solid/SchemaField.d.mts +40 -0
  122. package/dist/solid/SchemaField.mjs +113 -0
  123. package/dist/solid/SchemaView.d.mts +54 -0
  124. package/dist/solid/SchemaView.mjs +168 -0
  125. package/dist/solid/a11y.d.mts +70 -0
  126. package/dist/solid/a11y.mjs +71 -0
  127. package/dist/solid/contexts.d.mts +37 -0
  128. package/dist/solid/contexts.mjs +66 -0
  129. package/dist/solid/headless.d.mts +10 -0
  130. package/dist/solid/headless.mjs +27 -0
  131. package/dist/solid/renderers.d.mts +79 -0
  132. package/dist/solid/renderers.mjs +840 -0
  133. package/dist/solid/types.d.mts +90 -0
  134. package/dist/solid/types.mjs +1 -0
  135. package/dist/solid/widget.d.mts +29 -0
  136. package/dist/solid/widget.mjs +35 -0
  137. package/dist/themes/mantine.d.mts +1 -1
  138. package/dist/themes/mui.d.mts +1 -1
  139. package/dist/themes/radix.d.mts +1 -1
  140. package/dist/themes/shadcn.d.mts +1 -1
  141. package/dist/typeInference-Y8tNEQJk.d.mts +983 -0
  142. package/dist/types-BCy7K3nk.d.mts +125 -0
  143. package/package.json +71 -1
  144. package/src/svelte/SchemaComponent.svelte +427 -0
  145. package/src/svelte/SchemaErrorBoundary.svelte +66 -0
  146. package/src/svelte/SchemaField.svelte +216 -0
  147. package/src/svelte/SchemaProvider.svelte +46 -0
  148. package/src/svelte/SchemaView.svelte +244 -0
  149. package/src/svelte/a11y.ts +112 -0
  150. package/src/svelte/contexts.ts +79 -0
  151. package/src/svelte/dispatch.ts +267 -0
  152. package/src/svelte/headless.ts +73 -0
  153. package/src/svelte/headlessFns.ts +124 -0
  154. package/src/svelte/renderers/Array.svelte +98 -0
  155. package/src/svelte/renderers/Boolean.svelte +43 -0
  156. package/src/svelte/renderers/Conditional.svelte +67 -0
  157. package/src/svelte/renderers/DiscriminatedUnion.svelte +197 -0
  158. package/src/svelte/renderers/Enum.svelte +53 -0
  159. package/src/svelte/renderers/Fallback.svelte +24 -0
  160. package/src/svelte/renderers/File.svelte +46 -0
  161. package/src/svelte/renderers/Literal.svelte +29 -0
  162. package/src/svelte/renderers/Mount.svelte +24 -0
  163. package/src/svelte/renderers/Negation.svelte +35 -0
  164. package/src/svelte/renderers/Never.svelte +24 -0
  165. package/src/svelte/renderers/Null.svelte +19 -0
  166. package/src/svelte/renderers/Number.svelte +68 -0
  167. package/src/svelte/renderers/Object.svelte +74 -0
  168. package/src/svelte/renderers/Record.svelte +134 -0
  169. package/src/svelte/renderers/RecursionSentinel.svelte +27 -0
  170. package/src/svelte/renderers/String.svelte +152 -0
  171. package/src/svelte/renderers/Tuple.svelte +84 -0
  172. package/src/svelte/renderers/Union.svelte +49 -0
  173. package/src/svelte/renderers/Unknown.svelte +42 -0
  174. package/src/svelte/svelte-modules.d.ts +25 -0
  175. package/src/svelte/types.ts +238 -0
  176. package/src/svelte/widget.ts +62 -0
  177. /package/dist/{diagnostics-BTrm3O6J.d.mts → diagnostics-mftUZI7c.d.mts} +0 -0
  178. /package/dist/{limits-x4OiyJxh.d.mts → limits-Vv9hUbI_.d.mts} +0 -0
  179. /package/dist/{types-BrYbjC7_.d.mts → types-BBQaEPfE.d.mts} +0 -0
  180. /package/dist/{version-DL8U5RuA.d.mts → version-BEBx10ND.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- import { A as UnknownField, B as isNeverField, C as RecordField, D as StringField, E as StringConstraints, F as isDiscriminatedUnionField, G as isStringField, H as isNumberField, I as isEnumField, J as isUnknownField, K as isTupleField, L as isFileField, M as isArrayField, N as isBooleanField, O as TupleField, P as isConditionalField, R as isLiteralField, S as ObjectField, T as SchemaType, U as isObjectField, V as isNullField, W as isRecordField, Y as resolveEditability, _ as NeverField, a as DiscriminatedUnionField, b as NumberField, c as FieldBase, d as FieldOverrides, f as FileConstraints, g as NegationField, h as LiteralField, i as ConditionalField, j as WalkedField, k as UnionField, l as FieldConstraints, m as JsonObject, n as ArrayField, o as Editability, p as FileField, q as isUnionField, r as BooleanField, s as EnumField, t as ArrayConstraints, u as FieldOverride, v as NullField, w as SchemaMeta, x as ObjectConstraints, y as NumberConstraints, z as isNegationField } from "../types-BrYbjC7_.mjs";
1
+ import { A as UnknownField, B as isNeverField, C as RecordField, D as StringField, E as StringConstraints, F as isDiscriminatedUnionField, G as isStringField, H as isNumberField, I as isEnumField, J as isUnknownField, K as isTupleField, L as isFileField, M as isArrayField, N as isBooleanField, O as TupleField, P as isConditionalField, R as isLiteralField, S as ObjectField, T as SchemaType, U as isObjectField, V as isNullField, W as isRecordField, Y as resolveEditability, _ as NeverField, a as DiscriminatedUnionField, b as NumberField, c as FieldBase, d as FieldOverrides, f as FileConstraints, g as NegationField, h as LiteralField, i as ConditionalField, j as WalkedField, k as UnionField, l as FieldConstraints, m as JsonObject, n as ArrayField, o as Editability, p as FileField, q as isUnionField, r as BooleanField, s as EnumField, t as ArrayConstraints, u as FieldOverride, v as NullField, w as SchemaMeta, x as ObjectConstraints, y as NumberConstraints, z as isNegationField } from "../types-BBQaEPfE.mjs";
2
2
  export { ArrayConstraints, ArrayField, BooleanField, ConditionalField, DiscriminatedUnionField, Editability, EnumField, FieldBase, FieldConstraints, FieldOverride, FieldOverrides, FileConstraints, FileField, JsonObject, LiteralField, NegationField, NeverField, NullField, NumberConstraints, NumberField, ObjectConstraints, ObjectField, RecordField, SchemaMeta, SchemaType, StringConstraints, StringField, TupleField, UnionField, UnknownField, WalkedField, isArrayField, isBooleanField, isConditionalField, isDiscriminatedUnionField, isEnumField, isFileField, isLiteralField, isNegationField, isNeverField, isNullField, isNumberField, isObjectField, isRecordField, isStringField, isTupleField, isUnionField, isUnknownField, resolveEditability };
@@ -1,4 +1,4 @@
1
- import { j as WalkedField } from "../types-BrYbjC7_.mjs";
1
+ import { j as WalkedField } from "../types-BBQaEPfE.mjs";
2
2
 
3
3
  //#region src/core/unionMatch.d.ts
4
4
  /**
@@ -1,2 +1,2 @@
1
- import { a as detectJsonSchemaDraft, c as inferJsonSchemaDraftWithReason, d as isSwagger2, f as matchJsonSchemaDraftUri, i as OpenApiVersionInfo, l as isOpenApi30, n as JsonSchemaDialectInfo, o as detectOpenApiVersion, p as readJsonSchemaDialect, r as JsonSchemaDraft, s as inferJsonSchemaDraft, t as InferredDraft, u as isOpenApi31 } from "../version-DL8U5RuA.mjs";
1
+ import { a as detectJsonSchemaDraft, c as inferJsonSchemaDraftWithReason, d as isSwagger2, f as matchJsonSchemaDraftUri, i as OpenApiVersionInfo, l as isOpenApi30, n as JsonSchemaDialectInfo, o as detectOpenApiVersion, p as readJsonSchemaDialect, r as JsonSchemaDraft, s as inferJsonSchemaDraft, t as InferredDraft, u as isOpenApi31 } from "../version-BEBx10ND.mjs";
2
2
  export { InferredDraft, JsonSchemaDialectInfo, JsonSchemaDraft, OpenApiVersionInfo, detectJsonSchemaDraft, detectOpenApiVersion, inferJsonSchemaDraft, inferJsonSchemaDraftWithReason, isOpenApi30, isOpenApi31, isSwagger2, matchJsonSchemaDraftUri, readJsonSchemaDialect };
@@ -1,6 +1,6 @@
1
- import { A as UnknownField, D as StringField, b as NumberField, c as FieldBase, d as FieldOverrides, j as WalkedField, o as Editability, p as FileField, r as BooleanField, v as NullField, w as SchemaMeta } from "../types-BrYbjC7_.mjs";
2
- import { i as DiagnosticsOptions } from "../diagnostics-BTrm3O6J.mjs";
3
- import { t as ExternalResolver } from "../ref-DdsbekXX.mjs";
1
+ import { A as UnknownField, D as StringField, b as NumberField, c as FieldBase, d as FieldOverrides, j as WalkedField, o as Editability, p as FileField, r as BooleanField, v as NullField, w as SchemaMeta } from "../types-BBQaEPfE.mjs";
2
+ import { i as DiagnosticsOptions } from "../diagnostics-mftUZI7c.mjs";
3
+ import { t as ExternalResolver } from "../ref-DWrQG1Er.mjs";
4
4
 
5
5
  //#region src/core/walkBuilders.d.ts
6
6
  /** Read a key from a JSON object, returning the value when it is a string and `undefined` otherwise. */
@@ -1,4 +1,4 @@
1
- import { j as WalkedField } from "../types-BrYbjC7_.mjs";
1
+ import { j as WalkedField } from "../types-BBQaEPfE.mjs";
2
2
  import { WalkOptions } from "./walkBuilders.mjs";
3
3
 
4
4
  //#region src/core/walker.d.ts
@@ -1,4 +1,4 @@
1
- import { T as SchemaType } from "./types-BrYbjC7_.mjs";
1
+ import { T as SchemaType } from "./types-BBQaEPfE.mjs";
2
2
 
3
3
  //#region src/core/errors.d.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { j as WalkedField } from "../types-BrYbjC7_.mjs";
2
- import { AllConstraints } from "../core/renderer.mjs";
1
+ import { j as WalkedField } from "../types-BBQaEPfE.mjs";
2
+ import { t as AllConstraints } from "../renderer-ab9E52Bp.mjs";
3
3
  import { constraintHint } from "../core/constraintHint.mjs";
4
4
  import { HtmlAttributes, HtmlNode } from "./html.mjs";
5
5
 
@@ -1,8 +1,8 @@
1
- import { w as SchemaMeta } from "../types-BrYbjC7_.mjs";
2
- import { SchemaIoSide } from "../core/adapter.mjs";
3
- import { HtmlResolver } from "../core/renderer.mjs";
4
- import { RejectUnrepresentableZod } from "../core/typeInference.mjs";
5
- import { a as InferredValue, t as InferFields } from "../inferValue-Ce-PviSD.mjs";
1
+ import { w as SchemaMeta } from "../types-BBQaEPfE.mjs";
2
+ import { r as SchemaIoSide } from "../adapter-ktQaheWB.mjs";
3
+ import { s as HtmlResolver } from "../renderer-ab9E52Bp.mjs";
4
+ import { f as RejectUnrepresentableZod } from "../typeInference-Y8tNEQJk.mjs";
5
+ import { a as InferredValue, t as InferFields } from "../inferValue-eAnh50EM.mjs";
6
6
 
7
7
  //#region src/html/renderToHtml.d.ts
8
8
  /**
@@ -1,6 +1,6 @@
1
1
  import { toRecordOrUndefined } from "../core/guards.mjs";
2
- import "../core/limits.mjs";
3
2
  import { normaliseSchema } from "../core/adapter.mjs";
3
+ import { dispatchRenderField } from "../core/renderField.mjs";
4
4
  import { getHtmlRenderFn, mergeHtmlResolvers } from "../core/renderer.mjs";
5
5
  import { walk } from "../core/walker.mjs";
6
6
  import { h, serialize } from "./html.mjs";
@@ -78,31 +78,46 @@ function renderToHtml(schema, options = {}) {
78
78
  });
79
79
  const resolver = options.resolver ?? defaultHtmlResolver;
80
80
  const makeRenderChild = (currentDepth, parentPath) => (childTree, childValue, pathSuffix) => {
81
- if (currentDepth >= 10) return recursionSentinelHtml(typeof childTree.meta.description === "string" ? childTree.meta.description : "schema");
82
81
  const childPath = joinPath(parentPath, pathSuffix);
83
- return renderFieldHtml(childTree, childValue, resolver, childPath, makeRenderChild(currentDepth + 1, childPath));
82
+ return renderFieldHtml(childTree, childValue, resolver, childPath, makeRenderChild(currentDepth + 1, childPath), currentDepth + 1);
84
83
  };
85
84
  const renderChild = makeRenderChild(0, "");
86
- return renderFieldHtml(tree, options.value ?? tree.defaultValue, resolver, "", renderChild);
85
+ return renderFieldHtml(tree, options.value ?? tree.defaultValue, resolver, "", renderChild, 0);
87
86
  }
88
- function renderFieldHtml(tree, value, resolver, path, renderChild) {
87
+ function renderFieldHtml(tree, value, resolver, path, renderChild, depth = 0) {
89
88
  if (tree.meta.visible === false) return "";
90
89
  const effectiveValue = value ?? tree.defaultValue;
91
- const mergedResolver = mergeHtmlResolvers(resolver, defaultHtmlResolver);
92
- const renderFn = getHtmlRenderFn(tree.type, mergedResolver);
93
- if (renderFn === void 0) throw new Error(`renderToHtml: no HTML renderer registered for type "${tree.type}"`);
94
- const props = {
90
+ return dispatchRenderField({
91
+ tree,
95
92
  value: effectiveValue,
96
- readOnly: tree.editability === "presentation",
97
- writeOnly: tree.editability === "input",
98
- meta: tree.meta,
99
- constraints: tree.constraints,
100
93
  path,
101
- tree,
102
- renderChild
103
- };
104
- if (tree.examples !== void 0) props.examples = tree.examples;
105
- return renderFn(props);
94
+ depth,
95
+ resolver: mergeHtmlResolvers(resolver, defaultHtmlResolver),
96
+ config: {
97
+ buildProps: (fieldTree, fieldPath) => {
98
+ const props = {
99
+ value: effectiveValue,
100
+ readOnly: fieldTree.editability === "presentation",
101
+ writeOnly: fieldTree.editability === "input",
102
+ meta: fieldTree.meta,
103
+ constraints: fieldTree.constraints,
104
+ path: fieldPath,
105
+ tree: fieldTree,
106
+ renderChild
107
+ };
108
+ if (fieldTree.examples !== void 0) props.examples = fieldTree.examples;
109
+ return props;
110
+ },
111
+ lookupRenderFn: (type, htmlResolver) => getHtmlRenderFn(type, htmlResolver),
112
+ recursionSentinel: (fieldTree) => {
113
+ return recursionSentinelHtml(typeof fieldTree.meta.description === "string" ? fieldTree.meta.description : "schema");
114
+ },
115
+ fallback: (fieldTree) => {
116
+ throw new Error(`renderToHtml: no HTML renderer registered for type "${fieldTree.type}"`);
117
+ },
118
+ coerceResult: (result) => typeof result === "string" ? result : void 0
119
+ }
120
+ });
106
121
  }
107
122
  //#endregion
108
123
  export { recursionSentinelHtml, renderToHtml };
@@ -1,8 +1,8 @@
1
- import { w as SchemaMeta } from "../types-BrYbjC7_.mjs";
2
- import { SchemaIoSide } from "../core/adapter.mjs";
3
- import { HtmlResolver } from "../core/renderer.mjs";
4
- import { RejectUnrepresentableZod } from "../core/typeInference.mjs";
5
- import { a as InferredValue, t as InferFields } from "../inferValue-Ce-PviSD.mjs";
1
+ import { w as SchemaMeta } from "../types-BBQaEPfE.mjs";
2
+ import { r as SchemaIoSide } from "../adapter-ktQaheWB.mjs";
3
+ import { s as HtmlResolver } from "../renderer-ab9E52Bp.mjs";
4
+ import { f as RejectUnrepresentableZod } from "../typeInference-Y8tNEQJk.mjs";
5
+ import { a as InferredValue, t as InferFields } from "../inferValue-eAnh50EM.mjs";
6
6
 
7
7
  //#region src/html/renderToHtmlStream.d.ts
8
8
  /**
@@ -1,4 +1,4 @@
1
- import { HtmlResolver } from "../core/renderer.mjs";
1
+ import { s as HtmlResolver } from "../renderer-ab9E52Bp.mjs";
2
2
  import { dateInputType } from "../core/formats.mjs";
3
3
  import { matchUnionOption } from "../core/unionMatch.mjs";
4
4
 
@@ -1,6 +1,6 @@
1
- import { j as WalkedField } from "../types-BrYbjC7_.mjs";
2
- import { i as DiagnosticsOptions } from "../diagnostics-BTrm3O6J.mjs";
3
- import { HtmlResolver } from "../core/renderer.mjs";
1
+ import { j as WalkedField } from "../types-BBQaEPfE.mjs";
2
+ import { i as DiagnosticsOptions } from "../diagnostics-mftUZI7c.mjs";
3
+ import { s as HtmlResolver } from "../renderer-ab9E52Bp.mjs";
4
4
  import { HtmlElement } from "./html.mjs";
5
5
 
6
6
  //#region src/html/streamRenderers.d.ts
@@ -1,6 +1,6 @@
1
- import { d as FieldOverrides, u as FieldOverride } from "./types-BrYbjC7_.mjs";
2
- import { SchemaIoSide } from "./core/adapter.mjs";
3
- import { FromJSONSchema, FromJSONSchemaMode, IsSwagger2Doc, ResolveOpenAPIRef, TypeAtPath, __SchemaInferenceFellBack } from "./core/typeInference.mjs";
1
+ import { d as FieldOverrides, u as FieldOverride } from "./types-BBQaEPfE.mjs";
2
+ import { r as SchemaIoSide } from "./adapter-ktQaheWB.mjs";
3
+ import { c as IsSwagger2Doc, i as FromJSONSchemaMode, m as TypeAtPath, p as ResolveOpenAPIRef, r as FromJSONSchema, v as __SchemaInferenceFellBack } from "./typeInference-Y8tNEQJk.mjs";
4
4
  import { z } from "zod";
5
5
 
6
6
  //#region src/core/inferValue.d.ts
@@ -0,0 +1,125 @@
1
+ import { j as WalkedField, w as SchemaMeta } from "../types-BBQaEPfE.mjs";
2
+ import { t as Diagnostic } from "../diagnostics-mftUZI7c.mjs";
3
+ import { r as SchemaIoSide } from "../adapter-ktQaheWB.mjs";
4
+ import { r as LitRenderProps, t as LitComponentResolver } from "../types-BCy7K3nk.mjs";
5
+ import { LitElement, TemplateResult } from "lit";
6
+
7
+ //#region src/lit/SchemaComponent.d.ts
8
+ /**
9
+ * Public change-event detail emitted on the top-level `<schema-component>`.
10
+ *
11
+ * The `value` payload carries the updated root value as returned by
12
+ * the user's most recent edit. Consumers wire this into their
13
+ * framework's binding system — React via `addEventListener` on the
14
+ * canonical `change` event, Vue via a `@change` directive, Svelte
15
+ * via `on:change`. The detail object always carries a single
16
+ * `value` field with the post-edit root value.
17
+ */
18
+ interface SchemaChangeEventDetail {
19
+ value: unknown;
20
+ }
21
+ /**
22
+ * Lit Custom Element for editable schema-driven UI.
23
+ *
24
+ * Tag: `<schema-component>` (default) or `<{prefix}schema-component>`
25
+ * (when `registerSchemaComponents(prefix)` is called).
26
+ *
27
+ * **Required:** call {@link registerSchemaComponents} once at module
28
+ * setup before instantiating this element in HTML markup, otherwise
29
+ * none of the per-type `<sc-*>` children will upgrade and the tree
30
+ * will render as unknown elements.
31
+ */
32
+ declare class SchemaComponent extends LitElement {
33
+ /**
34
+ * Element property declarations.
35
+ *
36
+ * All four "data" properties (`schema`, `value`, `resolver`,
37
+ * `widgets`) carry `attribute: false`: Custom Element attributes
38
+ * are strings, and these payloads (an arbitrary Zod schema, an
39
+ * arbitrary JS value, a resolver function map, a widget tag map)
40
+ * cannot round-trip through attribute serialisation. Set them via
41
+ * direct property assignment.
42
+ *
43
+ * `readOnly` is a boolean attribute (and reflects to DOM) so the
44
+ * common "render read-only view" case is reachable from plain
45
+ * HTML markup (`<schema-component readonly></schema-component>`).
46
+ * The capitalisation is `readOnly` on the property and `readonly`
47
+ * on the attribute — matching the HTML `readonly` attribute on
48
+ * `<input>` / `<textarea>`.
49
+ */
50
+ static readonly properties: {
51
+ schema: {
52
+ attribute: boolean;
53
+ };
54
+ value: {
55
+ attribute: boolean;
56
+ };
57
+ resolver: {
58
+ attribute: boolean;
59
+ };
60
+ widgets: {
61
+ attribute: boolean;
62
+ };
63
+ fields: {
64
+ attribute: boolean;
65
+ };
66
+ meta: {
67
+ attribute: boolean;
68
+ };
69
+ ref: {
70
+ attribute: boolean;
71
+ };
72
+ io: {
73
+ attribute: boolean;
74
+ };
75
+ idPrefix: {
76
+ attribute: boolean;
77
+ };
78
+ onDiagnostic: {
79
+ attribute: boolean;
80
+ };
81
+ readOnly: {
82
+ type: BooleanConstructor;
83
+ reflect: boolean;
84
+ attribute: string;
85
+ };
86
+ strict: {
87
+ type: BooleanConstructor;
88
+ };
89
+ };
90
+ /**
91
+ * Reactive property declarations. Each field is declared with
92
+ * `declare` (no runtime emit) so Lit's `static properties`
93
+ * accessors are not shadowed by class-field initialisers. Default
94
+ * values are seeded in the constructor.
95
+ */
96
+ schema: unknown;
97
+ ref: string | undefined;
98
+ io: SchemaIoSide | undefined;
99
+ value: unknown;
100
+ resolver: LitComponentResolver | undefined;
101
+ widgets: ReadonlyMap<string, string> | undefined;
102
+ fields: Record<string, unknown> | undefined;
103
+ meta: SchemaMeta | undefined;
104
+ idPrefix: string | undefined;
105
+ readOnly: boolean;
106
+ strict: boolean;
107
+ onDiagnostic: ((diagnostic: Diagnostic) => void) | undefined;
108
+ constructor();
109
+ render(): TemplateResult;
110
+ /**
111
+ * Build the recursive `renderChild` closure threaded through every
112
+ * container renderer.
113
+ */
114
+ protected makeRenderChild(currentDepth: number, parentPath: string, userResolver: LitComponentResolver): LitRenderProps["renderChild"];
115
+ /**
116
+ * Dispatch a single walked field through the resolver, widget
117
+ * registry, and recursion limit. Parallel to
118
+ * `renderField` in `react/SchemaComponent.tsx`.
119
+ */
120
+ protected renderField(tree: WalkedField, value: unknown, change: (next: unknown) => void, userResolver: LitComponentResolver, renderChild: LitRenderProps["renderChild"], path: string): TemplateResult;
121
+ private applyWidgetProperties;
122
+ private buildDiagnostics;
123
+ }
124
+ //#endregion
125
+ export { SchemaChangeEventDetail, SchemaComponent };
@@ -0,0 +1,2 @@
1
+ import { t as SchemaComponent } from "../SchemaComponent-BxzzsHsK.mjs";
2
+ export { SchemaComponent };
@@ -0,0 +1,65 @@
1
+ import { SchemaComponent } from "./SchemaComponent.mjs";
2
+ import { TemplateResult } from "lit";
3
+
4
+ //#region src/lit/SchemaField.d.ts
5
+ /**
6
+ * Lit Custom Element rendering a single sub-field of a schema.
7
+ *
8
+ * Tag: `<schema-field>` (registered by `registerSchemaComponents`).
9
+ */
10
+ declare class SchemaField extends SchemaComponent {
11
+ /**
12
+ * Dot-separated path identifying the field to render
13
+ * (e.g. `"address.city"` or `"tags[0]"`). Declared via `declare`
14
+ * so Lit's accessor (installed by the static `properties` table)
15
+ * is not shadowed by a class-field initialiser.
16
+ */
17
+ path: string;
18
+ static readonly properties: {
19
+ path: {
20
+ attribute: boolean;
21
+ };
22
+ schema: {
23
+ attribute: boolean;
24
+ };
25
+ value: {
26
+ attribute: boolean;
27
+ };
28
+ resolver: {
29
+ attribute: boolean;
30
+ };
31
+ widgets: {
32
+ attribute: boolean;
33
+ };
34
+ fields: {
35
+ attribute: boolean;
36
+ };
37
+ meta: {
38
+ attribute: boolean;
39
+ };
40
+ ref: {
41
+ attribute: boolean;
42
+ };
43
+ io: {
44
+ attribute: boolean;
45
+ };
46
+ idPrefix: {
47
+ attribute: boolean;
48
+ };
49
+ onDiagnostic: {
50
+ attribute: boolean;
51
+ };
52
+ readOnly: {
53
+ type: BooleanConstructor;
54
+ reflect: boolean;
55
+ attribute: string;
56
+ };
57
+ strict: {
58
+ type: BooleanConstructor;
59
+ };
60
+ };
61
+ constructor();
62
+ render(): TemplateResult;
63
+ }
64
+ //#endregion
65
+ export { SchemaField };
@@ -0,0 +1,2 @@
1
+ import { o as SchemaField } from "../SchemaComponent-BxzzsHsK.mjs";
2
+ export { SchemaField };
@@ -0,0 +1,14 @@
1
+ import { SchemaComponent } from "./SchemaComponent.mjs";
2
+
3
+ //#region src/lit/SchemaView.d.ts
4
+ /**
5
+ * Lit Custom Element rendering a schema in read-only mode.
6
+ *
7
+ * Tag: `<schema-view>` (registered by `registerSchemaComponents`).
8
+ */
9
+ declare class SchemaView extends SchemaComponent {
10
+ constructor();
11
+ connectedCallback(): void;
12
+ }
13
+ //#endregion
14
+ export { SchemaView };
@@ -0,0 +1,2 @@
1
+ import { s as SchemaView } from "../SchemaComponent-BxzzsHsK.mjs";
2
+ export { SchemaView };
@@ -0,0 +1,2 @@
1
+ import { t as Constructor } from "../constructorTypes-BdCiMS6e.mjs";
2
+ export { Constructor };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,78 @@
1
+ import { ContextPort } from "../core/contexts.mjs";
2
+ import { t as LitComponentResolver } from "../types-BCy7K3nk.mjs";
3
+ import { ReactiveControllerHost, ReactiveElement } from "lit";
4
+
5
+ //#region src/lit/contexts.d.ts
6
+ /**
7
+ * Context key identifying the {@link LitComponentResolver} provided at
8
+ * a host element. Re-used by every built-in `<sc-*>` Custom Element so
9
+ * a single `<schema-component>` provider seeds the whole subtree —
10
+ * matching the behaviour of `<SchemaProvider>` on the React side.
11
+ *
12
+ * The literal `"sc-resolver"` value is the runtime key carried in the
13
+ * Context Protocol's `context-request` event; consumers and providers
14
+ * must use the same `Context` object (not just the same string) to
15
+ * match, which is why this is exported rather than redeclared per
16
+ * element.
17
+ */
18
+ declare const resolverContext: {
19
+ __context__: LitComponentResolver;
20
+ };
21
+ /**
22
+ * Lit binding wrapping `ContextProvider` / `ContextConsumer` from
23
+ * `@lit/context` for the {@link resolverContext}.
24
+ *
25
+ * The port is host-scoped — both `provide` and `consume` require a
26
+ * `ReactiveControllerHost` reference so `@lit/context` can register
27
+ * its controllers on the element's lifecycle. This is unavoidable
28
+ * given Lit's reactive update model and is the reason the Lit port
29
+ * does not match the canonical {@link ContextPort} signature in
30
+ * `core/contexts.ts` directly — see this module's docstring for the
31
+ * rationale.
32
+ */
33
+ declare const resolverContextPort: {
34
+ provide(host: ReactiveControllerHost & ReactiveElement, value: LitComponentResolver): {
35
+ setValue: (value: LitComponentResolver) => void;
36
+ };
37
+ consume(host: ReactiveControllerHost & ReactiveElement): {
38
+ readonly value?: LitComponentResolver;
39
+ };
40
+ };
41
+ /**
42
+ * Widget map — name → custom element tag.
43
+ *
44
+ * Where the React adapter's `WidgetMap` is `ReadonlyMap<string, RenderFunction>`
45
+ * (a function value per hint name), the Lit adapter resolves widgets by
46
+ * Custom Element tag name. A schema field carrying
47
+ * `.meta({ component: "color-picker" })` looks up `widgets.get("color-picker")`
48
+ * and renders the matching tag — preserving the Web-Components-native
49
+ * pattern where every renderer override IS a Custom Element.
50
+ *
51
+ * Tags must be registered via `customElements.define` before they can
52
+ * be rendered. Unregistered tags surface as unknown elements with no
53
+ * upgrade — matching the browser's behaviour rather than throwing.
54
+ */
55
+ type LitWidgetMap = ReadonlyMap<string, string>;
56
+ /**
57
+ * Context key for {@link LitWidgetMap}.
58
+ */
59
+ declare const widgetsContext: {
60
+ __context__: LitWidgetMap;
61
+ };
62
+ /**
63
+ * Lit binding wrapping `ContextProvider` / `ContextConsumer` from
64
+ * `@lit/context` for the {@link widgetsContext}. Parallel to
65
+ * {@link resolverContextPort}; see that export for the rationale on
66
+ * why the Lit port is host-scoped rather than matching the canonical
67
+ * {@link ContextPort} signature directly.
68
+ */
69
+ declare const widgetsContextPort: {
70
+ provide(host: ReactiveControllerHost & ReactiveElement, value: LitWidgetMap): {
71
+ setValue: (value: LitWidgetMap) => void;
72
+ };
73
+ consume(host: ReactiveControllerHost & ReactiveElement): {
74
+ readonly value?: LitWidgetMap;
75
+ };
76
+ };
77
+ //#endregion
78
+ export { type ContextPort, LitWidgetMap, resolverContext, resolverContextPort, widgetsContext, widgetsContextPort };