@factorialco/f0-react 7.30.0 → 7.31.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 +30 -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 +76 -16
  18. package/dist/experimental.js +79 -78
  19. package/dist/f0.d.ts +302 -30
  20. package/dist/f0.js +3455 -3420
  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
@@ -5377,6 +5377,9 @@ export declare const defaultTranslations: {
5377
5377
  };
5378
5378
  readonly toc: {
5379
5379
  readonly search: "Search...";
5380
+ readonly noResults: "No matches.";
5381
+ readonly moreResults: "+{{count}} more";
5382
+ readonly resultsCount: "{{count}} results";
5380
5383
  };
5381
5384
  readonly collections: {
5382
5385
  readonly sorting: {
@@ -6241,6 +6244,19 @@ export declare const defaultTranslations: {
6241
6244
  readonly other: "{{count}} issues";
6242
6245
  };
6243
6246
  };
6247
+ readonly sections: {
6248
+ readonly search: {
6249
+ readonly placeholder: "Search this record";
6250
+ readonly noResults: "No field matches.";
6251
+ readonly moreResults: "+{{count}} more";
6252
+ readonly resultsCount: "{{count}} fields";
6253
+ };
6254
+ };
6255
+ readonly inline: {
6256
+ readonly edit: "Edit {{label}}";
6257
+ readonly copy: "Copy {{label}}";
6258
+ readonly copied: "Copied {{label}}";
6259
+ };
6244
6260
  readonly file: {
6245
6261
  readonly dropzone: "Drag and drop a file, or click to select";
6246
6262
  readonly dropzoneActive: "Drop the file here";
@@ -6649,6 +6665,8 @@ export declare type DisplayToken = "block" | "flex" | "inline" | "inline-flex" |
6649
6665
  */
6650
6666
  declare type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
6651
6667
 
6668
+ declare type DistributiveOmit_2<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
6669
+
6652
6670
  /** Divider direction */
6653
6671
  export declare type DividerToken = "x" | "y";
6654
6672
 
@@ -8330,6 +8348,8 @@ export declare interface F0AnalyticsDashboardProps<Filters extends FiltersDefini
8330
8348
  navigationFilters?: NavigationFiltersDefinition;
8331
8349
  }
8332
8350
 
8351
+ export declare type F0AnySectionConfig = F0PerSectionSectionConfig | F0ContentSectionConfig;
8352
+
8333
8353
  /**
8334
8354
  * Config for array fields (multi-select or multi-file)
8335
8355
  * @typeParam T - The value type (string or number)
@@ -8857,6 +8877,17 @@ export declare interface F0BaseConfig {
8857
8877
  * field-specific configuration (e.g. data source, options) or a custom component.
8858
8878
  */
8859
8879
  customFieldName?: string;
8880
+ /**
8881
+ * Allow editing in inline mode. Resolve viewer permissions when building the
8882
+ * schema.
8883
+ * @default true
8884
+ */
8885
+ editable?: boolean;
8886
+ /**
8887
+ * Add a plain-text copy action in inline mode.
8888
+ * @default false
8889
+ */
8890
+ copyable?: boolean;
8860
8891
  }
8861
8892
 
8862
8893
  /**
@@ -8906,6 +8937,16 @@ export declare interface F0BaseField {
8906
8937
  * Used with the form-level `renderCustomField` callback.
8907
8938
  */
8908
8939
  customFieldName?: string;
8940
+ /**
8941
+ * Allow editing in inline mode.
8942
+ * @default true
8943
+ */
8944
+ editable?: boolean;
8945
+ /**
8946
+ * Add a plain-text copy action in inline mode.
8947
+ * @default false
8948
+ */
8949
+ copyable?: boolean;
8909
8950
  }
8910
8951
 
8911
8952
  /**
@@ -9439,6 +9480,16 @@ declare interface F0ClarifyingPanelProps {
9439
9480
  isSubmitDisabled?: boolean;
9440
9481
  }
9441
9482
 
9483
+ /**
9484
+ * A section with content instead of fields: a `sections` key with no match in
9485
+ * `schema`. It gets a heading and rail entry but no validation or dirty state.
9486
+ */
9487
+ export declare interface F0ContentSectionConfig extends F0SectionConfig {
9488
+ /** Rendered under the section heading. */
9489
+ render: () => React.ReactNode;
9490
+ submitConfig?: never;
9491
+ }
9492
+
9442
9493
  /**
9443
9494
  * F0 config options specific to custom fields
9444
9495
  *
@@ -11320,7 +11371,8 @@ export declare interface F0FormDefinitionPerSection<T extends F0PerSectionSchema
11320
11371
  /** Module associated with this form (for avatar display in canvas cards) */
