@factorialco/f0-react 7.30.0 → 7.32.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 (31) hide show
  1. package/dist/{ChatPdfThumbnail-DkJtoG16.js → ChatPdfThumbnail-Cg2_Torf.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-D2V5_4Qn.js → ChatPostComposerDialog-D9vt19Do.js} +3 -3
  3. package/dist/{DocumentToolbar-18QMNCIk.js → DocumentToolbar-VcjNLI2W.js} +2 -2
  4. package/dist/{DocxViewer-Bdwvw9nT.js → DocxViewer-B_vuIwqx.js} +2 -2
  5. package/dist/{F0AiProcessingOverlay-BVQ4_pEu.js → F0AiProcessingOverlay-DT4-88F7.js} +1 -1
  6. package/dist/{F0CanvasPanel-C8cIM9Yr.js → F0CanvasPanel-BWGjNwSC.js} +21280 -21048
  7. package/dist/{F0Map-DSm4dkRh.js → F0Map-BAGn-Pbt.js} +4 -4
  8. package/dist/{F0VideoPlayer-B6lLIogs.js → F0VideoPlayer-BiPN02OV.js} +1 -1
  9. package/dist/{MapProvider-CEDmoxh-.js → MapProvider-DC2FAppw.js} +21675 -20103
  10. package/dist/{SheetViewer-DG84TuWc.js → SheetViewer-CW5aD1Gh.js} +2 -2
  11. package/dist/{TextViewer-DFSEOA-p.js → TextViewer-BoRCHEug.js} +2 -2
  12. package/dist/ai.d.ts +42 -14
  13. package/dist/ai.js +2 -2
  14. package/dist/component-status.d.ts +14 -14
  15. package/dist/component-status.js +5 -5
  16. package/dist/{experimental-NdTal_L8.js → experimental-BqvlI_rl.js} +7 -7
  17. package/dist/experimental.d.ts +88 -16
  18. package/dist/experimental.js +79 -78
  19. package/dist/f0.d.ts +350 -30
  20. package/dist/f0.js +8402 -8249
  21. package/dist/i18n-provider-defaults.d.ts +30 -14
  22. package/dist/i18n-provider-defaults.js +17 -1
  23. package/dist/{index-jy-prVvh.js → index-C63g3BaC.js} +3 -3
  24. package/dist/{index-DzawmKPN.js → index-CqgzgxRb.js} +2 -2
  25. package/dist/{index-DAtPHo1R.js → index-DFjMggw2.js} +3 -3
  26. package/dist/{index-0B5VeBG8.js → index-DgYKKlh1.js} +1 -1
  27. package/dist/index-U6-zZZzn.js +4 -0
  28. package/dist/{pdfWorker-BrZ5Yw8e.js → pdfWorker-BM17l5Gd.js} +2 -2
  29. package/dist/styles.css +1 -1
  30. package/package.json +1 -1
  31. package/dist/index-BXynxfxZ.js +0 -4
