@factorialco/f0-react 9.5.1 → 9.6.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 (32) hide show
  1. package/dist/{ChatPdfThumbnail-3RDmTrPE.js → ChatPdfThumbnail-BJNuH3Kk.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-CAzDe7vF.js → ChatPostComposerDialog-DXeFY7WG.js} +3 -3
  3. package/dist/{CoachmarkProvider-HXpz6Xoa.js → CoachmarkProvider-BqGMYwuU.js} +13618 -13363
  4. package/dist/{DocumentToolbar-DPgtVBB4.js → DocumentToolbar-BASAjrEM.js} +2 -2
  5. package/dist/{DocxViewer-necYCjAx.js → DocxViewer-Cm764lTQ.js} +2 -2
  6. package/dist/{F0AiProcessingOverlay-CNi4qf1K.js → F0AiProcessingOverlay-i0Yoa_vU.js} +1 -1
  7. package/dist/{F0CanvasPanel-yY1wnaOC.js → F0CanvasPanel-9FFNyLel.js} +21922 -22134
  8. package/dist/{F0DocumentViewer-D8rUyv7b.js → F0DocumentViewer-X9uTRuKM.js} +3 -3
  9. package/dist/{F0Map-CgOB5xR6.js → F0Map-BKZv02zL.js} +4 -4
  10. package/dist/{F0VideoPlayer-wDMq0_kA.js → F0VideoPlayer-BjcAExI-.js} +2 -2
  11. package/dist/{SheetViewer-BAXLPjmy.js → SheetViewer-DhhRBQv1.js} +3 -3
  12. package/dist/{TextViewer-C3iadHR9.js → TextViewer-CFpaJf1P.js} +2 -2
  13. package/dist/ai.d.ts +52 -52
  14. package/dist/ai.js +2 -2
  15. package/dist/component-status.d.ts +19 -19
  16. package/dist/component-status.js +6 -6
  17. package/dist/{experimental-nO11rIR4.js → experimental-CHXAROSJ.js} +6024 -5796
  18. package/dist/experimental.d.ts +81 -207
  19. package/dist/experimental.js +258 -257
  20. package/dist/f0.d.ts +64 -1713
  21. package/dist/f0.js +90 -90
  22. package/dist/i18n-provider-defaults.d.ts +19 -19
  23. package/dist/{index-ZodzV1xk.js → index-B0pkWkPs.js} +1 -1
  24. package/dist/{index-BDTXi-jh.js → index-BwVOsDhQ.js} +3 -3
  25. package/dist/index-D0UOb_at.js +8 -0
  26. package/dist/{index-K2VL_tP0.js → index-D4KyAsr3.js} +2 -2
  27. package/dist/index-blRNr67I.js +4 -0
  28. package/dist/{pdfWorker-fW7pEi9c.js → pdfWorker-Dku13BrA.js} +2 -2
  29. package/dist/styles.css +1 -1
  30. package/package.json +4 -6
  31. package/dist/index-CEQKtsvf.js +0 -4
  32. package/dist/index-D1esL6yA.js +0 -8
package/dist/f0.d.ts CHANGED
@@ -32,7 +32,6 @@ import { CountryCellValue } from './types/country';
32
32
  import { CSSProperties } from 'react';
33
33
  import { DateCellValue } from './types/date';
34
34
  import { DateCellValue as DateCellValue_2 } from './f0';
35
- import { DateFilterOptions } from './DateFilter/DateFilter';
36
35
  import { default as default_2 } from 'react';
37
36
  import { DeltaCellValue } from './types/delta';
38
37
  import { Dispatch } from 'react';
@@ -67,7 +66,6 @@ import { HTMLAttributes } from 'react';
67
66
  import { HTMLInputTypeAttribute } from 'react';
68
67
  import { IconCellValue } from './types/icon';
69
68
  import { ImgHTMLAttributes } from 'react';
70
- import { InFilterOptions } from './InFilter/types';
71
69
  import { internalAvatarColors as internalAvatarColors_2 } from './f0';
72
70
  import { internalAvatarSizes as internalAvatarSizes_2 } from './f0';
73
71
  import { internalAvatarTypes as internalAvatarTypes_2 } from './f0';
@@ -82,7 +80,6 @@ import { LongTextCellValue } from './types/longText';
82
80
  import { NamedExoticComponent } from 'react';
83
81
  import { NumberCellValue } from './types/number';
84
82
  import { NumberCellValue as NumberCellValue_2 } from './f0';
85
- import { NumberFilterOptions } from './NumberFilter/NumberFilter';
86
83
  import { Observable } from 'zen-observable-ts';
87
84
  import { PageLayoutBlockComponent as PageLayoutBlockComponent_2 } from './types';
88
85
  import { PageLayoutGroupComponent as PageLayoutGroupComponent_2 } from './f0';
@@ -105,7 +102,6 @@ import { Ref } from 'react';
105
102
  import { RefAttributes } from 'react';
106
103
  import { RefObject } from 'react';
107
104
  import { RemoteAudioTrack } from 'livekit-client';
108
- import { SearchFilterOptions } from './SearchFilter/SearchFilter';
109
105
  import { SizeToken as SizeToken_2 } from './types';
110
106
  import { StatusCellValue } from './types/status';
111
107
  import { StatusCellValue as StatusCellValue_2 } from './f0';