11321
11372
  module?: ModuleId;
11322
11373
  schema: T;
11323
- sections?: Record<string, F0PerSectionSectionConfig>;
11374
+ /** Keyed by section ID. A key with no schema entry is a content section. */
11375
+ sections?: F0PerSectionSections<T>;
11324
11376
  defaultValues?: {
11325
11377
  [K in keyof T]?: Partial<z.infer<T[K]>>;
11326
11378
  };
@@ -11407,7 +11459,7 @@ export declare type F0FormErrorTriggerMode = "on-blur" | "on-change" | "on-submi
11407
11459
  * duration, select, checkbox, switch, date, time, datetime, daterange, richtext, custom,
11408
11460
  * and file.
11409
11461
  */
11410
- export declare function F0FormField({ field, value, onChange, onBlur, error, errorMessage, status, loading, required, disabled, hideLabel: hideLabelProp, initialFiles, }: F0FormFieldProps): JSX_2.Element;
11462
+ export declare function F0FormField({ field, value, onChange, onBlur, error, errorMessage, status, loading, required, disabled, hideLabel: hideLabelProp, initialFiles, inline, }: F0FormFieldProps): JSX_2.Element;
11411
11463
 
11412
11464
  export declare namespace F0FormField {
11413
11465
  var displayName: string;
@@ -11813,6 +11865,12 @@ declare interface F0FormFieldCommonProps {
11813
11865
  disabled?: boolean;
11814
11866
  /** Whether to hide the label (useful when label is rendered externally) */
11815
11867
  hideLabel?: boolean;
11868
+ /**
11869
+ * Render an editable detail row. The row owns the label; edits still call
11870
+ * onChange.
11871
+ * @default false
11872
+ */
11873
+ inline?: boolean;
11816
11874
  }
11817
11875
 
11818
11876
  declare interface F0FormFieldFileProps extends F0FormFieldCommonProps {
@@ -11893,6 +11951,11 @@ declare interface F0FormPropsWithDefinition {
11893
11951
  * instead of replacing the entire form with skeleton placeholders.
11894
11952
  */
11895
11953
  isLoading?: boolean;
11954
+ /**
11955
+ * Render editable detail rows using the existing save action bar.
11956
+ * @default false
11957
+ */
11958
+ inline?: boolean;
11896
11959
  }
11897
11960
 
11898
11961
  /**
@@ -11919,6 +11982,11 @@ export declare interface F0FormPropsWithPerSectionDefinition<T extends F0PerSect
11919
11982
  * instead of replacing the entire form with skeleton placeholders.
11920
11983
  */
11921
11984
  isLoading?: boolean;
11985
+ /**
11986
+ * Render editable detail rows. One action bar saves every dirty section.
11987
+ * @default false
11988
+ */
11989
+ inline?: boolean;
11922
11990
  }
11923
11991
 
11924
11992
  /**
@@ -11931,16 +11999,22 @@ export declare interface F0FormPropsWithPerSectionSchema<T extends F0PerSectionS
11931
11999
  name: string;
11932
12000
  /** Record mapping section IDs to their Zod schemas. Each section is independently validated and submitted. */
11933
12001
  schema: T;
11934
- /** Section configurations keyed by section ID */
11935
- sections?: Record<string, F0PerSectionSectionConfig>;
12002
+ /**
12003
+ * Section configurations keyed by section ID. A key not in `schema` is a
12004
+ * content section.
12005
+ */
12006
+ sections?: F0PerSectionSections<T>;
11936
12007
  /** Default values for each section, keyed by section ID */
11937
12008
  defaultValues?: {
11938
12009
  [K in keyof T]?: Partial<z.infer<T[K]>>;
11939
12010
  };
11940
12011
  /** Callback when a section is submitted. Receives the section ID and its validated data, both correctly typed. */
11941
12012
  onSubmit: PerSectionSubmitHandler<T>;
11942
- /** Global submit config applied to all sections (can be overridden per section) */
11943
- submitConfig?: F0PerSectionSubmitConfig;
12013
+ /**
12014
+ * Global submit config applied to all sections (overridable per section).
12015
+ * With `inline`, pass an action-bar config; section overrides are ignored.
12016
+ */
12017
+ submitConfig?: F0PerSectionSubmitConfig | F0FormActionBarSubmitConfig;
11944
12018
  /** Additional class name for the form container */
11945
12019
  className?: string;
11946
12020
  /**
@@ -11982,6 +12056,11 @@ export declare interface F0FormPropsWithPerSectionSchema<T extends F0PerSectionS
11982
12056
  * instead of replacing the entire form with skeleton placeholders.
11983
12057
  */
11984
12058
  isLoading?: boolean;
12059
+ /**
12060
+ * Render editable detail rows. One action bar saves every dirty section.
12061
+ * @default false
12062
+ */
12063
+ inline?: boolean;
11985
12064
  }