package/dist/f0.d.ts CHANGED
@@ -3283,6 +3283,18 @@ export declare interface ChatDashboardScatterChartConfig {
3283
3283
  xAxisName?: string;
3284
3284
  /** What the Y measure is, e.g. "tenure" — labels the y row in the tooltip */
3285
3285
  yAxisName?: string;
3286
+ /** Pin the X axis bounds, e.g. 0 and 100 for a percentage */
3287
+ xAxisMin?: number;
3288
+ xAxisMax?: number;
3289
+ /** Pin the Y axis bounds, e.g. 1 and 5 for a rating */
3290
+ yAxisMin?: number;
3291
+ yAxisMax?: number;
3292
+ /** Print each point's label next to it. @default false */
3293
+ showPointLabels?: boolean;
3294
+ /** Merge points on nearly the same spot; hover lists them. @default false */
3295
+ groupNearbyPoints?: boolean;
3296
+ /** Render the axis names as axis titles. @default false */
3297
+ showAxisNames?: boolean;
3286
3298
  /** Formats the Y measure */
3287
3299
  valueFormat?: FormatPreset;
3288
3300
  /** Formats the X measure, which is a second measure rather than a category */
@@ -5377,6 +5389,9 @@ export declare const defaultTranslations: {
5377
5389
  };
5378
5390
  readonly toc: {
5379
5391
  readonly search: "Search...";
5392
+ readonly noResults: "No matches.";
5393
+ readonly moreResults: "+{{count}} more";
5394
+ readonly resultsCount: "{{count}} results";
5380
5395
  };
5381
5396
  readonly collections: {
5382
5397
  readonly sorting: {
@@ -6241,6 +6256,19 @@ export declare const defaultTranslations: {
6241
6256
  readonly other: "{{count}} issues";
6242
6257
  };
6243
6258
  };
6259
+ readonly sections: {
6260
+ readonly search: {
6261
+ readonly placeholder: "Search this record";
6262
+ readonly noResults: "No field matches.";
6263
+ readonly moreResults: "+{{count}} more";
6264
+ readonly resultsCount: "{{count}} fields";
6265
+ };
6266
+ };
6267
+ readonly inline: {
6268
+ readonly edit: "Edit {{label}}";
6269
+ readonly copy: "Copy {{label}}";
6270
+ readonly copied: "Copied {{label}}";
6271
+ };
6244
6272
  readonly file: {
6245
6273
  readonly dropzone: "Drag and drop a file, or click to select";
6246
6274
  readonly dropzoneActive: "Drop the file here";
@@ -6649,6 +6677,8 @@ export declare type DisplayToken = "block" | "flex" | "inline" | "inline-flex" |
6649
6677
  */
6650
6678
  declare type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
6651
6679
 
6680
+ declare type DistributiveOmit_2<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
6681
+
6652
6682
  /** Divider direction */
6653
6683
  export declare type DividerToken = "x" | "y";
6654
6684
 
@@ -8330,6 +8360,8 @@ export declare interface F0AnalyticsDashboardProps<Filters extends FiltersDefini
8330
8360
  navigationFilters?: NavigationFiltersDefinition;
8331
8361
  }
8332
8362
 
8363
+ export declare type F0AnySectionConfig = F0PerSectionSectionConfig | F0ContentSectionConfig;
8364
+
8333
8365
  /**
8334
8366
  * Config for array fields (multi-select or multi-file)
8335
8367
  * @typeParam T - The value type (string or number)
@@ -8857,6 +8889,17 @@ export declare interface F0BaseConfig {
8857
8889
  * field-specific configuration (e.g. data source, options) or a custom component.
8858
8890
  */
8859
8891
  customFieldName?: string;
8892
+ /**
8893
+ * Allow editing in inline mode. Resolve viewer permissions when building the
8894
+ * schema.
8895
+ * @default true
8896
+ */
8897
+ editable?: boolean;
8898
+ /**
8899
+ * Add a plain-text copy action in inline mode.
8900
+ * @default false
8901
+ */
8902
+ copyable?: boolean;
8860
8903
  }
8861
8904
 
8862
8905
  /**
@@ -8906,6 +8949,16 @@ export declare interface F0BaseField {
8906
8949
  * Used with the form-level `renderCustomField` callback.
8907
8950
  */
8908
8951
  customFieldName?: string;
8952
+ /**
8953
+ * Allow editing in inline mode.
8954
+ * @default true
8955
+ */
8956
+ editable?: boolean;
8957
+ /**
8958
+ * Add a plain-text copy action in inline mode.
8959
+ * @default false
8960
+ */
8961
+ copyable?: boolean;
8909
8962
  }
8910
8963
 
8911
8964
  /**
@@ -9439,6 +9492,16 @@ declare interface F0ClarifyingPanelProps {
9439
9492
  isSubmitDisabled?: boolean;
9440
9493
  }
9441
9494
 
9495
+ /**
9496
+ * A section with content instead of fields: a `sections` key with no match in
9497
+ * `schema`. It gets a heading and rail entry but no validation or dirty state.
9498
+ */
9499
+ export declare interface F0ContentSectionConfig extends F0SectionConfig {
9500
+ /** Rendered under the section heading. */
9501
+ render: () => React.ReactNode;
9502
+ submitConfig?: never;
9503
+ }
9504
+
9442
9505
  /**
9443
9506
  * F0 config options specific to custom fields
9444
9507
  *
@@ -10257,6 +10320,30 @@ export declare interface F0DataChartScatterProps extends F0DataChartCommonProps,
10257
10320
  xAxisName?: string;
10258
10321
  /** What the Y measure is, e.g. "tenure". Labels the y row in the tooltip. */
10259
10322
  yAxisName?: string;
