@factorialco/f0-react 1.388.1 → 1.388.2

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.
@@ -18,7 +18,9 @@ import { ButtonHTMLAttributes } from 'react';
18
18
  import { ClassValue } from 'cva';
19
19
  import { CompanyCellValue } from './types/company';
20
20
  import { CompanyCellValue as CompanyCellValue_2 } from './experimental';
21
+ import { CompanyItemProps } from './types';
21
22
  import { ComponentProps } from 'react';
23
+ import { ComponentType } from 'react';
22
24
  import { CopilotKitProps } from '@copilotkit/react-core';
23
25
  import { CountryCellValue } from './types/country';
24
26
  import { DateCellValue } from './types/date';
@@ -30,8 +32,13 @@ import { DotTagCellValue } from './types/dotTag';
30
32
  import { DotTagCellValue as DotTagCellValue_2 } from './experimental';
31
33
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
32
34
  import { Editor } from '@tiptap/react';
35
+ import { EmployeeItemProps } from './types';
33
36
  import { F0SelectProps as F0SelectProps_2 } from './types';
37
+ import { F0TagBalanceProps as F0TagBalanceProps_2 } from './types';
38
+ import { F0TagCompanyProps } from './types';
39
+ import { F0TagPersonProps } from './types';
34
40
  import { F0TagRawProps as F0TagRawProps_2 } from './types';
41
+ import { F0TagTeamProps } from './types';
35
42
  import { f1Colors } from '@factorialco/f0-core';
36
43
  import { FC } from 'react';
37
44
  import { FileCellValue } from './types/file';
@@ -46,6 +53,7 @@ import { HTMLAttributes } from 'react';
46
53
  import { HTMLInputTypeAttribute } from 'react';
47
54
  import { IconCellValue } from './types/icon';
48
55
  import { InFilterOptions } from './InFilter/types';
56
+ import { ItemProps } from './types';
49
57
  import { JSONContent } from '@tiptap/react';
50
58
  import { JSONContent as JSONContent_2 } from '@tiptap/core';
51
59
  import { JSX as JSX_2 } from 'react';
@@ -63,12 +71,13 @@ import { PieChartProps } from './experimental';
63
71
  import { PopoverProps } from '@radix-ui/react-popover';
64
72
  import { ProgressBarCellValue } from './types/progressBar';
65
73
  import { ProgressBarCellValue as ProgressBarCellValue_2 } from './experimental';
66
- import { Props as Props_7 } from './types';
74
+ import { Props as Props_5 } from './types';
67
75
  import { PropsWithChildren } from 'react';
68
76
  import * as React_2 from 'react';
69
77
  import { ReactElement } from 'react';
70
78
  import { ReactNode } from 'react';
71
79
  import * as RechartsPrimitive from 'recharts';
80
+ import { Ref } from 'react';
72
81
  import { RefAttributes } from 'react';
73
82
  import { RefObject } from 'react';
74
83
  import { ScrollAreaProps } from '@radix-ui/react-scroll-area';
@@ -76,12 +85,20 @@ import { SearchFilterOptions } from './SearchFilter/SearchFilter';
76
85
  import { StatusCellValue } from './types/status';
77
86
  import { StatusCellValue as StatusCellValue_2 } from './experimental';
78
87
  import { SVGProps } from 'react';
88
+ import { TagAlertProps } from './experimental';
89
+ import { TagBalanceProps } from './experimental';
79
90
  import { TagCellValue } from './types/tag';
80
91
  import { TagCellValue as TagCellValue_2 } from './experimental';
92
+ import { TagDotProps } from './experimental';
81
93
  import { TagListCellValue } from './types/tagList';
82
94
  import { TagListCellValue as TagListCellValue_2 } from './experimental';
95
+ import { TagListProps } from './experimental';
96
+ import { TagRawProps } from './experimental';
97
+ import { TagStatusProps } from './experimental';
98
+ import { TagType } from './experimental';
83
99
  import { TeamCellValue } from './types/team';
84
100
  import { TeamCellValue as TeamCellValue_2 } from './experimental';
101
+ import { TeamItemProps } from './types';
85
102
  import { TextCellValue } from './types/text';
86
103
  import { TextCellValue as TextCellValue_2 } from './experimental';
87
104
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
@@ -320,8 +337,6 @@ declare type ActionType_2 = {
320
337
  description?: string;
321
338
  };
322
339
 
323
- declare type ActionType_3 = CopyActionType | NavigateActionType | OpenLinkActionType;
324
-
325
340
  declare type ActionVariant = (typeof actionVariants)[number];
326
341
 
327
342
  declare const actionVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "ai", "link", "unstyled", "mention"];
@@ -558,6 +573,8 @@ declare const alertAvatarVariants: (props?: ({
558
573
  className?: ClassValue;
559
574
  })) | undefined) => string;
560
575
 
576
+ declare type AlertTagProps = ComponentProps<typeof F0TagAlert>;
577
+
561
578
  /**
562
579
  * @experimental This is an experimental component use it at your own risk
563
580
  */
@@ -688,6 +705,8 @@ declare const badgeVariants: (props?: ({
688
705
  className?: ClassValue;
689
706
  })) | undefined) => string;
690
707
 