11986
12065
 
11987
12066
  /**
@@ -12019,6 +12098,11 @@ export declare interface F0FormPropsWithSingleSchema<TSchema extends F0FormSchem
12019
12098
  * Controls section sidebar visibility and box wrapping.
12020
12099
  */
12021
12100
  styling?: F0FormStylingConfig;
12101
+ /**
12102
+ * Render editable detail rows using the existing save action bar.
12103
+ * @default false
12104
+ */
12105
+ inline?: boolean;
12022
12106
  /**
12023
12107
  * Ref to control the form programmatically from outside.
12024
12108
  * Use with the `useF0Form` hook to get a ref and submit/reset functions.
@@ -12081,6 +12165,11 @@ export declare interface F0FormPropsWithSingleSchemaDefinition<TSchema extends F
12081
12165
  * When a field has `customFieldName`, this function is called instead of the inline `render`.
12082
12166
  */
12083
12167
  renderCustomField?: RenderCustomFieldFunction;
12168
+ /**
12169
+ * Render editable detail rows using the existing save action bar.
12170
+ * @default false
12171
+ */
12172
+ inline?: boolean;
12084
12173
  }
12085
12174
 
12086
12175
  /**
@@ -12094,19 +12183,23 @@ export declare interface F0FormRef {
12094
12183
  */
12095
12184
  submit: () => Promise<void>;
12096
12185
  /**
12097
- * Reset the form to its default values
12186
+ * Reset the form to its default values.
12187
+ * In inline per-section mode, resets every dirty section.
12098
12188
  */
12099
12189
  reset: () => void;
12100
12190
  /**
12101
- * Check if the form has unsaved changes
12191
+ * Check if the form has unsaved changes.
12192
+ * In inline per-section mode, true while any visible section is dirty.
12102
12193
  */
12103
12194
  isDirty: () => boolean;
12104
12195
  /**
12105
- * Get the current form values (including unsaved changes)
12196
+ * Get the current form values (including unsaved changes).
12197
+ * In inline per-section mode, keyed by section id.
12106
12198
  */
12107
12199
  getValues: () => Record<string, unknown>;
12108
12200
  /**
12109
- * Set a single field value programmatically
12201
+ * Set a single field value programmatically.
12202
+ * In inline per-section mode, the field is looked up in every section.
12110
12203
  */
12111
12204
  setValue: (fieldName: string, value: unknown, options?: F0FormSetValueOptions) => void;
12112
12205
  /**
@@ -12119,15 +12212,20 @@ export declare interface F0FormRef {
12119
12212
  */
12120
12213
  trigger: (fieldName?: string) => Promise<boolean>;
12121
12214
  /**
12122
- * Get current validation errors as a map of field name to error message
12215
+ * Get current validation errors as a map of field name to error message.
12216
+ * In inline per-section mode, the errors of every visible section.
12123
12217
  */
12124
12218
  getErrors: () => Record<string, string>;
12125
12219
  /**
12126
- * Get the list of field names in the form
12220
+ * Get the list of field names in the form.
12221
+ * In inline per-section mode, the field names of every visible section.
12127
12222
  */
12128
12223
  getFieldNames: () => string[];
