@tai42/studio-sdk 20.0.0 → 22.0.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 (143) hide show
  1. package/dist/components/chip-group.d.ts +42 -0
  2. package/dist/components/chip-group.d.ts.map +1 -0
  3. package/dist/components/chip-group.js +85 -0
  4. package/dist/components/chip-group.js.map +1 -0
  5. package/dist/components/components.css +16 -3
  6. package/dist/components/execution-key-picker.js.map +1 -1
  7. package/dist/components/extension-grouping.d.ts +8 -12
  8. package/dist/components/extension-grouping.d.ts.map +1 -1
  9. package/dist/components/extension-grouping.js +12 -15
  10. package/dist/components/extension-grouping.js.map +1 -1
  11. package/dist/components/extension-picker.d.ts +3 -4
  12. package/dist/components/extension-picker.d.ts.map +1 -1
  13. package/dist/components/extension-picker.js +10 -10
  14. package/dist/components/extension-picker.js.map +1 -1
  15. package/dist/components/fleet-report.d.ts +10 -5
  16. package/dist/components/fleet-report.d.ts.map +1 -1
  17. package/dist/components/fleet-report.js +20 -3
  18. package/dist/components/fleet-report.js.map +1 -1
  19. package/dist/components/json-tree-model.d.ts +19 -7
  20. package/dist/components/json-tree-model.d.ts.map +1 -1
  21. package/dist/components/json-tree-model.js +32 -8
  22. package/dist/components/json-tree-model.js.map +1 -1
  23. package/dist/components/json-tree.d.ts +10 -1
  24. package/dist/components/json-tree.d.ts.map +1 -1
  25. package/dist/components/json-tree.js +7 -4
  26. package/dist/components/json-tree.js.map +1 -1
  27. package/dist/components/select.d.ts +6 -0
  28. package/dist/components/select.d.ts.map +1 -1
  29. package/dist/components/select.js +3 -2
  30. package/dist/components/select.js.map +1 -1
  31. package/dist/components/served-media.d.ts +50 -4
  32. package/dist/components/served-media.d.ts.map +1 -1
  33. package/dist/components/served-media.js +69 -19
  34. package/dist/components/served-media.js.map +1 -1
  35. package/dist/env-markers.d.ts +25 -0
  36. package/dist/env-markers.d.ts.map +1 -0
  37. package/dist/env-markers.js +63 -0
  38. package/dist/env-markers.js.map +1 -0
  39. package/dist/hooks/interactions-stream.d.ts.map +1 -1
  40. package/dist/hooks/interactions-stream.js +9 -7
  41. package/dist/hooks/interactions-stream.js.map +1 -1
  42. package/dist/hooks/useApi.d.ts +2264 -912
  43. package/dist/hooks/useApi.d.ts.map +1 -1
  44. package/dist/hooks/useCapabilities.d.ts +5 -9
  45. package/dist/hooks/useCapabilities.d.ts.map +1 -1
  46. package/dist/hooks/useCapabilities.js +8 -33
  47. package/dist/hooks/useCapabilities.js.map +1 -1
  48. package/dist/host.d.ts +2 -0
  49. package/dist/host.d.ts.map +1 -1
  50. package/dist/host.js +8 -0
  51. package/dist/host.js.map +1 -1
  52. package/dist/index.d.ts +12 -6
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +5 -3
  55. package/dist/index.js.map +1 -1
  56. package/dist/plugin/coverage.d.ts +14 -0
  57. package/dist/plugin/coverage.d.ts.map +1 -0
  58. package/dist/plugin/coverage.js +14 -0
  59. package/dist/plugin/coverage.js.map +1 -0
  60. package/dist/plugin/registry.d.ts +11 -1
  61. package/dist/plugin/registry.d.ts.map +1 -1
  62. package/dist/plugin/registry.js +33 -4
  63. package/dist/plugin/registry.js.map +1 -1
  64. package/dist/plugin/types.d.ts +43 -1
  65. package/dist/plugin/types.d.ts.map +1 -1
  66. package/dist/schema-form/SchemaForm.d.ts +11 -1
  67. package/dist/schema-form/SchemaForm.d.ts.map +1 -1
  68. package/dist/schema-form/SchemaForm.js +2 -2
  69. package/dist/schema-form/SchemaForm.js.map +1 -1
  70. package/dist/schema-form/classify.d.ts.map +1 -1
  71. package/dist/schema-form/classify.js +54 -2
  72. package/dist/schema-form/classify.js.map +1 -1
  73. package/dist/schema-form/date-range-field.d.ts +44 -0
  74. package/dist/schema-form/date-range-field.d.ts.map +1 -0
  75. package/dist/schema-form/date-range-field.js +72 -0
  76. package/dist/schema-form/date-range-field.js.map +1 -0
  77. package/dist/schema-form/enum-field.d.ts +3 -1
  78. package/dist/schema-form/enum-field.d.ts.map +1 -1
  79. package/dist/schema-form/enum-field.js +8 -2
  80. package/dist/schema-form/enum-field.js.map +1 -1
  81. package/dist/schema-form/field-model.d.ts +20 -1
  82. package/dist/schema-form/field-model.d.ts.map +1 -1
  83. package/dist/schema-form/field-node.d.ts +10 -0
  84. package/dist/schema-form/field-node.d.ts.map +1 -1
  85. package/dist/schema-form/field-node.js +6 -3
  86. package/dist/schema-form/field-node.js.map +1 -1
  87. package/dist/schema-form/index.d.ts +3 -1
  88. package/dist/schema-form/index.d.ts.map +1 -1
  89. package/dist/schema-form/index.js +1 -0
  90. package/dist/schema-form/index.js.map +1 -1
  91. package/dist/schema-form/multiselect-field.d.ts.map +1 -1
  92. package/dist/schema-form/multiselect-field.js +11 -0
  93. package/dist/schema-form/multiselect-field.js.map +1 -1
  94. package/dist/schema-form/object-fields.d.ts +9 -1
  95. package/dist/schema-form/object-fields.d.ts.map +1 -1
  96. package/dist/schema-form/object-fields.js +16 -3
  97. package/dist/schema-form/object-fields.js.map +1 -1
  98. package/dist/schema-form/string-field.d.ts +6 -1
  99. package/dist/schema-form/string-field.d.ts.map +1 -1
  100. package/dist/schema-form/string-field.js +42 -8
  101. package/dist/schema-form/string-field.js.map +1 -1
  102. package/dist/schema-form/types.d.ts +36 -0
  103. package/dist/schema-form/types.d.ts.map +1 -1
  104. package/dist/state-binding/UpdateRow.d.ts +2 -2
  105. package/dist/state-binding/UpdateRow.js +1 -1
  106. package/dist/state-binding/UpdateRow.js.map +1 -1
  107. package/dist/state-binding/adapter.d.ts +12 -8
  108. package/dist/state-binding/adapter.d.ts.map +1 -1
  109. package/dist/state-binding/adapter.js +30 -13
  110. package/dist/state-binding/adapter.js.map +1 -1
  111. package/package.json +5 -4
  112. package/src/components/chip-group.tsx +157 -0
  113. package/src/components/components.css +16 -3
  114. package/src/components/execution-key-picker.tsx +1 -1
  115. package/src/components/extension-grouping.ts +22 -22
  116. package/src/components/extension-picker.tsx +13 -14
  117. package/src/components/fleet-report.tsx +66 -7
  118. package/src/components/json-tree-model.ts +36 -8
  119. package/src/components/json-tree.tsx +24 -4
  120. package/src/components/select.tsx +11 -1
  121. package/src/components/served-media.tsx +150 -16
  122. package/src/env-markers.ts +70 -0
  123. package/src/hooks/interactions-stream.ts +9 -7
  124. package/src/hooks/useCapabilities.ts +8 -31
  125. package/src/host.ts +2 -0
  126. package/src/index.ts +22 -2
  127. package/src/plugin/coverage.ts +23 -0
  128. package/src/plugin/registry.ts +58 -3
  129. package/src/plugin/types.ts +45 -1
  130. package/src/schema-form/SchemaForm.tsx +10 -0
  131. package/src/schema-form/classify.ts +59 -3
  132. package/src/schema-form/date-range-field.tsx +167 -0
  133. package/src/schema-form/enum-field.tsx +20 -0
  134. package/src/schema-form/field-model.ts +24 -2
  135. package/src/schema-form/field-node.tsx +19 -0
  136. package/src/schema-form/index.ts +10 -1
  137. package/src/schema-form/multiselect-field.tsx +21 -0
  138. package/src/schema-form/object-fields.tsx +36 -2
  139. package/src/schema-form/string-field.tsx +72 -1
  140. package/src/schema-form/types.ts +38 -0
  141. package/src/state-binding/README.md +10 -7
  142. package/src/state-binding/UpdateRow.tsx +3 -3
  143. package/src/state-binding/adapter.ts +31 -16
