@factorialco/f0-react 2.32.2 → 2.33.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
@@ -59,6 +59,7 @@ import { F0FormDefinition as F0FormDefinition_2 } from './f0';
59
59
  import { F0FormDefinitionPerSection as F0FormDefinitionPerSection_2 } from './f0';
60
60
  import { F0FormDefinitionSingleSchema as F0FormDefinitionSingleSchema_2 } from './f0';
61
61
  import { F0GridStackProps as F0GridStackProps_2 } from './F0GridStack';
62
+ import { F0NumberInputProps as F0NumberInputProps_2 } from './F0NumberInput';
62
63
  import { F0SelectProps as F0SelectProps_2 } from './types';
63
64
  import { F0TagBalanceProps } from './types';
64
65
  import { F0TagCompanyProps } from './types';
@@ -67,6 +68,8 @@ import { F0TagPersonProps as F0TagPersonProps_2 } from './types';
67
68
  import { F0TagRawProps } from './types';
68
69
  import { F0TagStatusProps } from './types';
69
70
  import { F0TagTeamProps } from './types';
71
+ import { F0TextAreaInputProps as F0TextAreaInputProps_2 } from './F0TextAreaInput';
72
+ import { F0TextInputProps as F0TextInputProps_2 } from './F0TextInput';
70
73
  import { F0TimelineRowProps as F0TimelineRowProps_2 } from './types';
71
74
  import { f1Colors } from '@factorialco/f0-core';
72
75
  import { FC } from 'react';
@@ -86,9 +89,11 @@ import { GroupMasonryProps } from './groups/GroupMasonry';
86
89
  import { HourDistributionCellValue as HourDistributionCellValue_2 } from './types/hourDistribution';
87
90
  import { HTMLAttributeAnchorTarget } from 'react';
88
91
  import { HTMLAttributes } from 'react';
92
+ import { HTMLInputTypeAttribute } from 'react';
89
93
  import { IconCellValue } from './types/icon';
90
94
  import { ImgHTMLAttributes } from 'react';
91
95
  import { InFilterOptions } from './InFilter/types';
96
+ import { InputFieldProps as InputFieldProps_2 } from './f0';
92
97
  import { internalAvatarColors as internalAvatarColors_2 } from './f0';
93
98
  import { internalAvatarSizes as internalAvatarSizes_2 } from './f0';
94
99
  import { internalAvatarTypes as internalAvatarTypes_2 } from './f0';
@@ -147,6 +152,7 @@ import { TagVariant as TagVariant_2 } from './F0Tag';
147
152
  import { TeamCellValue } from './f0';
148
153
  import { TeamCellValue as TeamCellValue_2 } from './types/team';
149
154
  import { TeamItemProps } from './types';
155
+ import { TextareaHTMLAttributes } from 'react';
150
156
  import { TextCellValue } from './f0';
151
157
  import { TextCellValue as TextCellValue_2 } from './types/text';
152
158
  import { TrackReferenceOrPlaceholder } from '@livekit/components-react';
@@ -5788,7 +5794,7 @@ export declare type F0AiInsightCardProps = {
5788
5794
  onAskOne?: () => void;
5789
5795
  } & AiInsightCardContent;
5790
5796
 
5791
- declare type F0AiInsightCardPublicProps = Omit<CardInternalProps_2, (typeof privateProps_5)[number]>;
5797
+ declare type F0AiInsightCardPublicProps = Omit<CardInternalProps_2, (typeof privateProps_7)[number]>;
5792
5798
 