708
+ declare type BalanceTagProps = ComponentProps<typeof F0TagBalance>;
709
+
691
710
  export declare type BannerAction = {
692
711
  label: string;
693
712
  onClick: () => void;
@@ -897,6 +916,10 @@ export declare type BaseResponse<R> = {
897
916
 
898
917
  export declare const BaseTabs: React.FC<TabsProps>;
899
918
 
919
+ declare type BaseTag<T extends {
920
+ type: string;
921
+ }> = T & WithTooltipDescription;
922
+
900
923
  declare interface BaseTOCItem {
901
924
  id: string;
902
925
  label: string;
@@ -1467,9 +1490,9 @@ declare type ChartItem<K extends ChartConfig> = {
1467
1490
  /**
1468
1491
  * @experimental This is an experimental component use it at your own risk
1469
1492
  */
1470
- export declare const ChartWidgetEmptyState: WithDataTestIdReturnType_4<ForwardRefExoticComponent<Props_4 & RefAttributes<HTMLDivElement>>>;
1493
+ export declare const ChartWidgetEmptyState: WithDataTestIdReturnType_4<ForwardRefExoticComponent<Props_6 & RefAttributes<HTMLDivElement>>>;
1471
1494
 
1472
- export declare type ChatWidgetEmptyStateProps = Props_4;
1495
+ export declare type ChatWidgetEmptyStateProps = Props_6;
1473
1496
 
1474
1497
  declare type ChildrenPaginationInfo = {
1475
1498
  total: number;
@@ -1608,6 +1631,7 @@ export declare type CollectionProps<Record extends RecordType, Filters extends F
1608
1631
 
1609
1632
  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>> = {
1610
1633
  table: VisualizacionTypeDefinition<TableCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>, TableVisualizationSettings>;
1634
+ editableTable: VisualizacionTypeDefinition<EditableTableCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>, EditableTableVisualizationSettings>;
1611
1635
  list: VisualizacionTypeDefinition<ListCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
1612
1636
  card: VisualizacionTypeDefinition<CardCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
1613
1637
  kanban: VisualizacionTypeDefinition<KanbanCollectionProps<Record, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>>;
@@ -1685,17 +1709,6 @@ declare type CompanyAvatarVariant = Extract<AvatarVariant, {
1685
1709
  type: "company";
1686
1710
  }>;
1687
1711
 
1688
- /**
1689
- * @experimental This is an experimental component use it at your own risk
1690
- */
1691
- declare const CompanyItem: ForwardRefExoticComponent<CompanyItemProps & RefAttributes<HTMLLIElement>>;
1692
-
1693
- declare type CompanyItemProps = {
1694
- name: string;
1695
- avatarUrl?: URL_2;
1696
- action?: ActionType_3;
1697
- };
1698
-
1699
1712
  export declare function CompanySelector({ companies, selected, onChange, isLoading, withNotification, additionalOptions, }: CompanySelectorProps): JSX_2.Element;
1700
1713
 
1701
1714
  export declare type CompanySelectorProps = {
@@ -1713,6 +1726,8 @@ export declare type CompanySelectorProps = {
1713
1726
  }[];
1714
1727
  };
1715
1728
 
1729
+ declare type CompanyTagProps = ComponentProps<typeof F0TagCompany>;
1730
+
1716
1731
  declare type CompareToDef = {
1717
1732
  label: string;
1718
1733
  value: {
@@ -1735,16 +1750,24 @@ declare type Content = (ComponentProps<typeof DataList.Item> & {
1735
1750
  type: "weekdays";
1736
1751
  }) | (ComponentProps<typeof DataList.DotTagItem> & {
1737
1752
  type: "dot-tag";
1753
+ }) | (Props_3 & {
1754
+ type: "alert-tag";
1755
+ }) | (F0TagBalanceProps & {
1756
+ type: "balance-tag";
1757
+ }) | (F0TagStatusProps & {
1758
+ type: "status-tag";
1759
+ }) | (F0TagRawProps & {
1760
+ type: "raw-tag";
1738
1761
  }) | {
1762
+ [T in TagType_2]: {
1763
+ type: "tag-list";
1764
+ tagList: F0TagListProps<T>;
1765
+ };
1766
+ }[TagType_2] | {
1739
1767
  type: "avatar-list";
1740
1768
  avatarList: F0AvatarListProps;
1741
1769
  };
1742
1770
 
1743
- declare type CopyActionType = {
1744
- type: "copy";
1745
- text?: string;
1746
- };
1747
-
1748
1771
  /**
1749
1772
  * @experimental This is an experimental component use it at your own risk
1750
1773
  */
@@ -1950,11 +1973,18 @@ declare const DataList: ForwardRefExoticComponent<DataListProps & RefAttributes<
1950
1973
  CompanyItem: ForwardRefExoticComponent<CompanyItemProps & RefAttributes<HTMLLIElement>>;
1951
1974
  PersonItem: ForwardRefExoticComponent<EmployeeItemProps & RefAttributes<HTMLLIElement>>;
1952
1975
  TeamItem: ForwardRefExoticComponent<TeamItemProps & RefAttributes<HTMLLIElement>>;
1953
- DotTagItem: ForwardRefExoticComponent<Props_3 & RefAttributes<HTMLLIElement>>;
1976
+ DotTagItem: ForwardRefExoticComponent<TagDotProps & RefAttributes<HTMLLIElement>>;
1977
+ AlertTagItem: ForwardRefExoticComponent<TagAlertProps & RefAttributes<HTMLLIElement>>;
1978
+ BalanceTagItem: ForwardRefExoticComponent<TagBalanceProps & RefAttributes<HTMLLIElement>>;
1979
+ StatusTagItem: ForwardRefExoticComponent<TagStatusProps & RefAttributes<HTMLLIElement>>;
1980
+ RawTagItem: ForwardRefExoticComponent<TagRawProps & RefAttributes<HTMLLIElement>>;
1981
+ TagListItem: <T extends TagType>(props: TagListProps<T> & {
1982
+ ref?: Ref<HTMLLIElement>;
1983
+ }) => ReturnType<(<T_1 extends TagType>(props: TagListProps<T_1>, ref: ForwardedRef<HTMLLIElement>) => JSX_2.Element)>;
1954
1984
  };
1955
1985
 
1956
1986
  declare type DataListProps = {
1957
- children: ReactElement<Items>[] | ReactElement<Items>;
1987
+ children: ReactElement | ReactElement[];
1958
1988
  label?: string;
1959
1989
  isHorizontal?: boolean;
1960
1990
  };
@@ -2437,6 +2467,7 @@ declare const defaultTranslations: {
2437
2467
  };
2438
2468
  readonly visualizations: {
2439
2469
  readonly table: "Table view";
2470
+ readonly editableTable: "Editable table view";
2440
2471
  readonly card: "Card view";
2441
2472
  readonly list: "List view";
2442
2473
  readonly kanban: "Kanban view";
@@ -2452,6 +2483,11 @@ declare const defaultTranslations: {
2452
2483
  readonly hideAllColumns: "Hide all";
2453
2484
  };
2454
2485
  };
2486
+ readonly editableTable: {
2487
+ readonly errors: {
2488
+ readonly saveFailed: "Save failed";
2489
+ };
2490
+ };
2455
2491
  readonly itemsCount: "items";
2456
2492
  readonly emptyStates: {
2457
2493
  readonly noData: {
@@ -2898,6 +2934,50 @@ declare type DropdownSingleQuestionProps = BaseQuestionPropsForOtherQuestionComp
2898
2934
  value?: string | null;
2899
2935
  };
2900
2936
 
2937
+ /** The edit mode for a column cell in the editable table. Derived from value-display editors. */
2938
+ declare type EditableTableCellEditType = EditableValueDisplayType;
2939
+
2940
+ 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>>;
2941
+
2942
+ /**
2943
+ * Column definition for Editable Table.
2944
+ *
2945
+ * When `editType` is set, the column's `id` is used as the record key to
2946
+ * read the initial value from `item[id]` and to merge the updated value
2947
+ * back into the item passed to `onCellChange`.
2948
+ */
2949
+ declare type EditableTableColumnDefinition<R extends RecordType, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = TableColumnDefinition<R, Sortings, Summaries> & {
2950
+ /**
2951
+ * Determines how the cell is rendered in edit mode.
2952
+ * Receives the current item and returns the cell type (e.g. `"text"`) or
2953
+ * `undefined` to render the cell read-only.
2954
+ * The column `id` is used as the record key to read/write the value.
2955
+ * When omitted, the cell is always rendered read-only.
2956
+ */
2957
+ editType?: (item: R) => EditableTableCellEditType | undefined;
2958
+ /**
2959
+ * Function that determines if the cell should be editable for a given item.
2960
+ * The cell is only editable if both `editType` returns a value AND
2961
+ * this function returns `true` for the given item.
2962
+ * Return `true` for all items to make the column always editable.
2963
+ */
2964
+ editable: (item: R) => boolean;
2965
+ };
2966
+
2967
+ declare type EditableTableVisualizationOptions<R extends RecordType, _Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition> = Omit<TableVisualizationOptions<R, _Filters, Sortings, Summaries>, "columns"> & {
2968
+ columns: ReadonlyArray<EditableTableColumnDefinition<R, Sortings, Summaries>>;
2969
+ /**
2970
+ * Called when a cell value changes with the full updated row.
2971
+ * Resolve with nothing for success, or `{ columnId: "message" }` to set errors.
2972
+ * Rejection sets an error on the edited column.
2973
+ */
2974
+ onCellChange: (updatedItem: R) => Promise<void | Record<string, string>>;
2975
+ };
2976
+
2977
+ declare type EditableTableVisualizationSettings = TableVisualizationSettings;
2978
+
2979
+ declare type EditableValueDisplayType = keyof typeof valueDisplayEditors;
2980
+
2901
2981
  export declare type editorStateType = {
2902
2982
  html: string;
2903
2983
  json: JSONContent | null;
@@ -2905,13 +2985,6 @@ export declare type editorStateType = {
2905
2985
 
2906
2986
  export declare type ElementType = QuestionType | "section";
2907
2987
 
2908
- declare type EmployeeItemProps = {
2909
- firstName: string;
2910
- lastName: string;
2911
- avatarUrl?: URL_2;
2912
- action?: ActionType_3;
2913
- };
2914
-
2915
2988
  declare type EmptyState = {
2916
2989
  emoji?: string;
2917
2990
  title: string;
@@ -3411,7 +3484,63 @@ export declare const F0TableOfContent: WithDataTestIdReturnType_4<typeof _F0Tabl
3411
3484
 
3412
3485
  declare function _F0TableOfContent(props: TOCProps): JSX_2.Element;
3413
3486
 
3414
- declare const F0TagAlert: WithDataTestIdReturnType_4<ForwardRefExoticComponent<Props_7 & RefAttributes<HTMLDivElement>>>;
3487
+ declare const F0TagAlert: WithDataTestIdReturnType_4<ForwardRefExoticComponent<Props_5 & RefAttributes<HTMLDivElement>>>;
3488
+
3489
+ declare const F0TagBalance: WithDataTestIdReturnType_4<ForwardRefExoticComponent<F0TagBalanceProps_2 & RefAttributes<HTMLDivElement>>>;
3490
+
3491
+ declare type F0TagBalanceProps = {
3492
+ /**
3493
+ * Inverts the balance status color. Is useful when a negative percent mean something positive.
3494
+ */
3495
+ invertStatus?: boolean;
3496
+ /**
3497
+ * Hint text to display next to the tag (This text is not displayed when the balance is null or undefined)
3498
+ */
3499
+ hint?: string;
3500
+ /**
3501
+ * Info text to display an i icon and a tooltip next to the tag
3502
+ */
3503
+ info?: string;
3504
+ /**
3505
+ * Text to display when the balance is null or undefined
3506
+ */
3507
+ nullText?: string;
3508
+ /**
3509
+ * Value to display next to the tag can be a number, a Numeric or a NumericWithFormatter
3510
+ */
3511
+ amount: RelaxedNumericWithFormatter | Numeric;
3512
+ } & ({
3513
+ percentage: (Omit<RelaxedNumericWithFormatter, "value"> & {
3514
+ value: Omit<Numeric, "units" | "unitsPosition">;
3515
+ }) | Omit<Numeric, "units" | "unitsPosition">;
3516
+ } | {
3517
+ percentage?: null;
3518
+ formatterOptions?: undefined;
3519
+ });
3520
+
3521
+ declare const F0TagCompany: WithDataTestIdReturnType_4<ForwardRefExoticComponent<F0TagCompanyProps & RefAttributes<HTMLDivElement>>>;
3522
+
3523
+ declare type F0TagListProps<T extends TagType_2> = {
3524
+ /**
3525
+ * The type of tags to display. Only one type can be used at a time.
3526
+ */
3527
+ type: T;
3528
+ /**
3529
+ * Array of tag data corresponding to the specified type.
3530
+ */
3531
+ tags: Array<TagTypeMapping[T]>;
3532
+ /**
3533
+ * The maximum number of tags to display.
3534
+ * @default 4
3535
+ */
3536
+ max?: number;
3537
+ /**
3538
+ * The remaining number to display.
3539
+ */
3540
+ remainingCount?: number;
3541
+ };
3542
+
3543
+ declare const F0TagPerson: WithDataTestIdReturnType_4<ForwardRefExoticComponent<F0TagPersonProps & RefAttributes<HTMLDivElement>>>;
3415
3544
 
3416
3545
  declare const F0TagRaw: WithDataTestIdReturnType_4<ForwardRefExoticComponent<F0TagRawProps_2 & RefAttributes<HTMLDivElement>>>;
3417
3546
 
@@ -3424,6 +3553,10 @@ declare type F0TagRawProps = {
3424
3553
  * Additional accessible text to display in the tag
3425
3554
  */
3426
3555
  additionalAccessibleText?: string;
3556
+ /**
3557
+ * Info text to display an i icon and a tooltip next to the tag
3558
+ */
3559
+ info?: string;
3427
3560
  } & ({
3428
3561
  icon: IconType;
3429
3562
  onlyIcon: true;
@@ -3432,6 +3565,18 @@ declare type F0TagRawProps = {
3432
3565
  onlyIcon?: boolean;
3433
3566
  });
3434
3567
 
3568
+ declare interface F0TagStatusProps {
3569
+ text: string;
3570
+ variant: Variant;
3571
+ /**
3572
+ * Sometimes you need to clarify the status for screen reader users
3573
+ * E.g., when showing a tooltip for sighted user, provide the tootip text to this prop because tooltips aren't accessible
3574
+ */
3575
+ additionalAccessibleText?: string;
3576
+ }
3577
+
3578
+ declare const F0TagTeam: WithDataTestIdReturnType_4<ForwardRefExoticComponent<F0TagTeamProps & RefAttributes<HTMLDivElement>>>;
3579
+
3435
3580
  /**
3436
3581
  * @experimental This is an experimental component use it at your own risk
3437
3582
  */
@@ -4107,11 +4252,6 @@ declare const internalAvatarTypes: readonly ["base", "rounded"];
4107
4252
 
4108
4253
  export declare function Item({ item, counter, isActive, collapsible, isExpanded, onToggleExpanded, sortable, children, onDragOver, onDragLeave, onDrop, canDropInside, currentParentId, justDropped, }: TOCItemProps): JSX_2.Element;
4109
4254
 
4110
- /**
4111
- * @experimental This is an experimental component, use it at your own risk
4112
- */
4113
- declare const Item_2: ForwardRefExoticComponent<ItemProps & RefAttributes<HTMLLIElement>>;
4114
-
4115
4255
  export declare type ItemActionsDefinition<T extends RecordType> = (item: T) => ActionDefinition[] | undefined;
4116
4256
 
4117
4257
  declare type ItemDefinition = {
@@ -4120,14 +4260,6 @@ declare type ItemDefinition = {
4120
4260
  avatar?: AvatarVariant;
4121
4261
  };
4122
4262
 
4123
- declare type ItemProps = {
4124
- text: string;
4125
- icon?: IconType;
4126
- action?: ActionType_3;
4127
- };
4128
-
4129
- declare type Items = typeof Item_2 | typeof PersonItem | typeof CompanyItem | typeof TeamItem;
4130
-
4131
4263
  export declare function ItemSectionHeader({ item, children, isActive, collapsible, isExpanded, onToggleExpanded, sortable, hideChildrenCounter, canDropInside, onDragOver, onDragLeave, onDrop, currentParentId, draggedItemId, }: TOCItemSectionHeaderProps): JSX_2.Element;
4132
4264
 
4133
4265
  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;
@@ -4174,6 +4306,10 @@ export declare type lastIntentType = {
4174
4306
  customIntent?: string;
4175
4307
  } | null;
4176
4308
 
4309
+ declare type Level = (typeof levels)[number];
4310
+
4311
+ declare const levels: readonly ["info", "warning", "critical", "positive"];
4312
+
4177
4313
  export declare const LineChartWidget: ForwardRefExoticComponent<Omit<WidgetProps_2 & {
4178
4314
  chart: LineChartProps;
4179
4315
  } & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>;
@@ -4436,11 +4572,6 @@ export declare const modules: {
4436
4572
  readonly workflows: ForwardRefExoticComponent<Omit<SVGProps<SVGSVGElement>, "ref"> & RefAttributes<SVGSVGElement>>;
4437
4573
  };
4438
4574
 
4439
- declare type NavigateActionType = {
4440
- type: "navigate";
4441
- href: string;
4442
- };
4443
-
4444
4575
  export declare type NavigationFilter<T, InitialValue = T> = {
4445
4576
  /**
4446
4577
  * Converts the initial value to the correct type for the filter.
@@ -4628,10 +4759,129 @@ declare type NumberInputInternalProps = Omit<InputInternalProps<string>, "value"
4628
4759
 
4629
4760
  export declare type NumberInputProps = Omit<NumberInputInternalProps, (typeof privateProps_3)[number]>;
4630
4761
 
4762
+ declare type Numeric = NumericValue | number | undefined | null;
4763
+
4764
+ /**
4765
+ * Formats a numeric value according to the provided options.
4766
+ *
4767
+ * @param value - The numeric value to format.
4768
+ * @param options - The formatting options.
4769
+ * @returns The formatted value as a string.
4770
+ */
4771
+ declare type NumericFormatter = (value: Numeric, options?: NumericFormatterOptions) => string;
4772
+
4773
+ /**
4774
+ * Configuration options for the numeric formatter.
4775
+ */
4776
+ declare type NumericFormatterOptions = {
4777
+ /**
4778
+ * Locale string for number formatting (e.g., "en-US", "es-ES", "de-DE").
4779
+ * Determines the decimal separator and other locale-specific formatting rules.
4780
+ *
4781
+ * @default "en-US"
4782
+ */
4783
+ locale?: string;
4784
+ /**
4785
+ * Maximum number of decimal places to display.
4786
+ * The formatter will round the number to this precision.
4787
+ *
4788
+ * @default 2
4789
+ */
4790
+ decimalPlaces?: number;
4791
+ /**
4792
+ * Whether to hide the units from the formatted value.
4793
+ *
4794
+ * @default false
4795
+ */
4796
+ hideUnits?: boolean;
4797
+ /**
4798
+ * Whether to space the units from the formatted value.
4799
+ *
4800
+ * @default false
4801
+ */
4802
+ unitsSpaced?: boolean;
4803
+ /**
4804
+ * Whether to use compact notation for the formatted value.
4805
+ *
4806
+ * @default false
4807
+ */
4808
+ compact?: boolean;
4809
+ /**
4810
+ * Placeholder text to return when value is undefined or null.
4811
+ */
4812
+ emptyPlaceholder?: string;
4813
+ /**
4814
+ * Whether to use grouping for the formatted value.
4815
+ *
4816
+ * @default true
4817
+ */
4818
+ useGrouping?: boolean;
4819
+ };
4820
+
4631
4821
  declare type NumericQuestionProps = BaseQuestionPropsForOtherQuestionComponents & {
4632
4822
  value?: number | null;
4633
4823
  };
4634
4824
 
4825
+ /**
4826
+ * Represents a numeric value that can be formatted with optional units.
4827
+ *
4828
+ * The value can be provided in two formats:
4829
+ * - `value`: Direct numeric value (e.g., 123.45)
4830
+ * - `value_x100`: Value stored as integer multiplied by 100 (e.g., 12345 represents 123.45)
4831
+ *
4832
+ * @example
4833
+ * ```ts
4834
+ * // Direct value
4835
+ * const directValue: NumericValue = { value: 123.45, units: "€" }
4836
+ *
4837
+ * // Value stored as x100 (useful for avoiding floating point precision issues)
4838
+ * const x100Value: NumericValue = { value_x100: 12345, units: "€" }
4839
+ * ```
4840
+ */
4841
+ declare type NumericValue = {
4842
+ /**
4843
+ * Optional unit string to append or prepend to the formatted number.
4844
+ * Common examples: "€", "$", "kg", "%", etc.
4845
+ */
4846
+ units?: string;
4847
+ /**
4848
+ * Position of the units relative to the number.
4849
+ * - "prepend": Units appear before the number (e.g., "$123.45")
4850
+ * - "append": Units appear after the number (e.g., "123.45€")
4851
+ *
4852
+ * @default "append"
4853
+ */
4854
+ unitsPosition?: "prepend" | "append";
4855
+ } & ({
4856
+ /**
4857
+ * Direct numeric value to format.
4858
+ */
4859
+ value: number | undefined;
4860
+ } | {
4861
+ /**
4862
+ * Numeric value stored as an integer multiplied by 100.
4863
+ * This format is useful for avoiding floating-point precision issues.
4864
+ * The formatter will automatically divide by 100 before formatting.
4865
+ *
4866
+ * @example
4867
+ * value_x100: 12345 represents 123.45
4868
+ */
4869
+ value_x100: number | undefined;
4870
+ });
4871
+
4872
+ /**
4873
+ * A numeric value that can be formatted with an optional formatter and options.
4874
+ *
4875
+ * @param value - The numeric value to format.
4876
+ * @param formatter - The formatter to use.
4877
+ * @param formatterOptions - The formatting options.
4878
+ */
4879
+ declare type NumericWithFormatter = {
4880
+ numericValue: NumericValue;
4881
+ formatter?: NumericFormatter;
4882
+ formatterOptions?: NumericFormatterOptions;
4883
+ };
4884
+
4635
4885
  /**
4636
4886
  * @experimental This is an experimental component use it at your own risk
4637
4887
  */
@@ -4942,7 +5192,7 @@ export declare type OnePersonListItemProps = {
4942
5192
  };
4943
5193
  description?: string;
4944
5194
  bottomTags: Omit<F0TagRawProps, "noBorder">[];
4945
- rightTag?: Props_3;
5195
+ rightTag?: Props_4;
4946
5196
  actions?: {
4947
5197
  primary?: {
4948
5198
  icon?: IconType;
@@ -4975,11 +5225,6 @@ export declare type OnSelectItemsCallback<R extends RecordType, Filters extends
4975
5225
  byLane?: Record<string, SelectedItemsDetailedStatus<R, Filters>>;
4976
5226
  }, clearSelectedItems: () => void, handleSelectAll?: (checked: boolean) => void) => void;
4977
5227
 
4978
- declare type OpenLinkActionType = {
4979
- type: "open-link";
4980
- href: string;
4981
- };
4982
-
4983
5228
  declare interface Option_2 {
4984
5229
  title?: string;
4985
5230
  description?: string;
@@ -5129,11 +5374,6 @@ declare type PersonAvatarVariant = Extract<AvatarVariant, {
5129
5374
  type: "person";
5130
5375
  }>;
5131
5376
 
5132
- /**
5133
- * @experimental This is an experimental component use it at your own risk
5134
- */
5135
- declare const PersonItem: ForwardRefExoticComponent<EmployeeItemProps & RefAttributes<HTMLLIElement>>;
5136
-
5137
5377
  /**
5138
5378
  * Profile data for a person entity (employee), resolved asynchronously
5139
5379
  * and displayed in the entity reference hover card.
@@ -5146,6 +5386,8 @@ declare type PersonProfile = {
5146
5386
  jobTitle?: string;
5147
5387
  };
5148
5388
 
5389
+ declare type PersonTagProps = ComponentProps<typeof F0TagPerson>;
5390
+
5149
5391
  export declare const PieChartWidget: ForwardRefExoticComponent<Omit<WidgetProps_2 & {
5150
5392
  chart: PieChartProps;
5151
5393
  } & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>;
@@ -5339,6 +5581,14 @@ declare type PropertyDefinition_2<T> = {
5339
5581
 
5340
5582
  declare type Props = {} & Pick<BaseHeaderProps, "avatar" | "title" | "description" | "primaryAction" | "secondaryActions" | "otherActions" | "metadata" | "status" | "deactivated">;
5341
5583
 
5584
+ declare type Props_10<Id extends string | number = string | number> = {
5585
+ items: Omit<WidgetSimpleListItemProps<Id>, "onClick">[];
5586
+ minSize?: number;
5587
+ gap?: number;
5588
+ onClickItem?: (id: Id) => void;
5589
+ showAllItems?: boolean;
5590
+ };
5591
+
5342
5592
  declare type Props_2 = {
5343
5593
  /** Main heading text */
5344
5594
  title: string;
@@ -5358,15 +5608,28 @@ declare type Props_2 = {
5358
5608
  separator?: "top" | "bottom";
5359
5609
  };
5360
5610
 
5361
- declare type Props_3 = {
5611
+ declare type Props_3<Text extends string = string> = {
5612
+ text: Text extends "" ? never : Text;
5613
+ level: Level;
5614
+ /**
5615
+ * Info text to display an i icon and a tooltip next to the tag
5616
+ */
5617
+ info?: string;
5618
+ };
5619
+
5620
+ declare type Props_4 = {
5362
5621
  text: string;
5622
+ /**
5623
+ * Info text to display an i icon and a tooltip next to the tag
5624
+ */
5625
+ info?: string;
5363
5626
  } & ({
5364
5627
  color: NewColor;
5365
5628
  } | {
5366
5629
  customColor: string;
5367
5630
  });
5368
5631
 
5369
- declare interface Props_4 {
5632
+ declare interface Props_6 {
5370
5633
  title: string;
5371
5634
  content: string;
5372
5635
  buttonLabel?: string;
@@ -5375,7 +5638,7 @@ declare interface Props_4 {
5375
5638
  type: Type;
5376
5639
  }
5377
5640
 
5378
- declare type Props_5 = {
5641
+ declare type Props_7 = {
5379
5642
  label: string;
5380
5643
  icon: IconType;
5381
5644
  iconClassName?: string;
@@ -5383,7 +5646,7 @@ declare type Props_5 = {
5383
5646
  onClick?: () => void;
5384
5647
  };
5385
5648
 
5386
- declare type Props_6<Id extends string | number = string | number> = {
5649
+ declare type Props_8<Id extends string | number = string | number> = {
5387
5650
  id: Id;
5388
5651
  module?: ModuleId;
5389
5652
  title: string;
@@ -5391,21 +5654,13 @@ declare type Props_6<Id extends string | number = string | number> = {
5391
5654
  onClick?: (id: Id) => void;
5392
5655
  };
5393
5656
 
5394
- declare type Props_8<Id extends string | number = string | number> = {
5657
+ declare type Props_9<Id extends string | number = string | number> = {
5395
5658
  items: Omit<WidgetInboxListItemProps<Id>, "onClick">[];
5396
5659
  minSize?: number;
5397
5660
  onClickItem?: (id: Id) => void;
5398
5661
  showAllItems?: boolean;
5399
5662
  } & Pick<ComponentProps<typeof VerticalOverflowList>, "onVisibleItemsChange">;
5400
5663
 
5401
- declare type Props_9<Id extends string | number = string | number> = {
5402
- items: Omit<WidgetSimpleListItemProps<Id>, "onClick">[];
5403
- minSize?: number;
5404
- gap?: number;
5405
- onClickItem?: (id: Id) => void;
5406
- showAllItems?: boolean;
5407
- };
5408
-
5409
5664
  declare type Pulse = (typeof pulses)[number];
5410
5665
 
5411
5666
  declare const pulses: readonly ["superNegative", "negative", "neutral", "positive", "superPositive"];
@@ -5499,6 +5754,14 @@ declare type RecordPathValue<T, P extends string> = P extends keyof T ? T[P] : P
5499
5754
  */
5500
5755
  export declare type RecordType = Record<string, unknown>;
5501
5756
 
5757
+ /**
5758
+ * A numeric value that can be formatted with an optional formatter and options.
5759
+ * This is a relaxed version of NumericWithFormatter that allows the numeric value to be a Numeric.
5760
+ */
5761
+ declare type RelaxedNumericWithFormatter = Omit<NumericWithFormatter, "numericValue"> & {
5762
+ numericValue: Numeric;
5763
+ };
5764
+
5502
5765
  declare type RendererDefinition = ValueDisplayRendererDefinition;
5503
5766
 
5504
5767
  export declare type ResolvedRecordType<R> = R extends RecordType ? R : RecordType;
@@ -6133,8 +6396,45 @@ declare type Tag = {
6133
6396
  description?: string;
6134
6397
  };
6135
6398
 
6399
+ declare type TagDataType<T extends string> = Omit<Extract<TagVariant, {
6400
+ type: T;
6401
+ }>, "type" | "description">;
6402
+
6136
6403
  declare const tagDotColors: ["viridian", "malibu", "yellow", "purple", "lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel"];
6137
6404
 
6405
+ declare type TagType_2 = (typeof tagTypes)[number];
6406
+
6407
+ declare type TagTypeMapping = {
6408
+ dot: TagDataType<"dot">;
6409
+ person: TagDataType<"person">;
6410
+ team: TagDataType<"team">;
6411
+ company: TagDataType<"company">;
6412
+ alert: TagDataType<"alert">;
6413
+ status: TagDataType<"status">;
6414
+ balance: TagDataType<"balance">;
6415
+ raw: TagDataType<"raw">;
6416
+ };
6417
+
6418
+ declare const tagTypes: readonly ["dot", "person", "team", "company", "alert", "status", "balance", "raw"];
6419
+
6420
+ declare type TagVariant = BaseTag<{
6421
+ type: "dot";
6422
+ } & Props_4> | BaseTag<{
6423
+ type: "person";
6424
+ } & PersonTagProps> | BaseTag<{
6425
+ type: "team";
6426
+ } & TeamTagProps> | BaseTag<{
6427
+ type: "company";
6428
+ } & CompanyTagProps> | BaseTag<{
6429
+ type: "alert";
6430
+ } & AlertTagProps> | BaseTag<{
6431
+ type: "status";
6432
+ } & F0TagStatusProps> | BaseTag<{
6433
+ type: "balance";
6434
+ } & BalanceTagProps> | BaseTag<{
6435
+ type: "raw";
6436
+ } & F0TagRawProps>;
6437
+
6138
6438
  declare interface Task {
6139
6439
  id: number | string;
6140
6440
  text: string;
@@ -6167,15 +6467,7 @@ declare type TeamAvatarVariant = Extract<AvatarVariant, {
6167
6467
  type: "team";
6168
6468
  }>;
6169
6469
 
6170
- /**
6171
- * @experimental This is an experimental component use it at your own risk
6172
- */
6173
- declare const TeamItem: ForwardRefExoticComponent<TeamItemProps & RefAttributes<HTMLLIElement>>;
6174
-
6175
- declare type TeamItemProps = {
6176
- name: string;
6177
- action?: ActionType_3;
6178
- };
6470
+ declare type TeamTagProps = ComponentProps<typeof F0TagTeam>;
6179
6471
 
6180
6472
  /**
6181
6473
  * @experimental This is an experimental component use it at your own risk
@@ -6377,8 +6669,6 @@ declare namespace Types {
6377
6669
  }
6378
6670
  }
6379
6671
 
6380
- declare type URL_2 = string;
6381
-
6382
6672
  export declare function useAiPromotionChat(): AiPromotionChatProviderReturnValue;
6383
6673
 
6384
6674
  export declare type UseDataCollectionData<R extends RecordType> = UseDataCollectionDataReturn<R> & {
@@ -6456,6 +6746,41 @@ declare interface User_2 {
6456
6746
 
6457
6747
  export declare function useSidebar(): FrameContextType;
6458
6748
 
6749
+ /**
6750
+ * Props contract that every editable value-display component must implement.
6751
+ * The generic `V` allows type-specific editors (e.g. `string` for text, `Date` for date pickers).
6752
+ */
6753
+ declare type ValueDisplayEditorProps<V = string> = {
6754
+ label: string;
6755
+ value: V;
6756
+ align?: "left" | "right";
6757
+ error?: string;
6758
+ loading?: boolean;
6759
+ onChange: (value: V) => void;
6760
+ };
6761
+
6762
+ /**
6763
+ * Registry that maps value-display types to their editable cell components.
6764
+ * Not every type needs an editor — only types with editing support are registered here.
6765
+ *
6766
+ * To add a new editable type:
6767
+ * 1. Add its value type to `ValueDisplayEditorValueMap` above
6768
+ * 2. Create the editor component in `types/<type>/<type>-editor.tsx`
6769
+ * 3. Export it from `types/<type>/index.tsx`
6770
+ * 4. Register it here
6771
+ */
6772
+ declare const valueDisplayEditors: {
6773
+ [K in keyof ValueDisplayEditorValueMap]: ComponentType<ValueDisplayEditorProps<ValueDisplayEditorValueMap[K]>>;
6774
+ };
6775
+
6776
+ /**
6777
+ * Maps each editable value-display type to the value type its editor operates on.
6778
+ * Extend this when adding a new editor (e.g. `date: Date`, `select: string`).
6779
+ */
6780
+ declare type ValueDisplayEditorValueMap = {
6781
+ text: string;
6782
+ };
6783
+
6459
6784
  declare type ValueDisplayRendererContext = {
6460
6785
  visualization: ValueDisplayVisualizationType;
6461
6786
  i18n: TranslationsType;
@@ -6569,6 +6894,11 @@ declare type Visualization<R extends RecordType, Filters extends FiltersDefiniti
6569
6894
  type: "table";
6570
6895
  /** Configuration options for table visualization */
6571
6896
  options: TableVisualizationOptions<R, Filters, Sortings, Summaries>;
6897
+ } & VisualizationFilterOverrides<Filters>) | ({
6898
+ /** Editable table-based visualization type */
6899
+ type: "editableTable";
6900
+ /** Configuration options for editable table visualization */
6901
+ options: EditableTableVisualizationOptions<R, Filters, Sortings, Summaries>;
6572
6902
  } & VisualizationFilterOverrides<Filters>) | ({
6573
6903
  /** List-based visualization type */
6574
6904
  type: "list";
@@ -6683,15 +7013,15 @@ export declare type WidgetEmptyStateProps = {
6683
7013
  actions?: Action_2[];
6684
7014
  };
6685
7015
 
6686
- export declare function WidgetHighlightButton({ label, count, icon, iconClassName, onClick, }: Props_5): JSX_2.Element;
7016
+ export declare function WidgetHighlightButton({ label, count, icon, iconClassName, onClick, }: Props_7): JSX_2.Element;
6687
7017
 
6688
- export declare function WidgetInboxList({ items, minSize, onClickItem, showAllItems, onVisibleItemsChange, }: Props_8): JSX_2.Element;
7018
+ export declare function WidgetInboxList({ items, minSize, onClickItem, showAllItems, onVisibleItemsChange, }: Props_9): JSX_2.Element;
6689
7019
 
6690
- export declare function WidgetInboxListItem({ id, title, subtitle, onClick, module, }: Props_6): JSX_2.Element;
7020
+ export declare function WidgetInboxListItem({ id, title, subtitle, onClick, module, }: Props_8): JSX_2.Element;
6691
7021
 
6692
- export declare type WidgetInboxListItemProps<Id extends string | number = string | number> = Props_6<Id>;
7022
+ export declare type WidgetInboxListItemProps<Id extends string | number = string | number> = Props_8<Id>;
6693
7023
 
6694
- export declare type WidgetInboxListProps = Props_8;
7024
+ export declare type WidgetInboxListProps = Props_9;
6695
7025
 
6696
7026
  export declare interface WidgetProps {
6697
7027
  header?: {
@@ -6732,7 +7062,7 @@ children?: ReactNode | undefined;
6732
7062
  title?: string;
6733
7063
  } & RefAttributes<HTMLDivElement>>>;
6734
7064
 
6735
- export declare function WidgetSimpleList({ items, gap, minSize, onClickItem, showAllItems, }: Props_9): JSX_2.Element;
7065
+ export declare function WidgetSimpleList({ items, gap, minSize, onClickItem, showAllItems, }: Props_10): JSX_2.Element;
6736
7066
 
6737
7067
  export declare function WidgetSimpleListItem({ id, title, alert, rawTag, count, icon, rightIcon, iconClassName, rightIconClassName, onClick, }: WidgetSimpleListItemProps): JSX_2.Element;
6738
7068
 
@@ -6749,7 +7079,7 @@ export declare type WidgetSimpleListItemProps<Id extends string | number = strin
6749
7079
  onClick?: (id: Id) => void;
6750
7080
  };
6751
7081
 
6752
- export declare type WidgetSimpleListProps = Props_9;
7082
+ export declare type WidgetSimpleListProps = Props_10;
6753
7083
 
6754
7084
  export declare type WidgetSkeletonProps = {
6755
7085
  header?: {
@@ -6790,6 +7120,13 @@ declare type WithOptionalSorting_2<Record, Sortings extends SortingsDefinition>
6790
7120
  sorting?: SortingKey<Sortings>;
6791
7121
  };
6792
7122
 
7123
+ declare interface WithTooltipDescription {
7124
+ /**
7125
+ * Optional description to show in the tooltip
7126
+ */
7127
+ description?: string;
7128
+ }
7129
+
6793
7130
  export { }
6794
7131
 
6795
7132
 
@@ -6830,6 +7167,11 @@ declare module "gridstack" {
6830
7167
  }
6831
7168
 
6832
7169
 
7170
+ declare namespace Calendar {
7171
+ var displayName: string;
7172
+ }
7173
+
7174
+
6833
7175
  declare module "@tiptap/core" {
6834
7176
  interface Commands<ReturnType> {
6835
7177
  aiBlock: {
@@ -6877,8 +7219,3 @@ declare module "@tiptap/core" {
6877
7219
  };
6878
7220
  }
6879
7221
  }
6880
-
6881
-
6882
- declare namespace Calendar {
6883
- var displayName: string;
6884
- }