10323
+ /**
10324
+ * Pin the X axis bounds instead of letting ECharts round them to nice values,
10325
+ * e.g. `0`–`100` for a percentage. Either bound can be set on its own.
10326
+ */
10327
+ xAxisMin?: number;
10328
+ /** Upper X axis bound. See {@link xAxisMin}. */
10329
+ xAxisMax?: number;
10330
+ /** Lower Y axis bound, e.g. the bottom of a rating scale. */
10331
+ yAxisMin?: number;
10332
+ /** Upper Y axis bound, e.g. the top of a rating scale. */
10333
+ yAxisMax?: number;
10334
+ /**
10335
+ * Print each point's `label` next to it, the way bar charts print their
10336
+ * values, so a small labelled cloud reads without hovering. Overlapping labels
10337
+ * are hidden. @default false
10338
+ */
10339
+ showPointLabels?: boolean;
10340
+ /**
10341
+ * Merge points that land on nearly the same spot into one dot. The merged dot
10342
+ * prints no label; hovering it lists every point it holds. @default false
10343
+ */
10344
+ groupNearbyPoints?: boolean;
10345
+ /** Render `xAxisName`/`yAxisName` as axis titles, not only in the tooltip. @default false */
10346
+ showAxisNames?: boolean;
10260
10347
  /** Escape hatch: raw ECharts options merged (shallow) on top of the generated config */
10261
10348
  echartsOptions?: Partial<echarts_2.EChartsOption>;
10262
10349
  }
@@ -11320,7 +11407,8 @@ export declare interface F0FormDefinitionPerSection<T extends F0PerSectionSchema
11320
11407
  /** Module associated with this form (for avatar display in canvas cards) */
11321
11408
  module?: ModuleId;
11322
11409
  schema: T;
11323
- sections?: Record<string, F0PerSectionSectionConfig>;
11410
+ /** Keyed by section ID. A key with no schema entry is a content section. */
11411
+ sections?: F0PerSectionSections<T>;
11324
11412
  defaultValues?: {
11325
11413
  [K in keyof T]?: Partial<z.infer<T[K]>>;
11326
11414
  };
@@ -11407,7 +11495,7 @@ export declare type F0FormErrorTriggerMode = "on-blur" | "on-change" | "on-submi
11407
11495
  * duration, select, checkbox, switch, date, time, datetime, daterange, richtext, custom,
11408
11496
  * and file.
11409
11497
  */
11410
- export declare function F0FormField({ field, value, onChange, onBlur, error, errorMessage, status, loading, required, disabled, hideLabel: hideLabelProp, initialFiles, }: F0FormFieldProps): JSX_2.Element;
11498
+ export declare function F0FormField({ field, value, onChange, onBlur, error, errorMessage, status, loading, required, disabled, hideLabel: hideLabelProp, initialFiles, inline, }: F0FormFieldProps): JSX_2.Element;
11411
11499
 
11412
11500
  export declare namespace F0FormField {
11413
11501
  var displayName: string;
@@ -11813,6 +11901,12 @@ declare interface F0FormFieldCommonProps {
11813
11901
  disabled?: boolean;
11814
11902
  /** Whether to hide the label (useful when label is rendered externally) */
11815
11903
  hideLabel?: boolean;
11904
+ /**
11905
+ * Render an editable detail row. The row owns the label; edits still call
11906
+ * onChange.
11907
+ * @default false
11908
+ */
11909
+ inline?: boolean;
11816
11910
  }
11817
11911
 
11818
11912
  declare interface F0FormFieldFileProps extends F0FormFieldCommonProps {
@@ -11893,6 +11987,11 @@ declare interface F0FormPropsWithDefinition {
11893
11987
  * instead of replacing the entire form with skeleton placeholders.
11894
11988
  */
11895
11989
  isLoading?: boolean;
11990
+ /**
11991
+ * Render editable detail rows using the existing save action bar.
11992
+ * @default false
11993
+ */
11994
+ inline?: boolean;
11896
11995
  }
11897
11996
 
11898
11997
  /**
@@ -11919,6 +12018,11 @@ export declare interface F0FormPropsWithPerSectionDefinition<T extends F0PerSect
11919
12018
  * instead of replacing the entire form with skeleton placeholders.
11920
12019
  */
11921
12020
  isLoading?: boolean;
12021
+ /**
12022
+ * Render editable detail rows. One action bar saves every dirty section.
12023
+ * @default false
12024
+ */
12025
+ inline?: boolean;
11922
12026
  }
11923
12027
 
11924
12028
  /**
@@ -11931,16 +12035,22 @@ export declare interface F0FormPropsWithPerSectionSchema<T extends F0PerSectionS
11931
12035
  name: string;
11932
12036
  /** Record mapping section IDs to their Zod schemas. Each section is independently validated and submitted. */
11933
12037
  schema: T;
11934
- /** Section configurations keyed by section ID */
11935
- sections?: Record<string, F0PerSectionSectionConfig>;
12038
+ /**
12039
+ * Section configurations keyed by section ID. A key not in `schema` is a
12040
+ * content section.
12041
+ */
12042
+ sections?: F0PerSectionSections<T>;
11936
12043
  /** Default values for each section, keyed by section ID */
11937
12044
  defaultValues?: {
11938
12045
  [K in keyof T]?: Partial<z.infer<T[K]>>;
11939
12046
  };
11940
12047
  /** Callback when a section is submitted. Receives the section ID and its validated data, both correctly typed. */
11941
12048
  onSubmit: PerSectionSubmitHandler<T>;
11942
- /** Global submit config applied to all sections (can be overridden per section) */
11943
- submitConfig?: F0PerSectionSubmitConfig;
12049
+ /**
12050
+ * Global submit config applied to all sections (overridable per section).
12051
+ * With `inline`, pass an action-bar config; section overrides are ignored.
12052
+ */
12053
+ submitConfig?: F0PerSectionSubmitConfig | F0FormActionBarSubmitConfig;
11944
12054
  /** Additional class name for the form container */
11945
12055
  className?: string;
11946
12056
  /**
@@ -11982,6 +12092,11 @@ export declare interface F0FormPropsWithPerSectionSchema<T extends F0PerSectionS
11982
12092
  * instead of replacing the entire form with skeleton placeholders.
11983
12093
  */
11984
12094
  isLoading?: boolean;
12095
+ /**
12096
+ * Render editable detail rows. One action bar saves every dirty section.
12097
+ * @default false
12098
+ */
12099
+ inline?: boolean;
11985
12100
  }