12129
12224
  /**
12130
- * Access the action bar imperatively (e.g. to trigger a wiggle animation)
12225
+ * Access the action bar imperatively, e.g. `actionBar.wiggle()` when
12226
+ * navigation is blocked by unsaved changes. No-op when no bar is shown.
12227
+ * `{ errorHighlight: true }` adds error styling only when there are
12228
+ * validation errors.
12131
12229
  */
12132
12230
  actionBar: F0ActionBarRef;
12133
12231
  /* Excluded from this release type: _setStateCallback */
@@ -12167,11 +12265,23 @@ export declare interface F0FormStylingConfig {
12167
12265
  * @default false
12168
12266
  */
12169
12267
  showSectionsSidepanel?: boolean;
12268
+ /**
12269
+ * Pixels between the pinned sections rail and the top of the scroll area,
12270
+ * to clear a sticky header. Inline forms only.
12271
+ * @default 0
12272
+ */
12273
+ sectionsSidepanelOffset?: number;
12170
12274
  /**
12171
12275
  * Removes the default padding around the form content.
12172
12276
  * @default false
12173
12277
  */
12174
12278
  noPadding?: boolean;
12279
+ /**
12280
+ * Adds a search box to the sections rail that filters sections and fields by
12281
+ * label. Requires `showSectionsSidepanel`.
12282
+ * @default false
12283
+ */
12284
+ sectionsSearch?: boolean;
12175
12285
  }
12176
12286
 
12177
12287
  /**
@@ -13007,8 +13117,18 @@ declare type F0PerSectionSchema_2 = Record<string, F0FormSchema_2>;
13007
13117
  export declare interface F0PerSectionSectionConfig extends F0SectionConfig {
13008
13118
  /** Override submit config for this specific section */
13009
13119
  submitConfig?: F0PerSectionSubmitConfig;
13120
+ /** Only content sections (no schema key) take `render`. */
13121
+ render?: never;
13010
13122
  }
13011
13123
 
