@pipelex/mthds-form 0.34.0 → 0.35.1

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.
@@ -0,0 +1,85 @@
1
+ domain = "layout_sample"
2
+ description = "Designs a result page when no run exists: writes an invented sample of the result, then hands the designer the brief with that sample in it."
3
+ main_pipe = "design_from_written_sample"
4
+
5
+ # The designer's second entry, kept in a file of its own. A layout records the
6
+ # hash of `layout-design.mthds`, whose text is hashed whole, so any edit to that
7
+ # file stales every stored layout. Writing the sample here leaves that file and
8
+ # its hash exactly as they were, and keeps one run per design: a host sends both
9
+ # files, starts this entry, and reads the page from the run as it reads any other
10
+ # design.
11
+ #
12
+ # The sample is INVENTED. It holds no customer data, which is why a host may
13
+ # store it beside a layout, where a real run's output may never go, and why it
14
+ # leaves out files and images, since a made-up link would draw nothing. A host
15
+ # checks it with `writtenSampleOf`, reading it out of the run's working memory
16
+ # under `written_sample`; a sample with problems never blocks a layout.
17
+ #
18
+ # Every stage past the sample is the designer's own, by reference: this bundle
19
+ # states nothing about how a page is designed, and a change to how a page is
20
+ # designed is made in `layout-design.mthds`.
21
+
22
+ [pipe.design_from_written_sample]
23
+ type = "PipeSequence"
24
+ description = "Design one result page with no run to read: write a sample of the result, put it in the brief, then lay the brief out, plan the page and build it."
25
+ inputs = { catalog = "generative.Catalog", brief = "generative.Brief", seed = "Text?" }
26
+ output = "Text"
27
+ steps = [
28
+ { pipe = "write_sample", result = "written_sample" },
29
+ { pipe = "brief_with_sample", result = "brief" },
30
+ { pipe = "generative.render_brief", result = "brief_text" },
31
+ { pipe = "generative.plan_page", result = "plan" },
32
+ { pipe = "generative.emit_page", result = "page" },
33
+ ]
34
+
35
+ [pipe.write_sample]
36
+ type = "PipeLLM"
37
+ description = "Invent one plausible state of the result, as JSON, from the brief's paths and description."
38
+ inputs = { brief = "generative.Brief" }
39
+ output = "Text"
40
+ model = { model = "gpt-6.1-sol", temperature = 0.5, max_tokens = 8192 }
41
+ system_prompt = """
42
+ You write realistic sample data. You are given the description of what a method returns, and you write one invented example of it, as JSON, so a designer can see how long its texts run and how large its figures are before anyone has run the method.
43
+ """
44
+ prompt = """
45
+ WHAT THE METHOD DOES:
46
+ {% if brief.description %}{{ brief.description }}{% else %}Nothing is said about it beyond the paths below; read its purpose off them.{% endif %}
47
+
48
+ WHAT ONE RUN RETURNS, AS PATHS:
49
+ {% for entry in brief.paths -%}
50
+ {{ " " * entry.depth }}- `{{ entry.path }}` - {{ entry.kind }}{% if entry.title %} - {{ entry.title }}{% endif %}{% if entry.description %}: {{ entry.description }}{% endif %}{% if entry.notes %} ({{ entry.notes | join("; ") }}){% endif %}{% if entry.delegated %} [LEAVE OUT]{% endif +%}
51
+ {% if entry.item_kind %}
52
+ {{ " " * (entry.depth + 1) }}- each item is a {{ entry.item_kind }}{% if entry.item_description %} ({{ entry.item_description }}){% endif %}{% if entry.item_laid_out %}, with these members, named relative to one item:{% endif +%}
53
+ {% endif %}
54
+ {% endfor %}
55
+
56
+ HOW TO WRITE IT:
57
+ 1. Write the value of `/result`, and nothing around it. Where the first path is a structure, write one JSON object whose keys are its members; where it is a list, write a JSON array; where it is a single value, write that value.
58
+ 2. A member of a structure is a key of that structure's object, and a path spelled relative to one item of a list is a key of each of that list's items. A key is the last part of a path. Write no key the paths do not list.
59
+ 3. Fill every path unless it says LEAVE OUT.
60
+ 4. Leave out every path marked LEAVE OUT, and every path that holds a file or an image, as a document or an image is, and every list of them. Leave the key out altogether: no null, no empty value, no placeholder and no link.
61
+ 5. Give a value the kind its path states: a text as a JSON string, a number or an integer as a JSON number, a boolean as true or false, a date as "YYYY-MM-DD", and a choice as exactly one of the words it lists, spelled exactly. Respect every minimum, maximum and length that is stated.
62
+ 6. Write two to four items for a list, unless its stated bounds ask for something else.
63
+ 7. Make it read like one real outcome of this method: the texts as long as a real one would be, the figures of a realistic size that agree with each other, a total that is the sum of its parts.
64
+ 8. Invent everything. Name no real person, company, brand, product, place or address: make up plausible ones.
65
+
66
+ Output only the JSON value: no prose before or after it, no code fence.
67
+ """
68
+
69
+ [pipe.brief_with_sample]
70
+ type = "PipeCompose"
71
+ description = "Build the brief again as it was given, with the written sample as the state the designer reads."
72
+ inputs = { brief = "generative.Brief", written_sample = "Text" }
73
+ output = "generative.Brief"
74
+
75
+ [pipe.brief_with_sample.construct]
76
+ side = { from = "brief.side" }
77
+ pipe_ref = { from = "brief.pipe_ref" }
78
+ description = { from = "brief.description" }
79
+ name = { from = "brief.name" }
80
+ paths = { from = "brief.paths" }
81
+ run_control = { from = "brief.run_control" }
82
+ returns = { from = "brief.returns" }
83
+ frame = { from = "brief.frame" }
84
+ style = { from = "brief.style" }
85
+ sample_state = { from = "written_sample" }
@@ -1,6 +1,6 @@
1
- import { F as FieldEnv, R as RowMove, a as FilePickerSource, U as UploadedFile } from '../field-renderer-BYN6YrU-.js';
2
- export { D as DocumentField, b as FieldRenderer, c as FieldRendererProps, d as FilePicker, e as FilePickerEntry, f as FilePickerEntryProps, g as FilePickerProps, h as FileValue, I as ImageField } from '../field-renderer-BYN6YrU-.js';
3
- import * as React from 'react';
1
+ import { F as FieldEnv, R as RowMove, b as FilePickerSource, a as FieldPresentation, U as UploadedFile } from '../field-presentation-D5BkBSjX.js';
2
+ export { D as DocumentField, c as FieldPresentationProvider, d as FieldRenderer, e as FieldRendererProps, f as FilePicker, g as FilePickerEntry, h as FilePickerEntryProps, i as FilePickerProps, j as FileValue, I as ImageField, u as useFieldPresentation } from '../field-presentation-D5BkBSjX.js';
3
+ import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import { BooleanRunField, DateRunField, EnumRunField, ListRunField, NumberRunField, ObjectRunField, ProseRunField, TextRunField, UnknownRunField, RunField, ConceptCategory } from '../core/descriptor.js';
6
6
  import { PipeInputFormDescriptor, PipeIOContract } from 'mthds/protocol';