11986
12101
 
11987
12102
  /**
@@ -12019,6 +12134,11 @@ export declare interface F0FormPropsWithSingleSchema<TSchema extends F0FormSchem
12019
12134
  * Controls section sidebar visibility and box wrapping.
12020
12135
  */
12021
12136
  styling?: F0FormStylingConfig;
12137
+ /**
12138
+ * Render editable detail rows using the existing save action bar.
12139
+ * @default false
12140
+ */
12141
+ inline?: boolean;
12022
12142
  /**
12023
12143
  * Ref to control the form programmatically from outside.
12024
12144
  * Use with the `useF0Form` hook to get a ref and submit/reset functions.
@@ -12081,6 +12201,11 @@ export declare interface F0FormPropsWithSingleSchemaDefinition<TSchema extends F
12081
12201
  * When a field has `customFieldName`, this function is called instead of the inline `render`.
12082
12202
  */
12083
12203
  renderCustomField?: RenderCustomFieldFunction;
12204
+ /**
12205
+ * Render editable detail rows using the existing save action bar.
12206
+ * @default false
12207
+ */
12208
+ inline?: boolean;
12084
12209
  }
12085
12210
 
12086
12211
  /**
@@ -12094,19 +12219,23 @@ export declare interface F0FormRef {
12094
12219
  */
12095
12220
  submit: () => Promise<void>;
12096
12221
  /**
12097
- * Reset the form to its default values
12222
+ * Reset the form to its default values.
12223
+ * In inline per-section mode, resets every dirty section.
12098
12224
  */
12099
12225
  reset: () => void;
12100
12226
  /**
12101
- * Check if the form has unsaved changes
12227
+ * Check if the form has unsaved changes.
12228
+ * In inline per-section mode, true while any visible section is dirty.
12102
12229
  */
12103
12230
  isDirty: () => boolean;
12104
12231
  /**
12105
- * Get the current form values (including unsaved changes)
12232
+ * Get the current form values (including unsaved changes).
12233
+ * In inline per-section mode, keyed by section id.
12106
12234
  */
12107
12235
  getValues: () => Record<string, unknown>;
12108
12236
  /**
12109
- * Set a single field value programmatically
12237
+ * Set a single field value programmatically.
12238
+ * In inline per-section mode, the field is looked up in every section.
12110
12239
  */
12111
12240
  setValue: (fieldName: string, value: unknown, options?: F0FormSetValueOptions) => void;
12112
12241
  /**
@@ -12119,15 +12248,20 @@ export declare interface F0FormRef {
12119
12248
  */
12120
12249
  trigger: (fieldName?: string) => Promise<boolean>;
12121
12250
  /**
12122
- * Get current validation errors as a map of field name to error message
12251
+ * Get current validation errors as a map of field name to error message.
12252
+ * In inline per-section mode, the errors of every visible section.
12123
12253
  */
12124
12254
  getErrors: () => Record<string, string>;
12125
12255
  /**
12126
- * Get the list of field names in the form
12256
+ * Get the list of field names in the form.
12257
+ * In inline per-section mode, the field names of every visible section.
12127
12258
  */
12128
12259
  getFieldNames: () => string[];
