@factorialco/f0-react 1.293.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/f0.d.ts CHANGED
@@ -109,6 +109,10 @@ declare type ActionButtonProps = ActionBaseProps & {
109
109
  onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
110
110
  };
111
111
 
112
+ declare type ActionButtonVariant = (typeof actionButtonVariants)[number];
113
+
114
+ declare const actionButtonVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "ai"];
115
+
112
116
  declare interface ActionCommonProps {
113
117
  /**
114
118
  * Tooltip
@@ -209,7 +213,7 @@ declare const actionSizes: readonly ["sm", "md", "lg"];
209
213
 
210
214
  declare type ActionVariant = (typeof actionVariants)[number];
211
215
 
212
- declare const actionVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "link", "unstyled", "mention"];
216
+ declare const actionVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "ai", "link", "unstyled", "mention"];
213
217
 
214
218
  export declare type AlertAvatarProps = VariantProps<typeof alertAvatarVariants> & {
215
219
  type: (typeof alertAvatarTypes)[number];
@@ -602,7 +606,7 @@ export declare type ButtonDropdownVariant = (typeof buttonDropdownVariants)[numb
602
606
 
603
607
  export declare const buttonDropdownVariants: readonly ["default", "outline", "neutral"];
604
608
 
605
- declare type ButtonInternalProps = Pick<ActionProps, "size" | "disabled" | "className" | "pressed" | "compact" | "variant" | "tooltip"> & DataAttributes & {
609
+ declare type ButtonInternalProps = Pick<ActionProps, "size" | "disabled" | "className" | "pressed" | "compact" | "tooltip"> & DataAttributes & {
606
610
  /**
607
611
  * The aria-label of the button if not provided title or label will be used.
608
612
  */
@@ -610,7 +614,7 @@ declare type ButtonInternalProps = Pick<ActionProps, "size" | "disabled" | "clas
610
614
  /**
611
615
  * The variant of the button.
612
616
  */
613
- variant?: ButtonVariant;
617
+ variant?: ActionButtonVariant;
614
618
  /**
615
619
  * Callback fired when the button is clicked. Supports async functions for loading state.
616
620
  */
@@ -700,9 +704,9 @@ declare type ButtonType = (typeof buttonTypes)[number];
700
704
 
701
705
  declare const buttonTypes: readonly ["button", "submit", "reset"];
702
706
 
703
- export declare type ButtonVariant = (typeof buttonVariants)[number];
707
+ export declare type ButtonVariant = Exclude<(typeof actionButtonVariants)[number], "ai">;
704
708
 
705
- export declare const buttonVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote"];
709
+ export declare const buttonVariants: ("default" | "critical" | "promote" | "neutral" | "outline" | "ghost" | "outlinePromote")[];
706
710
 
707
711
  declare type CalendarMode = "single" | "range";
708
712
 
@@ -1315,7 +1319,7 @@ export declare type DataSourceDefinition<R extends RecordType = RecordType, Filt
1315
1319
  /** Selectable items value under the checkbox column (undefined if not selectable) */
1316
1320
  selectable?: (item: R) => string | number | undefined;
1317
1321
  /** Default selected items */
1318
- defaultSelectedItems?: SelectedItemsState;
1322
+ defaultSelectedItems?: SelectedItemsState<R>;
1319
1323
  /***** GROUPING ***************************************************/
1320
1324
  /** Grouping configuration */
1321
1325
  grouping?: Grouping;
@@ -1591,6 +1595,7 @@ export declare const defaultTranslations: {
1591
1595
  readonly selected: {
1592
1596
  readonly singular: "Selected";
1593
1597
  readonly plural: "Selected";
1598
+ readonly all: "All selected";
1594
1599
  };
1595
1600
  };
1596
1601
  readonly filters: {
@@ -2163,7 +2168,9 @@ export declare type F0AvatarTeamProps = {
2163
2168
  badge?: AvatarBadge;
2164
2169
  } & Pick<BaseAvatarProps, "aria-label" | "aria-labelledby">;
2165
2170
 
2166
- export declare const F0Button: ForwardRefExoticComponent<F0ButtonProps & RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
2171
+ export declare const F0Button: ForwardRefExoticComponent<Omit<ButtonInternalProps, "style" | "className" | "variant" | "compact" | "pressed" | "append" | "noAutoTooltip" | "noTitle"> & {
2172
+ variant?: Exclude<ButtonInternalProps["variant"], "ai">;
2173
+ } & RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
2167
2174
 
2168
2175
  export declare const F0ButtonDropdown: ({ onClick, value, ...props }: F0ButtonDropdownProps) => JSX_2.Element | undefined;
2169
2176
 
@@ -2209,7 +2216,9 @@ export declare type F0ButtonDropdownProps<T = string> = {
2209
2216
  onClick: (value: T, item: ButtonDropdownItem<T>) => void;
2210
2217
  };
2211
2218
 
2212
- export declare type F0ButtonProps = Omit<ButtonInternalProps, (typeof privateProps)[number]>;
2219
+ export declare type F0ButtonProps = Omit<ButtonInternalProps, (typeof privateProps)[number] | "variant"> & {
2220
+ variant?: Exclude<ButtonInternalProps["variant"], "ai">;
2221
+ };
2213
2222
 
2214
2223
  export declare const F0ButtonToggle: ForwardRefExoticComponent<F0ButtonToggleProps & RefAttributes<HTMLButtonElement>>;
2215
2224
 
@@ -2386,6 +2395,26 @@ export declare const F0Select: <T extends string = string, R = unknown>(props: F
2386
2395
  ref?: React.Ref<HTMLButtonElement>;
2387
2396
  }) => React.ReactElement;
2388
2397
 
2398
+ /**
2399
+ * Base props shared across all F0Select variants
2400
+ */
2401
+ declare type F0SelectBaseProps<T extends string, R = unknown> = {
2402
+ onChangeSelectedOption?: (option: F0SelectItemObject<T, ResolvedRecordType<R>> | undefined, checked: boolean) => void;
2403
+ children?: React.ReactNode;
2404
+ open?: boolean;
2405
+ showSearchBox?: boolean;
2406
+ searchBoxPlaceholder?: string;
2407
+ onSearchChange?: (value: string) => void;
2408
+ searchValue?: string;
2409
+ onOpenChange?: (open: boolean) => void;
2410
+ searchEmptyMessage?: string;
2411
+ className?: string;
2412
+ selectContentClassName?: string;
2413
+ actions?: Action_2[];
2414
+ /** Container element to render the portal content into */
2415
+ portalContainer?: HTMLElement | null;
2416
+ };
2417
+
2389
2418
  export declare type F0SelectItemObject<T, R = unknown> = {
2390
2419
  type?: "item";
2391
2420
  value: T;
@@ -2405,42 +2434,43 @@ export declare type F0SelectItemProps<T, R = unknown> = F0SelectItemObject<T, R>
2405
2434
  /**
2406
2435
  * Select component for choosing from a list of options.
2407
2436
  *
2408
- * @template T - The type of the emitted value
2437
+ * @template T - The type of the emitted value
2409
2438
  * @template R - The type of the record/item data (used with data source)
2410
- *
2411
2439
  */
2412
- export declare type F0SelectProps<T extends string, R = unknown> = {
2413
- onChangeSelectedOption?: (option: F0SelectItemObject<T, ResolvedRecordType<R>> | undefined, checked: boolean) => void;
2414
- children?: React.ReactNode;
2415
- open?: boolean;
2416
- showSearchBox?: boolean;
2417
- searchBoxPlaceholder?: string;
2418
- onSearchChange?: (value: string) => void;
2419
- searchValue?: string;
2420
- onOpenChange?: (open: boolean) => void;
2421
- searchEmptyMessage?: string;
2422
- className?: string;
2423
- selectContentClassName?: string;
2424
- actions?: Action_2[];
2425
- portalContainer?: HTMLElement | null;
2426
- } & ({
2440
+ export declare type F0SelectProps<T extends string, R = unknown> = F0SelectBaseProps<T, R> & // Single select not clearable
2441
+ ({
2427
2442
  clearable?: false;
2428
2443
  multiple?: false;
2429
2444
  value?: T;
2430
2445
  defaultItem?: F0SelectItemObject<T, ResolvedRecordType<R>>;
2431
2446
  onChange?: (value: T, originalItem?: ResolvedRecordType<R> | undefined, option?: F0SelectItemObject<T, ResolvedRecordType<R>>) => void;
2447
+ /** Callback for selection changes - provides full selection state for advanced use cases (e.g., "Select All" with exclusions) */
2448
+ onSelectItems?: never;
2432
2449
  } | {
2433
2450
  clearable: true;
2434
2451
  multiple?: false;
2435
2452
  value?: T;
2436
2453
  defaultItem?: F0SelectItemObject<T, ResolvedRecordType<R>>;
2437
2454
  onChange?: (value: T, originalItem?: ResolvedRecordType<R> | undefined, option?: F0SelectItemObject<T, ResolvedRecordType<R>>) => void;
2455
+ onSelectItems?: never;
2438
2456
  } | {
2439
2457
  multiple: true;
2440
2458
  clearable?: boolean;
2441
2459
  value?: T[];
2442
2460
  defaultItem?: F0SelectItemObject<T, ResolvedRecordType<R>>[];
2443
2461
  onChange?: (value: T[], originalItems: ResolvedRecordType<R>[], options: F0SelectItemObject<T, ResolvedRecordType<R>>[]) => void;
2462
+ /**
2463
+ * Callback for selection changes - provides full selection state including:
2464
+ * - `status.allSelected`: true if "Select All" was used, "indeterminate" if some items deselected after Select All
2465
+ * - `status.items`: Map of all items with their checked state
2466
+ * - `filters`: Current applied filters
2467
+ * - `selectedCount`: Total number of selected items
2468
+ *
2469
+ * Use this for "chunked" selection mode where you need to track:
2470
+ * - When allSelected is true/indeterminate: excluded items are those with checked=false
2471
+ * - When allSelected is false: included items are those with checked=true
2472
+ */
2473
+ onSelectItems?: OnSelectItemsCallback<ResolvedRecordType<R>, FiltersDefinition>;
2444
2474
  }) & ({
2445
2475
  source: DataSourceDefinition<ResolvedRecordType<R>, FiltersDefinition, SortingsDefinition, GroupingDefinition<ResolvedRecordType<R>>>;
2446
2476
  mapOptions: (item: ResolvedRecordType<R>) => F0SelectItemProps<T, ResolvedRecordType<R>>;
@@ -3699,10 +3729,13 @@ export declare type SelectedItems<T> = ReadonlyArray<T>;
3699
3729
 
3700
3730
  export declare type SelectedItemsDetailedStatus<R extends RecordType, Filters extends FiltersDefinition> = {
3701
3731
  allSelected: boolean | "indeterminate";
3732
+ /** Status of items that have been loaded. Items not yet loaded won't appear here. */
3702
3733
  itemsStatus: ReadonlyArray<{
3703
3734
  item: R;
3704
3735
  checked: boolean;
3705
3736
  }>;
3737
+ /** All selected item IDs, including those not yet loaded */
3738
+ selectedIds: ReadonlyArray<SelectionId>;
3706
3739
  groupsStatus: Record<string, boolean>;
3707
3740
  filters: FiltersState<Filters>;
3708
3741
  selectedCount: number;
@@ -3711,16 +3744,45 @@ export declare type SelectedItemsDetailedStatus<R extends RecordType, Filters ex
3711
3744
  /**
3712
3745
  * Represents the selected items by id
3713
3746
  */
3714
- export declare type SelectedItemsState = {
3715
- allSelected?: boolean | "indeterminate";
3716
- items?: ReadonlyArray<{
3717
- id: string;
3718
- checked: boolean;
3719
- }>;
3720
- groups?: ReadonlyArray<{
3721
- groupId: string;
3747
+ export declare type SelectedItemsState<R extends RecordType> = {
3748
+ allSelected: boolean | "indeterminate";
3749
+ items: Map<SelectedItemState<R>["id"], SelectedItemState<R>>;
3750
+ groups: Map<SelectedState["id"], SelectedState>;
3751
+ };
3752
+
3753
+ export declare type SelectedItemState<R extends RecordType> = SelectedState & {
3754
+ item?: WithGroupId<R>;
3755
+ };
3756
+
3757
+ export declare type SelectedState = {
3758
+ id: SelectionId;
3759
+ checked: boolean;
3760
+ };
3761
+
3762
+ export declare type SelectionId = number | string;
3763
+
3764
+ export declare type SelectionMeta<R extends RecordType> = {
3765
+ selectedItemsCount: number;
3766
+ totalKnownItemsCount: number;
3767
+ checkedItems: ReadonlyArray<R>;
3768
+ uncheckedItems: ReadonlyArray<R>;
3769
+ };
3770
+
3771
+ export declare type SelectionStatus<R extends RecordType, Filters extends FiltersDefinition> = {
3772
+ allChecked: boolean | "indeterminate";
3773
+ /** Status of items that have been loaded. Items not yet loaded won't appear here. */
3774
+ itemsStatus: ReadonlyArray<{
3775
+ item: R;
3722
3776
  checked: boolean;
3723
3777
  }>;
3778
+ /** All selected item IDs, including those not yet loaded */
3779
+ selectedIds: ReadonlyArray<SelectionId>;
3780
+ checkedItems: ReadonlyArray<R>;
3781
+ uncheckedItems: ReadonlyArray<R>;
3782
+ groupsStatus: Record<string, boolean>;
3783
+ filters: FiltersState<Filters>;
3784
+ selectedCount: number;
3785
+ totalKnownItemsCount: number;
3724
3786
  };
3725
3787
 
3726
3788
  export declare const selectSizes: readonly ["sm", "md"];
@@ -4391,20 +4453,55 @@ export declare const usePrivacyMode: () => {
4391
4453
 
4392
4454
  export declare const useReducedMotion: () => boolean;
4393
4455
 
4394
- export declare type UseSelectable<R extends RecordType> = {
4456
+ export declare function useSelectable<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Grouping extends GroupingDefinition<R>>({ data, paginationInfo, source, selectionMode, selectedState, onSelectItems, }: UseSelectableProps<R, Filters, Sortings, Grouping>): UseSelectableReturn<R, Filters>;
4457
+
4458
+ export declare type UseSelectableProps<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Grouping extends GroupingDefinition<R>> = {
4459
+ data: Data<R>;
4460
+ paginationInfo: PaginationInfo | null;
4461
+ source: DataSourceDefinition<R, Filters, Sortings, Grouping>;
4462
+ onSelectItems?: OnSelectItemsCallback<R, Filters>;
4463
+ selectionMode?: "multi" | "single";
4464
+ selectedState?: SelectedItemsState<R>;
4465
+ };
4466
+
4467
+ export declare type UseSelectableReturn<R extends RecordType, Filters extends FiltersDefinition> = {
4395
4468
  isAllSelected: boolean;
4396
- selectedItems: Map<number | string, R>;
4397
- selectedGroups: Map<string, GroupRecord<R>>;
4469
+ selectedItems: Map<SelectionId, R>;
4470
+ selectedGroups: Map<SelectionId, GroupRecord<R>>;
4398
4471
  isPartiallySelected: boolean;
4399
- handleSelectItemChange: (item: R, checked: boolean) => void;
4400
- handleSelectAll: (checked: boolean) => void;
4401
- handleSelectGroupChange: (group: GroupRecord<R>, checked: boolean) => void;
4402
- groupAllSelectedStatus: Record<string, AllSelectionStatus>;
4472
+ groupAllSelectedStatus: Record<SelectionId, AllSelectionStatus>;
4403
4473
  allSelectedStatus: AllSelectionStatus;
4474
+ selectionStatus: SelectionStatus<R, Filters>;
4475
+ /**
4476
+ * The current selected state
4477
+ */
4478
+ selectedState: SelectedItemsState<R>;
4479
+ /**
4480
+ * The meta data about the selection
4481
+ */
4482
+ selectionMeta: SelectionMeta<R>;
4483
+ /**
4484
+ * Clears the selection
4485
+ */
4486
+ clearSelection: () => void;
4487
+ /**
4488
+ * Handles the change of the selected item.
4489
+ * Accepts either SelectionId(s) or the item itself (R).
4490
+ * When passing an item, the ID will be extracted using source.selectable.
4491
+ */
4492
+ handleSelectItemChange: (itemOrId: R | SelectionId | readonly SelectionId[], checked: boolean) => void;
4493
+ /**
4494
+ * Handles the change of the selected all items
4495
+ */
4496
+ handleSelectAll: (checked: boolean) => void;
4497
+ /**
4498
+ * Handles the change of the selected group.
4499
+ * Accepts either SelectionId(s) or a GroupRecord.
4500
+ * When passing a GroupRecord, the key will be used as the ID.
4501
+ */
4502
+ handleSelectGroupChange: (groupOrId: GroupRecord<R> | SelectionId | readonly SelectionId[], checked: boolean) => void;
4404
4503
  };
4405
4504
 
4406
- export declare function useSelectable<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Grouping extends GroupingDefinition<R>>(data: Data<R>, paginationInfo: PaginationInfo | null, source: DataSourceDefinition<R, Filters, Sortings, Grouping>, onSelectItems: OnSelectItemsCallback<R, Filters> | undefined, defaultSelectedItems?: SelectedItemsState | undefined): UseSelectable<R>;
4407
-
4408
4505
  export declare const useXRay: () => {
4409
4506
  enabled: boolean;
4410
4507
  filter: ComponentTypes[];
@@ -4571,6 +4668,11 @@ declare module "gridstack" {
4571
4668
  }
4572
4669
 
4573
4670
 
4671
+ declare namespace Calendar {
4672
+ var displayName: string;
4673
+ }
4674
+
4675
+
4574
4676
  declare module "@tiptap/core" {
4575
4677
  interface Commands<ReturnType> {
4576
4678
  moodTracker: {
@@ -4578,8 +4680,3 @@ declare module "@tiptap/core" {
4578
4680
  };
4579
4681
  }
4580
4682
  }
4581
-
4582
-
4583
- declare namespace Calendar {
4584
- var displayName: string;
4585
- }
package/dist/f0.js CHANGED
@@ -1,5 +1,5 @@
1
- import { S as Ge, a as Kt, f as Ce, L as J, b as Vt, A as qt, i as ae, c as tt, d as it, E as Xt, g as he, e as Yt, h as Jt, C as Zt, j as Qt, k as V, l as st, u as ei, G as ti, m as ii, n as $e, o as si, p as rt, q as ri, B as nt, X as ot, Y as ze, r as ni, s as at, t as oi, v as ai, w as li, x as hi, y as di, z as ci, D as ui, F as fi, H as Ue, I as gi, J as Z, K as Ne, M as pi, N as mi, O as vi, P as lt, Q as L, R as F, T as yi, U as bi, V as xi, W as _i, Z as wi, _ as Ei, $ as Ci, a0 as ht, a1 as Ni, a2 as de, a3 as dt, a4 as ct, a5 as Ri, a6 as ut, a7 as ft, a8 as gt, a9 as pt, aa as zi, ab as Di, ac as mt, ad as Pi, ae as Si, af as vt, ag as ki, ah as yt, ai as Oi, aj as Ai, ak as Ti, al as Li, am as Mi, an as Hi, ao as Bi, ap as Fi, aq as bt, ar as q, as as xt, at as Ii, au as Wi, av as je, aw as Gi, ax as _t, ay as $i, az as Ui, aA as ji, aB as Ki, aC as Vi, aD as qi, aE as Xi, aF as Yi, aG as Ji, aH as Zi, aI as Qi, aJ as es } from "./hooks-C7xcrcsI.js";
2
- import { bc as Fr, bp as Ir, by as Wr, aK as Gr, aL as $r, aM as Ur, aN as jr, aO as Kr, aP as Vr, aQ as qr, aR as Xr, aT as Yr, aU as Jr, aV as Zr, aW as Qr, aX as en, aY as tn, aZ as sn, bu as rn, a$ as nn, b0 as on, b3 as an, b4 as ln, b5 as hn, b6 as dn, b9 as cn, ba as un, bb as fn, be as gn, b2 as pn, bd as mn, b8 as vn, bv as yn, bo as bn, bj as xn, bm as _n, bi as wn, bz as En, bh as Cn, bg as Nn, aS as Rn, a_ as zn, b1 as Dn, b7 as Pn, bf as Sn, bk as kn, bq as On, br as An, bs as Tn, bA as Ln, bl as Mn, bt as Hn, bx as Bn, bn as Fn, bw as In } from "./hooks-C7xcrcsI.js";
1
+ import { S as Ge, a as Kt, f as Ce, L as J, b as Vt, A as qt, i as ae, c as tt, d as it, E as Xt, g as he, e as Yt, h as Jt, C as Zt, j as Qt, k as V, l as st, u as ei, G as ti, m as ii, n as $e, o as si, p as rt, q as ri, B as nt, X as ot, Y as ze, r as ni, s as at, t as oi, v as ai, w as li, x as hi, y as di, z as ci, D as ui, F as fi, H as Ue, I as gi, J as Z, K as Ne, M as pi, N as mi, O as vi, P as lt, Q as L, R as F, T as yi, U as bi, V as xi, W as _i, Z as wi, _ as Ei, $ as Ci, a0 as ht, a1 as Ni, a2 as de, a3 as dt, a4 as ct, a5 as Ri, a6 as ut, a7 as ft, a8 as gt, a9 as pt, aa as zi, ab as Di, ac as mt, ad as Pi, ae as Si, af as vt, ag as ki, ah as yt, ai as Oi, aj as Ai, ak as Ti, al as Li, am as Mi, an as Hi, ao as Bi, ap as Fi, aq as bt, ar as q, as as xt, at as Ii, au as Wi, av as je, aw as Gi, ax as _t, ay as $i, az as Ui, aA as ji, aB as Ki, aC as Vi, aD as qi, aE as Xi, aF as Yi, aG as Ji, aH as Zi, aI as Qi, aJ as es } from "./hooks-BmarskJY.js";
2
+ import { bc as Fr, bp as Ir, by as Wr, aK as Gr, aL as $r, aM as Ur, aN as jr, aO as Kr, aP as Vr, aQ as qr, aR as Xr, aT as Yr, aU as Jr, aV as Zr, aW as Qr, aX as en, aY as tn, aZ as sn, bu as rn, a$ as nn, b0 as on, b3 as an, b4 as ln, b5 as hn, b6 as dn, b9 as cn, ba as un, bb as fn, be as gn, b2 as pn, bd as mn, b8 as vn, bv as yn, bo as bn, bj as xn, bm as _n, bi as wn, bz as En, bh as Cn, bg as Nn, aS as Rn, a_ as zn, b1 as Dn, b7 as Pn, bf as Sn, bk as kn, bq as On, br as An, bs as Tn, bA as Ln, bl as Mn, bt as Hn, bx as Bn, bn as Fn, bw as In } from "./hooks-BmarskJY.js";
3
3
  import { jsx as g, jsxs as R, Fragment as xe } from "react/jsx-runtime";
4
4
  import * as ke from "react";
5
5
  import P, { PureComponent as ts, useState as M, forwardRef as U, createElement as Ke, useRef as Q, useImperativeHandle as wt, Children as is, createContext as _e, useContext as Et, useCallback as K, useEffect as ce, useLayoutEffect as Ve, useMemo as Ct } from "react";
@@ -839,7 +839,9 @@ const Ts = ({ value: a, max: e = 100, label: t, color: i }, s) => {
839
839
  type: "info"
840
840
  },
841
841
  Rs
842
- ), _r = Ci, wr = ht, Er = ["default", "outline", "neutral"], Cr = ht, Nr = ["sm", "md", "lg"], Rr = Ni, Se = ({ count: a, list: e }) => {
842
+ ), _r = Ci.filter(
843
+ (a) => a !== "ai"
844
+ ), wr = ht, Er = ["default", "outline", "neutral"], Cr = ht, Nr = ["sm", "md", "lg"], Rr = Ni, Se = ({ count: a, list: e }) => {
843
845
  const [t, i] = M(!1), s = g(de, {
844
846
  label: `+${a}`
845
847
  });