@factorialco/f0-react 1.294.0 → 1.295.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/experimental.d.ts +83 -53
- package/dist/experimental.js +4223 -4220
- package/dist/f0.d.ts +149 -60
- package/dist/f0.js +2 -2
- package/dist/{hooks-B9lijBjS.js → hooks-BmarskJY.js} +26766 -26203
- package/dist/i18n-provider-defaults.d.ts +26 -25
- package/dist/i18n-provider-defaults.js +2 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/experimental.d.ts
CHANGED
|
@@ -1908,7 +1908,7 @@ export declare type DataSourceDefinition<R extends RecordType = RecordType, Filt
|
|
|
1908
1908
|
/** Selectable items value under the checkbox column (undefined if not selectable) */
|
|
1909
1909
|
selectable?: (item: R) => string | number | undefined;
|
|
1910
1910
|
/** Default selected items */
|
|
1911
|
-
defaultSelectedItems?: SelectedItemsState
|
|
1911
|
+
defaultSelectedItems?: SelectedItemsState<R>;
|
|
1912
1912
|
/***** GROUPING ***************************************************/
|
|
1913
1913
|
/** Grouping configuration */
|
|
1914
1914
|
grouping?: Grouping;
|
|
@@ -2217,6 +2217,7 @@ declare const defaultTranslations: {
|
|
|
2217
2217
|
readonly selected: {
|
|
2218
2218
|
readonly singular: "Selected";
|
|
2219
2219
|
readonly plural: "Selected";
|
|
2220
|
+
readonly all: "All selected";
|
|
2220
2221
|
};
|
|
2221
2222
|
};
|
|
2222
2223
|
readonly filters: {
|
|
@@ -2874,6 +2875,26 @@ declare interface F0IconProps extends SVGProps<SVGSVGElement>, VariantProps<type
|
|
|
2874
2875
|
color?: "default" | "currentColor" | `#${string}` | Lowercase<NestedKeyOf<typeof f1Colors.icon>>;
|
|
2875
2876
|
}
|
|
2876
2877
|
|
|
2878
|
+
/**
|
|
2879
|
+
* Base props shared across all F0Select variants
|
|
2880
|
+
*/
|
|
2881
|
+
declare type F0SelectBaseProps<T extends string, R = unknown> = {
|
|
2882
|
+
onChangeSelectedOption?: (option: F0SelectItemObject<T, ResolvedRecordType<R>> | undefined, checked: boolean) => void;
|
|
2883
|
+
children?: React.ReactNode;
|
|
2884
|
+
open?: boolean;
|
|
2885
|
+
showSearchBox?: boolean;
|
|
2886
|
+
searchBoxPlaceholder?: string;
|
|
2887
|
+
onSearchChange?: (value: string) => void;
|
|
2888
|
+
searchValue?: string;
|
|
2889
|
+
onOpenChange?: (open: boolean) => void;
|
|
2890
|
+
searchEmptyMessage?: string;
|
|
2891
|
+
className?: string;
|
|
2892
|
+
selectContentClassName?: string;
|
|
2893
|
+
actions?: Action[];
|
|
2894
|
+
/** Container element to render the portal content into */
|
|
2895
|
+
portalContainer?: HTMLElement | null;
|
|
2896
|
+
};
|
|
2897
|
+
|
|
2877
2898
|
declare type F0SelectItemObject<T, R = unknown> = {
|
|
2878
2899
|
type?: "item";
|
|
2879
2900
|
value: T;
|
|
@@ -2897,42 +2918,43 @@ export { F0SelectItemProps as SelectItemProps }
|
|
|
2897
2918
|
/**
|
|
2898
2919
|
* Select component for choosing from a list of options.
|
|
2899
2920
|
*
|
|
2900
|
-
* @template T - The type of the emitted
|
|
2921
|
+
* @template T - The type of the emitted value
|
|
2901
2922
|
* @template R - The type of the record/item data (used with data source)
|
|
2902
|
-
*
|
|
2903
2923
|
*/
|
|
2904
|
-
declare type F0SelectProps<T extends string, R = unknown> =
|
|
2905
|
-
|
|
2906
|
-
children?: React.ReactNode;
|
|
2907
|
-
open?: boolean;
|
|
2908
|
-
showSearchBox?: boolean;
|
|
2909
|
-
searchBoxPlaceholder?: string;
|
|
2910
|
-
onSearchChange?: (value: string) => void;
|
|
2911
|
-
searchValue?: string;
|
|
2912
|
-
onOpenChange?: (open: boolean) => void;
|
|
2913
|
-
searchEmptyMessage?: string;
|
|
2914
|
-
className?: string;
|
|
2915
|
-
selectContentClassName?: string;
|
|
2916
|
-
actions?: Action[];
|
|
2917
|
-
portalContainer?: HTMLElement | null;
|
|
2918
|
-
} & ({
|
|
2924
|
+
declare type F0SelectProps<T extends string, R = unknown> = F0SelectBaseProps<T, R> & // Single select not clearable
|
|
2925
|
+
({
|
|
2919
2926
|
clearable?: false;
|
|
2920
2927
|
multiple?: false;
|
|
2921
2928
|
value?: T;
|
|
2922
2929
|
defaultItem?: F0SelectItemObject<T, ResolvedRecordType<R>>;
|
|
2923
2930
|
onChange?: (value: T, originalItem?: ResolvedRecordType<R> | undefined, option?: F0SelectItemObject<T, ResolvedRecordType<R>>) => void;
|
|
2931
|
+
/** Callback for selection changes - provides full selection state for advanced use cases (e.g., "Select All" with exclusions) */
|
|
2932
|
+
onSelectItems?: never;
|
|
2924
2933
|
} | {
|
|
2925
2934
|
clearable: true;
|
|
2926
2935
|
multiple?: false;
|
|
2927
2936
|
value?: T;
|
|
2928
2937
|
defaultItem?: F0SelectItemObject<T, ResolvedRecordType<R>>;
|
|
2929
2938
|
onChange?: (value: T, originalItem?: ResolvedRecordType<R> | undefined, option?: F0SelectItemObject<T, ResolvedRecordType<R>>) => void;
|
|
2939
|
+
onSelectItems?: never;
|
|
2930
2940
|
} | {
|
|
2931
2941
|
multiple: true;
|
|
2932
2942
|
clearable?: boolean;
|
|
2933
2943
|
value?: T[];
|
|
2934
2944
|
defaultItem?: F0SelectItemObject<T, ResolvedRecordType<R>>[];
|
|
2935
2945
|
onChange?: (value: T[], originalItems: ResolvedRecordType<R>[], options: F0SelectItemObject<T, ResolvedRecordType<R>>[]) => void;
|
|
2946
|
+
/**
|
|
2947
|
+
* Callback for selection changes - provides full selection state including:
|
|
2948
|
+
* - `status.allSelected`: true if "Select All" was used, "indeterminate" if some items deselected after Select All
|
|
2949
|
+
* - `status.items`: Map of all items with their checked state
|
|
2950
|
+
* - `filters`: Current applied filters
|
|
2951
|
+
* - `selectedCount`: Total number of selected items
|
|
2952
|
+
*
|
|
2953
|
+
* Use this for "chunked" selection mode where you need to track:
|
|
2954
|
+
* - When allSelected is true/indeterminate: excluded items are those with checked=false
|
|
2955
|
+
* - When allSelected is false: included items are those with checked=true
|
|
2956
|
+
*/
|
|
2957
|
+
onSelectItems?: OnSelectItemsCallback<ResolvedRecordType<R>, FiltersDefinition>;
|
|
2936
2958
|
}) & ({
|
|
2937
2959
|
source: DataSourceDefinition<ResolvedRecordType<R>, FiltersDefinition, SortingsDefinition, GroupingDefinition<ResolvedRecordType<R>>>;
|
|
2938
2960
|
mapOptions: (item: ResolvedRecordType<R>) => F0SelectItemProps<T, ResolvedRecordType<R>>;
|
|
@@ -5210,10 +5232,13 @@ export declare type SelectedItems<T> = ReadonlyArray<T>;
|
|
|
5210
5232
|
|
|
5211
5233
|
export declare type SelectedItemsDetailedStatus<R extends RecordType, Filters extends FiltersDefinition> = {
|
|
5212
5234
|
allSelected: boolean | "indeterminate";
|
|
5235
|
+
/** Status of items that have been loaded. Items not yet loaded won't appear here. */
|
|
5213
5236
|
itemsStatus: ReadonlyArray<{
|
|
5214
5237
|
item: R;
|
|
5215
5238
|
checked: boolean;
|
|
5216
5239
|
}>;
|
|
5240
|
+
/** All selected item IDs, including those not yet loaded */
|
|
5241
|
+
selectedIds: ReadonlyArray<SelectionId>;
|
|
5217
5242
|
groupsStatus: Record<string, boolean>;
|
|
5218
5243
|
filters: FiltersState<Filters>;
|
|
5219
5244
|
selectedCount: number;
|
|
@@ -5222,18 +5247,23 @@ export declare type SelectedItemsDetailedStatus<R extends RecordType, Filters ex
|
|
|
5222
5247
|
/**
|
|
5223
5248
|
* Represents the selected items by id
|
|
5224
5249
|
*/
|
|
5225
|
-
export declare type SelectedItemsState = {
|
|
5226
|
-
allSelected
|
|
5227
|
-
items
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
checked: boolean;
|
|
5234
|
-
}>;
|
|
5250
|
+
export declare type SelectedItemsState<R extends RecordType> = {
|
|
5251
|
+
allSelected: boolean | "indeterminate";
|
|
5252
|
+
items: Map<SelectedItemState<R>["id"], SelectedItemState<R>>;
|
|
5253
|
+
groups: Map<SelectedState["id"], SelectedState>;
|
|
5254
|
+
};
|
|
5255
|
+
|
|
5256
|
+
export declare type SelectedItemState<R extends RecordType> = SelectedState & {
|
|
5257
|
+
item?: WithGroupId<R>;
|
|
5235
5258
|
};
|
|
5236
5259
|
|
|
5260
|
+
export declare type SelectedState = {
|
|
5261
|
+
id: SelectionId;
|
|
5262
|
+
checked: boolean;
|
|
5263
|
+
};
|
|
5264
|
+
|
|
5265
|
+
export declare type SelectionId = number | string;
|
|
5266
|
+
|
|
5237
5267
|
export declare type SelectQuestionOption = {
|
|
5238
5268
|
id?: string;
|
|
5239
5269
|
value: string;
|
|
@@ -6286,31 +6316,6 @@ declare global {
|
|
|
6286
6316
|
}
|
|
6287
6317
|
|
|
6288
6318
|
|
|
6289
|
-
declare module "gridstack" {
|
|
6290
|
-
interface GridStackWidget {
|
|
6291
|
-
id?: string;
|
|
6292
|
-
allowedSizes?: Array<{
|
|
6293
|
-
w: number;
|
|
6294
|
-
h: number;
|
|
6295
|
-
}>;
|
|
6296
|
-
renderFn?: () => React.ReactElement | null;
|
|
6297
|
-
meta?: Record<string, unknown>;
|
|
6298
|
-
}
|
|
6299
|
-
interface GridStackNode {
|
|
6300
|
-
id?: string;
|
|
6301
|
-
w?: number;
|
|
6302
|
-
h?: number;
|
|
6303
|
-
x?: number;
|
|
6304
|
-
y?: number;
|
|
6305
|
-
allowedSizes?: Array<{
|
|
6306
|
-
w: number;
|
|
6307
|
-
h: number;
|
|
6308
|
-
}>;
|
|
6309
|
-
renderFn?: () => React.ReactElement | null;
|
|
6310
|
-
}
|
|
6311
|
-
}
|
|
6312
|
-
|
|
6313
|
-
|
|
6314
6319
|
declare module "@tiptap/core" {
|
|
6315
6320
|
interface Commands<ReturnType> {
|
|
6316
6321
|
aiBlock: {
|
|
@@ -6338,6 +6343,31 @@ declare module "@tiptap/core" {
|
|
|
6338
6343
|
}
|
|
6339
6344
|
|
|
6340
6345
|
|
|
6346
|
+
declare module "gridstack" {
|
|
6347
|
+
interface GridStackWidget {
|
|
6348
|
+
id?: string;
|
|
6349
|
+
allowedSizes?: Array<{
|
|
6350
|
+
w: number;
|
|
6351
|
+
h: number;
|
|
6352
|
+
}>;
|
|
6353
|
+
renderFn?: () => React.ReactElement | null;
|
|
6354
|
+
meta?: Record<string, unknown>;
|
|
6355
|
+
}
|
|
6356
|
+
interface GridStackNode {
|
|
6357
|
+
id?: string;
|
|
6358
|
+
w?: number;
|
|
6359
|
+
h?: number;
|
|
6360
|
+
x?: number;
|
|
6361
|
+
y?: number;
|
|
6362
|
+
allowedSizes?: Array<{
|
|
6363
|
+
w: number;
|
|
6364
|
+
h: number;
|
|
6365
|
+
}>;
|
|
6366
|
+
renderFn?: () => React.ReactElement | null;
|
|
6367
|
+
}
|
|
6368
|
+
}
|
|
6369
|
+
|
|
6370
|
+
|
|
6341
6371
|
declare namespace Calendar {
|
|
6342
6372
|
var displayName: string;
|
|
6343
6373
|
}
|