@factorialco/f0-react 1.242.0 → 1.243.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.
package/dist/f0.d.ts CHANGED
@@ -3,6 +3,7 @@ import { AlertTagCellValue as AlertTagCellValue_2 } from './types/alertTag.tsx';
3
3
  import { AmountCellValue } from '../../value-display/types/amount';
4
4
  import { AmountCellValue as AmountCellValue_2 } from './types/amount.tsx';
5
5
  import { AnchorHTMLAttributes } from 'react';
6
+ import { AriaAttributes } from 'react';
6
7
  import { AvatarListCellValue } from '../../value-display/types/avatarList';
7
8
  import { AvatarListCellValue as AvatarListCellValue_2 } from './types/avatarList.tsx';
8
9
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
@@ -793,12 +794,55 @@ declare const columnWidths: {
793
794
  readonly fit: 1;
794
795
  };
795
796
 
797
+ export declare const ComboChart: ForwardRefExoticComponent<Omit<ChartPropsBase<ChartConfig> & {
798
+ label?: boolean;
799
+ legend?: boolean;
800
+ showValueUnderLabel?: boolean;
801
+ bar?: {
802
+ categories: string | string[];
803
+ axisLabel?: string;
804
+ hideAxis?: boolean;
805
+ axisPosition?: "left" | "right";
806
+ } | undefined;
807
+ line?: ({
808
+ categories: string | string[];
809
+ axisLabel?: string;
810
+ hideAxis?: boolean;
811
+ axisPosition?: "left" | "right";
812
+ } & {
813
+ dot?: boolean;
814
+ lineType?: "natural" | "linear";
815
+ }) | undefined;
816
+ scatter?: {
817
+ categories: string | string[];
818
+ axisLabel?: string;
819
+ hideAxis?: boolean;
820
+ axisPosition?: "left" | "right";
821
+ } | undefined;
822
+ onClick?: ((data: {
823
+ label: string;
824
+ values: {
825
+ [x: string]: number;
826
+ };
827
+ }) => void) | undefined;
828
+ } & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>;
829
+
796
830
  export declare type CompanyAvatarVariant = Extract<AvatarVariant, {
797
831
  type: "company";
798
832
  }>;
799
833
 
800
834
  declare type CompanyTagProps = ComponentProps<typeof F0TagCompany>;
801
835
 
836
+ declare type CompareToDef = {
837
+ label: string;
838
+ value: {
839
+ delta: number;
840
+ units: GranularityDefinitionKey;
841
+ } | ((value: DateRangeComplete) => DateRangeComplete | DateRangeComplete[]);
842
+ };
843
+
844
+ declare type CompareToDefKey = string;
845
+
802
846
  declare type ComponentTypes = (typeof componentTypes)[number];
803
847
 
804
848
  declare const componentTypes: readonly ["layout", "info", "action", "form"];
@@ -1061,7 +1105,38 @@ declare type DateNavigatorFilterDefinition = NavigationFilterDefinitionBase<Date
1061
1105
  type: "date-navigator";
1062
1106
  } & DateNavigationOptions_2;
1063
1107
 