@@ -2,7 +2,7 @@
2
2
  * The Studio-plugin authoring contract. A platform plugin ships an ESM bundle
3
3
  * that exports a `register(context)` entry ({@link PluginEntry}); the host calls
4
4
  * it with a {@link PluginContext} through which the plugin contributes tool
5
- * panels, pages, settings tabs, and sidebar nav entries.
5
+ * panels, pages, settings tabs, sidebar nav entries and conversation route panels.
6
6
  *
7
7
  * Two styling paths are sanctioned, and only these two:
8
8
  * 1. SDK components plus inline styles that read the design-system tokens
@@ -20,6 +20,7 @@
20
20
  * its own. Bundled third-party base CSS is exempt from rule (c) but rules
21
21
  * (a) and (b) still bind it.
22
22
  */
23
+ import type { ConversationRouteView } from '@tai42/api-client';
23
24
  import type { ComponentType } from 'react';
24
25
  /**
25
26
  * A capability requirement a contribution may declare. `routes` is a list of
@@ -204,12 +205,41 @@ export interface SettingsTabContribution {
204
205
  export interface RegisteredSettingsTab extends SettingsTabContribution {
205
206
  readonly pluginId: string;
206
207
  }
208
+ /** A conversation route row as `GET /api/conversations` lists it, on the `channel` door. */
209
+ export type ChannelConversationRoute = Extract<ConversationRouteView, {
210
+ readonly door: 'channel';
211
+ }>;
212
+ /** Props a contributed route panel receives. */
213
+ export interface RoutePanelProps {
214
+ readonly pluginId: string;
215
+ /** The route row the panel decorates; its `channel` is the contribution's channel. */
216
+ readonly route: ChannelConversationRoute;
217
+ }
218
+ /**
219
+ * A panel the conversations drill-in renders above the thread list of every route on
220
+ * one channel. One panel per channel deployment-wide.
221
+ */
222
+ export interface RoutePanelContribution {
223
+ /** The channel name whose routes this panel decorates (`ConversationRouteView.channel`). */
224
+ readonly channel: string;
225
+ /** Names the panel region (its aria-label and the error card label). */
226
+ readonly title: string;
227
+ readonly component: ComponentType<RoutePanelProps>;
228
+ /** Capability gate (see {@link RequiredCapabilities}); absent ⇒ full-only. */
229
+ readonly requiredCapabilities?: RequiredCapabilities;
230
+ }
231
+ /** A route panel as stored in the registry, stamped with the plugin that registered it. */
232
+ export interface RegisteredRoutePanel extends RoutePanelContribution {
233
+ readonly pluginId: string;
234
+ }
207
235
  /** Everything a single plugin bundle has registered at import time. */