5793
5799
  export declare class F0AiMask {
5794
5800
  readonly element: HTMLElement;
@@ -8901,6 +8907,15 @@ export declare type F0NumberField = F0BaseField & F0NumberConfig & {
8901
8907
  */
8902
8908
  export declare type F0NumberFieldConfig<R extends Record<string, unknown> = Record<string, unknown>> = F0NumberInputConfig | F0NumberMoneyConfig | F0NumberSelectConfig<R> | F0DurationFieldConfig;
8903
8909
 
8910
+ /**
8911
+ * @experimental This is an experimental component, use it at your own risk.
8912
+ *
8913
+ * F0NumberInput is the writable numeric field for forms — a box where the
8914
+ * user types a number. For arbitrary text use F0TextInput; for durations
8915
+ * (hours/minutes) use F0DurationInput.
8916
+ */
8917
+ export declare const F0NumberInput: (props: F0NumberInputProps) => JSX_2.Element;
8918
+
8904
8919
  /**
8905
8920
  * Config for number fields - number input
8906
8921
  */
@@ -8908,6 +8923,8 @@ declare type F0NumberInputConfig = F0BaseConfig & F0NumberConfig & {
8908
8923
  fieldType?: "number" | "percentage";
8909
8924
  };
8910
8925
 
8926
+ export declare type F0NumberInputProps = Omit<NumberInputInternalProps, (typeof privateProps_4)[number]>;
8927
+
8911
8928
  /**
8912
8929
  * Config for money fields - number input with currency suffix
8913
8930
  */
@@ -9176,6 +9193,27 @@ export declare type F0RichTextFieldConfig = F0BaseConfig & F0RichTextConfig & {
9176
9193
  fieldType: "richtext";
9177
9194
  };
9178
9195
 
9196
+ /**
9197
+ * @experimental This is an experimental component, use it at your own risk.
9198
+ *
9199
+ * F0SearchInput is the writable search field — a single-line text input
9200
+ * pre-configured with a search icon, `role="searchbox"`, debouncing, and
9201
+ * an optional minimum-length threshold before emitting changes.
9202
+ */
9203
+ export declare const F0SearchInput: ForwardRefExoticComponent< {
9204
+ value?: string;
9205
+ threshold?: number;
9206
+ debounceTime?: number;
9207
+ autoFocus?: boolean;
9208
+ } & Pick<InputFieldProps<string>, "onChange" | "name" | "size" | "onFocus" | "onBlur" | "loading" | "disabled" | "placeholder" | "clearable"> & RefAttributes<HTMLInputElement>>;
9209
+
9210
+ export declare type F0SearchInputProps = {
9211
+ value?: string;
9212
+ threshold?: number;
9213
+ debounceTime?: number;
9214
+ autoFocus?: boolean;
9215
+ } & Pick<InputFieldProps<string>, "size" | "loading" | "clearable" | "placeholder" | "disabled" | "onBlur" | "onFocus" | "onChange" | "name">;
9216
+
9179
9217
  /**
9180
9218
  * Action button configuration for a section.
9181
9219
  * Provide either onClick for a button action or href for a link.
@@ -9599,6 +9637,17 @@ export declare type F0TextareaField = F0BaseField & F0TextareaConfig & {
9599
9637
  renderIf?: TextareaFieldRenderIf;
9600
9638
  };
9601
9639
 
9640
+ /**
9641
+ * @experimental This is an experimental component, use it at your own risk.
9642
+ *
9643
+ * F0TextAreaInput is the writable multi-line text field for forms — a box
9644
+ * where the user types longer text spanning multiple lines. For a single
9645
+ * line of text use F0TextInput.
9646
+ */
9647
+ export declare const F0TextAreaInput: FC<F0TextAreaInputProps>;
9648
+
9649
+ export declare type F0TextAreaInputProps = Pick<ComponentProps<typeof Textarea_2>, "disabled" | "onChange" | "value" | "placeholder" | "rows" | "cols" | "label" | "labelIcon" | "icon" | "hideLabel" | "maxLength" | "clearable" | "onBlur" | "onFocus" | "name" | "status" | "hint" | "error" | "size" | "loading" | "required" | "maxHeight">;
9650
+
9602
9651
  /**
9603
9652
  * F0 config options specific to text fields
9604
9653
  */
@@ -9618,6 +9667,18 @@ export declare type F0TextField = F0BaseField & F0TextConfig & {
9618
9667
  renderIf?: TextFieldRenderIf;
9619
9668
  };
9620
9669
 
9670
+ /**
9671
+ * @experimental This is an experimental component, use it at your own risk.
9672
+ *
9673
+ * F0TextInput is the writable text field for forms — a box where the user
9674
+ * types text, numbers (as text), passwords, emails, etc. It is the canonical
9675
+ * "text input" of F0. For numeric or duration data prefer F0NumberInput or
9676
+ * F0DurationInput respectively.
9677
+ */
9678
+ export declare const F0TextInput: <T extends string>(props: F0TextInputProps<T>) => JSX_2.Element;
9679
+
9680
+ export declare type F0TextInputProps<T extends string> = Omit<InputInternalProps<T>, (typeof privateProps_5)[number]>;
9681
+
9621
9682
  export declare type F0TextProps = Omit<TextProps, "className" | "variant" | "as"> & {
9622
9683
  variant?: (typeof _allowedVariants_2)[number];
9623
9684
  as?: TextTags;
@@ -9924,6 +9985,24 @@ export declare interface F0ZodType<T extends ZodTypeAny = ZodTypeAny> {
9924
9985
  _innerSchema: T;
9925
9986
  }
9926
9987
 
9988
+ /**
9989
+ * @deprecated Renamed to `F0SearchInput` to match the F0 input vocabulary
9990
+ * (any component where the user types in a box has the `Input` suffix and
9991
+ * lives under the `Inputs/` group). The `F1` prefix was also legacy. Will
9992
+ * be removed once consumers have migrated.
9993
+ *
9994
+ * - import { F1SearchBox } from "@factorialco/f0-react"
9995
+ * + import { F0SearchInput } from "@factorialco/f0-react"
9996
+ *
9997
+ * @removeIn 2.0.0
9998
+ */
9999
+ export declare const F1SearchBox: ForwardRefExoticComponent< {
10000
+ value?: string;
10001
+ threshold?: number;
10002
+ debounceTime?: number;
10003
+ autoFocus?: boolean;
10004
+ } & Pick<InputFieldProps_2<string>, "onChange" | "name" | "size" | "onFocus" | "onBlur" | "loading" | "disabled" | "placeholder" | "clearable"> & RefAttributes<HTMLInputElement>>;
10005
+
9927
10006
  export declare type FeedbackConfig = {
9928
10007
  threadId: string;
9929
10008
  onThumbsUp: (msg: AIMessage, ctx: {
@@ -10908,6 +10987,21 @@ export declare interface InitialFile {
10908
10987
  */
10909
10988
  export declare function injectSectionEnds(items: FlatFormItem[], inSectionQuestionIds: Set<string>): FlatFormItem[];
10910
10989
 
10990
+ /**
10991
+ * @deprecated Renamed to `F0TextInput` to match the F0 input vocabulary
10992
+ * (any component where the user types text in a box has the `Input` suffix
10993
+ * and lives under the `Inputs/` group). Will be removed once consumers have
10994
+ * migrated. Update your imports:
10995
+ *
10996
+ * - import { Input } from "@factorialco/f0-react"
10997
+ * + import { F0TextInput } from "@factorialco/f0-react"
10998
+ *
10999
+ * @removeIn 2.0.0
11000
+ */
11001
+ export declare const Input: <T extends string>(props: F0TextInputProps_2<T>) => JSX_2.Element;
11002
+
11003
+ declare const Input_2: React_2.ForwardRefExoticComponent<Omit<React_2.InputHTMLAttributes<HTMLInputElement>, "onChange" | "size"> & Pick<InputFieldProps<string>, "label" | "onChange" | "size" | "icon" | "role" | "onFocus" | "onBlur" | "transparent" | "status" | "loading" | "disabled" | "maxLength" | "required" | "error" | "append" | "hideLabel" | "hint" | "labelIcon" | "onClickContent" | "readonly" | "clearable" | "autocomplete" | "onClear" | "isEmpty" | "emptyValue" | "hideMaxLength" | "appendTag" | "lengthProvider" | "buttonToggle"> & React_2.RefAttributes<HTMLInputElement>>;
11004
+
10911
11005
  declare const INPUTFIELD_SIZES: readonly ["sm", "md"];
10912
11006
 
10913
11007
  declare type InputFieldInheritedProps = (typeof inputFieldInheritedProps)[number];
@@ -11001,6 +11095,17 @@ declare const inputFieldStatus: readonly ["default", "warning", "info", "error"]
11001
11095
 
11002
11096
  declare type InputFieldStatusType = (typeof inputFieldStatus)[number];
11003
11097
 
11098
+ declare type InputInternalProps<T extends string> = Pick<ComponentProps<typeof Input_2>, "ref" | "id" | "aria-describedby" | "aria-invalid"> & Pick<InputFieldProps<T>, "autoFocus" | "required" | "disabled" | "size" | "onChange" | "value" | "placeholder" | "clearable" | "maxLength" | "label" | "labelIcon" | "icon" | "hideLabel" | "name" | "error" | "status" | "hint" | "autocomplete" | "buttonToggle" | "hideMaxLength" | "loading" | "transparent" | "onBlur" | "readonly"> & {
11099
+ type?: Exclude<HTMLInputTypeAttribute, "number">;
11100
+ onPressEnter?: () => void;
11101
+ };
11102
+
11103
+ /**
11104
+ * @deprecated Renamed to `F0TextInputProps`. See the `Input` deprecation note.
11105
+ * @removeIn 2.0.0
11106
+ */
11107
+ export declare type InputProps<T extends string> = F0TextInputProps_2<T>;
11108
+
11004
11109
  declare interface InsertAfterNotesTextEditorPageDocumentPatch {
11005
11110
  type: "insert_after";
11006
11111
  targetId: string;
@@ -11746,6 +11851,55 @@ declare type NumberFilterValue = {
11746
11851
  };
11747
11852
  } | undefined;
11748
11853
 
11854
+ /**
11855
+ * @deprecated Renamed to `F0NumberInput` to match the F0 input vocabulary
11856
+ * (any component where the user types in a box has the `Input` suffix and
11857
+ * lives under the `Inputs/` group). Will be removed once consumers have
11858
+ * migrated.
11859
+ *
11860
+ * - import { NumberInput } from "@factorialco/f0-react"
11861
+ * + import { F0NumberInput } from "@factorialco/f0-react"
11862
+ *
11863
+ * @removeIn 2.0.0
11864
+ */
11865
+ export declare const NumberInput: (props: F0NumberInputProps_2) => JSX_2.Element;
11866
+
11867
+ declare type NumberInputInternalProps = Omit<InputInternalProps<string>, "value" | "type" | "onChange"> & {
11868
+ locale: string;
11869
+ value?: number | null;
11870
+ step?: number;
11871
+ min?: number;
11872
+ max?: number;
11873
+ maxDecimals?: number;
11874
+ onChange?: (value: number | null) => void;
11875
+ units?: string;
11876
+ extraContent?: ReactNode;
11877
+ inputWidth?: string;
11878
+ popover?: NumberInputPopoverConfig;
11879
+ };
11880
+
11881
+ export declare interface NumberInputPopoverConfig {
11882
+ icon?: IconType;
11883
+ side?: "top" | "bottom" | "left" | "right";
11884
+ align?: "start" | "center" | "end";
11885
+ open?: boolean;
11886
+ onOpenChange?: (open: boolean) => void;
11887
+ triggerLabel?: string;
11888
+ commitMode?: "immediate" | "deferred";
11889
+ apply?: {
11890
+ label?: string;
11891
+ icon?: IconType;
11892
+ closeOnApply?: boolean;
11893
+ };
11894
+ }
11895
+
11896
+ /**
11897
+ * @deprecated Renamed to `F0NumberInputProps`. See the `NumberInput`
11898
+ * deprecation note.
11899
+ * @removeIn 2.0.0
11900
+ */
11901
+ export declare type NumberInputProps = F0NumberInputProps_2;
11902
+
11749
11903
  /**
11750
11904
  * Base for number-specific conditions
11751
11905
  */
@@ -11998,7 +12152,7 @@ export declare interface OneCalendarInternalProps {
11998
12152
  weekStartsOn?: WeekStartsOn;
11999
12153
  }
12000
12154
 
12001
- export declare type OneCalendarProps = Omit<OneCalendarInternalProps, (typeof privateProps_4)[number]>;
12155
+ export declare type OneCalendarProps = Omit<OneCalendarInternalProps, (typeof privateProps_6)[number]>;
12002
12156
 
12003
12157
  export declare const OneEllipsis: default_2.ForwardRefExoticComponent<OneEllipsisProps & default_2.RefAttributes<HTMLElement>>;
12004
12158
 
@@ -12407,9 +12561,13 @@ declare const privateProps_2: readonly ["withBorder"];
12407
12561
 
12408
12562
  declare const privateProps_3: readonly ["forceVerticalMetadata", "disableOverlayLink"];
12409
12563
 
12410
- declare const privateProps_4: readonly ["compact"];
12564
+ declare const privateProps_4: readonly ["buttonToggle"];
12565
+
12566
+ declare const privateProps_5: readonly ["buttonToggle"];
12567
+
12568
+ declare const privateProps_6: readonly ["compact"];
12411
12569
 
12412
- declare const privateProps_5: readonly ["className"];
12570
+ declare const privateProps_7: readonly ["className"];
12413
12571
 
12414
12572
  export declare const ProductBlankslate: WithDataTestIdReturnType_4<ForwardRefExoticComponent<ProductBlankslateProps & RefAttributes<HTMLDivElement>>>;
12415
12573
 
@@ -13901,11 +14059,37 @@ export declare type TeamAvatarVariant = Extract<AvatarVariant, {
13901
14059
 
13902
14060
  declare type TeamTagProps = ComponentProps<typeof F0TagTeam>;
13903
14061
 
14062
+ /**
14063
+ * @deprecated Renamed to `F0TextAreaInput` to match the F0 input vocabulary
14064
+ * (any component where the user types in a box has the `Input` suffix and
14065
+ * lives under the `Inputs/` group). Will be removed once consumers have
14066
+ * migrated.
14067
+ *
14068
+ * - import { Textarea } from "@factorialco/f0-react"
14069
+ * + import { F0TextAreaInput } from "@factorialco/f0-react"
14070
+ *
14071
+ * @removeIn 2.0.0
14072
+ */
14073
+ export declare const Textarea: FC<F0TextAreaInputProps_2>;
14074
+
14075
+ declare const Textarea_2: ForwardRefExoticComponent<Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "onChange" | "onFocus" | "onBlur"> & {
14076
+ value?: string;
14077
+ /** Maximum height in pixels. When set, the textarea scrolls beyond this height instead of growing. */
14078
+ maxHeight?: number;
14079
+ } & Pick<InputFieldProps<string>, "label" | "value" | "onChange" | "size" | "icon" | "onFocus" | "onBlur" | "onKeyDown" | "status" | "loading" | "maxLength" | "placeholder" | "required" | "error" | "hideLabel" | "hint" | "labelIcon" | "clearable" | "onClear"> & RefAttributes<HTMLTextAreaElement>>;
14080
+
13904
14081
  /**
13905
14082
  * All valid renderIf conditions for textarea fields
13906
14083
  */
13907
14084
  declare type TextareaFieldRenderIf = TextRenderIfCondition | CommonRenderIfCondition | F0BaseFieldRenderIfFunction;
13908
14085
 
14086
+ /**
14087
+ * @deprecated Renamed to `F0TextAreaInputProps`. See the `Textarea`
14088
+ * deprecation note.
14089
+ * @removeIn 2.0.0
14090
+ */
14091
+ export declare type TextareaProps = F0TextAreaInputProps_2;
14092
+
13909
14093
  /**
13910
14094
  * All valid renderIf conditions for text fields
13911
14095
  */
@@ -15218,8 +15402,9 @@ declare module "@tiptap/core" {
15218
15402
 
15219
15403
  declare module "@tiptap/core" {
15220
15404
  interface Commands<ReturnType> {
15221
- moodTracker: {
15222
- insertMoodTracker: (data: MoodTrackerData) => ReturnType;
15405
+ enhanceHighlight: {
15406
+ setEnhanceHighlight: (from: number, to: number) => ReturnType;
15407
+ clearEnhanceHighlight: () => ReturnType;
15223
15408
  };
15224
15409
  }
15225
15410
  }
@@ -15227,9 +15412,8 @@ declare module "@tiptap/core" {
15227
15412
 
15228
15413
  declare module "@tiptap/core" {
15229
15414
  interface Commands<ReturnType> {
15230
- enhanceHighlight: {
15231
- setEnhanceHighlight: (from: number, to: number) => ReturnType;
15232
- clearEnhanceHighlight: () => ReturnType;
15415
+ moodTracker: {
15416
+ insertMoodTracker: (data: MoodTrackerData) => ReturnType;
15233
15417
  };
15234
15418
  }
15235
15419
  }