@@ -413,8 +409,6 @@ declare const actionVariants: readonly ["default", "outline", "critical", "neutr
413
409
  */
414
410
  export declare const adaptDataAdapterToInfiniteScroll: <R extends RecordType, Filters extends FiltersDefinition>(dataAdapter: DataAdapter<R, Filters>) => DataAdapter<R, Filters>;
415
411
 
416
- declare type AddRowActionsResult = PrimaryActionItemDefinition | PrimaryActionItemDefinition[] | undefined;
417
-
418
412
  /* Excluded from this release type: AgentState */
419
413
 
420
414
  export declare type AggregationType = "count" | "sum" | "avg" | "min" | "max" | "countDistinct";
@@ -2167,40 +2161,6 @@ export declare const buildDataCollectionUrlParams: <CurrentFiltersState extends
2167
2161
 
2168
2162
  export declare const buildTranslations: (translations: TranslationsType) => TranslationsType;
2169
2163
 
2170
- /**
2171
- * Represents a bulk action that can be performed on a collection.
2172
- */
2173
- declare type BulkAction = string;
2174
-
2175
- /**
2176
- * Represents a bulk action definition.
2177
- */
2178
- declare type BulkActionDefinition = {
2179
- label: string;
2180
- icon?: IconType;
2181
- id: string;
2182
- keepSelection?: boolean;
2183
- critical?: boolean;
2184
- description?: string;
2185
- disabled?: boolean;
2186
- /**
2187
- * Why the action is disabled, shown on hover. Only rendered while `disabled`
2188
- * — an action the user can click explains itself by doing the thing.
2189
- */
2190
- disabledTooltip?: string;
2191
- };
2192
-
2193
- declare type BulkActionsDefinition<R extends RecordType, Filters extends FiltersDefinition> = (selectedItems: Parameters<OnBulkActionCallback<R, Filters>>[1]) => {
2194
- primary?: (BulkActionDefinition | {
2195
- type: "separator";
2196
- })[];
2197
- secondary?: (BulkActionDefinition | {
2198
- type: "separator";
2199
- })[];
2200
- } | {
2201
- warningMessage: string;
2202
- };
2203
-
2204
2164
  /**
2205
2165
  * Bulk-resolve-inconsistencies canvas content — renders an AI-grouped proposal
2206
2166
  * for resolving open time-tracking inconsistencies (a reviewable collection of
@@ -2679,11 +2639,6 @@ declare interface CardBookmark {
2679
2639
  label?: string;
2680
2640
  }
2681
2641
 
2682
- /**
2683
- * Group Cards: Renders
2684
- */
2685
- declare type CardCollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = CollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, CardVisualizationOptions<Record, Filters, Sortings>>;
2686
-
2687
2642
  /** Size of the trailing controls (buttons and the "⋯" menu trigger). */
2688
2643
  declare type CardHorizontalActionsSize = "sm" | "md";
2689
2644
 
@@ -2883,27 +2838,23 @@ declare interface CardPrimaryAction {
2883
2838
  variant?: "default" | "outline";
2884
2839
  }
2885
2840
 
2886
- declare type CardPropertyDefinition<T> = PropertyDefinition_2<T> & {
2887
- icon?: IconType;
2888
- };
2889
-
2890
2841
  declare const cardPropertyRenderers: {
2891
- readonly text: (args: TextCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2892
- readonly number: (args: NumberCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2893
- readonly date: (args: DateCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2894
- readonly amount: (args: AmountCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2895
- readonly person: (args: PersonCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2896
- readonly company: (args: CompanyCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2897
- readonly team: (args: TeamCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2898
- readonly status: (args: StatusCellValue_2) => default_2.JSX.Element;
2899
- readonly tag: (args: TagCellValue_2) => default_2.JSX.Element;
2900
- readonly avatarList: (args: AvatarListCellValue_2, meta: ValueDisplayRendererContext_2) => default_2.JSX.Element;
2901
- readonly tagList: (args: TagListCellValue_2) => default_2.JSX.Element;
2902
- readonly alertTag: (args: AlertTagCellValue_2) => default_2.JSX.Element;
2903
- readonly dotTag: (args: DotTagCellValue_2) => default_2.JSX.Element;
2904
- readonly file: (args: FileCellValue_2) => default_2.JSX.Element;
2905
- readonly folder: (args: FolderCellValue_2) => default_2.JSX.Element;
2906
- readonly progressBar: (args: ProgressBarCellValue_2, _meta: ValueDisplayRendererContext_2) => default_2.JSX.Element | null;
2842
+ readonly text: (args: TextCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2843
+ readonly number: (args: NumberCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2844
+ readonly date: (args: DateCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2845
+ readonly amount: (args: AmountCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2846
+ readonly person: (args: PersonCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2847
+ readonly company: (args: CompanyCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2848
+ readonly team: (args: TeamCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2849
+ readonly status: (args: StatusCellValue_2) => JSX_2.Element;
2850
+ readonly tag: (args: TagCellValue_2) => JSX_2.Element;
2851
+ readonly avatarList: (args: AvatarListCellValue_2, meta: ValueDisplayRendererContext_2) => JSX_2.Element;
2852
+ readonly tagList: (args: TagListCellValue_2) => JSX_2.Element;
2853
+ readonly alertTag: (args: AlertTagCellValue_2) => JSX_2.Element;
2854
+ readonly dotTag: (args: DotTagCellValue_2) => JSX_2.Element;
2855
+ readonly file: (args: FileCellValue_2) => JSX_2.Element;
2856
+ readonly folder: (args: FolderCellValue_2) => JSX_2.Element;
2857
+ readonly progressBar: (args: ProgressBarCellValue_2, _meta: ValueDisplayRendererContext_2) => JSX_2.Element | null;
2907
2858
  };
2908
2859
 
2909
2860
  declare type CardPropertyType = keyof typeof cardPropertyRenderers;
@@ -3027,19 +2978,6 @@ declare type CardSelectRenderIfCondition = CardSelectRenderIfBase & ({
3027
2978
  isEmpty: boolean;
3028
2979
  });
3029
2980
 
3030
- declare type CardVisualizationOptions<T, _Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
3031
- cardProperties: readonly CardPropertyDefinition<T>[];
3032
- title: (record: T) => string;
3033
- description?: (record: T) => string;
3034
- avatar?: (record: T) => CardAvatarVariant;
3035
- image?: (record: T) => string;
3036
- imageFit?: CardImageFit;
3037
- imageSize?: CardImageSize;
3038
- imageAspectRatio?: CardImageAspectRatio;
3039
- blurredBackground?: boolean;
3040
- compact?: boolean;
3041
- };
3042
-
3043
2981
  export declare const CategoryBarChart: WithDataTestIdReturnType_5<ForwardRefExoticComponent<Omit<CategoryBarProps & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>>;
3044
2982
 
3045
2983
  /** A valid chart color token — one of the 15 chromatic F0 base-color names. */
@@ -3526,19 +3464,6 @@ declare type ChildrenResponse<R extends RecordType> = NestedResponseWithType<R>;
3526
3464
  */
3527
3465
  export declare const Chip: ({ deactivated, label, variant, onClick, onClose, avatar, icon, }: ChipProps) => JSX_2.Element;
3528
3466
 
3529
- declare type ChipLabel = {
3530
- label: string;
3531
- } & ({
3532
- icon: IconType;
3533
- avatar?: never;
3534
- } | {
3535
- icon?: never;
3536
- avatar: AvatarVariant_2;
3537
- } | {
3538
- icon?: never;
3539
- avatar?: never;
3540
- });
3541
-
3542
3467
  export declare type ChipProps = BaseChipProps & ChipVariants & {
3543
3468
  variant?: "default" | "selected";
3544
3469
  };
@@ -3670,49 +3595,6 @@ export declare interface CollectionComputation {
3670
3595
  limit?: number;
3671
3596
  }
3672
3597
 
3673
- /**
3674
- * Props for the Collection component.
3675
- * @template Record - The type of records in the collection
3676
- * @template Filters - The available filter configurations for the collection
3677
- * @template ItemActions - The available actions that can be performed on records
3678
- * @template VisualizationOptions - Additional options for visualizing the collection
3679
- */
3680
- declare type CollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>, VisualizationOptions extends object> = {
3681
- /** The data source configuration and state */
3682
- source: DataCollectionSource<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>;
3683
- /** Function to handle item selection */
3684
- onSelectItems: OnSelectItemsCallback<Record, Filters>;
3685
- /** Function to handle data load */
3686
- onLoadData: OnLoadDataCallback<Record, Filters>;
3687
- onLoadError: OnLoadErrorCallback;
3688
- /**
3689
- * @deprecated This will be removed in the next major version
3690
- * Temporary prop to force the full width of the data collection (removes the X padding)
3691
- */
3692
- tmpFullWidth?: boolean;
3693
- /** Indicates the source visualization type */
3694
- fromVisualization?: TableVisualizationType;
3695
- /**
3696
- * Bumps on every shared-search result selection. Lets a visualization
3697
- * re-fire its reveal/focus even when the selected record (hence the derived
3698
- * reveal target) is unchanged — so re-searching the same node re-centers,
3699
- * like the graph's "Find me". Only the graph view reads it today.
3700
- */
3701
- searchSelectionNonce?: number;
3702
- } & VisualizationOptions;
3703
-
3704
- declare type CollectionVisualizations<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = {
3705
- table: VisualizacionTypeDefinition<TableCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>, TableVisualizationSettings>;
3706
- editableTable: VisualizacionTypeDefinition<EditableTableCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>, EditableTableVisualizationSettings>;
3707
- list: VisualizacionTypeDefinition<ListCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
3708
- card: VisualizacionTypeDefinition<CardCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
3709
- kanban: VisualizacionTypeDefinition<KanbanCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
3710
- graph: VisualizacionTypeDefinition<GraphCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>, GraphVisualizationSettings>;
3711
- map: VisualizacionTypeDefinition<MapCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
3712
- };
3713
-
3714
- declare const collectionVisualizations: CollectionVisualizations<RecordType, FiltersDefinition, SortingsDefinition, SummariesDefinition, ItemActionsDefinition<RecordType>, NavigationFiltersDefinition, GroupingDefinition<RecordType>>;
3715
-
3716
3598
  /** Grid column span for children (1–12 + full) */
3717
3599
  export declare type ColSpanToken = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "full";
3718
3600
 
@@ -3722,13 +3604,6 @@ export declare type ColStartToken = "auto" | "1" | "2" | "3" | "4" | "5" | "6" |
3722
3604
  /** Grid column count (1–12) */
3723
3605
  export declare type ColumnsToken = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "none";
3724
3606
 
3725
- declare type ColumnWidth = keyof typeof columnWidths | number;
3726
-
3727
- declare const columnWidths: {
3728
- readonly auto: undefined;
3729
- readonly fit: 1;
3730
- };
3731
-
3732
3607
  export declare const ComboChart: WithDataTestIdReturnType_5<ForwardRefExoticComponent<Omit<ChartPropsBase<ChartConfig> & {
3733
3608
  label?: boolean;
3734
3609
  legend?: boolean;
@@ -4462,107 +4337,12 @@ declare interface DataChartEmptyStateViewProps {
4462
4337
  emptyState?: F0DataChartEmptyStateProps;
4463
4338
  }
4464
4339
 
4465
- declare type DataCollectionBaseFetchOptions<Filters extends FiltersDefinition, NavigationFilters extends NavigationFiltersDefinition> = BaseFetchOptions<Filters> & DataCollectionExtendFetchOptions<NavigationFilters>;
4466
-
4467
- /**
4468
- * Data collection data adapter
4469
- */
4470
- declare type DataCollectionDataAdapter<R extends RecordType = RecordType, Filters extends FiltersDefinition = FiltersDefinition, NavigationFilters extends NavigationFiltersDefinition = NavigationFiltersDefinition> = BaseDataAdapter<R, Filters, DataCollectionBaseFetchOptions<Filters, NavigationFilters>, BaseResponse<R>> | PaginatedDataAdapter<R, Filters, DataCollectionPaginatedFetchOptions<Filters, NavigationFilters>, PaginatedResponse<R>>;
4471
-
4472
- /**
4473
- * Extended base fetch options for data collection
4474
- */
4475
- declare type DataCollectionExtendFetchOptions<NavigationFilters extends NavigationFiltersDefinition> = {
4476
- navigationFilters: NavigationFiltersState<NavigationFilters>;
4477
- };
4478
-
4479
4340
  export declare const dataCollectionLocalStorageHandler: DataCollectionStorageHandler;
4480
4341
 
4481
- /**
4482
- * Extended base fetch options for data collection
4483
- */
4484
- declare type DataCollectionPaginatedFetchOptions<Filters extends FiltersDefinition, NavigationFilters extends NavigationFiltersDefinition> = PaginatedFetchOptions<Filters> & DataCollectionExtendFetchOptions<NavigationFilters>;
4485
-
4486
4342
  declare type DataCollectionSettings = {
4487
4343
  visualization: VisualizationSettings;
4488
4344
  };
4489
4345
 
4490
- declare interface DataCollectionSettingsContextType {
4491
- setSettings: default_2.Dispatch<default_2.SetStateAction<DataCollectionSettings>>;
4492
- settings: DataCollectionSettings;
4493
- setVisualizationSettings: (key: keyof VisualizationSettings, settings: VisualizationSettings[keyof VisualizationSettings] | ((prev: VisualizationSettings[keyof VisualizationSettings]) => VisualizationSettings[keyof VisualizationSettings])) => void;
4494
- }
4495
-
4496
- /**
4497
- * Data collection source
4498
- * Extends the base data source with data collection specific elements / features
4499
- */
4500
- declare type DataCollectionSource<R extends RecordType = RecordType, Filters extends FiltersDefinition = FiltersDefinition, Sortings extends SortingsDefinition = SortingsDefinition, Summaries extends SummariesDefinition = SummariesDefinition, ItemActions extends ItemActionsDefinition<R> = ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition = NavigationFiltersDefinition, Grouping extends GroupingDefinition<R> = GroupingDefinition<R>> = DataSource<R, Filters, Sortings, Grouping> & DataCollectionSourceDefinition<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping> & {
4501
- /**
4502
- * The definition, pinned to `deps`, for what is rendered per record — the
4503
- * source itself changes identity every render. Set by `memoizeDefinition`.
4504
- */
4505
- definition?: DataCollectionSourceDefinition<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>;
4506
- currentNavigationFilters: NavigationFiltersState<NavigationFilters>;
4507
- setCurrentNavigationFilters: React.Dispatch<React.SetStateAction<NavigationFiltersState<NavigationFilters>>>;
4508
- /** Current summaries data */
4509
- currentSummaries?: R;
4510
- /** Function to update the current summaries data */
4511
- setCurrentSummaries?: React.Dispatch<React.SetStateAction<R | undefined>>;
4512
- };
4513
-
4514
- /**
4515
- * Data collection source definition
4516
- * Extends the base data source definition with data collection specific elements / features
4517
- */
4518
- declare type DataCollectionSourceDefinition<R extends RecordType = RecordType, Filters extends FiltersDefinition = FiltersDefinition, Sortings extends SortingsDefinition = SortingsDefinition, Summaries extends SummariesDefinition = SummariesDefinition, ItemActions extends ItemActionsDefinition<R> = ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition = NavigationFiltersDefinition, Grouping extends GroupingDefinition<R> = GroupingDefinition<R>> = Omit<DataSourceDefinition<R, Filters, Sortings, Grouping>, "dataAdapter"> & {
4519
- /**
4520
- * Data Collection specific datasource elements / features
4521
- */
4522
- /**
4523
- * Pin this definition to `deps` so rows can skip a render. Only safe if `deps`
4524
- * lists everything the callbacks below close over: miss one and a row keeps
4525
- * calling the closure it mounted with.
4526
- */
4527
- memoizeDefinition?: boolean;
4528
- /** Navigation filters */
4529
- navigationFilters?: NavigationFilters;
4530
- currentNavigationFilters?: NavigationFiltersState<NavigationFilters>;
4531
- /** URL for a single item in the collection */
4532
- itemUrl?: (item: R) => string | undefined;
4533
- /** Click handler for a single item in the collection */
4534
- itemOnClick?: (item: R) => () => void;
4535
- /** Available actions that can be performed on records */
4536
- itemActions?: ItemActions;
4537
- /** Available primary actions that can be performed on the collection */
4538
- primaryActions?: PrimaryActionsDefinitionFn;
4539
- /** Label for the primary actions dropdown trigger button */
4540
- primaryActionsLabel?: string;
4541
- /** Available secondary actions that can be performed on the collection */
4542
- secondaryActions?: SecondaryActionsDefinition;
4543
- /** Optional upsell button rendered in the collection toolbar. Opt-in per
4544
- * collection: return a definition to show it, or undefined to hide it. */
4545
- upsellAction?: UpsellActionDefinitionFn;
4546
- /** Available summaries fields. If not provided, summaries is not allowed. */
4547
- summaries?: Summaries & {
4548
- label?: string;
4549
- };
4550
- dataAdapter: DataCollectionDataAdapter<R, Filters, NavigationFilters>;
4551
- /** Bulk actions that can be performed on the collection */
4552
- bulkActions?: BulkActionsDefinition<R, Filters>;
4553
- /** Total items summary that can be displayed on the collection
4554
- * If true, the total items summary will be displayed on the collection
4555
- * If a function is provided, the total items summary will be displayed on the collection
4556
- */
4557
- totalItemSummary?: boolean | ((totalItems: number) => string | null);
4558
- /** Item filter that can be used to filter the items before they are displayed */
4559
- itemPreFilter?: (item: R) => boolean;
4560
- /** Lanes configuration */
4561
- lanes?: readonly Lane<Filters>[];
4562
- /** Rich search preview shown in the shared header search (all visualizations). */
4563
- searchPreview?: SearchPreview<R>;
4564
- };
4565
-
4566
4346
  /**
4567
4347
  * The status of the data collection
4568
4348
  */
@@ -4850,27 +4630,16 @@ export declare const DataTestIdWrapper: ({ dataTestId, children, }: WithDataTest
4850
4630
  children: ReactNode;
4851
4631
  }) => ReactNode;
4852
4632
 
4853
- declare type DateCellConfig = {
4854
- /** Earliest selectable date. Dates before this are disabled in the picker. */
4855
- minDate?: Date;
4856
- /** Latest selectable date. Dates after this are disabled in the picker. */
4857
- maxDate?: Date;
4858
- /** Show the leading calendar icon in the cell. Defaults to `true`. */
4859
- showIcon?: boolean;
4860
- /** Show a clear button to empty the cell's date. Defaults to `false`. */
4861
- clearable?: boolean;
4862
- };
4863
-
4864
4633
  /**
4865
4634
  * All valid renderIf conditions for date fields
4866
4635
  */
4867
4636
  declare type DateFieldRenderIf = DateRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
4868
4637
 
4869
4638
  export declare type DateFilterDefinition = BaseFilterDefinition<"date"> & {
4870
- options?: DateFilterOptions_2;
4639
+ options?: DateFilterOptions;
4871
4640
  };
4872
4641
 
4873
- declare type DateFilterOptions_2 = {
4642
+ declare type DateFilterOptions = {
4874
4643
  minDate?: Date;
4875
4644
  maxDate?: Date;
4876
4645
  mode?: CalendarMode;
@@ -5056,23 +4825,6 @@ declare type DateValue = {
5056
4825
 
5057
4826
  declare type DefaultAction = BannerAction;
5058
4827
 
5059
- /**
5060
- * How rows start out when the user has not touched them yet.
5061
- *
5062
- * - `true` / `false` — every row, or none (the default).
5063
- * - a number — expand rows shallower than that depth, so `1` opens the
5064
- * top-level rows and reveals depth 1.
5065
- * - a predicate — anything else, e.g. `(node) => node.type !== "role"`.
5066
- *
5067
- * The policy is re-evaluated per row rather than resolved into a set of ids up
5068
- * front: rows evaluate it as they mount, so an expanded row's children evaluate
5069
- * it in turn and the cascade falls out of the component tree. That works the
5070
- * same whether the tree is already in memory or fetched lazily.
5071
- */
5072
- declare type DefaultExpandedPolicy<R extends RecordType> = boolean | number | ((record: R, context: {
5073
- depth: number;
5074
- }) => boolean);
5075
-
5076
4828
  export declare const defaultTranslations: {
5077
4829
  readonly common: {
5078
4830
  readonly selectPlaceholder: "Select";
@@ -7249,181 +7001,6 @@ export declare type DurationUnit = (typeof durationUnits)[number];
7249
7001
 
7250
7002
  export declare const durationUnits: readonly ["days", "hours", "minutes", "seconds"];
7251
7003
 
7252
- /**
7253
- * Map of the attributes modified in a cell update, keyed by record key.
7254
- * Each entry is a `[previousValue, newValue]` tuple.
7255
- */
7256
- declare type EditableTableCellChanges<R extends RecordType> = {
7257
- [K in keyof R]?: [R[K], R[K]];
7258
- };
7259
-
7260
- /** The edit mode for a column cell in the editable table. */
7261
- declare type EditableTableCellEditType = "text" | "number" | "money" | "date" | "select" | "multiselect" | "display-only" | "disabled";
7262
-
7263
- declare type EditableTableCollectionProps<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> = CollectionProps<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, EditableTableVisualizationOptions<R, Filters, Sortings, Summaries>>;
7264
-
7265
- /**
7266
- * Column definition for Editable Table.
7267
- *
7268
- * When `editType` is set, the column's `id` is used as the record key to
7269
- * read the initial value from `item[id]` and to merge the updated value
7270
- * back into the item passed to `onCellChange`.
7271
- */
7272
- declare type EditableTableColumnDefinition<R extends RecordType, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = TableColumnDefinition<R, Sortings, Summaries> & {
7273
- /** Optional placeholder passed to editable inputs (e.g. date cells). */
7274
- inputPlaceholder?: string;
7275
- /**
7276
- * Determines how the cell is rendered in edit mode.
7277
- * Receives the current item and returns the cell type (e.g. `"text"`) or
7278
- * `undefined` to render the cell read-only.
7279
- * The column `id` is used as the record key to read/write the value.
7280
- * When omitted, the cell is always rendered read-only.
7281
- */
7282
- editType?: (item: R) => EditableTableCellEditType | undefined;
7283
- /**
7284
- * Configuration for `"select"` cells. Required when `editType` returns `"select"`.
7285
- * Accepts either static `options` or a `source` + `mapOptions` for async data.
7286
- *
7287
- * If `editType` returns `"select"` but `selectConfig` is missing, the cell
7288
- * falls back to a non-editable display with a `console.warn` at runtime.
7289
- * Type-level enforcement is not possible because `editType` is a per-row
7290
- * function whose return value isn't statically known.
7291
- */
7292
- selectConfig?: SelectCellConfig<R>;
7293
- /**
7294
- * Configuration for `"text"` cells. Sets the input type and an optional
7295
- * leading icon (url/email get one by default).
7296
- */
7297
- textConfig?: TextCellConfig;
7298
- /**
7299
- * Configuration for `"number"` cells. Accepts constraints (`min`, `max`),
7300
- * stepping (`step`), formatting (`maxDecimals`, `locale`), and units.
7301
- * Falls back to sensible defaults when omitted.
7302
- */
7303
- numberConfig?: NumberCellConfig<R>;
7304
- /**
7305
- * Configuration for `"date"` cells. Accepts `minDate` / `maxDate` to
7306
- * restrict the selectable date range in the picker, `showIcon` to hide
7307
- * the leading calendar icon, and `clearable` for a clear button.
7308
- *
7309
- * Can be a static object or a function that receives the current row item
7310
- * to return a per-row range (e.g. bound one date field by another field's
7311
- * value: `(item) => ({ minDate: parseISO(item.startDate) })`). The picker's
7312
- * default visible month follows `minDate`, so a per-row `minDate` also
7313
- * opens the calendar on that date.
7314
- */
7315
- dateConfig?: DateCellConfig | ((item: R) => DateCellConfig);
7316
- /**
7317
- * Configuration for `"disabled"` cells.
7318
- *
7319
- * A disabled cell shows only its value: no icon of any kind — neither the
7320
- * cell's own (url/email/date) nor a select chevron — since it isn't
7321
- * interactive.
7322
- */
7323
- disabledConfig?: {
7324
- /**
7325
- * @deprecated Disabled cells never show an icon anymore, so this option
7326
- * has no effect. It will be removed in a future major.
7327
- */
7328
- hideSelectChevron?: boolean;
7329
- };
7330
- /**
7331
- * Called after this cell's value changes. Use to compute derived values
7332
- * and update other cells in the same row.
7333
- *
7334
- * Works with every cell type (text, number, date, select, etc.).
7335
- *
7336
- * @example
7337
- * formula: ({ value, setCellValue }) => {
7338
- * const hours = roleHoursMap[value as string]
7339
- * if (hours != null) setCellValue("plannedHours", hours)
7340
- * }
7341
- */
7342
- formula?: (params: {
7343
- /** The new value of this cell. */
7344
- value: unknown;
7345
- /** The current row item (before this change is applied). */
7346
- item: R;
7347
- /** For select cells: the full record associated with the selected option. */
7348
- selectedItem?: RecordType;
7349
- /** Update another cell in the same row by column id. */
7350
- setCellValue: (columnId: string, value: unknown) => void;
7351
- }) => void;
7352
- /**
7353
- * Returns a hint to display as an icon with tooltip inside the cell.
7354
- * Use to warn the user when a value diverges from its formula-inferred value,
7355
- * or to provide extra context for non-editable / disabled cells (e.g. why a
7356
- * value was inferred, who a row is backfilling, why editing is locked).
7357
- *
7358
- * Supported by all `editType` values, including `display-only` and `disabled`.
7359
- *
7360
- * Return `undefined` to hide the hint.
7361
- *
7362
- * For `display-only` / `disabled` cells, the hint icon renders on the
7363
- * right by default. Pass `hintPosition: "left"` to override this for a
7364
- * specific column (e.g. when the hint always sits next to the value it
7365
- * annotates, regardless of the cell's editable state).
7366
- *
7367
- * @example
7368
- * cellHint: (item) => {
7369
- * if (item._inferredSalary != null && item.salary !== item._inferredSalary) {
7370
- * return { icon: AlertCircle, message: `Differs from catalog (${item._inferredSalary})` }
7371
- * }
7372
- * }
7373
- */
7374
- cellHint?: (item: R) => {
7375
- icon: IconType;
7376
- message: string;
7377
- iconColor?: F0IconProps["color"];
7378
- hintPosition?: "left" | "right";
7379
- } | undefined;
7380
- };
7381
-
7382
- /**
7383
- * Arguments passed to `onCellChange`.
7384
- */
7385
- declare type EditableTableOnCellChangeParams<R extends RecordType> = {
7386
- /** The full row item with the change(s) applied. */
7387
- updatedItem: R;
7388
- /**
7389
- * Map of the modified attributes keyed by record key, where each entry is a
7390
- * `[previousValue, newValue]` tuple.
7391
- */
7392
- changes: EditableTableCellChanges<R>;
7393
- };
7394
-
7395
- declare type EditableTableVisualizationOptions<R extends RecordType, _Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = Omit<TableVisualizationOptions<R, _Filters, Sortings, Summaries>, "columns"> & {
7396
- columns: readonly EditableTableColumnDefinition<R, Sortings, Summaries>[];
7397
- /**
7398
- * Called when a cell value changes. Receives an object with the full updated
7399
- * row (`updatedItem`) and a `changes` map of the modified attributes, keyed by
7400
- * record key, where each entry is a `[previousValue, newValue]` tuple.
7401
- * Resolve with nothing for success, or `{ columnId: "message" }` to set errors.
7402
- * Rejection sets an error on the edited column.
7403
- */
7404
- onCellChange: (params: EditableTableOnCellChangeParams<R>) => Promise<void | Record<string, string>>;
7405
- /**
7406
- * When provided, renders action buttons at the bottom of the root-level table.
7407
- * Returns a single action, an array of actions, or undefined to hide the row.
7408
- */
7409
- addRowActions?: () => AddRowActionsResult;
7410
- /**
7411
- * Label for the dropdown trigger button when multiple root-level add-row
7412
- * actions are provided. Falls back to the first action's label if omitted.
7413
- */
7414
- addRowActionsLabel?: string;
7415
- /**
7416
- * When provided, renders action buttons at the bottom of each expanded nested row.
7417
- * Receives the parent item whose children the new row will be added to.
7418
- */
7419
- addNestedRowActions?: (parent: R) => AddRowActionsResult;
7420
- /**
7421
- * Label for the dropdown trigger button when multiple nested add-row
7422
- * actions are provided. Falls back to the first action's label if omitted.
7423
- */
7424
- addNestedRowActionsLabel?: string;
7425
- };
7426
-
7427
7004
  declare type EditableTableVisualizationSettings = TableVisualizationSettings;
7428
7005
 
7429
7006
  export declare type editorStateType = {
@@ -7572,8 +7149,6 @@ export declare type EntityUrlBuilders = {
7572
7149
  vacancy?: (id: string) => string;
7573
7150
  };
7574
7151
 
7575
- declare type Enumerate<N extends number, Acc extends number[] = []> = Acc["length"] extends N ? [...Acc, N][number] : Enumerate<N, [...Acc, Acc["length"]]>;
7576
-
7577
7152
  export declare interface ErrorMessageProps {
7578
7153
  title: string;
7579
7154
  description: string;
@@ -7622,12 +7197,6 @@ export declare type ExpenseProfile = {
7622
7197
 
7623
7198
  export declare const experimental: <T extends React.ComponentType<any>>(name: string, component: T) => T;
7624
7199
 
7625
- declare type ExtractVisualizationSettings<T> = T extends {
7626
- settings: {
7627
- default: infer S;
7628
- };
7629
- } ? S : never;
7630
-
7631
7200
  /**
7632
7201
  * @experimental This is an experimental component, use it at your own risk.
7633
7202
  */
@@ -13156,29 +12725,6 @@ export declare interface F0FormValidationResult {
13156
12725
  rootError?: string;
13157
12726
  }
13158
12727
 
13159
- /**
13160
- * A tag rendered in a node's metadata row. Its visual is driven by the
13161
- * `TagVariant` `type`; its column identity — which toggle/label/default-
13162
- * visibility bucket it falls into — is `column ?? type`.
13163
- */
13164
- declare type F0GraphNodeTag = TagVariant & {
13165
- /**
13166
- * Optional column identity, decoupling this tag's show/hide toggle, hover-
13167
- * card label and default visibility from its visual `type`. Defaults to
13168
- * `type` when omitted. Use it to give two tags of the same `type` (e.g. a
13169
- * second `raw` pill) their own independent column.
13170
- */
13171
- column?: F0GraphNodeTagColumn;
13172
- };
13173
-
13174
- /**
13175
- * Identifies the show/hide column a tag belongs to. A column defaults to the
13176
- * tag's visual `type` (`"raw"`, `"status"`, …) but can be any custom string, so
13177
- * two tags sharing a `type` — e.g. two `raw` pills — can occupy independent
13178
- * columns with their own toggle, label and default visibility.
13179
- */
13180
- declare type F0GraphNodeTagColumn = string;
13181
-
13182
12728
  export declare const F0GridStack: WithDataTestIdReturnType_7< {
13183
12729
  ({ options, widgets, onChange, className, static: isStatic, forcePositionSync, }: F0GridStackProps): JSX_2.Element;
13184
12730
  displayName: string;
@@ -13410,68 +12956,8 @@ declare type F0LocationSuggestion = {
13410
12956
  description?: string;
13411
12957
  };
13412
12958
 
13413
- /**
13414
- * The data each semantic variant needs. Appearance is fixed by the variant:
13415
- * - `default`: a plain pin, no icon or avatar (the generic marker).
13416
- * - `workplace`: a building glyph on a fixed brand hue (all sites match).
13417
- * - `employee` / `company`: an avatar whose color is its own identity color
13418
- * (grey when a photo replaces the colored chip).
13419
- * - `stop`: a route stop - a single letter (A, B, C...) on the same fixed
13420
- * hue as the route/arc lines it punctuates.
13421
- */
13422
- declare type F0MapMarkerVariantProps = {
13423
- variant: "default";
13424
- } | {
13425
- variant: "workplace";
13426
- } | {
13427
- variant: "employee";
13428
- firstName: string;
13429
- lastName: string;
13430
- src?: string;
13431
- } | {
13432
- variant: "company";
13433
- name: string;
13434
- src?: string;
13435
- } | {
13436
- variant: "stop";
13437
- letter: string;
13438
- };
13439
-
13440
- /**
13441
- * Map projection. `"globe"` renders the world as a 3D sphere (adaptive: it
13442
- * eases into a flat mercator view as you zoom in).
13443
- */
13444
- declare type F0MapProjection = "mercator" | "globe";
13445
-
13446
12959
  declare type F0MapProvider = "maplibre" | "google";
13447
12960
 
13448
- /** Initial camera position for the map. */
13449
- declare interface F0MapViewport {
13450
- /** `[longitude, latitude]`. */
13451
- center: [number, number];
13452
- /** Zoom level (`0` world, higher = closer). Defaults to a city-level view. */
13453
- zoom?: number;
13454
- }
13455
-
13456
- /**
13457
- * Region of the map (in screen px) covered by external chrome - typically a
13458
- * side panel the consumer opens over it. Every camera move (fit, focus, reveal)
13459
- * shifts its target so the point lands centred in the *free* area beside the
13460
- * panel instead of behind it. The side is encoded by which key is set: a
13461
- * right-hand panel sets `right`, a left-hand one or RTL sets `left`.
13462
- *
13463
- * The consumer supplies the value - `F0Map` has no notion of the panel. For a
13464
- * fixed-width drawer pass its width while it is open (e.g. `{ right: 480 }`)
13465
- * and `undefined` / `{}` while it is closed. Omitted or `0` on every side
13466
- * behaves exactly as if there were no inset.
13467
- */
13468
- declare interface F0MapViewportInset {
13469
- top?: number;
13470
- right?: number;
13471
- bottom?: number;
13472
- left?: number;
13473
- }
13474
-
13475
12961
  export declare type F0Message = {
13476
12962
  id: string;
13477
12963
  role: "user" | "assistant" | "system" | "tool";
@@ -14357,10 +13843,10 @@ declare type F0SelectFieldVariantProps<T extends string, R> = Extract<F0SelectPr
14357
13843
  /**
14358
13844
  * @experimental This is an experimental component use it at your own risk
14359
13845
  */
14360
- export declare const F0SelectInline: typeof F0SelectInline_2;
13846
+ export declare const F0SelectInline: typeof F0SelectInlineBase;
14361
13847
 
14362
13848
  /** The detail-row select owns its static reading and mounts F0Select for editing. */
14363
- declare function F0SelectInline_2<T extends string = string, R = unknown>({ editing, onDismiss, ...props }: F0SelectInlineProps<T, R>): JSX_2.Element;
13849
+ declare function F0SelectInlineBase<T extends string = string, R = unknown>({ editing, onDismiss, ...props }: F0SelectInlineProps<T, R>): JSX_2.Element;
14364
13850
 
14365
13851
  export declare type F0SelectInlineDismissReason = (typeof selectInlineDismissReasons)[number];
14366
13852
 
@@ -15467,7 +14953,9 @@ export declare type FileUploadStatus = "idle" | "processing" | "uploading" | "su
15467
14953
  export declare type FilterDefinition = FilterDefinitionsByType[keyof FilterDefinitionsByType];
15468
14954
 
15469
14955
  /**
15470
- * All the available filter types
14956
+ * The filter definition types, separate from the `filterTypes` registry that
14957
+ * implements them: the registry pulls in every filter's component, and those
14958
+ * components reach back here through OneFilterPicker's own types.
15471
14959
  */
15472
14960
  declare type FilterDefinitionsByType<T = unknown, R extends RecordType = RecordType> = {
15473
14961
  in: InFilterDefinition<T, R>;
@@ -15521,66 +15009,7 @@ export declare type FiltersState<Definition extends Record<string, FilterDefinit
15521
15009
  [K in keyof Definition]?: FilterValue<Definition[K]>;
15522
15010
  };
15523
15011
 
15524
- declare type FilterTypeContext<Options extends object = never> = {
15525
- schema: FilterTypeSchema<Options>;
15526
- i18n: I18nContextType;
15527
- /** The key of this filter in the FiltersDefinition (passed to chipLabel for nested label lookups) */
15528
- filterKey?: string;
15529
- };
15530
-
15531
- declare type FilterTypeDefinition<Value = unknown, Options extends object = never, EmptyValue = Value, OptionalOptions extends boolean = false> = {
15532
- emptyValue: EmptyValue;
15533
- /** Check if the value is empty */
15534
- isEmpty: (value: Value | undefined, context: FilterTypeContext<Options>) => boolean;
15535
- /** Render the filter form */
15536
- render: <Schema extends FilterTypeSchema<Options, OptionalOptions>>(props: {
15537
- schema: Schema;
15538
- value: Value;
15539
- onChange: (value: Value) => void;
15540
- isCompactMode?: boolean;
15541
- onFilterChange?: (key: string, value: unknown) => void;
15542
- allFiltersValue?: Record<string, unknown>;
15543
- }) => React.ReactNode;
15544
- /**
15545
- * The value label to display in the filter chips
15546
- */
15547
- chipLabel: (value: Value, context: FilterTypeContext<Options>) => string | ChipLabel | Promise<string | ChipLabel>;
15548
- /**
15549
- * The default options to render a filter of this type, for example max and min date for a date filter, the list of options for an in filter, etc
15550
- */
15551
- defaultOptions?: Options;
15552
- /**
15553
- * The height of the filter form container in pixels
15554
- */
15555
- formHeight?: number;
15556
- };
15557
-
15558
- declare type FilterTypeKey = keyof typeof filterTypes;
15559
-
15560
- declare const filterTypes: {
15561
- readonly in: FilterTypeDefinition<string[], InFilterOptions<string>>;
15562
- readonly search: FilterTypeDefinition<string | {
15563
- value: string;
15564
- strict: boolean;
15565
- }, SearchFilterOptions, string | {
15566
- value: string;
15567
- strict: boolean;
15568
- }, true>;
15569
- readonly date: FilterTypeDefinition<Date | DateRange | undefined, DateFilterOptions>;
15570
- readonly number: FilterTypeDefinition<NumberFilterValue, NumberFilterOptions>;
15571
- };
15572
-
15573
- declare type FilterTypeSchema<Options extends object = never, OptionalOptions extends boolean = false> = OptionalOptions extends true ? FilterTypeSchemaOptionalOptions<Options> : FilterTypeSchemaRequiredOptions<Options>;
15574
-
15575
- declare type FilterTypeSchemaOptionalOptions<Options extends object = never> = {
15576
- label: string;
15577
- options?: Options extends never ? never : Options;
15578
- };
15579
-
15580
- declare type FilterTypeSchemaRequiredOptions<Options extends object = never> = {
15581
- label: string;
15582
- options: Options extends never ? never : Options;
15583
- };
15012
+ declare type FilterTypeKey = keyof FilterDefinitionsByType;
15584
15013
 
15585
15014
  /**
15586
15015
  * Extracts the appropriate value type for a given filter:
@@ -15989,239 +15418,6 @@ export declare type GranularityDefinitionsOptions = {
15989
15418
  periods?: DatePeriodsDefinition;
15990
15419
  };
15991
15420
 
15992
- declare type GraphCollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = CollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, GraphVisualizationOptions<Record, Filters, Sortings>>;
15993
-
15994
- /**
15995
- * Configuration for the "graph" visualization (org-chart style).
15996
- *
15997
- * The hierarchy is fetched on demand from the same `dataAdapter` of the source:
15998
- * `childrenFilters(parentId)` returns the filter that the adapter understands as
15999
- * "the direct children of parentId" (`null` = the roots). Children are loaded
16000
- * when a node is expanded.
16001
- */
16002
- declare type GraphVisualizationOptions<R extends RecordType, Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
16003
- /** Primary line of text for a node. */
16004
- title: (record: R) => string;
16005
- /** Secondary line of text for a node. */
16006
- subtitle?: (record: R) => string;
16007
- /**
16008
- * Avatar shown on the leading side of the node pill. Its variant also drives
16009
- * the node silhouette: `person` → circular dot/pill, any other variant
16010
- * (`team`, `icon`, …) → rounded-square card.
16011
- */
16012
- avatar?: (record: R) => AvatarVariant;
16013
- /**
16014
- * Tags rendered in the node metadata row. A tag may set `column` to place it
16015
- * in its own show/hide column independent of its visual `type` (e.g. a second
16016
- * `raw` pill that must not merge into the first `raw` column).
16017
- */
16018
- tags?: (record: R) => F0GraphNodeTag[];
16019
- /**
16020
- * Tag columns present on the nodes. When provided, the controls bar gains a
16021
- * toggle to show/hide each metadata column (like configuring table columns).
16022
- * Values are tag `column` keys (or `type` when a tag has no `column`).
16023
- */
16024
- nodeTagTypes?: readonly F0GraphNodeTagColumn[];
16025
- /** Friendly labels per tag column, shown in the metadata visibility toggle. */
16026
- nodeTagTypeLabels?: Partial<Record<F0GraphNodeTagColumn, string>>;
16027
- /** Tag columns visible by default. Defaults to all of `nodeTagTypes`. */
16028
- defaultVisibleTagTypes?: readonly F0GraphNodeTagColumn[];
16029
- /** Tag columns that are always visible and cannot be hidden in the settings. */
16030
- pinnedTagTypes?: readonly F0GraphNodeTagColumn[];
16031
- /**
16032
- * Tag columns the actor is not allowed to see, mapped to the reason. Each is
16033
- * still listed in the settings but with its toggle forced OFF and disabled,
16034
- * and the given (already-translated) text shown in a tooltip. Unlike
16035
- * `pinnedTagTypes` (locked ON, drawn with a lock icon), these render no lock
16036
- * icon — the disabled switch + tooltip is the affordance. The caller should
16037
- * also omit these columns' tags from `tags(record)`.
16038
- */
16039
- lockedTagTypes?: Partial<Record<F0GraphNodeTagColumn, string>>;
16040
- /**
16041
- * Floating toolbar shown above a node while it is selected. Provide the
16042
- * action buttons (e.g. `<F0Button size="sm" … />`) for the given record.
16043
- */
16044
- nodeActions?: (record: R) => ReactNode;
16045
- /** Resolves a stable node id from a record. Defaults to `String(record.id)`. */
16046
- getNodeId?: (record: R) => string;
16047
- /** Number of children a node has. A node is expandable when this is `> 0`. */
16048
- getChildrenCount: (record: R) => number;
16049
- /**
16050
- * Whether this record's children render as a vertical stack of compact rows
16051
- * directly under it, instead of the default horizontal fan-out. Use it for
16052
- * children that read as a list belonging to the record rather than as
16053
- * branches in their own right — job levels under a role, plan tiers under a
16054
- * product. A stacked group reserves no horizontal space, so the record's
16055
- * siblings close in around it.
16056
- *
16057
- * Only applies when every child is a leaf (`getChildrenCount` returns 0 for
16058
- * all of them); a group with an expandable child keeps the normal fan-out.
16059
- * Stacked rows are labelled with `title` and can carry `stackedTrailing`;
16060
- * `avatar` / `subtitle` / `tags` do not apply to them.
16061
- */
16062
- stackNodes?: (record: R) => boolean;
16063
- /**
16064
- * Trailing content for a stacked row — a count or a small icon button.
16065
- * Rendered at the row's trailing edge; clicks inside it do not select the
16066
- * node. Ignored for records that are not rendered as stacked rows.
16067
- *
16068
- * Not a selection affordance: F0Graph has no multi-select, so a checkbox here
16069
- * would promise a behaviour the graph does not have.
16070
- */
16071
- stackedTrailing?: (record: R) => ReactNode;
16072
- /**
16073
- * Returns the filters that, applied to the source `dataAdapter`, fetch the
16074
- * direct children of `parentId`. `parentId === null` must return the roots.
16075
- */
16076
- childrenFilters: (parentId: string | null) => Partial<FiltersState<Filters>>;
16077
- /**
16078
- * How many levels to load and expand on the initial render.
16079
- * - `0`: show only the roots; every level below loads on click.
16080
- * - `1` (default): also show the roots' direct children.
16081
- * - `2`: also pre-load the grandchildren for a fuller first view.
16082
- */
16083
- defaultExpandDepth?: number;
16084
- /**
16085
- * Id of a node to reveal: loads its ancestor path, expands the branch and
16086
- * centers/highlights it. Driven by the shared Data Collection search — set it
16087
- * from `searchPreview.onSelect`.
16088
- */
16089
- revealNodeId?: string;
16090
- /**
16091
- * Id of a node to reveal **once, on entry** (e.g. the current user, or the
16092
- * root of their branch): when the tree first becomes ready, its ancestor
16093
- * path is loaded/expanded and the viewport centers on it. Unlike
16094
- * `revealNodeId` (which is ignored on entry so search stays clean), this is
16095
- * the opt-in "open the org chart already looking at me" behaviour. Requires
16096
- * `loadNodePath` to reveal nodes in not-yet-expanded branches. Omit to keep
16097
- * the default entry view (roots expanded to `defaultExpandDepth`).
16098
- */
16099
- focusOnEntry?: string;
16100
- /**
16101
- * Id of a node to mark as **selected on entry** — the click-selection ring, so
16102
- * a deep link lands on the graph looking the way a user's own click leaves it,
16103
- * not just framed. Seeded on the first render; the selection then follows
16104
- * normal clicks/keyboard (this is a one-shot entry seed, not a controlled
16105
- * value). Pair it with `focusOnEntry` (usually the same id) so the node's
16106
- * branch is expanded and framed — otherwise the ring isn't visible until its
16107
- * branch is opened. Unlike `revealNodeId` (search) it sets the selection, not
16108
- * the reveal highlight. Providing it puts the graph's selection in controlled
16109
- * mode; omitting it leaves selection uncontrolled (the default).
16110
- */
16111
- initialSelectedNodeId?: string;
16112
- /**
16113
- * Resolves the ancestor path (root → … → matched node) for a node so it can
16114
- * be revealed, returning the records in root-first order. Required for
16115
- * revealing nodes in branches that have not been expanded yet.
16116
- */
16117
- loadNodePath?: (nodeId: string) => Promise<R[]>;
16118
- /** Optional parent accessor used when linking the revealed ancestor path. */
16119
- getParentId?: (record: R) => string | null;
16120
- /**
16121
- * Opt into two-phase (viewport-driven) hydration. When provided, the tree is
16122
- * built from whatever lightweight records `childrenFilters`/`fetchData`
16123
- * return, and the full record is fetched — batched, once per node — only for
16124
- * the nodes that enter the viewport, via this loader. The returned records
16125
- * replace each node's `data` (matched by node id) and clear its loading
16126
- * placeholder. Best paired with `enableNodeWindowing`. Omit for the current
16127
- * eager behavior (structure and data fetched together per expansion).
16128
- *
16129
- * The "lightness" of the initial records is entirely the source's choice and
16130
- * transparent to the hook — no special adapter mode is required.
16131
- */
16132
- loadNodeData?: (ids: string[]) => Promise<R[]>;
16133
- /**
16134
- * Apply targeted updates to the already-loaded tree **in place**, without the
16135
- * full reset (and collapse to `defaultExpandDepth`) that a filter change
16136
- * triggers. Use it to reflect real-time / collaborative changes while keeping
16137
- * the user's current expansion and viewport.
16138
- *
16139
- * Bump `version` to apply a batch **once** (the number dedups against React
16140
- * re-renders — reuse the same object identity freely):
16141
- * - `upsert` records are matched by node id: an existing node has its `data`,
16142
- * `childrenCount` and parent refreshed (re-parenting if `getParentId`
16143
- * returns a new parent); an unknown record is inserted when it is attachable
16144
- * (a root, or its parent is already in the tree — a child of a not-yet-loaded
16145
- * parent will appear when that parent is expanded).
16146
- * - `remove` ids are dropped together with their descendants, and pruned from
16147
- * the expanded set.
16148
- *
16149
- * Applying a batch never re-fetches and never collapses; it reconciles the
16150
- * nodes already in memory. The parents whose child set the batch touches (the
16151
- * old and new parent of a move, the parent of a removal) have their
16152
- * `childrenCount`/`childrenLoaded` reconciled locally from the in-memory tree
16153
- * — send only the records that changed; upserting the affected parents too is
16154
- * allowed but not required.
16155
- */
16156
- liveUpdate?: {
16157
- version: number;
16158
- upsert?: R[];
16159
- remove?: string[];
16160
- };
16161
- /**
16162
- * Id of the node representing the current user. When set, a "Find me" button
16163
- * is shown in the controls that centers the viewport on that node.
16164
- */
16165
- currentUserNodeId?: string;
16166
- /** Initial zoom preset passed through to F0Graph. */
16167
- zoomPreset?: ZoomPreset;
16168
- /**
16169
- * Smallest zoom the user can pan to (the zoom-out limit), passed through to
16170
- * F0Graph. Defaults to F0Graph's own default. Raise it (e.g. `0.3`) to keep
16171
- * the tree readable and avoid the most zoomed-out "dot" level.
16172
- */
16173
- minZoom?: number;
16174
- /** Largest zoom the user can pan to (the zoom-in limit), passed through to F0Graph. */
16175
- maxZoom?: number;
16176
- /**
16177
- * Whether clicking a node flies to it (centers + zooms in close), passed
16178
- * through to F0Graph. Defaults to `true` — pass `false` for a static camera on
16179
- * click (selection still happens). Re-centers on every click, even a repeat.
16180
- * The fly starts a beat after the click so it picks up a `viewportInset` set in
16181
- * response to that same click (a side panel opening).
16182
- */
16183
- centerOnNodeClick?: boolean;
16184
- /**
16185
- * Zoom a node click lands on (pass-through). Defaults to F0Graph's
16186
- * `NODE_CLICK_ZOOM` (`1.5`), clamped to `maxZoom`. Lower it for a dense tree.
16187
- */
16188
- nodeClickZoom?: number;
16189
- /**
16190
- * Region of the canvas (screen px) covered by a side panel / drawer the
16191
- * consumer opens over the graph (pass-through to F0Graph). Every fly-to path
16192
- * shifts its target so the clicked / revealed node lands centered in the free
16193
- * area beside the panel instead of behind it. For a fixed-width drawer, pass
16194
- * its width while open (e.g. `{ right: 480 }`) and omit it while closed.
16195
- */
16196
- viewportInset?: ViewportInset;
16197
- /** Whether to render the zoom/fit controls. Defaults to `true`. */
16198
- showControls?: boolean;
16199
- /**
16200
- * Optional action(s) rendered at the bottom-right of the graph canvas
16201
- * (pass-through to F0Graph's `canvasFooterActions`). Anchored to the canvas,
16202
- * so it tracks the graph's visible area and reflows when a side panel shrinks
16203
- * it — clear of the controls (bottom-left). Use for a persistent affordance
16204
- * like a "Give feedback" button.
16205
- */
16206
- canvasFooterActions?: ReactNode;
16207
- /**
16208
- * Opt into F0Graph node-array windowing (pass-through). Only the nodes near
16209
- * the viewport are handed to React Flow — for very large trees (thousands of
16210
- * expand-visible nodes). Off by default; non-breaking.
16211
- */
16212
- enableNodeWindowing?: boolean;
16213
- /** Flow-space px kept materialized around the viewport (pass-through). */
16214
- nodeWindowPadding?: number;
16215
- /**
16216
- * Viewport-driven data loading (pass-through). Called (debounced + batched)
16217
- * with the ids of nodes that entered the viewport, so the consumer can
16218
- * hydrate rich data on demand. Best paired with `enableNodeWindowing`.
16219
- */
16220
- loadVisibleNodeData?: (ids: string[]) => void;
16221
- /** Debounce (ms) before flushing a batch of newly-visible ids (pass-through). */
16222
- visibleDataDebounceMs?: number;
16223
- };
16224
-
16225
15421
  declare type GraphVisualizationSettings = {
16226
15422
  /** Metadata order (tag-type ids), matching the table column settings shape. */
16227
15423
  order?: string[];
@@ -16239,9 +15435,9 @@ export declare type GridStackReactSize = {
16239
15435
  export declare interface GridStackReactWidget extends Omit<GridStackWidget, "content" | "id"> {
16240
15436
  id: Required<GridStackWidget>["id"];
16241
15437
  allowedSizes?: GridStackReactSize[];
16242
- content?: React.ReactElement;
15438
+ content?: default_2.ReactElement;
16243
15439
  meta?: Record<string, unknown>;
16244
- _originalContent?: React.ReactNode;
15440
+ _originalContent?: default_2.ReactNode;
16245
15441
  }
16246
15442
 
16247
15443
  /**
@@ -16433,42 +15629,6 @@ export declare type GroupRecord<RecordType> = {
16433
15629
  */
16434
15630
  export declare function hasF0Config(schema: ZodTypeAny): boolean;
16435
15631
 
16436
- /**
16437
- * Configuration for a single header group, keyed by `headerGroupId` in the
16438
- * `headerGroups` visualization option.
16439
- */
16440
- declare type HeaderGroupDefinition = {
16441
- /**
16442
- * The label rendered in the spanning header row.
16443
- */
16444
- label: string;
16445
- /**
16446
- * Ids of the columns in this group that stay visible while the group is
16447
- * collapsed — the group's "summary" columns. Providing this key is what
16448
- * makes the group collapsible; omit it for a purely visual group.
16449
- *
16450
- * Ids are matched against each column's `id` (falling back to its `label`,
16451
- * mirroring how column ids are resolved elsewhere). Ids that don't belong to
16452
- * this group are ignored. A collapsed group always keeps at least one
16453
- * column, so passing `[]` — or only unknown ids — leaves the group's first
16454
- * column visible.
16455
- */
16456
- collapsedColumns?: ColId[];
16457
- /**
16458
- * Whether the group renders collapsed on first render. Only meaningful for
16459
- * collapsible groups. Read once on mount; afterwards the collapsed state is
16460
- * owned by the table.
16461
- * @default false
16462
- */
16463
- defaultCollapsed?: boolean;
16464
- /**
16465
- * Visually highlights the whole group: its spanning header and every column
16466
- * in it render with the highlighted emphasis. Equivalent to setting
16467
- * `highlighted` on each of the group's columns.
16468
- */
16469
- highlighted?: boolean;
16470
- };
16471
-
16472
15632
  export declare interface HeaderProps {
16473
15633
  primaryAction?: PrimaryActionButton | PrimaryDropdownAction<string>;
16474
15634
  secondaryActions?: HeaderSecondaryAction[];
@@ -16602,10 +15762,6 @@ export declare interface HourDistributionDataPoint {
16602
15762
  neutralLabel?: string;
16603
15763
  }
16604
15764
 
16605
- declare type I18nContextType = TranslationsType & {
16606
- t: (key: TranslationKey, args?: Record<string, string | number>) => string;
16607
- };
16608
-
16609
15765
  declare interface I18nProviderProps {
16610
15766
  children: ReactNode;
16611
15767
  translations: TranslationsType;
@@ -16681,7 +15837,7 @@ declare type InferPerSectionValues_2<T extends F0PerSectionSchema_2> = {
16681
15837
  };
16682
15838
 
16683
15839
  export declare type InFilterDefinition<T = string | number, R extends RecordType = RecordType> = BaseFilterDefinition<"in"> & {
16684
- options: InFilterOptions_2<T, R>;
15840
+ options: InFilterOptions<T, R>;
16685
15841
  };
16686
15842
 
16687
15843
  /**
@@ -16710,7 +15866,7 @@ declare type InFilterOptionItem<T = unknown> = {
16710
15866
  * Represents the options for the InFilter component.
16711
15867
  * @template T - Type of the underlying value
16712
15868
  */
16713
- declare type InFilterOptions_2<T, _R extends RecordType = RecordType> = {
15869
+ declare type InFilterOptions<T, _R extends RecordType = RecordType> = {
16714
15870
  cache?: boolean;
16715
15871
  /**
16716
15872
  * Filter keys holding nested child selections. Only needed for async or
@@ -17100,15 +16256,6 @@ export declare function isPageBasedPagination<R extends RecordType>(pagination:
17100
16256
  */
17101
16257
  export declare function isZodType(schema: ZodTypeAny, typeName: ZodTypeName): boolean;
17102
16258
 
17103
- declare type ItemActionsDefinition<T extends RecordType> = (item: T) => ActionDefinition[] | undefined;
17104
-
17105
- declare type ItemDefinition = {
17106
- title: string;
17107
- description?: string[];
17108
- avatar?: ListItemAvatar;
17109
- trailing?: ReactNode;
17110
- };
17111
-
17112
16259
  /**
17113
16260
  * Options for an id-relative neighbours fetch. Derived from the adapter's own
17114
16261
  * fetch options, so extended adapters (e.g. OneDataCollection's, which add
@@ -17158,54 +16305,9 @@ export declare type JobPostingProfile = {
17158
16305
  location?: string;
17159
16306
  };
17160
16307
 
17161
- declare type Join<T extends string[], D extends string> = T extends [] ? never : T extends [infer F] ? F : T extends [infer F, ...infer R] ? F extends string ? `${F}${D}${Join<Extract<R, string[]>, D>}` : never : string;
17162
-
17163
16308
  /** Flex justify content */
17164
16309
  export declare type JustifyContentToken = "start" | "center" | "end" | "between" | "around" | "evenly" | "stretch";
17165
16310
 
17166
- declare type KanbanCollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = CollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, KanbanVisualizationOptions<Record, Filters, Sortings>>;
17167
-
17168
- declare type KanbanLaneDefinition = {
17169
- id: string;
17170
- title: string;
17171
- variant?: Variant;
17172
- color?: NewColor;
17173
- /**
17174
- * Optional header info: a string renders a plain tooltip, a {@link LaneInfo}
17175
- * object a hoverable card that can carry a link and its own icon.
17176
- */
17177
- info?: LaneInfo;
17178
- };
17179
-
17180
- declare type KanbanOnCreate = (laneId: string) => void | Promise<void>;
17181
-
17182
- declare type KanbanOnMove<TRecord extends RecordType> = (fromLaneId: string, toLaneId: string, sourceRecord: TRecord, destinyRecord: {
17183
- record: TRecord;
17184
- position: "above" | "below";
17185
- } | null) => Promise<TRecord>;
17186
-
17187
- declare type KanbanVisualizationOptions<Record extends RecordType, _Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
17188
- lanes: readonly KanbanLaneDefinition[];
17189
- /** Per-group columns: when grouping is active, each group's board renders the
17190
- * lanes this returns instead of the global `lanes` (lane ids must exist in
17191
- * `source.lanes`). Enables the onboarding case where each policy version has
17192
- * its own phases. NOTE: API shape pending Foundations review. */
17193
- getLanesForGroup?: (groupKey: string) => readonly KanbanLaneDefinition[];
17194
- /** Whether each group header shows a selection checkbox when the collection is
17195
- * selectable. Defaults to `true` (parity with Card/List). Set to `false` to
17196
- * keep per-card selection while hiding the group-level checkbox — e.g. when
17197
- * "select a whole group" isn't a meaningful action for the consumer. Note: a
17198
- * collapsed group unmounts its cards, so with `false` the group's items can
17199
- * only be selected once the group is expanded. */
17200
- selectableGroups?: boolean;
17201
- title?: (record: Record) => string;
17202
- description?: (record: Record) => string;
17203
- avatar?: (record: Record) => CardAvatarVariant;
17204
- metadata?: (record: Record) => readonly CardMetadata[];
17205
- onMove?: KanbanOnMove<Record>;
17206
- onCreate?: KanbanOnCreate;
17207
- };
17208
-
17209
16311
  declare type L10nContextValue = {
17210
16312
  locale: string;
17211
16313
  date?: {
@@ -17218,28 +16320,6 @@ declare interface L10nProviderProps {
17218
16320
  l10n: L10nContextValue;
17219
16321
  }
17220
16322
 
17221
- /**
17222
- * Represents a single lane configuration with its own filters
17223
- * @template Filters - The available filter configurations for this lane
17224
- */
17225
- declare type Lane<Filters extends FiltersDefinition> = {
17226
- id: string;
17227
- filters: FiltersState<Filters>;
17228
- };
17229
-
17230
- /**
17231
- * Help copy for a lane header. A string renders a plain tooltip with the
17232
- * default info icon; the object form renders a hoverable card and may carry
17233
- * its own `icon`.
17234
- */
17235
- declare type LaneInfo = string | (InfoHintContent & {
17236
- /**
17237
- * Icon for the info affordance.
17238
- * @default InfoCircleLine
17239
- */
17240
- icon?: IconType;
17241
- });
17242
-
17243
16323
  export declare type lastIntentType = {
17244
16324
  selectedIntent?: string;
17245
16325
  customIntent?: string;
@@ -17334,50 +16414,6 @@ declare type LinkQuestionProps = BaseQuestionPropsForOtherQuestionComponents & {
17334
16414
 
17335
16415
  export declare const linkVariants: readonly ["link", "unstyled", "mention"];
17336
16416
 
17337
- /**
17338
- * Group List: Renders the list for a group
17339
- */
17340
- declare type ListCollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = CollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, ListVisualizationOptions<Record, Filters, Sortings>>;
17341
-
17342
- /**
17343
- * A row's glyph tint: one of {@link listIconColors}, or a HEX of your own.
17344
- *
17345
- * Prefer a palette name. Those eleven hues were picked to sit beside each other
17346
- * in one column and to hold up in both themes, which is the whole job here — a
17347
- * feed's glyphs are read as a SET, and a colour chosen per row without seeing
17348
- * the others is how a card ends up with two greens that mean different things.
17349
- *
17350
- * The hex is for the case the palette genuinely cannot serve: a colour that is
17351
- * already data — a calendar's own colour, a module's brand, a category a user
17352
- * picked themselves. It is treated exactly like a palette hue (a tenth of it as
17353
- * the tile, the hue itself as the icon), so a bespoke colour and a named one
17354
- * still draw the same glyph. `#RGB` and `#RRGGBB` both parse; anything else
17355
- * falls back to the plain, untinted glyph rather than drawing nothing.
17356
- */
17357
- declare type ListIconColor = ListIconPaletteColor | `#${string}`;
17358
-
17359
- /**
17360
- * The tint a row's ICON glyph can carry. f0's NAMED palette — the same hues
17361
- * `ui/Avatar` colours initials with — deliberately, rather than the semantic
17362
- * families (`critical`, `warning`, `positive`): a colour here says which KIND
17363
- * of thing the row is, so a feed can give every category its own without any of
17364
- * them reading as an alert. For "this is urgent", the left kind is `alert`.
17365
- */
17366
- declare const listIconColors: readonly ["viridian", "malibu", "yellow", "purple", "lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel"];
17367
-
17368
- declare type ListIconPaletteColor = (typeof listIconColors)[number];
17369
-
17370
- declare type ListItemAvatar = Exclude<AvatarVariant, IconAvatarVariant> | (IconAvatarVariant & {
17371
- color?: ListIconColor;
17372
- });
17373
-
17374
- declare type ListPropertyDefinition<R, Sortings extends SortingsDefinition> = WithOptionalSorting_2<R, Sortings> & PropertyDefinition_2<R>;
17375
-
17376
- declare type ListVisualizationOptions<R extends RecordType, _Filters extends FiltersDefinition, Sortings extends SortingsDefinition> = {
17377
- itemDefinition: (record: R) => ItemDefinition;
17378
- fields: readonly ListPropertyDefinition<R, Sortings>[];
17379
- };
17380
-
17381
16417
  export declare interface LoadingStateProps {
17382
16418
  label: string;
17383
16419
  }
@@ -17436,8 +16472,6 @@ export declare type LockedSectionNotice = {
17436
16472
  description: string;
17437
16473
  };
17438
16474
 
17439
- declare type MapCollectionProps<Record extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<Record>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<Record>> = CollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, MapVisualizationOptions<Record, Filters, Sortings>>;
17440
-
17441
16475
  declare interface MapContextValue {
17442
16476
  provider?: F0MapProvider;
17443
16477
  /** Settings the chosen engine needs, such as Google's API key. */
@@ -17450,103 +16484,6 @@ declare interface MapProviderConfig {
17450
16484
  apiKey?: string;
17451
16485
  }
17452
16486
 
17453
- /** Selection handles handed to the panels, so their content can drive the map. */
17454
- declare type MapSidebarApi<R extends RecordType> = {
17455
- /** Select a record (or clear with `null`), flying to its marker if it has one. */
17456
- select: (record: R | null) => void;
17457
- selectedRecordId: string | null;
17458
- /**
17459
- * What the map did with a record: `"placed"`, `"unplaced"` (no reason
17460
- * given), or the `MapUnplaced` kind. Per record, so it also answers in the
17461
- * search's flat list.
17462
- */
17463
- placement: (record: R) => "placed" | "unplaced" | MapUnplaced["kind"];
17464
- };
17465
-
17466
- /**
17467
- * Why a record has no position, returned from `coordinates` instead of one.
17468
- * `incomplete`: it should have a location and doesn't (an unfilled or
17469
- * ungeocodable address) - the case somebody can fix.
17470
- */
17471
- declare type MapUnplaced = {
17472
- kind: "incomplete";
17473
- };
17474
-
17475
- /**
17476
- * Options for the map visualization: records projected onto coordinates. Only
17477
- * reading a record's position is required; how markers look and behave is
17478
- * `F0Map`'s concern.
17479
- */
17480
- declare type MapVisualizationOptions<R extends RecordType, _Filters extends FiltersDefinition, _Sortings extends SortingsDefinition> = {
17481
- /**
17482
- * A record's `[longitude, latitude]`. `null` or a `MapUnplaced` draws no
17483
- * marker, and the record is listed under "Not on map" instead. No geocoding
17484
- * happens here: resolve coordinates server-side.
17485
- */
17486
- coordinates: (record: R) => [number, number] | null | MapUnplaced;
17487
- /** Label beside the marker. Omitted means an unlabelled pin. */
17488
- label?: (record: R) => string;
17489
- /** Marker variant per record. Defaults to `default`. */
17490
- marker?: (record: R) => F0MapMarkerVariantProps;
17491
- /** A record's id. Defaults to `String(record.id)`, like the graph view. */
17492
- getRecordId?: (record: R) => string;
17493
- /**
17494
- * Controlled selection, `null` for none. Pass it whenever something outside
17495
- * the map can end the selection, like closing the panel `onSelect` opened.
17496
- */
17497
- selectedRecordId?: string | null;
17498
- /**
17499
- * Fired when the selection changes: a marker click, a reveal, a panel row,
17500
- * or `null` when it clears. If it opens your own chrome over the map, report
17501
- * the region it covers through `viewportInset`.
17502
- */
17503
- onSelect?: (record: R | null) => void;
17504
- /**
17505
- * Flies to a record and selects it, e.g. from an external search. Pair it
17506
- * with the collection's `searchSelectionNonce` so a repeat pick flies again.
17507
- */
17508
- revealRecordId?: string | null;
17509
- /** Region covered by your own chrome. The map's own panels are folded in. */
17510
- viewportInset?: F0MapViewportInset;
17511
- /** Initial camera. Defaults to framing every marker. */
17512
- initialViewport?: F0MapViewport;
17513
- /** Show the navigation controls (locate / fit / zoom). Defaults to `true`. */
17514
- showControls?: boolean;
17515
- /** Fired with the side panel's new open state. */
17516
- onSidebarToggle?: (expanded: boolean) => void;
17517
- /** Map projection. Defaults to `"mercator"`. */
17518
- projection?: F0MapProjection;
17519
- /**
17520
- * Rendering engine. Defaults to the one the app sets on `F0Provider`, so a
17521
- * product that configures Google gets it here too; set it only to override
17522
- * that for this view.
17523
- */
17524
- provider?: F0MapProvider;
17525
- /**
17526
- * Records to request in the one page the map loads, capped at the map's
17527
- * recommended marker ceiling.
17528
- */
17529
- markerLimit?: number;
17530
- /** Accessible label for the map region. */
17531
- ariaLabel?: string;
17532
- /**
17533
- * Rows of the side panel, for the records of one section ("Not on map",
17534
- * then "On map") or for the matches of the panel's search. They are the
17535
- * records the map is drawing, from the same load. Return rows only: the
17536
- * panel owns the scrolling. `select` drives the same selection a marker
17537
- * click does.
17538
- */
17539
- sidebar?: (records: R[], api: MapSidebarApi<R>) => ReactNode;
17540
- /**
17541
- * Text the panel's search matches a record against. Given it, the panel's
17542
- * header offers a search over the records the panel holds; the toolbar's
17543
- * search still narrows the whole view.
17544
- */
17545
- sidebarSearchText?: (record: R) => string;
17546
- /** Detail panel for the selected record, beside the side panel. */
17547
- detail?: (record: R, api: MapSidebarApi<R>) => ReactNode;
17548
- };
17549
-
17550
16487
  /** Margin tokens (spacing + auto for centering) */
17551
16488
  export declare type MarginToken = SpacingToken | "auto";
17552
16489
 
@@ -17616,8 +16553,6 @@ export declare type MaskOptions = {
17616
16553
  styles?: Partial<CSSStyleDeclaration>;
17617
16554
  };
17618
16555
 
17619
- declare const MAX_EXPANDED_ACTIONS = 2;
17620
-
17621
16556
  /**
17622
16557
  * Maximum number of values a single filter may contribute to the URL.
17623
16558
  *
@@ -17796,10 +16731,6 @@ declare type MetadataCopyAction = {
17796
16731
  type: "copy";
17797
16732
  };
17798
16733
 
17799
- export declare function MetadataItem({ item }: {
17800
- item: MetadataItem;
17801
- }): JSX_2.Element;
17802
-
17803
16734
  export declare interface MetadataItem {
17804
16735
  label: string;
17805
16736
  value: MetadataItemValue;
@@ -18154,45 +17085,16 @@ export declare type NotificationDialogOptions = NotificationDialogBaseOptions &
18154
17085
  actions: DialogActions;
18155
17086
  };
18156
17087
 
18157
- declare type NumberCellConfig<R extends RecordType = RecordType> = {
18158
- min?: number;
18159
- max?: number;
18160
- step?: number;
18161
- maxDecimals?: number;
18162
- locale?: string;
18163
- /**
18164
- * Show the locale's thousands separators in the resting display (grouped
18165
- * while blurred, ungrouped while editing). Defaults to `true`; set `false`
18166
- * for numbers that shouldn't be grouped (years, IDs, …).
18167
- */
18168
- grouping?: boolean;
18169
- /**
18170
- * Unit label displayed next to the number input.
18171
- * Can be a static string (e.g. `"h"`) or a function that receives the
18172
- * current row item to return a per-row unit (e.g. `(item) => item.type === "role" ? "h" : "u"`).
18173
- */
18174
- units?: string | ((item: R) => string | undefined);
18175
- unitsPosition?: "before" | "after";
18176
- /**
18177
- * When to notify onCellChange. Defaults to `"change"` (debounced ~250ms
18178
- * after the user stops typing). Set to `"blur"` to wait until the field
18179
- * loses focus instead — useful when partial values while typing (e.g.
18180
- * "12.") shouldn't trigger transient saves. Applies to money cells too,
18181
- * since they reuse this config.
18182
- */
18183
- commitOn?: "change" | "blur";
18184
- };
18185
-
18186
17088
  /**
18187
17089
  * All valid renderIf conditions for number fields
18188
17090
  */
18189
17091
  declare type NumberFieldRenderIf = NumberRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
18190
17092
 
18191
17093
  export declare type NumberFilterDefinition = BaseFilterDefinition<"number"> & {
18192
- options?: NumberFilterOptions_2;
17094
+ options?: NumberFilterOptions;
18193
17095
  };
18194
17096
 
18195
- declare type NumberFilterOptions_2 = {
17097
+ declare type NumberFilterOptions = {
18196
17098
  min?: number;
18197
17099
  max?: number;
18198
17100
  modes?: readonly ("range" | "single")[];
@@ -18437,11 +17339,6 @@ export declare type OnAddNewElementParams = {
18437
17339
  datasetKey?: string;
18438
17340
  };
18439
17341
 
18440
- declare type OnBulkActionCallback<Record extends RecordType, Filters extends FiltersDefinition> = (...args: [
18441
- action: BulkAction,
18442
- ...Parameters<OnSelectItemsCallback<Record, Filters>>
18443
- ]) => void | Promise<void>;
18444
-
18445
17342
  declare type OnChangeQuestionParams = BaseQuestionOnChangeParams & ({
18446
17343
  type: "text" | "longText";
18447
17344
  value?: string | null;
@@ -18674,17 +17571,6 @@ export declare type OneIconSize = (typeof oneIconSizes)[number];
18674
17571
 
18675
17572
  export declare const oneIconSizes: readonly ["xs", "sm", "md", "lg"];
18676
17573
 
18677
- declare type OnLoadDataCallback<Record extends RecordType, Filters extends FiltersDefinition> = (data: {
18678
- totalItems: number | undefined;
18679
- selectableTotal?: number;
18680
- filters: FiltersState<Filters>;
18681
- search: string | undefined;
18682
- isInitialLoading: boolean;
18683
- data: Record[];
18684
- }) => void;
18685
-
18686
- declare type OnLoadErrorCallback = (error: DataError) => void;
18687
-
18688
17574
  export declare type OnSelectItemsCallback<R extends RecordType, Filters extends FiltersDefinition> = (selectedItems: SelectedItemsDetailedStatus<R, Filters> & {
18689
17575
  byLane?: Record<string, SelectedItemsDetailedStatus<R, Filters>>;
18690
17576
  }, clearSelectedItems: () => void, handleSelectAll?: (checked: boolean) => void) => void;
@@ -18900,10 +17786,6 @@ declare type PanelBounds = {
18900
17786
  */
18901
17787
  export declare const parseDataCollectionUrlParams: <CurrentFiltersState extends FiltersState<FiltersDefinition> = FiltersState<FiltersDefinition>>(input?: string | URLSearchParams, filtersDefinition?: FiltersDefinition) => DataCollectionUrlState<CurrentFiltersState>;
18902
17788
 
18903
- declare type PathsToStringProps<T> = T extends string ? [] : {
18904
- [K in Extract<keyof T, string>]: [K, ...PathsToStringProps<T[K]>];
18905
- }[Extract<keyof T, string>];
18906
-
18907
17789
  export declare const pdfScales: readonly ["page-width", "page-fit", "0.5", "0.75", "1", "1.25", "1.5", "2", "3", "4"];
18908
17790
 
18909
17791
  /**
@@ -19136,22 +18018,6 @@ export declare interface PrimaryActionButton extends PrimaryAction {
19136
18018
  onClick: () => void;
19137
18019
  }
19138
18020
 
19139
- declare type PrimaryActionItemDefinition = Pick<DropdownItemObject, "label" | "icon" | "description"> & {
19140
- loading?: boolean;
19141
- onClick?: () => void | Promise<void>;
19142
- disabled?: boolean;
19143
- tooltip?: (params: {
19144
- disabled: boolean;
19145
- loading: boolean;
19146
- }) => string | undefined;
19147
- };
19148
-
19149
- /**
19150
- * Defines the structure and configuration of the primary action that can be performed on a collection.
19151
- * @returns An action
19152
- */
19153
- declare type PrimaryActionsDefinitionFn = () => PrimaryActionItemDefinition | PrimaryActionItemDefinition[] | undefined;
19154
-
19155
18021
  export declare type primaryActionType = {
19156
18022
  action: actionType;
19157
18023
  subActions?: subActionType[];
@@ -19319,38 +18185,6 @@ declare type PromoteAction = {
19319
18185
  icon?: IconType;
19320
18186
  };
19321
18187
 
19322
- declare type PropertyDefinition_2<T> = {
19323
- label: string;
19324
- /**
19325
- * Optional header info. Pass a string for a short text tooltip, or a
19326
- * {@link TableHeaderInfo} object for a structured hoverable card. Only
19327
- * rendered by the table visualization's column headers.
19328
- */
19329
- info?: string | TableHeaderInfo;
19330
- /**
19331
- * Function that extracts and formats the value from an item.
19332
- * Should return an object matching the expected args for the specified renderer type.
19333
- *
19334
- * Example usage:
19335
- * {
19336
- * render: (item) => ({
19337
- * type: "avatar",
19338
- * value: {
19339
- * type: "person",
19340
- * firstName: item.firstName,
19341
- * lastName: item.lastName,
19342
- * }
19343
- * })
19344
- * }
19345
- */
19346
- render: (item: T) => RendererDefinition | string | number | undefined;
19347
- /**
19348
- * Function that determines if the property should be hidden for a given item.
19349
- * Should return true if the property should be hidden, false otherwise.
19350
- */
19351
- hide?: (item: T) => boolean;
19352
- };
19353
-
19354
18188
  declare type Props = {
19355
18189
  /**
19356
18190
  * Array of chips to display.
@@ -19587,8 +18421,6 @@ declare type RecordPathValue<T, P extends string> = P extends keyof T ? T[P] : P
19587
18421
  */
19588
18422
  export declare type RecordType = Record<string, unknown>;
19589
18423
 
19590
- declare type ReferenceType = "none" | "striped" | "striked";
19591
-
19592
18424
  declare type RegularAction = BaseAction & {
19593
18425
  type: "regular";
19594
18426
  variant: ButtonVariant;
@@ -19719,8 +18551,6 @@ export declare interface RenderCustomFieldSelectConfig {
19719
18551
  searchBoxPlaceholder?: string;
19720
18552
  }
19721
18553
 
19722
- declare type RendererDefinition = ValueDisplayRendererDefinition;
19723
-
19724
18554
  /**
19725
18555
  * Base condition that all renderIf conditions must have
19726
18556
  */
@@ -20035,88 +18865,10 @@ declare type SearchOptions = {
20035
18865
  debounceTime?: number;
20036
18866
  };
20037
18867
 
20038
- /**
20039
- * Optional rich search preview shown in the shared Data Collection search.
20040
- * When provided, typing in the header search renders a results dropdown with
20041
- * avatar + title + subtitle, consistent across every visualization. Selecting a
20042
- * result calls `onSelect` (e.g. the graph view reveals/centers the node).
20043
- */
20044
- declare type SearchPreview<R extends RecordType> = {
20045
- /**
20046
- * Fetch one page of matches for `query`. `page` starts at 0 and increments as
20047
- * the user scrolls the dropdown to the bottom; it is optional so existing
20048
- * non-paginated consumers keep the plain `(query) => Promise<R[]>` shape.
20049
- * Return a bare array for a single, non-paginated page (treated as
20050
- * `hasMore: false`), or a `SearchPreviewPage` to drive infinite scroll.
20051
- */
20052
- search: (query: string, page?: number) => Promise<R[] | SearchPreviewPage<R>>;
20053
- getId: (record: R) => string;
20054
- render: (record: R) => SearchPreviewResultData;
20055
- onSelect: (record: R) => void;
20056
- };
20057
-
20058
- /**
20059
- * One page of search-preview results. `hasMore` tells the dropdown whether to
20060
- * keep pulling further pages as the user scrolls (infinite scroll).
20061
- */
20062
- declare type SearchPreviewPage<R extends RecordType> = {
20063
- records: R[];
20064
- hasMore: boolean;
20065
- };
20066
-
20067
- /** Data shown for a single row of the search preview dropdown. */
20068
- declare type SearchPreviewResultData = {
20069
- avatar?: AvatarVariant;
20070
- title: string;
20071
- subtitle?: string;
20072
- };
20073
-
20074
18868
  declare interface SecondaryAction extends PrimaryActionButton {
20075
18869
  variant?: "outline" | "critical" | "outlinePromote" | "promote";
20076
18870
  }
20077
18871
 
20078
- declare type SecondaryActionGroup = {
20079
- label?: string;
20080
- items: SecondaryActionItem[];
20081
- };
20082
-
20083
- /**
20084
- * Defines the structure and configuration of secondary actions that can be performed on a collection.
20085
- * @returns An array of actions
20086
- */
20087
- declare type SecondaryActionItem = Pick<DropdownItemObject, "label" | "icon" | "description" | "critical"> & {
20088
- enabled?: boolean;
20089
- hideLabelWhenExpanded?: boolean;
20090
- loading?: boolean;
20091
- disabled?: boolean;
20092
- onClick?: () => void | Promise<void>;
20093
- tooltip?: (params: {
20094
- disabled: boolean;
20095
- loading: boolean;
20096
- }) => string | undefined;
20097
- /** A count shown to the right of the label, e.g. how many items the action
20098
- * concerns. Ignored while the action is collapsed into the overflow menu. */
20099
- counterValue?: number;
20100
- /** Related actions shown behind a chevron attached to the button, turning it
20101
- * into an outline split button: the main part still runs `onClick`.
20102
- * When the action is collapsed into the overflow menu, they are listed as
20103
- * regular entries right after it. `counterValue` and
20104
- * `hideLabelWhenExpanded` don't apply to a split button. */
20105
- splitActions?: SecondaryActionSplitItem[];
20106
- };
20107
-
20108
- declare type SecondaryActionsDefinition = {
20109
- expanded: Enumerate<typeof MAX_EXPANDED_ACTIONS>;
20110
- actions: () => SecondaryActionsItems | undefined;
20111
- } | (() => SecondaryActionsItems | undefined);
20112
-
20113
- declare type SecondaryActionsItems = SecondaryActionItem[] | SecondaryActionItem[][] | SecondaryActionGroup[];
20114
-
20115
- declare type SecondaryActionSplitItem = Pick<DropdownItemObject, "label" | "icon" | "description" | "critical"> & {
20116
- disabled?: boolean;
20117
- onClick?: () => void | Promise<void>;
20118
- };
20119
-
20120
18872
  export declare type secondaryActionsType = secondaryActionType | secondaryActionType[];
20121
18873
 
20122
18874
  export declare type secondaryActionType = (actionType | toggleActionType) & {
@@ -20161,31 +18913,6 @@ declare type SectionProps = {
20161
18913
  */
20162
18914
  export declare type SectionRenderIf = RenderIfCondition | F0BaseFieldRenderIfFunction;
20163
18915
 
20164
- /**
20165
- * Configuration for select-type cells. Mirrors F0Select's two data modes:
20166
- * - Static `options` (array or per-row function)
20167
- * - Async `source` (DataSourceDefinition) with `mapOptions`
20168
- */
20169
- declare type SelectCellConfig<R extends RecordType> = {
20170
- placeholder?: string;
20171
- clearable?: boolean;
20172
- showSearchBox?: boolean;
20173
- defaultItem?: (item: R) => F0SelectItemObject<string, RecordType> | undefined;
20174
- /**
20175
- * Buttons rendered below the options, for what a value cannot express —
20176
- * dropping a scheduled change, say. Pass a function to decide them per row.
20177
- */
20178
- actions?: Action_2[] | ((item: R) => Action_2[] | undefined);
20179
- } & ({
20180
- options: F0SelectItemProps<string>[] | ((item: R) => F0SelectItemProps<string>[]);
20181
- source?: never;
20182
- mapOptions?: never;
20183
- } | {
20184
- source: Omit<DataSourceDefinition<RecordType, FiltersDefinition, SortingsDefinition, GroupingDefinition<RecordType>>, "selectable" | "selectionDisabled" | "selectionInherited" | "disableSelectAll" | "grouping" | "defaultGrouping" | "currentGrouping" | "fetchChildren" | "itemsWithChildren" | "childrenCount">;
20185
- mapOptions: (record: RecordType) => F0SelectItemProps<string, RecordType>;
20186
- options?: never;
20187
- });
20188
-
20189
18916
  /**
20190
18917
  * Represents a collection of selected items.
20191
18918
  * @template T - The type of items in the collection
@@ -20433,17 +19160,6 @@ export declare interface SuccessMessageProps {
20433
19160
  buttonOnClick?: () => void;
20434
19161
  }
20435
19162
 
20436
- declare type SummariesDefinition = Record<string, {
20437
- type: SummaryType;
20438
- }>;
20439
-
20440
- /**
20441
- * Type helper to extract keys from a SummaryDefinition
20442
- */
20443
- declare type SummaryKey<Definition extends SummariesDefinition> = Definition extends readonly string[] ? Definition[number] : keyof Definition;
20444
-
20445
- declare type SummaryType = "sum";
20446
-
20447
19163
  export declare function SurveyAllQuestionsLoadingSkeleton(): JSX_2.Element;
20448
19164
 
20449
19165
  export declare function SurveyAnsweringForm(props: SurveyAnsweringFormProps): JSX_2.Element;
@@ -20683,288 +19399,13 @@ declare type TabItem = {
20683
19399
  id: string;
20684
19400
  });
20685
19401
 
20686
- declare type TableCollectionProps<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> = CollectionProps<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping, TableVisualizationOptions<R, Filters, Sortings, Summaries>>;
20687
-
20688
- declare type TableColumnDefinition<R extends RecordType, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = WithOptionalSorting<R, Sortings> & Pick<ComponentProps<typeof TableHead>, "hidden" | "info" | "infoIcon" | "sticky" | "width" | "minWidth"> & {
20689
- /**
20690
- * Optional summary configuration for this column
20691
- * References a key in the Summaries definition, similar to how sorting works
20692
- */
20693
- summary?: SummaryKey<Summaries>;
20694
- /**
20695
- * Placeholder to display in this column's summary-row cell when no summary
20696
- * value is rendered. This also applies to columns without a `summary`
20697
- * definition. Takes precedence over the row-level `summaryPlaceholder`.
20698
- */
20699
- summaryPlaceholder?: string;
20700
- /**
20701
- * The id of the column (if not provided, the id will be the label of the column)
20702
- */
20703
- id?: ColId;
20704
- /**
20705
- * The initial order of the column
20706
- */
20707
- order?: number;
20708
- /**
20709
- * The initial state of the hidden (only applies if allowColumnHiding is true)
20710
- */
20711
- hidden?: boolean;
20712
- /**
20713
- * Avoid hiding the column by the user
20714
- */
20715
- noHiding?: boolean;
20716
- /**
20717
- * Visually highlights the column: its header and cells render with a
20718
- * subtle gray background, and the spanning header of its group (if any)
20719
- * is emphasized too. To highlight a whole header group at once, set
20720
- * `highlighted` on its {@link HeaderGroupDefinition} instead.
20721
- */
20722
- highlighted?: boolean;
20723
- /**
20724
- * Avoid removing the column by the user. Only relevant when the
20725
- * visualization sets `onRemoveColumn`; the per-row trash affordance in the
20726
- * settings popover is hidden for this column. Mirrors `noHiding`.
20727
- */
20728
- noRemoving?: boolean;
20729
- /**
20730
- * Assigns this column to a header group. Columns with the same
20731
- * headerGroupId are visually grouped under a shared spanning header.
20732
- * Each group is configured via `headerGroups` in the visualization
20733
- * options, which also controls whether the group can be collapsed.
20734
- */
20735
- headerGroupId?: string;
20736
- };
20737
-
20738
- declare function TableHead({ children, width, minWidth, sortState, onSortClick, onClick, info, infoIcon, sticky, hidden, highlighted, align, className, colSpan, }: TableHeadProps): JSX_2.Element;
20739
-
20740
- /**
20741
- * Structured help copy for a column header. The same shape every other
20742
- * ⓘ affordance takes — see {@link InfoHintContent}, where `label` defaults to
20743
- * the column label when the header's children are a string.
20744
- *
20745
- * A table-specific name for a shape that is no longer table-specific: the
20746
- * canonical export is `InfoHintContent`, and this stays as an alias so
20747
- * existing imports keep working.
20748
- */
20749
- declare type TableHeaderInfo = InfoHintContent;
20750
-
20751
- declare interface TableHeadProps {
20752
- children: React.ReactNode;
20753
- /**
20754
- * The width of the header cell. If not provided, the width will be "auto"
20755
- * @default "auto"
20756
- */
20757
- width?: ColumnWidth;
20758
- /**
20759
- * Optional minimum width for the header cell. When provided, overrides the
20760
- * minWidth derived from `width`, allowing the column to grow past `width`
20761
- * while never shrinking below this value.
20762
- */
20763
- minWidth?: ColumnWidth;
20764
- /**
20765
- * When true, the header cell will stick in the specified position when scrolling horizontally
20766
- * @default undefined
20767
- */
20768
- sticky?: {
20769
- left?: number;
20770
- right?: never;
20771
- } | {
20772
- left?: never;
20773
- right?: number;
20774
- };
20775
- /**
20776
- * The current sort direction of this column. "none" indicates no sorting,
20777
- * "asc" sorts ascending (A-Z, 1-9), and "desc" sorts descending (Z-A, 9-1)
20778
- * @default "none"
20779
- */
20780
- sortState?: "none" | "asc" | "desc";
20781
- /**
20782
- * Callback fired when the header is clicked to sort.
20783
- * Use this to handle toggling between sort states.
20784
- */
20785
- onSortClick?: () => void;
20786
- /**
20787
- * Callback fired when the header cell is clicked, for cells that are
20788
- * actionable beyond sorting. Like {@link onSortClick}, the whole cell is the
20789
- * target — see the note on the cell's click handler.
20790
- */
20791
- onClick?: () => void;
20792
- /**
20793
- * Optional header info. When provided, displays an info icon next to the
20794
- * header content. Pass a string for a short text tooltip, or a
20795
- * {@link TableHeaderInfo} object for a structured hoverable card.
20796
- */
20797
- info?: string | TableHeaderInfo;
20798
- /**
20799
- * Icon to display when info is provided.
20800
- * @default InfoCircleLine
20801
- */
20802
- infoIcon?: IconType;
20803
- /**
20804
- * When true, the header cell will not be visible.
20805
- * @default false
20806
- */
20807
- hidden?: boolean;
20808
- /**
20809
- * Emphasizes the cell with a subtle gray background, drawing attention to a
20810
- * highlighted column.
20811
- * @default false
20812
- */
20813
- highlighted?: boolean;
20814
- /**
20815
- * Alingment of the cell
20816
- * @default "left"
20817
- */
20818
- align?: "left" | "right";
20819
- /**
20820
- * The class name of the header cell
20821
- */
20822
- className?: string;
20823
- /**
20824
- * The number of columns this header cell should span
20825
- */
20826
- colSpan?: number;
20827
- }
20828
-
20829
19402
  declare type TableOfContentPopoverVariant = "dark" | "light";
20830
19403
 
20831
- declare type TableVisualizationOptions<R extends RecordType, _Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = {
20832
- /**
20833
- * The columns to display
20834
- */
20835
- columns: readonly TableColumnDefinition<R, Sortings, Summaries>[];
20836
- /**
20837
- * Placeholder to display in summary-row cells when no summary value is
20838
- * rendered. This also applies to columns without a `summary` definition.
20839
- * Column-level `summaryPlaceholder` takes precedence.
20840
- * @default "-"
20841
- */
20842
- summaryPlaceholder?: string;
20843
- /**
20844
- * The number of columns to freeze on the left
20845
- */
20846
- frozenColumns?: 0 | 1 | 2;
20847
- /**
20848
- * For nested tables, which rows start out expanded before the user touches
20849
- * anything. Pass `true` for the whole tree, a depth, or a predicate:
20850
- *
20851
- * ```ts
20852
- * defaultExpanded: true // everything
20853
- * defaultExpanded: 2 // down to depth 2
20854
- * defaultExpanded: (node) => node.type !== "role" // stop at roles
20855
- * ```
20856
- *
20857
- * Once the user expands or collapses a row their choice wins for that row and
20858
- * the policy no longer applies to it. Changing filters, sortings or
20859
- * navigation filters resets the tree, so the policy applies again and a
20860
- * filtered view comes back expanded.
20861
- *
20862
- * Expanding a row loads its children, so a policy that opens a large tree
20863
- * costs one `fetchChildren` per opened row on first paint.
20864
- *
20865
- * @default false
20866
- */
20867
- defaultExpanded?: DefaultExpandedPolicy<R>;
20868
- /**
20869
- * Allow users to reorder columns (you can only reorder columns that are not frozen) (check cols props to define the order)
20870
- */
20871
- allowColumnReordering?: boolean;
20872
- /**
20873
- * Allow users to hide columns (you can define especifcally non hiddable columns in col props, also frozen columns are not hiddable)
20874
- */
20875
- allowColumnHiding?: boolean;
20876
- /**
20877
- * Called when the user clicks the "Add column" entry at the top of the
20878
- * column-settings popover. When omitted, the entry is not shown. Open your
20879
- * own column picker and update `columns` in response.
20880
- */
20881
- onAddColumn?: () => void;
20882
- /**
20883
- * Called when the user removes a column via the trash affordance revealed on
20884
- * hovering its row in the column-settings popover. When omitted, no remove
20885
- * affordance is shown. Removing is distinct from hiding: drop the column from
20886
- * `columns` in response. Frozen/leading columns and columns flagged
20887
- * `noRemoving` are never removable.
20888
- */
20889
- onRemoveColumn?: (columnId: ColId) => void;
20890
- /**
20891
- * The user-managed frozen columns in the column-settings popover. Locked
20892
- * columns move into a sticky group on the left, stay visible, and cannot be
20893
- * reordered or removed. Their array order controls their order in that group.
20894
- * One visible managed column always remains unlocked as the table's
20895
- * scrollable region; an all-locked input is normalized accordingly.
20896
- *
20897
- * Unlocking a column returns it to its saved position. Columns covered by
20898
- * `frozenColumns` remain permanently locked before this managed group.
20899
- */
20900
- lockedColumnIds?: readonly ColId[];
20901
- /**
20902
- * Called with the complete set of user-managed locked column ids whenever a
20903
- * user locks or unlocks a column. Passing this callback enables the lock
20904
- * controls in the column-settings popover.
20905
- */
20906
- onLockedColumnIdsChange?: (columnIds: ColId[]) => void;
20907
- /** Maps a row to a visual variant: `"striped"`, `"striked"`, or `"none"`. */
20908
- /**
20909
- * Reveals the row-actions button only while its row is hovered or focused,
20910
- * instead of painting it on every row. Editable-table only — the plain table
20911
- * always reveals its actions on hover.
20912
- *
20913
- * The actions are then drawn over the last column rather than given one of
20914
- * their own, so they reserve no width and a row's content cannot shift
20915
- * sideways as the pointer enters it.
20916
- *
20917
- * @default false
20918
- */
20919
- itemActionsOnHover?: boolean;
20920
- referenceRowType?: (item: R) => ReferenceType;
20921
- /**
20922
- * In a table with nested rows, renders the cell text of the root rows
20923
- * (depth 0) in bold so aggregate rows stand out from their children.
20924
- * Cells that fix their own weight (tags, deltas) keep it.
20925
- * @default false
20926
- */
20927
- boldRootRows?: boolean;
20928
- /**
20929
- * Header group configuration. Keys are the `headerGroupId` values used in
20930
- * column definitions. Pass a string for a plain spanning label, or a
20931
- * {@link HeaderGroupDefinition} to also make the group collapsible:
20932
- *
20933
- * ```ts
20934
- * headerGroups: {
20935
- * personal: "Personal information",
20936
- * january: {
20937
- * label: "January",
20938
- * collapsedColumns: ["january-total"],
20939
- * defaultCollapsed: true,
20940
- * },
20941
- * }
20942
- * ```
20943
- *
20944
- * A collapsed group hides every column in it except the ones listed in
20945
- * `collapsedColumns`, and renders a toggle next to its label.
20946
- */
20947
- headerGroups?: Record<string, string | HeaderGroupDefinition>;
20948
- /**
20949
- * Called when the user collapses or expands a header group. Fires after the
20950
- * table has applied the change; use it to persist the state, not to control
20951
- * it.
20952
- */
20953
- onHeaderGroupCollapsedChange?: (groupId: string, collapsed: boolean) => void;
20954
- /**
20955
- * Wraps the table in a rounded border container.
20956
- * Useful for embedding the table inside panels or detail views.
20957
- */
20958
- bordered?: boolean;
20959
- };
20960
-
20961
19404
  declare type TableVisualizationSettings = {
20962
19405
  order?: ColId[];
20963
19406
  hidden?: ColId[];
20964
19407
  };
20965
19408
 
20966
- declare type TableVisualizationType = "table" | "editableTable";
20967
-
20968
19409
  declare interface TabsProps {
20969
19410
  tabs: TabItem[];
20970
19411
  activeTabId?: string;
@@ -21196,23 +19637,6 @@ declare type TextareaFieldRenderIf = TextRenderIfCondition | CommonRenderIfCondi
21196
19637
  */
21197
19638
  export declare type TextareaProps = F0TextAreaInputProps;
21198
19639
 
21199
- declare type TextCellConfig = {
21200
- /**
21201
- * Input type passed to the underlying text input. Also selects a default
21202
- * leading icon (`url` → link, `email` → envelope) matching F0Form's text
21203
- * fields. Defaults to `"text"`.
21204
- */
21205
- inputType?: TextCellInputType;
21206
- /**
21207
- * Leading icon. Overrides the default derived from `inputType`; pass to add
21208
- * an icon to a plain text cell or replace the url/email default.
21209
- */
21210
- icon?: IconType;
21211
- };
21212
-
21213
- /** The HTML-ish input type of a text cell. Drives a default leading icon. */
21214
- declare type TextCellInputType = "text" | "email" | "url" | "tel";
21215
-
21216
19640
  /**
21217
19641
  * All valid renderIf conditions for text fields
21218
19642
  */
@@ -21671,8 +20095,6 @@ export declare interface TranscriptCue {
21671
20095
  startTime?: number;
21672
20096
  }
21673
20097
 
21674
- declare type TranslationKey = Join<PathsToStringProps<typeof defaultTranslations>, ".">;
21675
-
21676
20098
  declare type TranslationShape<T> = {
21677
20099
  [K in keyof T]: T[K] extends string ? string : T[K] extends Record<string, string | Record<string, unknown>> ? TranslationShape<T[K]> : never;
21678
20100
  };
@@ -21741,20 +20163,6 @@ declare type UpsellAction = BaseAction & {
21741
20163
  showConfirmation: boolean;
21742
20164
  };
21743
20165
 
21744
- /** Upsell button rendered in the collection toolbar. */
21745
- declare type UpsellActionDefinition = {
21746
- label: string;
21747
- onClick: () => void | Promise<void>;
21748
- /** Show the upsell icon. Defaults to true. */
21749
- showIcon?: boolean;
21750
- /** Button variant. Defaults to "outlinePromote". */
21751
- variant?: "promote" | "outlinePromote";
21752
- disabled?: boolean;
21753
- };
21754
-
21755
- /** Returns the upsell action, or undefined to hide it. */
21756
- declare type UpsellActionDefinitionFn = () => UpsellActionDefinition | undefined;
21757
-
21758
20166
  export declare const UpsellingAlert: WithDataTestIdReturnType_10<typeof _UpsellingAlert>;
21759
20167
 
21760
20168
  declare function _UpsellingAlert({ icon, title, description, action, onDismiss, }: UpsellingAlertProps): JSX_2.Element;
@@ -22874,42 +21282,27 @@ export declare interface VideoPlayerContent {
22874
21282
  descriptions?: Localized<string>;
22875
21283
  }
22876
21284
 
22877
- /**
22878
- * Region of the canvas (in screen px) covered by external chrome — typically a
22879
- * side panel / drawer opened over the graph. All fly-to paths shift their target
22880
- * so the node lands centered in the *free* area instead of behind the panel.
22881
- *
22882
- * The consumer measures / knows this (e.g. a fixed-width drawer) and passes it;
22883
- * F0Graph has no notion of the panel itself. The side is encoded by which key is
22884
- * set — a right-hand drawer sets `right`, a left-hand one (or RTL layout) sets
22885
- * `left` — so no separate direction handling is needed. Omitted / `0` on every
22886
- * side behaves exactly as if there were no inset.
22887
- */
22888
- declare interface ViewportInset {
22889
- top?: number;
22890
- right?: number;
22891
- bottom?: number;
22892
- left?: number;
22893
- }
22894
-
22895
- declare type VisualizacionTypeDefinition<Props, Settings = Record<string, never>> = {
22896
- render: (props: Props) => JSX.Element;
22897
- name: string;
22898
- icon: IconType;
22899
- settings: {
22900
- default: Settings;
22901
- renderer?: (props: Props) => JSX.Element | null;
22902
- resetHandler?: (settings: DataCollectionSettingsContextType) => void;
22903
- };
22904
- };
22905
-
22906
21285
  /**
22907
21286
  * Visualization mode for the AI chat
22908
21287
  */
22909
21288
  export declare type VisualizationMode = "sidepanel" | "fullscreen" | "canvas";
22910
21289
 
21290
+ /**
21291
+ * The settings each visualization keeps, by visualization key.
21292
+ *
21293
+ * Declared here rather than inferred from `collectionViewRegistry`, because
21294
+ * every visualization in that registry reads the settings context, so the
21295
+ * context cannot import the registry. `collectionViewRegistry` checks its own
21296
+ * keys against this map.
21297
+ */
22911
21298
  declare type VisualizationSettings = {
22912
- [K in keyof typeof collectionVisualizations]: ExtractVisualizationSettings<(typeof collectionVisualizations)[K]>;
21299
+ table: TableVisualizationSettings;
21300
+ editableTable: EditableTableVisualizationSettings;
21301
+ list: Record<string, never>;
21302
+ card: Record<string, never>;
21303
+ kanban: Record<string, never>;
21304
+ graph: GraphVisualizationSettings;
21305
+ map: Record<string, never>;
22913
21306
  };
22914
21307
 
22915
21308
  declare const Weekdays: ForwardRefExoticComponent<WeekdaysProps & RefAttributes<HTMLDivElement>>;
@@ -23015,28 +21408,6 @@ export declare type WithGroupId<RecordType> = RecordType & {
23015
21408
  [GROUP_ID_SYMBOL]: unknown;
23016
21409
  };
23017
21410
 
23018
- declare type WithOptionalSorting<R extends RecordType, Sortings extends SortingsDefinition> = Omit<PropertyDefinition_2<R>, "hide"> & {
23019
- sorting?: SortingKey<Sortings>;
23020
- /**
23021
- * The alignment of the column. If not provided, the alignment will be "left"
23022
- */
23023
- align?: "left" | "right";
23024
- /**
23025
- * The width of the column. If not provided, the width will be "auto"
23026
- */
23027
- width?: number;
23028
- /**
23029
- * Optional minimum width for the column in pixels. When provided, overrides
23030
- * the minWidth derived from `width`. Useful for columns with no fixed
23031
- * `width` that should not shrink below a given size.
23032
- */
23033
- minWidth?: number;
23034
- };
23035
-
23036
- declare type WithOptionalSorting_2<Record, Sortings extends SortingsDefinition> = PropertyDefinition_2<Record> & {
23037
- sorting?: SortingKey<Sortings>;
23038
- };
23039
-
23040
21411
  declare interface WithTooltipDescription {
23041
21412
  /**
23042
21413
  * Optional description to show in the tooltip
@@ -23064,26 +21435,6 @@ export declare type ZIndexToken = "auto" | "0" | "10" | "20" | "30" | "40" | "50
23064
21435
  */
23065
21436
  declare type ZodTypeName = "ZodString" | "ZodNumber" | "ZodBoolean" | "ZodDate" | "ZodEnum" | "ZodArray" | "ZodObject" | "ZodOptional" | "ZodNullable" | "ZodDefault" | "ZodLiteral" | "ZodEffects";
23066
21437
 
23067
- declare type ZoomPreset = keyof typeof zoomPresets;
23068
-
23069
- declare const zoomPresets: {
23070
- readonly default: {
23071
- readonly detail: 0.56;
23072
- readonly compact: 0.3;
23073
- readonly dot: 0.18;
23074
- };
23075
- readonly dense: {
23076
- readonly detail: 0.5;
23077
- readonly compact: 0.2;
23078
- readonly dot: 0.08;
23079
- };
23080
- readonly sparse: {
23081
- readonly detail: 0.85;
23082
- readonly compact: 0.45;
23083
- readonly dot: 0.15;
23084
- };
23085
- };
23086
-
23087
21438
  export { }
23088
21439
 
23089
21440
 
@@ -23131,10 +21482,9 @@ declare namespace Calendar {
23131
21482
 
23132
21483
  declare module "@tiptap/core" {
23133
21484
  interface Commands<ReturnType> {
23134
- videoEmbed: {
23135
- setVideoEmbed: (options: {
23136
- src: string;
23137
- }) => ReturnType;
21485
+ aiBlock: {
21486
+ insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
21487
+ executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
23138
21488
  };
23139
21489
  }
23140
21490
  }
@@ -23142,8 +21492,11 @@ declare module "@tiptap/core" {
23142
21492
 
23143
21493
  declare module "@tiptap/core" {
23144
21494
  interface Commands<ReturnType> {
23145
- transcript: {
23146
- insertTranscript: (data: TranscriptData) => ReturnType;
21495
+ enhanceHighlight: {
21496
+ setEnhanceHighlight: (from: number, to: number, options?: {
21497
+ placeholder?: string;
21498
+ }) => ReturnType;
21499
+ clearEnhanceHighlight: () => ReturnType;
23147
21500
  };
23148
21501
  }
23149
21502
  }
@@ -23162,8 +21515,9 @@ declare module "@tiptap/core" {
23162
21515
 
23163
21516
  declare module "@tiptap/core" {
23164
21517
  interface Commands<ReturnType> {
23165
- moodTracker: {
23166
- insertMoodTracker: (data: MoodTrackerData) => ReturnType;
21518
+ fontSize: {
21519
+ setFontSize: (fontSize: string) => ReturnType;
21520
+ unsetFontSize: () => ReturnType;
23167
21521
  };
23168
21522
  }
23169
21523
  }
@@ -23171,11 +21525,8 @@ declare module "@tiptap/core" {
23171
21525
 
23172
21526
  declare module "@tiptap/core" {
23173
21527
  interface Commands<ReturnType> {
23174
- enhanceHighlight: {
23175
- setEnhanceHighlight: (from: number, to: number, options?: {
23176
- placeholder?: string;
23177
- }) => ReturnType;
23178
- clearEnhanceHighlight: () => ReturnType;
21528
+ moodTracker: {
21529
+ insertMoodTracker: (data: MoodTrackerData) => ReturnType;
23179
21530
  };
23180
21531
  }
23181
21532
  }
@@ -23183,9 +21534,10 @@ declare module "@tiptap/core" {
23183
21534
 
23184
21535
  declare module "@tiptap/core" {
23185
21536
  interface Commands<ReturnType> {
23186
- fontSize: {
23187
- setFontSize: (fontSize: string) => ReturnType;
23188
- unsetFontSize: () => ReturnType;
21537
+ videoEmbed: {
21538
+ setVideoEmbed: (options: {
21539
+ src: string;
21540
+ }) => ReturnType;
23189
21541
  };
23190
21542
  }
23191
21543
  }
@@ -23193,9 +21545,8 @@ declare module "@tiptap/core" {
23193
21545
 
23194
21546
  declare module "@tiptap/core" {
23195
21547
  interface Commands<ReturnType> {
23196
- aiBlock: {
23197
- insertAIBlock: (data: AIBlockData, config: AIBlockConfig) => ReturnType;
23198
- executeAIAction: (actionType: string, config: AIBlockConfig) => ReturnType;
21548
+ transcript: {
21549
+ insertTranscript: (data: TranscriptData) => ReturnType;
23199
21550
  };
23200
21551
  }
23201
21552
  }