208
236
  export interface PluginContributions {
209
237
  readonly toolPanels: ReadonlyMap<string, ToolPanelContribution>;
210
238
  readonly pages: readonly RegisteredPage[];
211
239
  readonly settingsTabs: readonly RegisteredSettingsTab[];
212
240
  readonly navEntries: readonly RegisteredNavEntry[];
241
+ /** Route panels keyed by the channel they decorate. */
242
+ readonly routePanels: ReadonlyMap<string, RegisteredRoutePanel>;
213
243
  }
214
244
  /**
215
245
  * The registration surface a plugin receives in its `register(context)` entry.
@@ -234,6 +264,18 @@ export interface PluginContext {
234
264
  * registers (a nav entry with no page is a dead link and is rejected loudly).
235
265
  */
236
266
  registerNavEntry(contribution: NavEntryContribution): void;
267
+ /**
268
+ * Register a panel for the routes of one channel. The plugin's manifest must list the
269
+ * same channels under `contributions.route_panels`, or the plugin fails to load.
270
+ */
271
+ registerRoutePanel(contribution: RoutePanelContribution): void;
272
+ /**
273
+ * The resolved absolute base of one of this plugin's route items, e.g. `/api/channels/web`,
274
+ * or `null` when the item has no mount on this deployment (an optional router not listed, a
275
+ * channel not loaded). Never throws; a feature that needs the base shows its own unavailable
276
+ * state for `null`. Call it during `register` and keep the value.
277
+ */
278
+ routeBase(itemName: string): string | null;
237
279
  }
238
280
  /**
239
281
  * A plugin bundle's entry: the default plugin API. The host imports the bundle,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugin/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACrC,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClF;AAED,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACnD,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GACzB,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE9E,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,4FAA4F;AAC5F,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEpG,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACnD,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CACtD;AAED,2FAA2F;AAC3F,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAChE,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACjE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,YAAY,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,8EAA8E;IAC9E,iBAAiB,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7D,+BAA+B;IAC/B,mBAAmB,CAAC,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACjE;;;;OAIG;IACH,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3D;;;OAGG;IACH,kBAAkB,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -81,10 +81,20 @@ export interface SchemaFormProps {
81
81
  * renders the plain string input.
82
82
  */
83
83
  readonly expressionField?: ExpressionFieldComponent;
84
+ /**
85
+ * Optional. Per-field picker placeholders, keyed by the root object's property
86
+ * name. A top-level `enum` field that draws as a select shows its entry's
87
+ * `choiceLabel` as the select placeholder (in place of the default `Select…`);
88
+ * other controls and nested fields are unaffected. A field with no entry draws
89
+ * its own default.
90
+ */
91
+ readonly fieldWording?: Readonly<Record<string, {
92
+ choiceLabel?: string;
93
+ }>>;
84
94
  }
85
95
  /**
86
96
  * Render a controlled form for `schema`. The root is usually an object (a tool's
87
97
  * input schema); a scalar/array/union root renders as a single field group.
88
98
  */
89
- export declare function SchemaForm({ schema, value, onChange, errors, idPrefix, completionProvider, maxUploadBytes, expressionField, }: SchemaFormProps): ReactNode;
99
+ export declare function SchemaForm({ schema, value, onChange, errors, idPrefix, completionProvider, maxUploadBytes, expressionField, fieldWording, }: SchemaFormProps): ReactNode;
90
100
  //# sourceMappingURL=SchemaForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaForm.d.ts","sourceRoot":"","sources":["../../src/schema-form/SchemaForm.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAS1D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI5D;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAwB,EACxB,kBAAkB,EAClB,cAAyC,EACzC,eAAe,GAChB,EAAE,eAAe,GAAG,SAAS,CA0B7B"}