13124
+ /**
13125
+ * The `sections` record of a per-section form. The plain-record branch lets
13126
+ * forms typed against a generic schema compile, as their keys can't be proven.
13127
+ */
13128
+ export declare type F0PerSectionSections<T extends F0PerSectionSchema> = ({
13129
+ [K in keyof T & string]?: F0PerSectionSectionConfig;
13130
+ } & Record<string, F0AnySectionConfig>) | Record<string, F0PerSectionSectionConfig>;
13131
+
13012
13132
  /**
13013
13133
  * Per-section submit configuration, extending the base submit config
13014
13134
  * with an optional per-section label override.
@@ -13506,7 +13626,40 @@ declare type F0SelectFieldProps<T extends string, R = unknown> = F0SelectPopupPr
13506
13626
  hideArrow?: boolean;
13507
13627
  } & Pick<InputFieldProps<T>, "required" | "loading" | "hideLabel" | "labelIcon" | "size" | "label" | "icon" | "placeholder" | "disabled" | "name" | "error" | "status" | "hint">;
13508
13628
 
13509
- declare type F0SelectInlineProps<T extends string, R = unknown> = F0SelectPopupProps<T, R> & F0SelectSingleSelectionProps<T, R> & Pick<InputFieldProps<T>, "label" | "placeholder" | "disabled"> & {
13629
+ declare type F0SelectFieldVariantProps<T extends string, R> = Extract<F0SelectProps<T, R>, {
13630
+ variant?: "field";
13631
+ }>;
13632
+
13633
+ /**
13634
+ * @experimental This is an experimental component use it at your own risk
13635
+ */
13636
+ export declare const F0SelectInline: typeof F0SelectInline_2;
13637
+
13638
+ /** The detail-row select owns its static reading and mounts F0Select for editing. */
13639
+ declare function F0SelectInline_2<T extends string = string, R = unknown>({ editing, onDismiss, ...props }: F0SelectInlineProps<T, R>): JSX_2.Element;
13640
+
13641
+ export declare type F0SelectInlineDismissReason = (typeof selectInlineDismissReasons)[number];
13642
+
13643
+ /** Field props that F0SelectInline draws or controls itself. */
13644
+ declare type F0SelectInlineOmittedProp = "variant" | "open" | "onOpenChange" | "children" | "className" | "asList" | "hideArrow" | "size" | "icon" | "labelIcon" | "required" | "name" | "error" | "status" | "hint";
13645
+
13646
+ export declare type F0SelectInlineProps<T extends string = string, R = unknown> = WithClearableOnChange<DistributiveOmit_2<F0SelectFieldVariantProps<T, R>, F0SelectInlineOmittedProp>, T, R> & {
13647
+ /**
13648
+ * The parent owns the mode. While true, F0Select is mounted with its list
13649
+ * initially open; F0Select then manages that list's open state. `disabled`
13650
+ * wins and keeps the value at rest.
13651
+ */
13652
+ editing?: boolean;
13653
+ /**
13654
+ * Called once per gesture that ends the edit, on the next frame and after any
13655
+ * `onChange` it caused. The parent sets the mode and restores focus.
13656
+ */
13657
+ onDismiss?: (reason: F0SelectInlineDismissReason) => void;
13658
+ } & {
13659
+ [K in F0SelectInlineOmittedProp]?: never;
13660
+ };
13661
+
13662
+ declare type F0SelectInlineProps_2<T extends string, R = unknown> = F0SelectPopupProps<T, R> & F0SelectSingleSelectionProps<T, R> & Pick<InputFieldProps<T>, "label" | "placeholder" | "disabled"> & {
13510
13663
  /**
13511
13664
  * Compact borderless presentation for single-value controls embedded in rows.
13512
13665
  * The required label is used as the accessible name and is not shown visually.
@@ -13662,7 +13815,7 @@ declare type F0SelectPopupProps<T extends string, R = unknown> = {
13662
13815
  * @template T - The type of the emitted value
13663
13816
  * @template R - The type of the record/item data (used with data source)
13664
13817
  */
13665
- export declare type F0SelectProps<T extends string, R = unknown> = (F0SelectFieldProps<T, R> | F0SelectInlineProps<T, R>) & F0SelectDataProps<T, R>;
13818
+ export declare type F0SelectProps<T extends string, R = unknown> = (F0SelectFieldProps<T, R> | F0SelectInlineProps_2<T, R>) & F0SelectDataProps<T, R>;
13666
13819
 
13667
13820
  declare type F0SelectSelectionProps<T extends string, R = unknown> = F0SelectSingleSelectionProps<T, R> | {
13668
13821
  clearable: true;
@@ -13946,6 +14099,16 @@ export declare type F0TextareaField = F0BaseField & F0TextareaConfig & {
13946
14099
  */
13947
14100
  export declare const F0TextAreaInput: React.FC<F0TextAreaInputProps>;
13948
14101
 
14102
+ /** Wrapped text at rest; the standard textarea while the parent enables editing. */
14103
+ export declare const F0TextAreaInputInline: ForwardRefExoticComponent<F0TextAreaInputInlineProps & RefAttributes<HTMLTextAreaElement>>;
14104
+
14105
+ export declare interface F0TextAreaInputInlineProps extends F0TextAreaInputProps {
14106
+ /** Focuses the textarea when it opens. Defaults to true. */
14107
+ autoFocus?: boolean;
14108
+ editing?: boolean;
14109
+ onDismiss?: (reason: InlineDismissReason) => void;
14110
+ }
14111
+
13949
14112
  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
14113
 
13951
14114
  /**
@@ -15875,6 +16038,64 @@ declare type InlineDismissReason = (typeof inlineDismissReasons)[number];
15875
16038
 
15876
16039
  declare const inlineDismissReasons: readonly ["blur", "escape", "commit"];
15877
16040
 
16041
+ /** Presentation-only row. The forwarded ref targets the activator for focus restoration. */
16042
+ export declare const InlineFieldRow: ForwardRefExoticComponent<InlineFieldRowProps & RefAttributes<HTMLDivElement>>;
16043
+
16044
+ export declare type InlineFieldRowAction = {
16045
+ key: string;
16046
+ icon: IconType;
16047
+ label: string;
16048
+ onClick: () => void;
16049
+ /** Draws the glyph in the positive token, for a state the row is confirming. */
16050
+ positive?: boolean;
16051
+ };
16052
+
16053
+ /**
16054
+ * Alert props the row renders with `F0Alert`, so every row gets the same
16055
+ * chrome.
16056
+ */
16057
+ export declare type InlineFieldRowAlert = Omit<F0AlertProps, "variant"> & {
16058
+ /** @default "info" */
16059
+ variant?: F0AlertProps["variant"];
16060
+ };
16061
+
16062
+ export declare const InlineFieldRowList: ({ children }: {
16063
+ children: ReactNode;
16064
+ }) => JSX_2.Element;
16065
+
16066
+ export declare type InlineFieldRowProps = {
16067
+ /** Anchor the row so section navigation and error scrolling can reach it. */
16068
+ anchorId?: string;
16069
+ label: string;
16070
+ /** Marks the label with a star. */
16071
+ required?: boolean;
16072
+ /** Hint shown beside the label. */
16073
+ hint?: string;
16074
+ value: ReactNode;
16075
+ /** Fixed order, closest to the value first. Copy is appended after it. */
16076
+ actions: InlineFieldRowAction[];
16077
+ /** When set, the row appends a copy action that writes exactly this string. */
16078
+ copyValue?: string;
16079
+ /** Omit to disable activation. */
16080
+ onActivate?: () => void;
16081
+ /** Use a caret for text editors and a pointer for popup editors. */
16082
+ activatorCursor?: "caret" | "pointer";
16083
+ /**
16084
+ * `"fixed"` pins the value box to 40px; `"auto"` grows from 40px with its
16085
+ * content.
16086
+ * @default "fixed"
16087
+ */
16088
+ valueHeight?: "fixed" | "auto";
16089
+ editing: boolean;
16090
+ /** Validation copy below the value; also marks the value box as critical. */
16091
+ message?: string;
16092
+ /**
16093
+ * Contextual alert below the value in both modes; does not affect validity
16094
+ * styling.
16095
+ */
16096
+ alert?: InlineFieldRowAlert;
16097
+ };
16098
+
15878
16099
  /**
15879
16100
  * @deprecated Renamed to `F0TextInput` to match the F0 input vocabulary
15880
16101
  * (any component where the user types text in a box has the `Input` suffix
@@ -19103,6 +19324,12 @@ export declare type SelectedState = {
19103
19324
  */
19104
19325
  declare type SelectFieldRenderIf = SelectRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
19105
19326
 
19327
+ /**
19328
+ * What ends an inline select edit. Any close of the list other than a pick or
19329
+ * Escape is `"popupClose"`. There is no `"blur"`: focus stays in the list.
19330
+ */
19331
+ export declare const selectInlineDismissReasons: readonly ["escape", "commit", "popupClose"];
19332
+
19106
19333
  export declare type SelectionId = number | string;
19107
19334
 
19108
19335
  export declare type SelectionMeta<R extends RecordType> = {
@@ -19265,6 +19492,13 @@ export declare const StandardLayout: WithDataTestIdReturnType_2<ForwardRefExotic
19265
19492
 
19266
19493
  export declare interface StandardLayoutProps extends VariantProps<typeof layoutVariants> {
19267
19494
  children?: default_2.ReactNode;
19495
+ /**
19496
+ * Whether the layout is its own scroll container. Set `false` when the host
19497
+ * scrolls the page, so sticky descendants pin against the host's scroller.
19498
+ * An overflow box is a sticky scrollport even when it never scrolls.
19499
+ * @default true
19500
+ */
19501
+ scrollable?: boolean;
19268
19502
  }
19269
19503
 
19270
19504
  export declare type Status = (typeof statuses_2)[number];
@@ -20392,7 +20626,37 @@ declare interface TOCProps {
20392
20626
  sortable?: boolean;
20393
20627
  onReorder?: (reorderedIds: IdStructure[]) => void;
20394
20628
  showSearchBox?: boolean;
20629
+ /**
20630
+ * @experimental
20631
+ * Makes the search box a combobox whose results the arrow keys walk and Enter
20632
+ * picks. Matching ignores accents and case and needs every term; a matching
20633
+ * parent keeps its subtree; Escape clears. Has no effect without
20634
+ * `showSearchBox`.
20635
+ * @default false
20636
+ */
20637
+ navigableSearch?: boolean;
20395
20638
  searchPlaceholder?: string;
20639
+ /**
20640
+ * Results shown before the list is cut, with a line counting the rest.
20641
+ * @default Infinity
20642
+ */
20643
+ searchResultLimit?: number;
20644
+ /** Called with the query on every change. */
20645
+ onSearchChange?: (query: string) => void;
20646
+ /**
20647
+ * Copy for a search that matches nothing. Defaults to `i18n.toc.noResults`.
20648
+ */
20649
+ searchEmptyLabel?: string;
20650
+ /**
20651
+ * Copy under a cut list; `{{count}}` is the hidden results. Defaults to
20652
+ * `i18n.toc.moreResults`.
20653
+ */
20654
+ searchMoreResultsLabel?: string;
20655
+ /**
20656
+ * Copy announced when results change; `{{count}}` is the shown results.
20657
+ * Defaults to `i18n.toc.resultsCount`.
20658
+ */
20659
+ searchResultsCountLabel?: string;
20396
20660
  hideChildrenCounter?: boolean;
20397
20661
  /** Enable vertical scrolling when content overflows (default: true) */
20398
20662
  scrollable?: boolean;
@@ -21754,10 +22018,18 @@ export declare type WelcomeSuggestionClickEvent = {
21754
22018
  prompt: string;
21755
22019
  };
21756
22020
 
21757
- declare interface WiggleOptions {
22021
+ export declare interface WiggleOptions {
21758
22022
  errorHighlight?: boolean;
21759
22023
  }
21760
22024
 
22025
+ /** Clear hands a clearable single selection's `onChange` `undefined`. */
22026
+ declare type WithClearableOnChange<P, T extends string, R> = P extends {
22027
+ clearable: true;
22028
+ multiple?: false;
22029
+ } ? Omit<P, "onChange"> & {
22030
+ onChange?: (value: T | undefined, originalItem?: ResolvedRecordType<R>, option?: F0SelectItemObject<T, ResolvedRecordType<R>>) => void;
22031
+ } : P;
22032
+
21761
22033
  export declare const withDataTestId: <T extends default_2.ComponentType<any>>(component: T) => WithDataTestIdReturnType<T>;
21762
22034
 
21763
22035
  export declare type WithDataTestIdProps = {
@@ -21901,11 +22173,9 @@ declare namespace Calendar {
21901
22173
 
21902
22174
  declare module "@tiptap/core" {
21903
22175
  interface Commands<ReturnType> {
21904
- enhanceHighlight: {
21905
- setEnhanceHighlight: (from: number, to: number, options?: {
21906
- placeholder?: string;
21907
- }) => ReturnType;
21908
- clearEnhanceHighlight: () => ReturnType;
22176
+ aiBlock: {
22177
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
22178
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
21909
22179
  };
21910
22180
  }
21911
22181
  }
@@ -21913,9 +22183,11 @@ declare module "@tiptap/core" {
21913
22183
 
21914
22184
  declare module "@tiptap/core" {
21915
22185
  interface Commands<ReturnType> {
21916
- aiBlock: {
21917
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
21918
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
22186
+ enhanceHighlight: {
22187
+ setEnhanceHighlight: (from: number, to: number, options?: {
22188
+ placeholder?: string;
22189
+ }) => ReturnType;
22190
+ clearEnhanceHighlight: () => ReturnType;
21919
22191
  };
21920
22192
  }
21921
22193
  }
@@ -21953,10 +22225,8 @@ declare module "@tiptap/core" {
21953
22225
 
21954
22226
  declare module "@tiptap/core" {
21955
22227
  interface Commands<ReturnType> {
21956
- videoEmbed: {
21957
- setVideoEmbed: (options: {
21958
- src: string;
21959
- }) => ReturnType;
22228
+ transcript: {
22229
+ insertTranscript: (data: TranscriptData) => ReturnType;
21960
22230
  };
21961
22231
  }
21962
22232
  }
@@ -21964,8 +22234,10 @@ declare module "@tiptap/core" {
21964
22234
 
21965
22235
  declare module "@tiptap/core" {
21966
22236
  interface Commands<ReturnType> {
21967
- transcript: {
21968
- insertTranscript: (data: TranscriptData) => ReturnType;
22237
+ videoEmbed: {
22238
+ setVideoEmbed: (options: {
22239
+ src: string;
22240
+ }) => ReturnType;
21969
22241
  };
21970
22242
  }
21971
22243
  }