12129
12260
  /**
12130
- * Access the action bar imperatively (e.g. to trigger a wiggle animation)
12261
+ * Access the action bar imperatively, e.g. `actionBar.wiggle()` when
12262
+ * navigation is blocked by unsaved changes. No-op when no bar is shown.
12263
+ * `{ errorHighlight: true }` adds error styling only when there are
12264
+ * validation errors.
12131
12265
  */
12132
12266
  actionBar: F0ActionBarRef;
12133
12267
  /* Excluded from this release type: _setStateCallback */
@@ -12167,11 +12301,23 @@ export declare interface F0FormStylingConfig {
12167
12301
  * @default false
12168
12302
  */
12169
12303
  showSectionsSidepanel?: boolean;
12304
+ /**
12305
+ * Pixels between the pinned sections rail and the top of the scroll area,
12306
+ * to clear a sticky header. Inline forms only.
12307
+ * @default 0
12308
+ */
12309
+ sectionsSidepanelOffset?: number;
12170
12310
  /**
12171
12311
  * Removes the default padding around the form content.
12172
12312
  * @default false
12173
12313
  */
12174
12314
  noPadding?: boolean;
12315
+ /**
12316
+ * Adds a search box to the sections rail that filters sections and fields by
12317
+ * label. Requires `showSectionsSidepanel`.
12318
+ * @default false
12319
+ */
12320
+ sectionsSearch?: boolean;
12175
12321
  }
12176
12322
 
12177
12323
  /**
@@ -13007,8 +13153,18 @@ declare type F0PerSectionSchema_2 = Record<string, F0FormSchema_2>;
13007
13153
  export declare interface F0PerSectionSectionConfig extends F0SectionConfig {
13008
13154
  /** Override submit config for this specific section */
13009
13155
  submitConfig?: F0PerSectionSubmitConfig;
13156
+ /** Only content sections (no schema key) take `render`. */
13157
+ render?: never;
13010
13158
  }
13011
13159
 