1
+ {"version":3,"file":"SchemaForm.d.ts","sourceRoot":"","sources":["../../src/schema-form/SchemaForm.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAS1D,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI5D;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC5E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAwB,EACxB,kBAAkB,EAClB,cAAyC,EACzC,eAAe,EACf,YAAY,GACb,EAAE,eAAe,GAAG,SAAS,CA2B7B"}
@@ -8,11 +8,11 @@ import { stackClass } from './styles';
8
8
  * Render a controlled form for `schema`. The root is usually an object (a tool's
9
9
  * input schema); a scalar/array/union root renders as a single field group.
10
10
  */
11
- export function SchemaForm({ schema, value, onChange, errors, idPrefix = 'schema-form', completionProvider, maxUploadBytes = DEFAULT_MAX_UPLOAD_BYTES, expressionField, }) {
11
+ export function SchemaForm({ schema, value, onChange, errors, idPrefix = 'schema-form', completionProvider, maxUploadBytes = DEFAULT_MAX_UPLOAD_BYTES, expressionField, fieldWording, }) {
12
12
  // The prop overrides the ambient door for this form only; omitted, the
13
13
  // enclosing one flows through unchanged (providing `undefined` would BLIND the
14
14
  // form to a door the host wired above it).
15
15
  const ambientExpressionField = useContext(ExpressionFieldContext);
16
- return (_jsx(CompletionProviderContext.Provider, { value: completionProvider, children: _jsx(MaxUploadBytesContext.Provider, { value: maxUploadBytes, children: _jsx(ExpressionFieldContext.Provider, { value: expressionField ?? ambientExpressionField, children: _jsx("div", { className: stackClass, "data-testid": idPrefix, children: _jsx(FieldNode, { schema: schema, root: schema, value: value, onChange: onChange, path: "", label: undefined, required: true, errors: errors, idPrefix: idPrefix }) }) }) }) }));
16
+ return (_jsx(CompletionProviderContext.Provider, { value: completionProvider, children: _jsx(MaxUploadBytesContext.Provider, { value: maxUploadBytes, children: _jsx(ExpressionFieldContext.Provider, { value: expressionField ?? ambientExpressionField, children: _jsx("div", { className: stackClass, "data-testid": idPrefix, children: _jsx(FieldNode, { schema: schema, root: schema, value: value, onChange: onChange, path: "", label: undefined, required: true, errors: errors, idPrefix: idPrefix, fieldWording: fieldWording }) }) }) }) }));
17
17
  }
18
18
  //# sourceMappingURL=SchemaForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaForm.js","sourceRoot":"","sources":["../../src/schema-form/SchemaForm.tsx"],"names":[],"mappings":";AA+CA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA0CtC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,GAAG,aAAa,EACxB,kBAAkB,EAClB,cAAc,GAAG,wBAAwB,EACzC,eAAe,GACC;IAChB,uEAAuE;IACvE,+EAA+E;IAC/E,2CAA2C;IAC3C,MAAM,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAClE,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,YAC3D,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YACnD,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,IAAI,sBAAsB,YAC/E,cAAK,SAAS,EAAE,UAAU,iBAAe,QAAQ,YAC/C,KAAC,SAAS,IACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,EAAE,EACP,KAAK,EAAE,SAAS,EAChB,QAAQ,QACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAClB,GACE,GAC0B,GACH,GACE,CACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SchemaForm.js","sourceRoot":"","sources":["../../src/schema-form/SchemaForm.tsx"],"names":[],"mappings":";AA+CA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAkDtC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,GAAG,aAAa,EACxB,kBAAkB,EAClB,cAAc,GAAG,wBAAwB,EACzC,eAAe,EACf,YAAY,GACI;IAChB,uEAAuE;IACvE,+EAA+E;IAC/E,2CAA2C;IAC3C,MAAM,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAClE,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,YAC3D,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YACnD,KAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,IAAI,sBAAsB,YAC/E,cAAK,SAAS,EAAE,UAAU,iBAAe,QAAQ,YAC/C,KAAC,SAAS,IACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,EAAE,EACP,KAAK,EAAE,SAAS,EAChB,QAAQ,QACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GAC1B,GACE,GAC0B,GACH,GACE,CACtC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/schema-form/classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAYpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAmY1C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,eAAe,CAWjF"}
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/schema-form/classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAYpF,OAAO,KAAK,EAA8B,UAAU,EAAE,MAAM,SAAS,CAAC;AA2btE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,eAAe,CAWjF"}
@@ -30,12 +30,37 @@ function classifyConst(resolved, title, description) {
30
30
  description,
31
31
  };
32
32
  }
33
+ // The supported `control` values, as a record so the type and the runtime set
34
+ // stay coupled: a value added to FormControl is a compile error here until it is
35
+ // listed.
36
+ const FORM_CONTROLS = {
37
+ chips: true,
38
+ textarea: true,
39
+ };
40
+ /**
41
+ * The `control` keyword off a property, narrowed to a supported value, or
42
+ * `undefined` for an absent or unrecognized one. Read defensively (the schema is
43
+ * permissive): a value outside the set reads as absent, so the field renders its
44
+ * default control — the server ask door is the authority that refuses it.
45
+ */
46
+ function controlOf(resolved) {
47
+ const raw = resolved.control;
48
+ return typeof raw === 'string' && Object.hasOwn(FORM_CONTROLS, raw)
49
+ ? raw
50
+ : undefined;
51
+ }
33
52
  // enum → a fixed choice list.
34
53
  function classifyEnum(resolved, title, description) {
35
54
  const enumValues = resolved.enum ?? [];
36
55
  const options = enumValues.map((value) => ({ value, label: scalarLabel(value) }));
37
56
  const nullable = enumValues.some((value) => value === null);
38
- return { model: { kind: 'enum', options }, nullable, schema: resolved, title, description };
57
+ return {
58
+ model: { kind: 'enum', options, control: controlOf(resolved) },
59
+ nullable,
60
+ schema: resolved,
61
+ title,
62
+ description,
63
+ };
39
64
  }
40
65
  // anyOf/oneOf union normalization.
41
66
  function classifyUnion(resolved, members, root, title, description) {
@@ -137,11 +162,38 @@ function dateConstraints(resolved) {
137
162
  }
138
163
  return { min, max, unavailable, rangeStart, minDays, maxDays };
139
164
  }
165
+ // The supported `inputMode` values, as a record so the type and the runtime set
166
+ // stay coupled: a value added to FormInputMode is a compile error here until it
167
+ // is listed.
168
+ const INPUT_MODES = {
169
+ text: true,
170
+ numeric: true,
171
+ decimal: true,
172
+ tel: true,
173
+ email: true,
174
+ url: true,
175
+ };
176
+ /**
177
+ * The `inputMode` keyword off a string property, narrowed to a supported value, or
178
+ * `undefined` for an absent or unrecognized one. Read defensively (the schema is
179
+ * permissive): a value outside the set reads as absent, so the field renders as a
180
+ * plain text box — the server ask door is the authority that refuses it.
181
+ */
182
+ function inputModeOf(resolved) {
183
+ const raw = resolved.inputMode;
184
+ return typeof raw === 'string' && Object.hasOwn(INPUT_MODES, raw)
185
+ ? raw
186
+ : undefined;
187
+ }
140
188
  function classifyString(resolved, title, description, nullable) {
141
189
  return {
142
190
  model: {
143
191
  kind: 'string',
144
192
  format: resolved.format,
193
+ inputMode: inputModeOf(resolved),
194
+ multiline: controlOf(resolved) === 'textarea',
195
+ maxLength: typeof resolved.maxLength === 'number' ? resolved.maxLength : undefined,
196
+ minLength: typeof resolved.minLength === 'number' ? resolved.minLength : undefined,
145
197
  media: mediaUpload(resolved),
146
198
  expression: expressionAnnotation(resolved),
147
199
  date: dateConstraints(resolved),
@@ -168,7 +220,7 @@ function classifyArray(resolved, root, title, description, nullable) {
168
220
  if (isStringItems && enumValues !== undefined && enumValues.length > 0) {
169
221
  const options = enumValues.map((value) => ({ value, label: scalarLabel(value) }));
170
222
  return {
171
- model: { kind: 'multiselect', options },
223
+ model: { kind: 'multiselect', options, control: controlOf(resolved) },
172
224
  nullable,
173
225
  schema: resolved,
174
226
  title,
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/schema-form/classify.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGzE,SAAS,WAAW,CAAC,GAAG,MAA0B;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,MAAkB,EAClB,QAAoC,EACpC,MAAc,EACd,KAAyB,EACzB,WAA+B,EAC/B,QAAQ,GAAG,KAAK;IAEhB,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC7F,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,uEAAuE;AACvE,SAAS,aAAa,CACpB,QAAoB,EACpB,KAAyB,EACzB,WAA+B;IAE/B,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;QAC/C,QAAQ,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI;QACjC,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,SAAS,YAAY,CACnB,QAAoB,EACpB,KAAyB,EACzB,WAA+B;IAE/B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACvC,MAAM,OAAO,GAAiB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC5D,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC9F,CAAC;AAED,mCAAmC;AACnC,SAAS,aAAa,CACpB,QAAoB,EACpB,OAA8B,EAC9B,IAAgB,EAChB,KAAyB,EACzB,WAA+B;IAE/B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,0EAA0E;QAC1E,4DAA4D;QAC5D,OAAO,YAAY,CACjB,QAAQ,EACR,KAAK,EACL,gCAAgC,EAChC,KAAK,EACL,WAAW,EACX,IAAI,CACL,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,uBAAuB,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IAC3D,MAAM,QAAQ,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC7D,MAAM,GAAG,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9F,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE;QACjD,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,SAAS,uBAAuB,CAC9B,WAAuB,EACvB,QAAoB,EACpB,IAAgB,EAChB,QAAiB,EACjB,KAAyB,EACzB,WAA+B;IAE/B,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,8EAA8E;IAC9E,uEAAuE;IACvE,yEAAyE;IACzE,4EAA4E;IAC5E,mEAAmE;IACnE,sEAAsE;IACtE,6CAA6C;IAC7C,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC3B,CAAC,CAAC;YACE,GAAG,KAAK,CAAC,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC;YACjD,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,IAAI,oBAAoB,CAAC,QAAQ,CAAC;SACrE;QACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAClB,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK;QAC3B,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW;KAC9C,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,SAAS,aAAa,CACpB,QAAoB,EACpB,IAAgB,EAChB,KAAyB,EACzB,WAA+B;IAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK;YAC3B,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW;SAC9C,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,qEAAqE;IACrE,OAAO,YAAY,CACjB,QAAQ,EACR,KAAK,EACL,wCAAwC,EACxC,KAAK,EACL,WAAW,EACX,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,QAAoB;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IACpF,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC1D,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,IACE,GAAG,KAAK,SAAS;QACjB,GAAG,KAAK,SAAS;QACjB,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,UAAU,KAAK,SAAS;QACxB,OAAO,KAAK,SAAS;QACrB,OAAO,KAAK,SAAS,EACrB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CACrB,QAAoB,EACpB,KAAyB,EACzB,WAA+B,EAC/B,QAAiB;IAEjB,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;YAC5B,UAAU,EAAE,oBAAoB,CAAC,QAAQ,CAAC;YAC1C,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;SAChC;QACD,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,QAAoB,EACpB,IAAgB,EAChB,KAAyB,EACzB,WAA+B,EAC/B,QAAiB;IAEjB,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,yEAAyE;QACzE,iEAAiE;QACjE,OAAO,YAAY,CACjB,QAAQ,EACR,OAAO,EACP,+BAA+B,EAC/B,KAAK,EACL,WAAW,EACX,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,gFAAgF;IAChF,sFAAsF;IACtF,qFAAqF;IACrF,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;IAC9B,IAAI,aAAa,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE;YACvC,QAAQ;YACR,MAAM,EAAE,QAAQ;YAChB,KAAK;YACL,WAAW;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;QAC/C,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,QAAoB,EACpB,KAAyB,EACzB,WAA+B,EAC/B,QAAiB;IAEjB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,8CAA8C;QAC9C,4EAA4E;QAC5E,4EAA4E;QAC5E,6CAA6C;QAC7C,MAAM,UAAU,GAAY,QAAQ,CAAC,oBAAoB,CAAC;QAC1D,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAwB,EAAE;gBAC3D,QAAQ;gBACR,MAAM,EAAE,QAAQ;gBAChB,KAAK;gBACL,WAAW;aACZ,CAAC;QACJ,CAAC;QACD,OAAO,YAAY,CACjB,QAAQ,EACR,QAAQ,EACR,0CAA0C,EAC1C,KAAK,EACL,WAAW,EACX,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAsC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;QAC/C,QAAQ;QACR,MAAM,EAAE,QAAQ;QAChB,KAAK;QACL,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,qFAAqF;AACrF,SAAS,cAAc,CACrB,QAAoB,EACpB,IAAgB,EAChB,KAAyB,EACzB,WAA+B;IAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IAE5D,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACpD,8EAA8E;QAC9E,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,sEAAsE;QACtE,OAAO,YAAY,CACjB,QAAQ,EACR,KAAK,EACL,oCAAoC,EACpC,KAAK,EACL,WAAW,EACX,IAAI,CACL,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,YAAY,CACjB,QAAQ,EACR,KAAK,EACL,wBAAwB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAC1E,KAAK,EACL,WAAW,EACX,cAAc,CACf,CAAC;IACJ,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE,KAAK,QAAQ;YACX,OAAO;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;gBACzC,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,QAAQ;gBAChB,KAAK;gBACL,WAAW;aACZ,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxC,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,QAAQ;gBAChB,KAAK;gBACL,WAAW;aACZ,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,QAAQ;gBAChB,KAAK;gBACL,WAAW;aACZ,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAC3E,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACtE;YACE,OAAO,YAAY,CACjB,QAAQ,EACR,KAAK,EACL,sBAAsB,MAAM,CAAC,IAAI,CAAC,GAAG,EACrC,KAAK,EACL,WAAW,EACX,cAAc,CACf,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAe,EAAE,IAAgB;IAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvE,IAAI,OAAO,IAAI,QAAQ;QAAE,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5E,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7F,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3F,OAAO,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/schema-form/classify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * A date RANGE drawn as ONE control. The platform declares a range as two
3
+ * `string`/`format: date` properties where the END names its START in `rangeStart`;
4
+ * the answer stays the two date strings, nothing is recombined. Where a pair is
5
+ * drawable as one control (below), `ObjectFields` renders this {@link DateRangeField}
6
+ * — a group with the two ends' labels over two native date inputs — at the START's
7
+ * slot and skips the END; otherwise the two properties draw as two ordinary date
8
+ * fields (a documented, valid layout).
9
+ *
10
+ * {@link dateRangePairs} is the ONE definition of "drawable as one control", reused
11
+ * by every surface so each surface's merge decision agrees.
12
+ */
13
+ import type { ReactNode } from 'react';
14
+ import type { JsonSchema } from './types';
15
+ /** A START/END pair drawable as one range control, resolved off a page's properties. */
16
+ export interface DateRangePair {
17
+ readonly startName: string;
18
+ readonly startSchema: JsonSchema;
19
+ readonly endName: string;
20
+ readonly endSchema: JsonSchema;
21
+ }
22
+ /**
23
+ * The date-range pairs among `properties` that are drawable as ONE control. A pair
24
+ * qualifies when: the END names an existing sibling START in `rangeStart`; BOTH are
25
+ * `format: date`; both carry the SAME `visibleWhen` (deep-equal, or both absent); AND
26
+ * no OTHER field's `visibleWhen` names either end — otherwise merging the pair would
27
+ * leave that field's predicate pointing at a control that no longer draws on its own,
28
+ * so the pair stays two date fields (the documented degrade). `properties` is ONE
29
+ * page's ordered list; a field is used in at most one pair.
30
+ */
31
+ export declare function dateRangePairs(properties: readonly (readonly [string, JsonSchema])[]): readonly DateRangePair[];
32
+ export declare function DateRangeField({ pair, startValue, endValue, startRequired, endRequired, markRequired, startError, endError, onChangeStart, onChangeEnd, }: {
33
+ readonly pair: DateRangePair;
34
+ readonly startValue: unknown;
35
+ readonly endValue: unknown;
36
+ readonly startRequired: boolean;
37
+ readonly endRequired: boolean;
38
+ readonly markRequired: boolean;
39
+ readonly startError: string | undefined;
40
+ readonly endError: string | undefined;
41
+ readonly onChangeStart: (value: unknown) => void;
42
+ readonly onChangeEnd: (value: unknown) => void;
43
+ }): ReactNode;
44
+ //# sourceMappingURL=date-range-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-field.d.ts","sourceRoot":"","sources":["../../src/schema-form/date-range-field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAWD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,GACrD,SAAS,aAAa,EAAE,CA0B1B;AA6CD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD,GAAG,SAAS,CA2BZ"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Field } from '../components/field';
3
+ import { TextInput } from '../components/inputs';
4
+ /** A property's `visibleWhen` as a stable key for deep-equality (absent ⇒ `''`). */
5
+ function visibilityKey(schema) {
6
+ return schema.visibleWhen === undefined ? '' : JSON.stringify(schema.visibleWhen);
7
+ }
8
+ function isDateString(schema) {
9
+ return schema.format === 'date';
10
+ }
11
+ /**
12
+ * The date-range pairs among `properties` that are drawable as ONE control. A pair
13
+ * qualifies when: the END names an existing sibling START in `rangeStart`; BOTH are
14
+ * `format: date`; both carry the SAME `visibleWhen` (deep-equal, or both absent); AND
15
+ * no OTHER field's `visibleWhen` names either end — otherwise merging the pair would
16
+ * leave that field's predicate pointing at a control that no longer draws on its own,
17
+ * so the pair stays two date fields (the documented degrade). `properties` is ONE
18
+ * page's ordered list; a field is used in at most one pair.
19
+ */
20
+ export function dateRangePairs(properties) {
21
+ const byName = new Map(properties.map(([name, schema]) => [name, schema]));
22
+ const pairs = [];
23
+ const paired = new Set();
24
+ for (const [endName, endSchema] of properties) {
25
+ if (paired.has(endName))
26
+ continue;
27
+ const startName = endSchema.rangeStart;
28
+ if (typeof startName !== 'string' || startName === endName || paired.has(startName))
29
+ continue;
30
+ const startSchema = byName.get(startName);
31
+ if (startSchema === undefined)
32
+ continue;
33
+ if (!isDateString(startSchema) || !isDateString(endSchema))
34
+ continue;
35
+ if (visibilityKey(startSchema) !== visibilityKey(endSchema))
36
+ continue;
37
+ const dependedOn = properties.some(([name, schema]) => name !== startName &&
38
+ name !== endName &&
39
+ typeof schema.visibleWhen?.field === 'string' &&
40
+ (schema.visibleWhen.field === startName || schema.visibleWhen.field === endName));
41
+ if (dependedOn)
42
+ continue;
43
+ pairs.push({ startName, startSchema, endName, endSchema });
44
+ paired.add(startName);
45
+ paired.add(endName);
46
+ }
47
+ return pairs;
48
+ }
49
+ /** The field's own `title`, else its property name. */
50
+ function titleOf(schema, name) {
51
+ return typeof schema.title === 'string' && schema.title.length > 0 ? schema.title : name;
52
+ }
53
+ /** One end of the range: a labelled native date input emitting the date string. */
54
+ function RangeEnd({ heading, schema, value, required, error, onChange, }) {
55
+ const current = typeof value === 'string' ? value : '';
56
+ return (_jsx(Field, { label: heading, error: error, children: _jsx(TextInput, { type: "date",
57
+ // The native control enforces its inclusive bounds; the validator enforces
58
+ // the rest (unavailable days, the range span) that the control cannot draw.
59
+ min: typeof schema.minDate === 'string' ? schema.minDate : undefined, max: typeof schema.maxDate === 'string' ? schema.maxDate : undefined, required: required, value: current, onChange: (event) => {
60
+ const next = event.target.value;
61
+ // An empty optional end drops its key; a required one keeps the empty
62
+ // string so the validator can flag it.
63
+ onChange(next === '' && !required ? undefined : next);
64
+ } }) }));
65
+ }
66
+ export function DateRangeField({ pair, startValue, endValue, startRequired, endRequired, markRequired, startError, endError, onChangeStart, onChangeEnd, }) {
67
+ const startTitle = titleOf(pair.startSchema, pair.startName);
68
+ const endTitle = titleOf(pair.endSchema, pair.endName);
69
+ const mark = (title, required) => markRequired && required ? `${title} *` : title;
70
+ return (_jsx(Field, { label: `${startTitle} – ${endTitle}`, group: true, children: _jsxs("div", { className: "tai-row", children: [_jsx(RangeEnd, { heading: mark(startTitle, startRequired), schema: pair.startSchema, value: startValue, required: startRequired, error: startError, onChange: onChangeStart }), _jsx(RangeEnd, { heading: mark(endTitle, endRequired), schema: pair.endSchema, value: endValue, required: endRequired, error: endError, onChange: onChangeEnd })] }) }));
71
+ }
72
+ //# sourceMappingURL=date-range-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-field.js","sourceRoot":"","sources":["../../src/schema-form/date-range-field.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAWjD,oFAAoF;AACpF,SAAS,aAAa,CAAC,MAAkB;IACvC,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IACtC,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAsD;IAEtD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;QAC9C,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAClC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAS;QAC9F,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QACxC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAAE,SAAS;QACrE,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,SAAS,CAAC;YAAE,SAAS;QACtE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAChC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CACjB,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,OAAO;YAChB,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,QAAQ;YAC7C,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,OAAO,CAAC,CACnF,CAAC;QACF,IAAI,UAAU;YAAE,SAAS;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uDAAuD;AACvD,SAAS,OAAO,CAAC,MAAkB,EAAE,IAAY;IAC/C,OAAO,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3F,CAAC;AAED,mFAAmF;AACnF,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,GAQT;IACC,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YACjC,KAAC,SAAS,IACR,IAAI,EAAC,MAAM;YACX,2EAA2E;YAC3E,4EAA4E;YAC5E,GAAG,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACpE,GAAG,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACpE,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChC,sEAAsE;gBACtE,uCAAuC;gBACvC,QAAQ,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxD,CAAC,GACD,GACI,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,GAYZ;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAU,EAAE,CACxD,YAAY,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAE,GAAG,UAAU,MAAM,QAAQ,EAAE,EAAE,KAAK,kBAChD,eAAK,SAAS,EAAC,SAAS,aACtB,KAAC,QAAQ,IACP,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EACxC,MAAM,EAAE,IAAI,CAAC,WAAW,EACxB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,aAAa,GACvB,EACF,KAAC,QAAQ,IACP,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EACpC,MAAM,EAAE,IAAI,CAAC,SAAS,EACtB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,GACrB,IACE,GACA,CACT,CAAC;AACJ,CAAC"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { ReactNode } from 'react';
8
8
  import type { FieldModel } from './field-model';
9
- export declare function EnumField({ heading, description, error, model, value, onChange, }: {
9
+ export declare function EnumField({ heading, description, error, model, value, onChange, choiceLabel, }: {
10
10
  heading: string;
11
11
  description: string | undefined;
12
12
  error: string | undefined;
@@ -15,5 +15,7 @@ export declare function EnumField({ heading, description, error, model, value, o
15
15
  }>;
16
16
  value: unknown;
17
17
  onChange: (value: unknown) => void;
18
+ /** The select's placeholder when the field draws as a select; absent shows `Select…`. */
19
+ choiceLabel?: string;
18
20
  }): ReactNode;
19
21
  //# sourceMappingURL=enum-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum-field.d.ts","sourceRoot":"","sources":["../../src/schema-form/enum-field.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAMhD,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,GAAG,SAAS,CAmCZ"}
1
+ {"version":3,"file":"enum-field.d.ts","sourceRoot":"","sources":["../../src/schema-form/enum-field.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAMhD,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,SAAS,CAmDZ"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ChipGroup } from '../components/chip-group';
2
3
  import { Field } from '../components/field';
3
4
  import { RadioGroup } from '../components/radio-group';
4
5
  import { Select } from '../components/select';
5
6
  // The documented radio-vs-select threshold, shared across channels: a choice of this many
6
7
  // options or fewer draws as a radio group, a longer one as a select.
7
8
  const RADIO_MAX_OPTIONS = 5;
8
- export function EnumField({ heading, description, error, model, value, onChange, }) {
9
+ export function EnumField({ heading, description, error, model, value, onChange, choiceLabel, }) {
9
10
  const options = model.options.map((option, index) => ({
10
11
  key: String(index),
11
12
  label: option.label,
@@ -20,9 +21,14 @@ export function EnumField({ heading, description, error, model, value, onChange,
20
21
  if (match !== undefined)
21
22
  onChange(match.value);
22
23
  };
24
+ // `control: chips` draws the choice as a chip grid in place of the radio/select,
25
+ // at any option count.
26
+ if (model.control === 'chips') {
27
+ return (_jsx(Field, { label: heading, description: description, error: error, group: true, children: _jsx(ChipGroup, { mode: "single", options: options.map((option) => ({ value: option.key, label: option.label })), value: selectedKey, onValueChange: emit }) }));
28
+ }
23
29
  if (options.length <= RADIO_MAX_OPTIONS) {
24
30
  return (_jsx(Field, { label: heading, description: description, error: error, group: true, children: _jsx(RadioGroup, { options: options.map((option) => ({ value: option.key, label: option.label })), value: selectedKey, onValueChange: emit }) }));
25
31
  }
26
- return (_jsx(Field, { label: heading, description: description, error: error, children: _jsx(Select, { options: options.map((option) => ({ value: option.key, label: option.label })), value: selectedKey, onValueChange: emit }) }));
32
+ return (_jsx(Field, { label: heading, description: description, error: error, children: _jsx(Select, { options: options.map((option) => ({ value: option.key, label: option.label })), value: selectedKey, onValueChange: emit, placeholder: choiceLabel }) }));
27
33
  }
28
34
  //# sourceMappingURL=enum-field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum-field.js","sourceRoot":"","sources":["../../src/schema-form/enum-field.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,0FAA0F;AAC1F,qEAAqE;AACrE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,UAAU,SAAS,CAAC,EACxB,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,GAQT;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAClE,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,WAAW,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACxC,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,kBAClE,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAC9E,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,IAAI,GACnB,GACI,CACT,CAAC;IACJ,CAAC;IACD,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,YAC3D,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAC9E,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,IAAI,GACnB,GACI,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"enum-field.js","sourceRoot":"","sources":["../../src/schema-form/enum-field.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * validator import the vocabulary without pulling in classification code.
6
6
  */
7
7
  import type { EnumOption } from './resolve';
8
- import type { JsonSchema } from './types';
8
+ import type { FormControl, FormInputMode, JsonSchema } from './types';
9
9
  /**
10
10
  * How a string field accepts binary content as a JSON-serializable string.
11
11
  * Derived from a field's JSON-Schema media annotations (see the `SchemaForm` module).
@@ -112,9 +112,24 @@ export type FieldModel = {
112
112
  } | {
113
113
  readonly kind: 'enum';
114
114
  readonly options: readonly EnumOption[];
115
+ /** The `control` keyword off the property: `'chips'` draws the choice as a
116
+ * chip grid in place of the radio/select; `undefined` keeps the default. */
117
+ readonly control: FormControl | undefined;
115
118
  } | {
116
119
  readonly kind: 'string';
117
120
  readonly format: string | undefined;
121
+ /** The input kind (keyboard / native control) this string draws, from the
122
+ * schema's `inputMode` keyword; `undefined` for a plain text box. It
123
+ * draws, it does not validate, and it outranks `format` for the control. */
124
+ readonly inputMode: FormInputMode | undefined;
125
+ /** True when the `control` keyword is `'textarea'`: draw a multi-line text
126
+ * control instead of a single-line box. It draws, it does not validate. */
127
+ readonly multiline: boolean;
128
+ /** The `maxLength`/`minLength` JSON-Schema bounds, drawn on the control (a
129
+ * native cap plus a live counter when `maxLength` is set) and enforced by
130
+ * the validator. `undefined` leaves that bound unconstrained. */
131
+ readonly maxLength: number | undefined;
132
+ readonly minLength: number | undefined;
118
133
  /** Present when media annotations opt the field into the upload control. */
119
134
  readonly media: MediaUpload | undefined;
120
135
  /** Present when a well-formed `x-tai42-expression` annotation opts the
@@ -134,6 +149,10 @@ export type FieldModel = {
134
149
  } | {
135
150
  readonly kind: 'multiselect';
136
151
  readonly options: readonly EnumOption[];
152
+ /** The `control` keyword off the property: `'chips'` draws the multi-select
153
+ * as a toggle-chip grid in place of the checkbox group; `undefined` keeps
154
+ * the default. */
155
+ readonly control: FormControl | undefined;
137
156
  } | {
138
157
  readonly kind: 'object';
139
158
  readonly properties: readonly (readonly [string, JsonSchema])[];
@@ -1 +1 @@
1
- {"version":3,"file":"field-model.d.ts","sourceRoot":"","sources":["../../src/schema-form/field-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-model.d.ts","sourceRoot":"","sources":["../../src/schema-form/field-model.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,16 @@ interface FieldNodeProps {
24
24
  readonly markRequired?: boolean;
25
25
  readonly errors: SchemaFormErrors | undefined;
26
26
  readonly idPrefix: string;
27
+ /**
28
+ * Per-field picker placeholders keyed by property name, handed to an OBJECT node so
29
+ * its direct `enum`-select children draw their placeholder. Carried by the root form
30
+ * only; nested objects receive none.
31
+ */
32
+ readonly fieldWording?: Readonly<Record<string, {
33
+ choiceLabel?: string;
34
+ }>>;
35
+ /** This field's own picker placeholder, when it draws as an `enum` select. */
36
+ readonly choiceLabel?: string;
27
37
  }
28
38
  /**
29
39
  * A single schema node, dispatched on its classified model kind. Wrapped in
@@ -1 +1 @@
1
- {"version":3,"file":"field-node.d.ts","sourceRoot":"","sources":["../../src/schema-form/field-node.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgB7C,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG5D,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;GAMG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAoBvD;AAkLD,eAAO,MAAM,SAAS,2DAAsB,CAAC"}
1
+ {"version":3,"file":"field-node.d.ts","sourceRoot":"","sources":["../../src/schema-form/field-node.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAgB7C,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG5D,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAMD;;;;;;GAMG;AACH,iBAAS,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAsBvD;AA2LD,eAAO,MAAM,SAAS,2DAAsB,CAAC"}