@@ -26,7 +26,7 @@ interface BooleanFieldProps {
26
26
  * single hairline row - a boolean reads better as a switchable statement than as
27
27
  * a labelled box.
28
28
  */
29
- declare function BooleanField({ field, value, onChange, id, disabled }: BooleanFieldProps): React.JSX.Element;
29
+ declare function BooleanField({ field, value, onChange, id, disabled }: BooleanFieldProps): react.JSX.Element;
30
30
 
31
31
  interface DateFieldProps {
32
32
  field: DateRunField;
@@ -40,8 +40,23 @@ interface DateFieldProps {
40
40
  * A calendar-date input. The control only asks for a day (no hand-typed
41
41
  * hours/seconds); for a `date-time` concept it stores midnight-UTC so the value
42
42
  * still satisfies the API's `date-time` format.
43
+ *
44
+ * It stays the browser's own date input, which is what gives it the platform's
45
+ * keyboard entry, its calendar and its accessibility for free, and only its
46
+ * face is styled:
47
+ *
48
+ * - **An empty field reads as empty.** The browser paints the format's pattern
49
+ * (`mm/dd/yyyy`) in the text colour, where it reads as a date someone typed,
50
+ * so the face is muted until a whole date is entered (`data-empty`).
51
+ * - **The calendar icon and the calendar follow the theme.** The icon is the
52
+ * browser's, drawn for the light scheme unless the element says otherwise,
53
+ * so on a dark page it was a dark glyph on a dark field. Under `.dark` the
54
+ * input declares the dark scheme, which turns both the icon and the calendar
55
+ * it opens.
56
+ * - **The face is the page's own in an app**, and mono in a studio, beside the
57
+ * field's mono name.
43
58
  */
44
- declare function DateField({ field, value, onChange, id, error, disabled }: DateFieldProps): React.JSX.Element;
59
+ declare function DateField({ field, value, onChange, id, error, disabled }: DateFieldProps): react.JSX.Element;
45
60
 
46
61
  interface EnumFieldProps {
47
62
  field: EnumRunField;
@@ -64,7 +79,7 @@ interface EnumFieldProps {
64
79
  * when two options would read the same. The segmented rule measures the label
65
80
  * it shows, which is the text that has to fit on the row.
66
81
  */
67
- declare function EnumField({ field, value, onChange, id, error, disabled }: EnumFieldProps): React.JSX.Element;
82
+ declare function EnumField({ field, value, onChange, id, error, disabled }: EnumFieldProps): react.JSX.Element;
68
83
 
69
84
  interface ListFieldProps {
70
85
  field: ListRunField;
@@ -102,7 +117,7 @@ interface ListFieldProps {
102
117
  * logs each move in `FieldEnv.rowMoves`, as `useMethodForm` does, and the list
103
118
  * replays the log on its keys (see `useRowKeys`).
104
119
  */
105
- declare function ListField({ field, value, onChange, id, error, env }: ListFieldProps): React.JSX.Element;
120
+ declare function ListField({ field, value, onChange, id, error, env }: ListFieldProps): react.JSX.Element;
106
121
 
107
122
  interface NumberFieldProps {
108
123
  field: NumberRunField;
@@ -113,7 +128,7 @@ interface NumberFieldProps {
113
128
  disabled?: boolean;
114
129
  }
115
130
  /** Numeric input with steppers and min/max clamping. */
116
- declare function NumberField({ field, value, onChange, id, error, disabled }: NumberFieldProps): React.JSX.Element;
131
+ declare function NumberField({ field, value, onChange, id, error, disabled }: NumberFieldProps): react.JSX.Element;
117
132
 
118
133
  interface ObjectFieldProps {
119
134
  field: ObjectRunField;
@@ -140,7 +155,7 @@ interface ObjectFieldProps {
140
155
  * offers to close it. An open optional structure renders like any other: its
141
156
  * label, description and card, with no badge.
142
157
  */
143
- declare function ObjectField({ field, value, onChange, id, error, env }: ObjectFieldProps): React.JSX.Element;
158
+ declare function ObjectField({ field, value, onChange, id, error, env }: ObjectFieldProps): react.JSX.Element;
144
159
 
145
160
  interface TextFieldProps {
146
161
  field: TextRunField;
@@ -151,7 +166,7 @@ interface TextFieldProps {
151
166
  disabled?: boolean;
152
167
  }
153
168
  /** Single-line string input (short native.Text or a plain string property). */
154
- declare function TextField({ field, value, onChange, id, error, disabled }: TextFieldProps): React.JSX.Element;
169
+ declare function TextField({ field, value, onChange, id, error, disabled }: TextFieldProps): react.JSX.Element;
155
170
  interface ProseFieldProps {
156
171
  field: ProseRunField;
157
172
  value: string | undefined;
@@ -165,7 +180,7 @@ interface ProseFieldProps {
165
180
  * prompts don't trap the user in a tiny scrollbox - the field that carries most
166
181
  * of a method's intent should feel roomy.
167
182
  */
168
- declare function ProseField({ field, value, onChange, id, error, disabled }: ProseFieldProps): React.JSX.Element;
183
+ declare function ProseField({ field, value, onChange, id, error, disabled }: ProseFieldProps): react.JSX.Element;
169
184
 
170
185
  interface UnknownFieldProps {
171
186
  field: UnknownRunField;
@@ -180,7 +195,7 @@ interface UnknownFieldProps {
180
195
  * than block the run, we let the user hand-write the value as JSON - rare, but it
181
196
  * keeps every method runnable instead of dead-ending on an unusual input.
182
197
  */
183
- declare function UnknownField({ field, value, onChange, id, error, disabled }: UnknownFieldProps): React.JSX.Element;
198
+ declare function UnknownField({ field, value, onChange, id, error, disabled }: UnknownFieldProps): react.JSX.Element;
184
199
 
185
200
  /**
186
201
  * An example source as the control set takes it: the kernel's `ExampleSource`,
@@ -241,40 +256,7 @@ interface FillWithExampleProps {
241
256
  * open. Without `hideWhenEmpty`, the control is always offered and an empty
242
257
  * list says how to make one.
243
258
  */
244
- declare function FillWithExample({ source, fields, touched, onFill, disabled, className, }: FillWithExampleProps): React.JSX.Element | null;
245
-
246
- /**
247
- * How a field's LABEL chrome, and the enum values a person reads, should read.
248
- * What a control stores never changes.
249
- *
250
- * - `studio` (default): the field's name verbatim in mono, with its concept
251
- * pill. The name IS the identifier a builder writes in the `.mthds` file, so
252
- * showing it exactly - and typed - is the point. An enum value is shown as its
253
- * code for the same reason: it has to match the bundle and the JSON the
254
- * builder reads next.
255
- * - `app`: the field's name as a human question in sans, no concept pill. Inside
256
- * a method app, `full_name` and `native.Text` are implementation detail; the
257
- * person filling the form has never seen the method's source. An enum value
258
- * follows the label and reads as words, worded by the kernel's rule
259
- * (`enumValueLabeler` in the core entry).
260
- *
261
- * An enum value is the only value the two presentations show differently. A
262
- * number, a text, a date and every other value render the same in both.
263
- *
264
- * Deliberately a context rather than a prop or a `FieldEnv` flag: only the
265
- * components that own label chrome or an enum value's wording read it -
266
- * `FieldShell`, `ObjectField`, `BooleanField`, `ListField`, `EnumField`, the
267
- * result view and the generative layer's choice controls (`Select`, `Radio`,
268
- * `Segmented`) - plus the file control, whose card hides a storage reference
269
- * in `app`, and threading a prop would have meant editing every field control
270
- * and both recursive containers.
271
- */
272
- type FieldPresentation = 'studio' | 'app';
273
- declare function FieldPresentationProvider({ presentation, children, }: {
274
- presentation: FieldPresentation;
275
- children: ReactNode;
276
- }): React.JSX.Element;
277
- declare function useFieldPresentation(): FieldPresentation;
259
+ declare function FillWithExample({ source, fields, touched, onFill, disabled, className, }: FillWithExampleProps): react.JSX.Element | null;
278
260
 
279
261
  interface FieldStrings {
280
262
  /** Badge on an optional field's header row. */
@@ -623,7 +605,7 @@ declare function FieldStringsProvider({ locale, strings, children, }: {
623
605
  locale?: string;
624
606
  strings?: Partial<FieldStrings>;
625
607
  children: ReactNode;
626
- }): React.JSX.Element;
608
+ }): react.JSX.Element;
627
609
  /** The strings the nearest provider supplies (English defaults when none does). */
628
610
  declare function useFieldStrings(): FieldStrings;
629
611
 
@@ -847,7 +829,7 @@ interface MethodFormProps {
847
829
  form: MethodFormController;
848
830
  /** Holds every control read-only, as a host does while a run is in flight. */
849
831
  disabled?: boolean;
850
- /** `FieldEnv.allowUrl`: `false` takes the "paste a URL instead" link away. */
832
+ /** `FieldEnv.allowUrl`: `false` takes the "Paste a link instead" link away. */
851
833
  allowUrl?: boolean;
852
834
  /** `FieldEnv.resolveUrl`: turns a stored reference into a URL a preview can load. */
853
835
  resolveUrl?: (uri: string) => Promise<string | null>;
@@ -897,7 +879,7 @@ interface MethodFormProps {
897
879
  * disclosure folds and opens exactly as the one inside a structure does,
898
880
  * optional structures included.
899
881
  */
900
- declare function MethodForm({ locale, strings, presentation, framed, ...props }: MethodFormProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
882
+ declare function MethodForm({ locale, strings, presentation, framed, ...props }: MethodFormProps): react.ReactElement<unknown, string | react.JSXElementConstructor<any>>;
901
883
 
902
884
  interface ResultFieldProps {
903
885
  field: RunField;
@@ -918,7 +900,7 @@ interface ResultFieldProps {
918
900
  * has: a file's own download button names the file by its place in the result,
919
901
  * and the place starts here. Every nested one finds the root already there.
920
902
  */
921
- declare function ResultField(props: ResultFieldProps): React.JSX.Element;
903
+ declare function ResultField(props: ResultFieldProps): react.JSX.Element;
922
904
 
923
905
  /**
924
906
  * The `pipelex-storage://` references inside an HTML page, exchanged for URLs a
@@ -1293,7 +1275,7 @@ interface ResultEnv {
1293
1275
  }
1294
1276
  declare function ResultEnvProvider({ resolveUrl, resolveUrls, resolveRendition, resolveShareUrl, proseImages, tableColumns, tableLayout, saveFiles, downloads, renderPdf, framed, children, }: ResultEnv & {
1295
1277
  children: ReactNode;
1296
- }): React.JSX.Element;
1278
+ }): react.JSX.Element;
1297
1279
  /**
1298
1280
  * The resolver, already applied.
1299
1281
  *
@@ -1449,8 +1431,8 @@ interface StuffViewerProps {
1449
1431
  */
1450
1432
  declare function JsonView({ value }: {
1451
1433
  value: unknown;
1452
- }): React.JSX.Element;
1453
- declare function StuffViewer({ downloads, tableLayout, framed, ...props }: StuffViewerProps): React.JSX.Element;
1434
+ }): react.JSX.Element;
1435
+ declare function StuffViewer({ downloads, tableLayout, framed, ...props }: StuffViewerProps): react.JSX.Element;
1454
1436
 
1455
1437
  /**
1456
1438
  * The default delivery: the planned files, saved by this browser tab.
@@ -1525,7 +1507,7 @@ interface HtmlPreviewProps {
1525
1507
  */
1526
1508
  fill?: boolean;
1527
1509
  }
1528
- declare function HtmlPreview({ content, maxHeight, imgSrc, fontSrc, downloadPdf, pdfFileName, bare, fill, }: HtmlPreviewProps): React.JSX.Element;
1510
+ declare function HtmlPreview({ content, maxHeight, imgSrc, fontSrc, downloadPdf, pdfFileName, bare, fill, }: HtmlPreviewProps): react.JSX.Element;
1529
1511
 
1530
1512
  /**
1531
1513
  * A page's print stylesheet, applied on screen: what the PDF copy needs before
@@ -1666,7 +1648,7 @@ interface PdfDownloadButtonProps {
1666
1648
  * raster; a PDF that could not be made or saved turns the control into a
1667
1649
  * warning, described to assistive technology, until the reader tries again.
1668
1650
  */
1669
- declare function PdfDownloadButton({ content, fileName, path, imgSrc, fontSrc, primary, className, }: PdfDownloadButtonProps): React.JSX.Element;
1651
+ declare function PdfDownloadButton({ content, fileName, path, imgSrc, fontSrc, primary, className, }: PdfDownloadButtonProps): react.JSX.Element;
1670
1652
 
1671
1653
  interface MarkdownProps {
1672
1654
  text: string;
@@ -1696,7 +1678,7 @@ interface MarkdownCitation {
1696
1678
  /** The source's name, shown on hover over the citation: its title, or its address. */
1697
1679
  label: string;
1698
1680
  }
1699
- declare function Markdown({ text, className, proseImages, citations }: MarkdownProps): React.JSX.Element;
1681
+ declare function Markdown({ text, className, proseImages, citations }: MarkdownProps): react.JSX.Element;
1700
1682
 
1701
1683
  interface FieldShellProps {
1702
1684
  name: string;
@@ -1704,6 +1686,12 @@ interface FieldShellProps {
1704
1686
  conceptRef?: string;
1705
1687
  category: ConceptCategory;
1706
1688
  description?: string;
1689
+ /**
1690
+ * What the control says in the description's place when there is no
1691
+ * description to show: a number's range, the JSON escape hatch's syntax. It
1692
+ * also stands in for a description `app` leaves out for restating the label.
1693
+ */
1694
+ hint?: string;
1707
1695
  required: boolean;
1708
1696
  /** Validation message; renders in danger text under the control. */
1709
1697
  error?: string;
@@ -1717,7 +1705,7 @@ interface FieldShellProps {
1717
1705
  * Every field type composes this so the form reads as one consistent column -
1718
1706
  * the control itself is the only thing that varies.
1719
1707
  */
1720
- declare function FieldShell({ name, title, conceptRef, category, description, required, error, htmlFor, children, className, }: FieldShellProps): React.JSX.Element;
1708
+ declare function FieldShell({ name, title, conceptRef, category, description, hint, required, error, htmlFor, children, className, }: FieldShellProps): react.JSX.Element;
1721
1709
 
1722
1710
  interface ConceptPillProps {
1723
1711
  /** The concept identifier, e.g. `native.Document`, `demo.Invoice`. */
@@ -1730,7 +1718,7 @@ interface ConceptPillProps {
1730
1718
  * (never a colored chip) keeps the technical Pipelex voice without spending a
1731
1719
  * chromatic accent - the concept *type* is information, not a status.
1732
1720
  */
1733
- declare function ConceptPill({ conceptRef, category, className }: ConceptPillProps): React.JSX.Element;
1721
+ declare function ConceptPill({ conceptRef, category, className }: ConceptPillProps): react.JSX.Element;
1734
1722
 
1735
1723
  interface OptionalToggleProps {
1736
1724
  /** How many empty optional entries are currently hidden. */
@@ -1748,7 +1736,7 @@ interface OptionalToggleProps {
1748
1736
  * structure folds behind it too, and opens and closes with it: see
1749
1737
  * `openOptionalStructures` / `closeOptionalStructures` in the core.
1750
1738
  */
1751
- declare function OptionalToggle({ count, expanded, onToggle, noun }: OptionalToggleProps): React.JSX.Element;
1739
+ declare function OptionalToggle({ count, expanded, onToggle, noun }: OptionalToggleProps): react.JSX.Element;
1752
1740
 
1753
1741
  declare const fieldControlClass: string;
1754
1742
 
@@ -1800,7 +1788,7 @@ declare function FieldDomIdProvider({ prefix, children, }: {
1800
1788
  */
1801
1789
  prefix?: string;
1802
1790
  children: ReactNode;
1803
- }): React.JSX.Element;
1791
+ }): react.JSX.Element;
1804
1792
  /**
1805
1793
  * The DOM id for a field path - the ONE place a path becomes an attribute.
1806
1794
  *
@@ -1811,4 +1799,4 @@ declare function FieldDomIdProvider({ prefix, children, }: {
1811
1799
  */
1812
1800
  declare function useFieldDomId(path: string): string;
1813
1801
 
1814
- export { BooleanField, ConceptPill, DEFAULT_FIELD_STRINGS, DateField, type DownloadDisplay, EN_FIELD_STRINGS, EnumField, type ExamplePickerSource, ExampleSource, FIELD_STRINGS_BY_LOCALE, FR_FIELD_STRINGS, FieldDomIdProvider, FieldEnv, type FieldPresentation, FieldPresentationProvider, FieldShell, type FieldStrings, FieldStringsProvider, FilePickerSource, FillWithExample, type FillWithExampleProps, FormExample, type HtmlPdf, type HtmlPdfOptions, HtmlPreview, type HtmlPreviewProps, JsonView, ListField, Markdown, type MarkdownCitation, type MarkdownProps, type MarkupResolvers, MethodForm, type MethodFormController, type MethodFormProps, type MethodFormState, type MethodFormUploadContext, type MethodFormValues, NumberField, ObjectField, OptionalToggle, PdfDownloadButton, type PdfDownloadButtonProps, type PdfPage, ProseField, type ProseImages, type RenderPdf, type RenditionRequest, type ResolveRendition, type ResolveShareUrl, type ResolveUrl, type ResolveUrls, ResultEnvProvider, ResultField, type ResultFieldProps, RowMove, SUPPORTED_LOCALES, StuffViewer, type StuffViewerProps, type StuffViewerView, type TableLayout, TextField, UnknownField, UploadedFile, type UseMethodFormOptions, fieldControlClass, fieldStringsFor, renderHtmlPdf, resolveHtmlStorageUrls, saveInBrowser, useFieldDomId, useFieldPresentation, useFieldStrings, useMethodForm, useProseImages, useResolveRendition, useResolveShareUrl, useResolveUrl, useResolvedUrl };
1802
+ export { BooleanField, ConceptPill, DEFAULT_FIELD_STRINGS, DateField, type DownloadDisplay, EN_FIELD_STRINGS, EnumField, type ExamplePickerSource, ExampleSource, FIELD_STRINGS_BY_LOCALE, FR_FIELD_STRINGS, FieldDomIdProvider, FieldEnv, FieldPresentation, FieldShell, type FieldStrings, FieldStringsProvider, FilePickerSource, FillWithExample, type FillWithExampleProps, FormExample, type HtmlPdf, type HtmlPdfOptions, HtmlPreview, type HtmlPreviewProps, JsonView, ListField, Markdown, type MarkdownCitation, type MarkdownProps, type MarkupResolvers, MethodForm, type MethodFormController, type MethodFormProps, type MethodFormState, type MethodFormUploadContext, type MethodFormValues, NumberField, ObjectField, OptionalToggle, PdfDownloadButton, type PdfDownloadButtonProps, type PdfPage, ProseField, type ProseImages, type RenderPdf, type RenditionRequest, type ResolveRendition, type ResolveShareUrl, type ResolveUrl, type ResolveUrls, ResultEnvProvider, ResultField, type ResultFieldProps, RowMove, SUPPORTED_LOCALES, StuffViewer, type StuffViewerProps, type StuffViewerView, type TableLayout, TextField, UnknownField, UploadedFile, type UseMethodFormOptions, fieldControlClass, fieldStringsFor, renderHtmlPdf, resolveHtmlStorageUrls, saveInBrowser, useFieldDomId, useFieldStrings, useMethodForm, useProseImages, useResolveRendition, useResolveShareUrl, useResolveUrl, useResolvedUrl };
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { BooleanField, ConceptPill, DEFAULT_FIELD_STRINGS, DateField, DocumentField, EN_FIELD_STRINGS, EnumField, FIELD_STRINGS_BY_LOCALE, FR_FIELD_STRINGS, FieldDomIdProvider, FieldPresentationProvider, FieldRenderer, FieldShell, FieldStringsProvider, FilePicker, FilePickerEntry, FillWithExample, HtmlPreview, ImageField, JsonView, ListField, Markdown, MethodForm, NumberField, ObjectField, OptionalToggle, PdfDownloadButton, ProseField, ResultEnvProvider, ResultField, SUPPORTED_LOCALES, StuffViewer, TextField, UnknownField, fieldControlClass, fieldStringsFor, renderHtmlPdf, resolveHtmlStorageUrls, saveInBrowser, useFieldDomId, useFieldPresentation, useFieldStrings, useMethodForm, useProseImages, useResolveRendition, useResolveShareUrl, useResolveUrl, useResolvedUrl } from '../chunk-5RV3ASMO.js';
2
+ export { BooleanField, ConceptPill, DEFAULT_FIELD_STRINGS, DateField, DocumentField, EN_FIELD_STRINGS, EnumField, FIELD_STRINGS_BY_LOCALE, FR_FIELD_STRINGS, FieldDomIdProvider, FieldPresentationProvider, FieldRenderer, FieldShell, FieldStringsProvider, FilePicker, FilePickerEntry, FillWithExample, HtmlPreview, ImageField, JsonView, ListField, Markdown, MethodForm, NumberField, ObjectField, OptionalToggle, PdfDownloadButton, ProseField, ResultEnvProvider, ResultField, SUPPORTED_LOCALES, StuffViewer, TextField, UnknownField, fieldControlClass, fieldStringsFor, renderHtmlPdf, resolveHtmlStorageUrls, saveInBrowser, useFieldDomId, useFieldPresentation, useFieldStrings, useMethodForm, useProseImages, useResolveRendition, useResolveShareUrl, useResolveUrl, useResolvedUrl } from '../chunk-TD62R3P6.js';
3
3
  import '../chunk-4VAO6BDE.js';
4
4
  import '../chunk-AURDKAIC.js';
5
5
  import '../chunk-L23R3JNQ.js';