1064
- declare interface DatePreset {
1108
+ declare type DatePickerCompareTo = Record<GranularityDefinitionKey, CompareToDef[]>;
1109
+
1110
+ declare interface DatePickerPopupProps {
1111
+ onSelect?: (value: DatePickerValue_2 | undefined) => void;
1112
+ value?: DatePickerValue_2;
1113
+ defaultValue?: DatePickerValue_2;
1114
+ presets?: DatePreset[];
1115
+ granularities?: GranularityDefinitionKey[];
1116
+ minDate?: Date;
1117
+ maxDate?: Date;
1118
+ disabled?: boolean;
1119
+ hideGoToCurrent?: boolean;
1120
+ children: React.ReactNode;
1121
+ open?: boolean;
1122
+ onOpenChange?: (open: boolean) => void;
1123
+ compareTo?: DatePickerCompareTo;
1124
+ defaultCompareTo?: CompareToDefKey;
1125
+ hideCalendarInput?: boolean;
1126
+ asChild?: boolean;
1127
+ onCompareToChange?: (compareTo: DateRangeComplete | DateRangeComplete[] | undefined) => void;
1128
+ }
1129
+
1130
+ export declare const datepickerSizes: readonly ["sm", "md"];
1131
+
1132
+ export declare type DatePickerValue = DatePickerValue_2;
1133
+
1134
+ declare type DatePickerValue_2 = {
1135
+ value: DateRangeComplete | undefined;
1136
+ granularity: GranularityDefinitionKey;
1137
+ };
1138
+
1139
+ export declare interface DatePreset {
1065
1140
  label: string;
1066
1141
  granularity: GranularityDefinitionKey;
1067
1142
  value: DateRange | (() => DateRange);
@@ -1634,6 +1709,18 @@ export declare const F0ChipList: {
1634
1709
  displayName: string;
1635
1710
  };
1636
1711
 
1712
+ /**
1713
+ * @experimental This is an experimental component use it at your own risk
1714
+ */
1715
+ export declare const F0DatePicker: typeof F0DatePicker_2;
1716
+
1717
+ declare function F0DatePicker_2({ onChange, value, presets, granularities, minDate, maxDate, open, ...inputProps }: F0DatePickerProps): JSX_2.Element;
1718
+
1719
+ export declare type F0DatePickerProps = Pick<DatePickerPopupProps, "granularities" | "minDate" | "maxDate" | "presets" | "open" | "onOpenChange"> & {
1720
+ onChange?: (value: DatePickerValue | undefined, stringValue: string | undefined) => void;
1721
+ value?: DatePickerValue;
1722
+ } & Pick<InputFieldProps<string>, InputFieldInheritedProps>;
1723
+
1637
1724
  export declare function F0EventCatcherProvider({ children, onEvent, enabled, catchEvents, }: EventCatcherProviderProps): JSX.Element;
1638
1725
 
1639
1726
  export declare const F0Icon: ForwardRefExoticComponent<Omit<Omit<F0IconProps_2, "ref"> & RefAttributes<SVGSVGElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>;
@@ -1988,6 +2075,86 @@ export declare type InfiniteScrollPaginatedResponse<TRecord> = BasePaginatedResp
1988
2075
  hasMore: boolean;
1989
2076
  };
1990
2077
 
2078
+ declare const INPUTFIELD_SIZES: readonly ["sm", "md"];
2079
+
2080
+ declare type InputFieldInheritedProps = (typeof inputFieldInheritedProps)[number];
2081
+
2082
+ declare const inputFieldInheritedProps: readonly ["label", "placeholder", "hideLabel", "size", "error", "disabled", "readonly", "required", "clearable", "labelIcon", "status", "hint"];
2083
+
2084
+ declare type InputFieldProps<T> = {
2085
+ autoFocus?: boolean;
2086
+ label: string;
2087
+ placeholder?: string;
2088
+ labelIcon?: IconType;
2089
+ hideLabel?: boolean;
2090
+ hidePlaceholder?: boolean;
2091
+ name?: string;
2092
+ onClickPlaceholder?: () => void;
2093
+ onClickChildren?: () => void;
2094
+ onClickContent?: () => void;
2095
+ value?: T | undefined;
2096
+ onChange?: (value: T) => void;
2097
+ size?: InputFieldSize;
2098
+ error?: string | boolean;
2099
+ status?: InputFieldStatus;
2100
+ hint?: string;
2101
+ disabled?: boolean;
2102
+ className?: string;
2103
+ required?: boolean;
2104
+ readonly?: boolean;
2105
+ clearable?: boolean;
2106
+ role?: string;
2107
+ inputRef?: React.Ref<unknown>;
2108
+ "aria-controls"?: AriaAttributes["aria-controls"];
2109
+ "aria-expanded"?: AriaAttributes["aria-expanded"];
2110
+ onClear?: () => void;
2111
+ onFocus?: () => void;
2112
+ onBlur?: () => void;
2113
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
2114
+ canGrow?: boolean;
2115
+ children: React.ReactNode & {
2116
+ onFocus?: () => void;
2117
+ onBlur?: () => void;
2118
+ onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
2119
+ onChange?: (value: T | React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
2120
+ value?: T;
2121
+ };
2122
+ icon?: IconType;
2123
+ isEmpty?: (value: T | undefined) => boolean;
2124
+ emptyValue?: T;
2125
+ maxLength?: number;
2126
+ hideMaxLength?: boolean;
2127
+ append?: React.ReactNode;
2128
+ appendTag?: string;
2129
+ lengthProvider?: (value: T | undefined) => number;
2130
+ loading?: boolean;
2131
+ avatar?: AvatarVariant;
2132
+ loadingIndicator?: {
2133
+ /**
2134
+ * If true, the loading spinner will be displayed over the content without affecting the layout
2135
+ */
2136
+ asOverlay?: boolean;
2137
+ /**
2138
+ * The offset of the loading spinner from the content
2139
+ */
2140
+ offset?: number;
2141
+ };
2142
+ };
2143
+
2144
+ declare type InputFieldSize = (typeof INPUTFIELD_SIZES)[number];
2145
+
2146
+ declare type InputFieldStatus = {
2147
+ type: Exclude<InputFieldStatusType, "error">;
2148
+ message: string;
2149
+ } | {
2150
+ type: "error";
2151
+ message?: string;
2152
+ };
2153
+
2154
+ declare const inputFieldStatus: readonly ["default", "warning", "info", "error"];
2155
+
2156
+ declare type InputFieldStatusType = (typeof inputFieldStatus)[number];
2157
+
1991
2158
  declare const internalAvatarColors: readonly ["viridian", "malibu", "yellow", "purple", "lilac", "barbie", "smoke", "army", "flubber", "indigo", "camel"];
1992
2159
 
1993
2160
  declare type InternalAvatarProps = React_2.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> & {
@@ -2386,6 +2553,8 @@ declare type PersonTagProps = ComponentProps<typeof F0TagPerson>;
2386
2553
 
2387
2554
  export declare const PieChart: ForwardRefExoticComponent<Omit<PieChartProps & RefAttributes<HTMLDivElement>, "ref"> & RefAttributes<HTMLElement | SVGElement>>;
2388
2555
 
2556
+ export declare const predefinedPresets: Record<string, DatePreset>;
2557
+
2389
2558
  /**
2390
2559
  * Defines preset filter configurations that can be applied to a collection.
2391
2560
  * @template Filters - The available filter configurations
@@ -3431,8 +3600,8 @@ declare module "@tiptap/core" {
3431
3600
 
3432
3601
  declare module "@tiptap/core" {
3433
3602
  interface Commands<ReturnType> {
3434
- transcript: {
3435
- insertTranscript: (data: TranscriptData, config?: TranscriptConfig) => ReturnType;
3603
+ liveCompanion: {
3604
+ insertLiveCompanion: (data: LiveCompanionData, config?: LiveCompanionConfig) => ReturnType;
3436
3605
  };
3437
3606
  }
3438
3607
  }
@@ -3440,8 +3609,8 @@ declare module "@tiptap/core" {
3440
3609
 
3441
3610
  declare module "@tiptap/core" {
3442
3611
  interface Commands<ReturnType> {
3443
- liveCompanion: {
3444
- insertLiveCompanion: (data: LiveCompanionData, config?: LiveCompanionConfig) => ReturnType;
3612
+ transcript: {
3613
+ insertTranscript: (data: TranscriptData, config?: TranscriptConfig) => ReturnType;
3445
3614
  };
3446
3615
  }
3447
3616
  }