13160
+ /**
13161
+ * The `sections` record of a per-section form. The plain-record branch lets
13162
+ * forms typed against a generic schema compile, as their keys can't be proven.
13163
+ */
13164
+ export declare type F0PerSectionSections<T extends F0PerSectionSchema> = ({
13165
+ [K in keyof T & string]?: F0PerSectionSectionConfig;
13166
+ } & Record<string, F0AnySectionConfig>) | Record<string, F0PerSectionSectionConfig>;
13167
+
13012
13168
  /**
13013
13169
  * Per-section submit configuration, extending the base submit config
13014
13170
  * with an optional per-section label override.
@@ -13506,7 +13662,40 @@ declare type F0SelectFieldProps<T extends string, R = unknown> = F0SelectPopupPr
13506
13662
  hideArrow?: boolean;
13507
13663
  } & Pick<InputFieldProps<T>, "required" | "loading" | "hideLabel" | "labelIcon" | "size" | "label" | "icon" | "placeholder" | "disabled" | "name" | "error" | "status" | "hint">;
13508
13664
 
13509
- declare type F0SelectInlineProps<T extends string, R = unknown> = F0SelectPopupProps<T, R> & F0SelectSingleSelectionProps<T, R> & Pick<InputFieldProps<T>, "label" | "placeholder" | "disabled"> & {
13665
+ declare type F0SelectFieldVariantProps<T extends string, R> = Extract<F0SelectProps<T, R>, {
13666
+ variant?: "field";
13667
+ }>;
13668
+
13669
+ /**
13670
+ * @experimental This is an experimental component use it at your own risk
13671
+ */
13672
+ export declare const F0SelectInline: typeof F0SelectInline_2;
13673
+
13674
+ /** The detail-row select owns its static reading and mounts F0Select for editing. */
13675
+ declare function F0SelectInline_2<T extends string = string, R = unknown>({ editing, onDismiss, ...props }: F0SelectInlineProps<T, R>): JSX_2.Element;
13676
+
13677
+ export declare type F0SelectInlineDismissReason = (typeof selectInlineDismissReasons)[number];
13678
+
13679
+ /** Field props that F0SelectInline draws or controls itself. */
13680
+ declare type F0SelectInlineOmittedProp = "variant" | "open" | "onOpenChange" | "children" | "className" | "asList" | "hideArrow" | "size" | "icon" | "labelIcon" | "required" | "name" | "error" | "status" | "hint";
13681
+
13682
+ export declare type F0SelectInlineProps<T extends string = string, R = unknown> = WithClearableOnChange<DistributiveOmit_2<F0SelectFieldVariantProps<T, R>, F0SelectInlineOmittedProp>, T, R> & {
13683
+ /**
13684
+ * The parent owns the mode. While true, F0Select is mounted with its list
13685
+ * initially open; F0Select then manages that list's open state. `disabled`
13686
+ * wins and keeps the value at rest.
13687
+ */
13688
+ editing?: boolean;
13689
+ /**
13690
+ * Called once per gesture that ends the edit, on the next frame and after any
13691
+ * `onChange` it caused. The parent sets the mode and restores focus.
13692
+ */
13693
+ onDismiss?: (reason: F0SelectInlineDismissReason) => void;
13694
+ } & {
13695
+ [K in F0SelectInlineOmittedProp]?: never;
13696
+ };
13697
+
13698
+ declare type F0SelectInlineProps_2<T extends string, R = unknown> = F0SelectPopupProps<T, R> & F0SelectSingleSelectionProps<T, R> & Pick<InputFieldProps<T>, "label" | "placeholder" | "disabled"> & {
13510
13699
  /**
13511
13700
  * Compact borderless presentation for single-value controls embedded in rows.
13512
13701
  * The required label is used as the accessible name and is not shown visually.
@@ -13662,7 +13851,7 @@ declare type F0SelectPopupProps<T extends string, R = unknown> = {
13662
13851
  * @template T - The type of the emitted value
13663
13852
  * @template R - The type of the record/item data (used with data source)
13664
13853
  */
13665
- export declare type F0SelectProps<T extends string, R = unknown> = (F0SelectFieldProps<T, R> | F0SelectInlineProps<T, R>) & F0SelectDataProps<T, R>;
13854
+ export declare type F0SelectProps<T extends string, R = unknown> = (F0SelectFieldProps<T, R> | F0SelectInlineProps_2<T, R>) & F0SelectDataProps<T, R>;
13666
13855
 
13667
13856
  declare type F0SelectSelectionProps<T extends string, R = unknown> = F0SelectSingleSelectionProps<T, R> | {
13668
13857
  clearable: true;
@@ -13946,6 +14135,16 @@ export declare type F0TextareaField = F0BaseField & F0TextareaConfig & {
13946
14135
  */
13947
14136
  export declare const F0TextAreaInput: React.FC<F0TextAreaInputProps>;
13948
14137
 
14138
+ /** Wrapped text at rest; the standard textarea while the parent enables editing. */
14139
+ export declare const F0TextAreaInputInline: ForwardRefExoticComponent<F0TextAreaInputInlineProps & RefAttributes<HTMLTextAreaElement>>;
14140
+
14141
+ export declare interface F0TextAreaInputInlineProps extends F0TextAreaInputProps {
14142
+ /** Focuses the textarea when it opens. Defaults to true. */
14143
+ autoFocus?: boolean;
14144
+ editing?: boolean;
14145
+ onDismiss?: (reason: InlineDismissReason) => void;
14146
+ }
14147
+
13949
14148
  export declare type F0TextAreaInputProps = Pick<ComponentProps<typeof Textarea_2>, "disabled" | "onChange" | "value" | "placeholder" | "rows" | "cols" | "label" | "labelIcon" | "icon" | "hideLabel" | "maxLength" | "clearable" | "onBlur" | "onFocus" | "name" | "status" | "hint" | "error" | "size" | "loading" | "required" | "maxHeight">;
13950
14149
 
13951
14150
  /**
@@ -15875,6 +16074,64 @@ declare type InlineDismissReason = (typeof inlineDismissReasons)[number];
15875
16074
 
15876
16075
  declare const inlineDismissReasons: readonly ["blur", "escape", "commit"];
15877
16076
 
16077
+ /** Presentation-only row. The forwarded ref targets the activator for focus restoration. */
16078
+ export declare const InlineFieldRow: ForwardRefExoticComponent<InlineFieldRowProps & RefAttributes<HTMLDivElement>>;
16079
+
16080
+ export declare type InlineFieldRowAction = {
16081
+ key: string;
16082
+ icon: IconType;
16083
+ label: string;
16084
+ onClick: () => void;
16085
+ /** Draws the glyph in the positive token, for a state the row is confirming. */
16086
+ positive?: boolean;
16087
+ };
16088
+
16089
+ /**
16090
+ * Alert props the row renders with `F0Alert`, so every row gets the same
16091
+ * chrome.
16092
+ */
16093
+ export declare type InlineFieldRowAlert = Omit<F0AlertProps, "variant"> & {
16094
+ /** @default "info" */
16095
+ variant?: F0AlertProps["variant"];
16096
+ };
16097
+
16098
+ export declare const InlineFieldRowList: ({ children }: {
16099
+ children: ReactNode;
16100
+ }) => JSX_2.Element;
16101
+
16102
+ export declare type InlineFieldRowProps = {
16103
+ /** Anchor the row so section navigation and error scrolling can reach it. */
16104
+ anchorId?: string;
16105
+ label: string;
16106
+ /** Marks the label with a star. */
16107
+ required?: boolean;
16108
+ /** Hint shown beside the label. */
16109
+ hint?: string;
16110
+ value: ReactNode;
16111
+ /** Fixed order, closest to the value first. Copy is appended after it. */
16112
+ actions: InlineFieldRowAction[];
16113
+ /** When set, the row appends a copy action that writes exactly this string. */
16114
+ copyValue?: string;
16115
+ /** Omit to disable activation. */
16116
+ onActivate?: () => void;
16117
+ /** Use a caret for text editors and a pointer for popup editors. */
16118
+ activatorCursor?: "caret" | "pointer";
16119
+ /**
16120
+ * `"fixed"` pins the value box to 40px; `"auto"` grows from 40px with its
16121
+ * content.
16122
+ * @default "fixed"
16123
+ */
16124
+ valueHeight?: "fixed" | "auto";
16125
+ editing: boolean;
16126
+ /** Validation copy below the value; also marks the value box as critical. */
16127
+ message?: string;
16128
+ /**
16129
+ * Contextual alert below the value in both modes; does not affect validity
16130
+ * styling.
16131
+ */
16132
+ alert?: InlineFieldRowAlert;
16133
+ };
16134
+
15878
16135
  /**
15879
16136
  * @deprecated Renamed to `F0TextInput` to match the F0 input vocabulary
15880
16137
  * (any component where the user types text in a box has the `Input` suffix
@@ -18884,6 +19141,18 @@ export declare interface ScatterChartConfig {
18884
19141
  xAxisName?: string;
18885
19142
  /** What the Y measure is, e.g. "tenure" — labels the y row in the tooltip */
18886
19143
  yAxisName?: string;
19144
+ /** Pin the X axis bounds, e.g. 0 and 100 for a percentage */
19145
+ xAxisMin?: number;
19146
+ xAxisMax?: number;
19147
+ /** Pin the Y axis bounds, e.g. 1 and 5 for a rating */
19148
+ yAxisMin?: number;
19149
+ yAxisMax?: number;
19150
+ /** Print each point's label next to it. @default false */
19151
+ showPointLabels?: boolean;
19152
+ /** Merge points on nearly the same spot; hover lists them. @default false */
19153
+ groupNearbyPoints?: boolean;
19154
+ /** Render the axis names as axis titles. @default false */
19155
+ showAxisNames?: boolean;
18887
19156
  }
18888
19157
 
18889
19158
  /** Skeleton for scatter chart content area — points with no connecting path. */
@@ -19103,6 +19372,12 @@ export declare type SelectedState = {
19103
19372
  */
19104
19373
  declare type SelectFieldRenderIf = SelectRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
19105
19374
 
19375
+ /**
19376
+ * What ends an inline select edit. Any close of the list other than a pick or
19377
+ * Escape is `"popupClose"`. There is no `"blur"`: focus stays in the list.
19378
+ */
19379
+ export declare const selectInlineDismissReasons: readonly ["escape", "commit", "popupClose"];
19380
+
19106
19381
  export declare type SelectionId = number | string;
19107
19382
 
19108
19383
  export declare type SelectionMeta<R extends RecordType> = {
@@ -19265,6 +19540,13 @@ export declare const StandardLayout: WithDataTestIdReturnType_2<ForwardRefExotic
19265
19540
 
19266
19541
  export declare interface StandardLayoutProps extends VariantProps<typeof layoutVariants> {
19267
19542
  children?: default_2.ReactNode;
19543
+ /**
19544
+ * Whether the layout is its own scroll container. Set `false` when the host
19545
+ * scrolls the page, so sticky descendants pin against the host's scroller.
19546
+ * An overflow box is a sticky scrollport even when it never scrolls.
19547
+ * @default true
19548
+ */
19549
+ scrollable?: boolean;
19268
19550
  }
19269
19551
 
19270
19552
  export declare type Status = (typeof statuses_2)[number];
@@ -20392,7 +20674,37 @@ declare interface TOCProps {
20392
20674
  sortable?: boolean;
20393
20675
  onReorder?: (reorderedIds: IdStructure[]) => void;
20394
20676
  showSearchBox?: boolean;
20677
+ /**
20678
+ * @experimental
20679
+ * Makes the search box a combobox whose results the arrow keys walk and Enter
20680
+ * picks. Matching ignores accents and case and needs every term; a matching
20681
+ * parent keeps its subtree; Escape clears. Has no effect without
20682
+ * `showSearchBox`.
20683
+ * @default false
20684
+ */
20685
+ navigableSearch?: boolean;
20395
20686
  searchPlaceholder?: string;
20687
+ /**
20688
+ * Results shown before the list is cut, with a line counting the rest.
20689
+ * @default Infinity
20690
+ */
20691
+ searchResultLimit?: number;
20692
+ /** Called with the query on every change. */
20693
+ onSearchChange?: (query: string) => void;
20694
+ /**
20695
+ * Copy for a search that matches nothing. Defaults to `i18n.toc.noResults`.
20696
+ */
20697
+ searchEmptyLabel?: string;
20698
+ /**
20699
+ * Copy under a cut list; `{{count}}` is the hidden results. Defaults to
20700
+ * `i18n.toc.moreResults`.
20701
+ */
20702
+ searchMoreResultsLabel?: string;
20703
+ /**
20704
+ * Copy announced when results change; `{{count}}` is the shown results.
20705
+ * Defaults to `i18n.toc.resultsCount`.
20706
+ */
20707
+ searchResultsCountLabel?: string;
20396
20708
  hideChildrenCounter?: boolean;
20397
20709
  /** Enable vertical scrolling when content overflows (default: true) */
20398
20710
  scrollable?: boolean;
@@ -21754,10 +22066,18 @@ export declare type WelcomeSuggestionClickEvent = {
21754
22066
  prompt: string;
21755
22067
  };
21756
22068
 
21757
- declare interface WiggleOptions {
22069
+ export declare interface WiggleOptions {
21758
22070
  errorHighlight?: boolean;
21759
22071
  }
21760
22072
 
22073
+ /** Clear hands a clearable single selection's `onChange` `undefined`. */
22074
+ declare type WithClearableOnChange<P, T extends string, R> = P extends {
22075
+ clearable: true;
22076
+ multiple?: false;
22077
+ } ? Omit<P, "onChange"> & {
22078
+ onChange?: (value: T | undefined, originalItem?: ResolvedRecordType<R>, option?: F0SelectItemObject<T, ResolvedRecordType<R>>) => void;
22079
+ } : P;
22080
+
21761
22081
  export declare const withDataTestId: <T extends default_2.ComponentType<any>>(component: T) => WithDataTestIdReturnType<T>;
21762
22082
 
21763
22083
  export declare type WithDataTestIdProps = {
@@ -21901,11 +22221,9 @@ declare namespace Calendar {
21901
22221
 
21902
22222
  declare module "@tiptap/core" {
21903
22223
  interface Commands<ReturnType> {
21904
- enhanceHighlight: {
21905
- setEnhanceHighlight: (from: number, to: number, options?: {
21906
- placeholder?: string;
21907
- }) => ReturnType;
21908
- clearEnhanceHighlight: () => ReturnType;
22224
+ aiBlock: {
22225
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
22226
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
21909
22227
  };
21910
22228
  }
21911
22229
  }
@@ -21913,9 +22231,11 @@ declare module "@tiptap/core" {
21913
22231
 
21914
22232
  declare module "@tiptap/core" {
21915
22233
  interface Commands<ReturnType> {
21916
- aiBlock: {
21917
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
21918
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
22234
+ enhanceHighlight: {
22235
+ setEnhanceHighlight: (from: number, to: number, options?: {
22236
+ placeholder?: string;
22237
+ }) => ReturnType;
22238
+ clearEnhanceHighlight: () => ReturnType;
21919
22239
  };
21920
22240
  }
21921
22241
  }
@@ -21953,10 +22273,8 @@ declare module "@tiptap/core" {
21953
22273
 
21954
22274
  declare module "@tiptap/core" {
21955
22275
  interface Commands<ReturnType> {
21956
- videoEmbed: {
21957
- setVideoEmbed: (options: {
21958
- src: string;
21959
- }) => ReturnType;
22276
+ transcript: {
22277
+ insertTranscript: (data: TranscriptData) => ReturnType;
21960
22278
  };
21961
22279
  }
21962
22280
  }
@@ -21964,8 +22282,10 @@ declare module "@tiptap/core" {
21964
22282
 
21965
22283
  declare module "@tiptap/core" {
21966
22284
  interface Commands<ReturnType> {
21967
- transcript: {
21968
- insertTranscript: (data: TranscriptData) => ReturnType;
22285
+ videoEmbed: {
22286
+ setVideoEmbed: (options: {
22287
+ src: string;
22288
+ }) => ReturnType;
21969
22289
  };
21970
22290
  }
21971
22291
  }