@factorialco/f0-react 6.56.0 → 6.57.1

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.
@@ -3582,8 +3582,8 @@ export declare type DateNavigationOptions = {
3582
3582
  };
3583
3583
 
3584
3584
  declare type DateNavigationOptions_2 = {
3585
- granularity?: GranularityDefinitionKey[] | GranularityDefinitionKey;
3586
- defaultGranularity?: GranularityDefinitionKey;
3585
+ granularity?: NavigationGranularityKey[] | NavigationGranularityKey;
3586
+ defaultGranularity?: NavigationGranularityKey;
3587
3587
  min?: Date;
3588
3588
  max?: Date;
3589
3589
  presets?: DatePreset[];
@@ -3616,14 +3616,14 @@ export declare type DatePeriodsDefinition = {
3616
3616
  periods: DatePeriod[];
3617
3617
  };
3618
3618
 
3619
- declare type DatePickerCompareTo = Partial<Record<GranularityDefinitionKey, CompareToDef[]>>;
3619
+ declare type DatePickerCompareTo = Partial<Record<NavigationGranularityKey, CompareToDef[]>>;
3620
3620
 
3621
3621
  declare interface DatePickerPopupProps {
3622
3622
  onSelect?: (value: DatePickerValue | undefined) => void;
3623
3623
  value?: DatePickerValue;
3624
3624
  defaultValue?: DatePickerValue;
3625
3625
  presets?: DatePreset[];
3626
- granularities?: GranularityDefinitionKey[];
3626
+ granularities?: NavigationGranularityKey[];
3627
3627
  minDate?: Date;
3628
3628
  maxDate?: Date;
3629
3629
  disabled?: boolean;
@@ -3648,7 +3648,7 @@ declare interface DatePickerPopupProps {
3648
3648
 
3649
3649
  export declare type DatePickerValue = {
3650
3650
  value: DateRangeComplete | undefined;
3651
- granularity: GranularityDefinitionKey;
3651
+ granularity: NavigationGranularityKey;
3652
3652
  };
3653
3653
 
3654
3654
  export declare interface DatePreset {
@@ -3679,7 +3679,7 @@ export declare type DateStringFormat = "default" | "long";
3679
3679
  declare type DateValue = {
3680
3680
  value: DateRangeComplete;
3681
3681
  valueString: string;
3682
- granularity: GranularityDefinitionKey;
3682
+ granularity: NavigationGranularityKey;
3683
3683
  };
3684
3684
 
3685
3685
  /**
@@ -8514,7 +8514,7 @@ export declare function generateCSVContent<R extends RecordType, Filters extends
8514
8514
  */
8515
8515
  export declare function getAutoPerPageMinHeight(rowHeight?: number): number;
8516
8516
 
8517
- export declare const getGranularityDefinition: (granularityKey: GranularityDefinitionKey) => GranularityDefinition;
8517
+ export declare const getGranularityDefinition: (granularityKey: NavigationGranularityKey) => GranularityDefinition;
8518
8518
 
8519
8519
  /**
8520
8520
  * Get granularity definitions with week granularity configured with the specified weekStartsOn.
@@ -8528,7 +8528,7 @@ export declare const getGranularityDefinition: (granularityKey: GranularityDefin
8528
8528
  */
8529
8529
  export declare function getGranularityDefinitions(options?: WeekStartsOn | GranularityDefinitionsOptions): Record<string, GranularityDefinition>;
8530
8530
 
8531
- export declare const getGranularitySimpleDefinition: (granularityKey: GranularityDefinitionKey) => GranularityDefinitionSimple;
8531
+ export declare const getGranularitySimpleDefinition: (granularityKey: NavigationGranularityKey) => GranularityDefinitionSimple;
8532
8532
 
8533
8533
  /**
8534
8534
  * Get the primaryActionsItems from the primaryActionsDefinition or the actions property
@@ -8600,7 +8600,6 @@ export declare const granularityDefinitions: {
8600
8600
  readonly halfyear: GranularityDefinition;
8601
8601
  readonly year: GranularityDefinition;
8602
8602
  readonly range: GranularityDefinition;
8603
- readonly periods: GranularityDefinition;
8604
8603
  };
8605
8604
 
8606
8605
  export declare type GranularityDefinitionSimple = Pick<GranularityDefinition, "toRangeString" | "toString">;
@@ -9046,6 +9045,13 @@ export declare interface HomeRenderCtx {
9046
9045
  * { slotRowBleed}).
9047
9046
  */
9048
9047
  isLastSlot?: boolean;
9048
+ /**
9049
+ * WHAT THE CARD IS SHOWING, when its header carries a `headerSelect`: the
9050
+ * option the reader is on. A slot renderer that owns its own data reads this
9051
+ * to fetch for it — the switcher is in the header, the fetching is here, and
9052
+ * neither needs the host to hold the value.
9053
+ */
9054
+ selection?: string;
9049
9055
  }
9050
9056
 
9051
9057
  /**
@@ -9111,7 +9117,29 @@ export declare interface HomeSlotParamsMap {
9111
9117
  * `alert` and `status` are EXCLUSIVE — `Widget` throws when given both — so the
9112
9118
  * type says so rather than leaving it to blow up at runtime.
9113
9119
  */
9114
- export declare type HomeWidgetChrome = Pick<WidgetProps, "action" | "summaries" | "headerControls"> & ({
9120
+ export declare type HomeWidgetChrome = Pick<WidgetProps, "action" | "summaries" | "headerControls"> & {
9121
+ /**
9122
+ * THE CARD'S OWN BUTTONS, in the header's top-right — as DATA, so a host that
9123
+ * builds its widgets as data ("Write post", pointing at a route) can put one
9124
+ * there without handing over a React node.
9125
+ *
9126
+ * `F0ButtonProps`, the same shape `action` takes, so a button can carry an
9127
+ * `href` and be a real link. Drawn `ghost`/`sm` unless they say otherwise:
9128
+ * this row is the TITLE's, and a filled button beside a title reads as the
9129
+ * card's subject rather than as something you press.
9130
+ *
9131
+ * Keep it to one or two. What the card can do that needs no button belongs in
9132
+ * `actions`, the overflow menu.
9133
+ */
9134
+ headerActions?: F0ButtonProps[];
9135
+ /**
9136
+ * WHAT THE CARD IS SHOWING, as a select in the same row — a scope switcher, as
9137
+ * data. See {@link WidgetHeaderSelect}: `SlotWidget` keeps the choice and
9138
+ * hands it to the slots as `ctx.selection`, so a widget declared as data can
9139
+ * still be switched without its host holding the value.
9140
+ */
9141
+ headerSelect?: WidgetHeaderSelect;
9142
+ } & ({
9115
9143
  alert?: WidgetProps["alert"];
9116
9144
  status?: never;
9117
9145
  } | {
@@ -10312,6 +10340,16 @@ export declare type NavigationFiltersState<Definition extends Record<string, Nav
10312
10340
  */
10313
10341
  export declare type NavigationFilterValue<T> = T extends DateNavigatorFilterDefinition ? DateValue : T extends undefined ? undefined : never;
10314
10342
 
10343
+ /**
10344
+ * The keys a date navigation can be set to. `periods` is not a member of the
10345
+ * static record — it has no definition until a consumer supplies its ranges —
10346
+ * so it widens only the types that can actually render it. Keeping it out of
10347
+ * `GranularityDefinitionKey` is what stops it leaking into every exhaustive map
10348
+ * over that key, in places (form-field presets, compare-to) where it can do
10349
+ * nothing.
10350
+ */
10351
+ export declare type NavigationGranularityKey = GranularityDefinitionKey | "periods";
10352
+
10315
10353
  declare type NavigationItem = Pick<LinkProps, "href" | "exactMatch" | "onClick"> & {
10316
10354
  label: string;
10317
10355
  } & DataAttributes_2;
@@ -11819,6 +11857,13 @@ declare type RequisitionProfile = {
11819
11857
 
11820
11858
  export declare type ResolvedRecordType<R> = R extends RecordType ? R : RecordType;
11821
11859
 
11860
+ /**
11861
+ * The definition behind a key with no consumer data to build it from. Only
11862
+ * `periods` has one: its empty definition renders the "no periods" state, which
11863
+ * is what a periods value without periods means.
11864
+ */
11865
+ export declare const resolveGranularityDefinition: (key: NavigationGranularityKey) => GranularityDefinition;
11866
+
11822
11867
  /** A renderer entry in its full form — a bare function is just its `render`. */
11823
11868
  export declare const resolveSlotRenderer: (entry: SlotRendererEntry | undefined) => {
11824
11869
  render: SlotRenderer;
@@ -12577,7 +12622,7 @@ export declare const slotRowBleed: (ctx: HomeRenderCtx) => string;
12577
12622
  */
12578
12623
  export declare type SlotSkeletonRenderer<P = unknown> = (params: P, ctx: HomeSkeletonCtx) => ReactNode;
12579
12624
 
12580
- export declare function SlotWidget({ header, params, fullHeight, action, summaries, headerControls, alert, status, slots, loading, slotRenderers, actions, flipped, onFlipBack, isDragging, ctx, }: SlotWidgetProps): JSX_2.Element;
12625
+ export declare function SlotWidget({ header, params, fullHeight, action, summaries, headerControls, headerActions, headerSelect, alert, status, slots, loading, slotRenderers, actions, flipped, onFlipBack, isDragging, ctx, }: SlotWidgetProps): JSX_2.Element;
12581
12626
 
12582
12627
  /**
12583
12628
  * A widget's CONTENT: the slot stack, with the dividers between slots and the
@@ -14355,6 +14400,34 @@ export declare type WidgetEmptyStateProps = {
14355
14400
  actions?: Action_2[];
14356
14401
  };
14357
14402
 
14403
+ /**
14404
+ * A SELECT IN THE WIDGET'S HEADER: which of several things the card is showing.
14405
+ *
14406
+ * The value lives in `SlotWidget`, not in the host — that is the point of it.
14407
+ * A host that builds its widgets as plain data has nowhere to keep a live
14408
+ * choice: params persist (and turn a switcher into a saved setting), and page
14409
+ * state means the page knowing about one particular widget. So the card keeps
14410
+ * it, hands it down to its slots (`ctx.selection`), and tells the host through
14411
+ * `onChange` if it wants to know.
14412
+ *
14413
+ * It is therefore a SESSION choice: the card starts at `value` every time it
14414
+ * mounts. A choice that should outlive the visit is a param, not this.
14415
+ */
14416
+ export declare interface WidgetHeaderSelect {
14417
+ /** What the reader can switch between. The first one is the default. */
14418
+ options: Array<{
14419
+ value: string;
14420
+ label: string;
14421
+ icon?: IconType;
14422
+ }>;
14423
+ /** Which one the card starts on. Defaults to the first option. */
14424
+ value?: string;
14425
+ /** The trigger names the selection, so this is what says what KIND it is. */
14426
+ tooltip?: string;
14427
+ /** Told when the reader picks another one. The card switches either way. */
14428
+ onChange?: (value: string) => void;
14429
+ }
14430
+
14358
14431
  export declare function WidgetHighlightButton({ label, count, icon, iconClassName, onClick, }: Props_7): JSX_2.Element;
14359
14432
 
14360
14433
  export declare function WidgetInboxList({ items, minSize, onClickItem, showAllItems, onVisibleItemsChange, }: Props_9): JSX_2.Element;
@@ -14727,18 +14800,6 @@ declare module "@tiptap/core" {
14727
14800
  }
14728
14801
 
14729
14802
 
14730
- declare module "@tiptap/core" {
14731
- interface Commands<ReturnType> {
14732
- enhanceHighlight: {
14733
- setEnhanceHighlight: (from: number, to: number, options?: {
14734
- placeholder?: string;
14735
- }) => ReturnType;
14736
- clearEnhanceHighlight: () => ReturnType;
14737
- };
14738
- }
14739
- }
14740
-
14741
-
14742
14803
  declare module "@tiptap/core" {
14743
14804
  interface Commands<ReturnType> {
14744
14805
  fontSize: {
@@ -14760,6 +14821,18 @@ declare module "@tiptap/core" {
14760
14821
  }
14761
14822
 
14762
14823
 
14824
+ declare module "@tiptap/core" {
14825
+ interface Commands<ReturnType> {
14826
+ enhanceHighlight: {
14827
+ setEnhanceHighlight: (from: number, to: number, options?: {
14828
+ placeholder?: string;
14829
+ }) => ReturnType;
14830
+ clearEnhanceHighlight: () => ReturnType;
14831
+ };
14832
+ }
14833
+ }
14834
+
14835
+
14763
14836
  declare module "@tiptap/core" {
14764
14837
  interface Commands<ReturnType> {
14765
14838
  moodTracker: {
@@ -1,22 +1,22 @@
1
- import { t as s, s as t, A as i, a as o, I as r, aq as n, ap as l, ar as d, B as S, v as C, x as g, K as m, ax as u, ay as c, aH as b, w as h, C as P, aw as p, aI as T, z as I, y as F, a2 as E, b0 as A, b7 as B, J as y, a$ as L, E as D, b as W, af as k, ag as v, D as O, am as _, F as x, i as N, l as R, n as f, j as H, c as M, p as V, q as w, H as G, aL as z, aM as U, aA as j, al as Y, aQ as q, as as K, a5 as X, aK as J, T as Q, ab as $, O as Z, bb as aa, U as ea, P as sa, L as ta, M as ia, at as oa, R as ra, aZ as na, b1 as la, S as da, a6 as Sa, a7 as Ca, Z as ga, _ as ma, $ as ua, Y as ca, a0 as ba, V as ha, a1 as Pa, a3 as pa, a4 as Ta, a8 as Ia, a9 as Fa, b5 as Ea, b4 as Aa, ao as Ba, an as ya, av as La, aJ as Da, aG as Wa, au as ka, aa as va, aB as Oa, b6 as _a, b9 as xa, az as Na, aE as Ra, aC as fa, ba as Ha, aF as Ma, aD as Va, b8 as wa, d as Ga, ae as za, b3 as Ua, b2 as ja, ai as Ya, f as qa, k as Ka, o as Xa, g as Ja, h as Qa, aT as $a, aR as Za, aj as ae, ak as ee, aP as se, aS as te, e as ie, r as oe, aX as re, aO as ne, aU as le, ac as de, a_ as Se, u as Ce, ad as ge, ah as me, aN as ue, Q as ce, N as be, G as he, X as Pe, W as pe, aY as Te, aW as Ie, aV as Fe } from "./experimental-KRMYiuya.js";
2
- import { dN as Ae, eo as Be, en as ye, eA as Le, dk as De, el as We, cd as ke, c3 as ve, ca as Oe, eg as _e, bY as xe, bY as Ne, bR as Re, eh as fe, cg as He, d_ as Me, ci as Ve, eD as we, em as Ge, ew as ze, ex as Ue, d5 as je, eB as Ye, k as qe, dO as Ke, cM as Xe, ek as Je, eq as Qe, ep as $e, T as Ze, h as as, bS as es, ey as ss, eE as ts, ez as is, eC as os, ev as rs, es as ns, eu as ls, er as ds, ei as Ss, ej as Cs, ec as gs, et as ms } from "./F0CanvasPanel-BUG53OPZ.js";
3
- import { aw as cs, ax as bs, a5 as hs, a6 as Ps, a3 as ps, ag as Ts, C as Is, a7 as Fs, aI as Es, ac as As, aH as Bs, af as ys, a4 as Ls, au as Ds, aK as Ws, aJ as ks, am as vs, ah as Os, ap as _s, aN as xs, a2 as Ns, ar as Rs, ao as fs, aj as Hs, aP as Ms, ak as Vs, as as ws, at as Gs, a8 as zs, aL as Us, aM as js, al as Ys, av as qs, aE as Ks, O as Xs, aG as Js, a9 as Qs, aR as $s, ab as Zs, ad as at, ap as et, aO as st, aq as tt, an as it, aQ as ot, aa as rt, W as nt, ae as lt, a1 as dt, $ as St, a0 as Ct, aA as gt, aB as mt, ay as ut, aF as ct, ai as bt, aC as ht, l as Pt, az as pt, aD as Tt, y as It } from "./CoachmarkProvider-C7PonJWi.js";
1
+ import { t as s, s as t, A as i, a as o, I as r, aq as n, ap as l, ar as d, B as S, v as C, x as g, K as m, ax as u, ay as c, aH as b, w as h, C as P, aw as p, aI as T, z as F, y as I, a2 as E, b0 as A, b7 as B, J as y, a$ as L, E as D, b as W, af as k, ag as v, D as O, am as _, F as f, i as x, l as N, n as R, j as H, c as M, p as V, q as w, H as G, aL as z, aM as U, aA as j, al as Y, aQ as q, as as K, a5 as X, aK as J, T as Q, ab as $, O as Z, bb as aa, U as ea, P as sa, L as ta, M as ia, at as oa, R as ra, aZ as na, b1 as la, S as da, a6 as Sa, a7 as Ca, Z as ga, _ as ma, $ as ua, Y as ca, a0 as ba, V as ha, a1 as Pa, a3 as pa, a4 as Ta, a8 as Fa, a9 as Ia, b5 as Ea, b4 as Aa, ao as Ba, an as ya, av as La, aJ as Da, aG as Wa, au as ka, aa as va, aB as Oa, b6 as _a, b9 as fa, az as xa, aE as Na, aC as Ra, ba as Ha, aF as Ma, aD as Va, b8 as wa, d as Ga, ae as za, b3 as Ua, b2 as ja, ai as Ya, f as qa, k as Ka, o as Xa, g as Ja, h as Qa, aT as $a, aR as Za, aj as ae, ak as ee, aP as se, aS as te, e as ie, r as oe, aX as re, aO as ne, aU as le, ac as de, a_ as Se, u as Ce, ad as ge, ah as me, aN as ue, Q as ce, N as be, G as he, X as Pe, W as pe, aY as Te, aW as Fe, aV as Ie } from "./experimental-DBE84eYE.js";
2
+ import { dN as Ae, eo as Be, en as ye, eB as Le, dk as De, el as We, cd as ke, c3 as ve, ca as Oe, eg as _e, bY as fe, bY as xe, bR as Ne, eh as Re, cg as He, d_ as Me, ci as Ve, eE as we, em as Ge, ex as ze, ey as Ue, d5 as je, eC as Ye, k as qe, dO as Ke, cM as Xe, ek as Je, eq as Qe, ep as $e, T as Ze, h as as, bS as es, ez as ss, eF as ts, eA as is, eD as os, ew as rs, et as ns, ev as ls, er as ds, ei as Ss, ej as Cs, ec as gs, eu as ms, es as us } from "./F0CanvasPanel-CZf80ymn.js";
3
+ import { aw as bs, ax as hs, a5 as Ps, a6 as ps, a3 as Ts, ag as Fs, C as Is, a7 as Es, aI as As, ac as Bs, aH as ys, af as Ls, a4 as Ds, au as Ws, aK as ks, aJ as vs, am as Os, ah as _s, ap as fs, aN as xs, a2 as Ns, ar as Rs, ao as Hs, aj as Ms, aP as Vs, ak as ws, as as Gs, at as zs, a8 as Us, aL as js, aM as Ys, al as qs, av as Ks, aE as Xs, O as Js, aG as Qs, a9 as $s, aR as Zs, ab as at, ad as et, ap as st, aO as tt, aq as it, an as ot, aQ as rt, aa as nt, W as lt, ae as dt, a1 as St, $ as Ct, a0 as gt, aA as mt, aB as ut, ay as ct, aF as bt, ai as ht, aC as Pt, l as pt, az as Tt, aD as Ft, y as It } from "./CoachmarkProvider-B8wLEqxh.js";
4
4
  export {
5
- cs as AUTO_PER_PAGE_MAX,
6
- bs as AUTO_PER_PAGE_MIN_RESERVED_ROWS,
5
+ bs as AUTO_PER_PAGE_MAX,
6
+ hs as AUTO_PER_PAGE_MIN_RESERVED_ROWS,
7
7
  s as ActivityItemList,
8
8
  t as ActivityItemListSkeleton,
9
9
  i as AiPromotionChat,
10
10
  o as AiPromotionChatProvider,
11
11
  r as ApplicationFrame,
12
- hs as AreaChart,
12
+ Ps as AreaChart,
13
13
  n as AreaChartWidget,
14
14
  l as AutoGrid,
15
15
  Ae as Badge,
16
- Ps as BarChart,
16
+ ps as BarChart,
17
17
  d as BarChartWidget,
18
18
  S as BaseActivityItemList,
19
- ps as BaseBanner,
19
+ Ts as BaseBanner,
20
20
  C as BaseCelebration,
21
21
  g as BaseCommunityPost,
22
22
  Be as BaseTabs,
@@ -24,19 +24,19 @@ export {
24
24
  m as Breadcrumbs,
25
25
  u as CalendarEvent,
26
26
  c as CalendarEventList,
27
- Ts as CardSelectableContainer,
27
+ Fs as CardSelectableContainer,
28
28
  Is as Carousel,
29
- Fs as CategoryBarChart,
29
+ Es as CategoryBarChart,
30
30
  b as CategoryBarSection,
31
31
  h as Celebration,
32
32
  P as CelebrationSkeleton,
33
33
  p as ChartWidgetEmptyState,
34
34
  Le as Chip,
35
35
  T as ClockInControls,
36
- Es as CoachmarkProvider,
37
- As as ComboChart,
38
- I as CommunityPost,
39
- F as CommunityPostSkeleton,
36
+ As as CoachmarkProvider,
37
+ Bs as ComboChart,
38
+ F as CommunityPost,
39
+ I as CommunityPostSkeleton,
40
40
  E as CompanySelector,
41
41
  De as Counter,
42
42
  A as DEFAULT_EXPECTED_ITEMS_COUNT,
@@ -44,72 +44,72 @@ export {
44
44
  y as DaytimePage,
45
45
  We as DetailsItem,
46
46
  ke as DetailsItemsList,
47
- Bs as Dialog,
47
+ ys as Dialog,
48
48
  ve as Dropdown,
49
49
  L as EVENT_LIST_GAP,
50
50
  D as EntitySelect,
51
- ys as F0ActionBar,
52
- Ls as F0AiBanner,
51
+ Ls as F0ActionBar,
52
+ Ds as F0AiBanner,
53
53
  Oe as F0AvatarModule,
54
54
  _e as F0ButtonToggle,
55
55
  W as F0Callout,
56
- xe as F0CardHorizontal,
57
- Ne as F0CardRow,
56
+ fe as F0CardHorizontal,
57
+ xe as F0CardRow,
58
58
  k as F0Chat,
59
59
  v as F0ChatProvider,
60
60
  O as F0CommunityPostsCarousel,
61
61
  _ as F0ENPSButton,
62
- x as F0EmojiPicker,
63
- Re as F0FileItem,
64
- Ds as F0FormEditableTable,
65
- N as F0Map,
66
- R as F0MapControls,
67
- f as F0MapList,
62
+ f as F0EmojiPicker,
63
+ Ne as F0FileItem,
64
+ Ws as F0FormEditableTable,
65
+ x as F0Map,
66
+ N as F0MapControls,
67
+ R as F0MapList,
68
68
  H as F0MapSkeleton,
69
69
  M as F0MeetingCard,
70
- Ws as F0NotesTextEditor,
71
- ks as F0NotesTextEditorSkeleton,
72
- vs as F0NumberInput,
73
- Os as F0PhoneInput,
74
- fe as F0ProgressSeries,
75
- _s as F0ResourceHeader,
70
+ ks as F0NotesTextEditor,
71
+ vs as F0NotesTextEditorSkeleton,
72
+ Os as F0NumberInput,
73
+ _s as F0PhoneInput,
74
+ Re as F0ProgressSeries,
75
+ fs as F0ResourceHeader,
76
76
  He as F0RichTextDisplay,
77
77
  xs as F0RichTextEditor,
78
78
  Me as F0SearchInput,
79
79
  V as F0SegmentedBar,
80
80
  Ns as F0SegmentedControl,
81
81
  Rs as F0TableOfContent,
82
- fs as F0TextAreaInput,
82
+ Hs as F0TextAreaInput,
83
83
  Ve as F0TextInput,
84
84
  w as F0VersionHistory,
85
- Hs as F1SearchBox,
86
- Ms as FILE_TYPES,
85
+ Ms as F1SearchBox,
86
+ Vs as FILE_TYPES,
87
87
  we as FileItem,
88
88
  G as HighlightBanner,
89
89
  z as HomeSlotItem,
90
90
  U as HomeSlotItems,
91
91
  j as IndicatorsList,
92
- Vs as Input,
93
- ws as Item,
94
- Gs as ItemSectionHeader,
92
+ ws as Input,
93
+ Gs as Item,
94
+ zs as ItemSectionHeader,
95
95
  Y as LATEST,
96
96
  q as LIST_COMPACT_AFTER,
97
- zs as LineChart,
97
+ Us as LineChart,
98
98
  K as LineChartWidget,
99
99
  X as Menu,
100
100
  Ge as MobileDropdown,
101
101
  J as NewHomeLayout,
102
- Us as NotesTextEditor,
103
- js as NotesTextEditorSkeleton,
104
- Ys as NumberInput,
102
+ js as NotesTextEditor,
103
+ Ys as NotesTextEditorSkeleton,
104
+ qs as NumberInput,
105
105
  Q as OmniButton,
106
106
  $ as OneApprovalHistory,
107
107
  ze as OneCalendar,
108
108
  Ue as OneCalendarInternal,
109
- qs as OneDataCollection,
110
- Ks as OneDateNavigator,
111
- Xs as OneEmptyState,
112
- Js as OnePagination,
109
+ Ks as OneDataCollection,
110
+ Xs as OneDateNavigator,
111
+ Js as OneEmptyState,
112
+ Qs as OnePagination,
113
113
  Z as OnePersonListItem,
114
114
  aa as OneRestrictComponent,
115
115
  ea as Page,
@@ -117,20 +117,20 @@ export {
117
117
  ta as PageHeaderNavigationContext,
118
118
  ia as PageHeaderNavigationProvider,
119
119
  je as PageNavigation,
120
- Qs as PieChart,
120
+ $s as PieChart,
121
121
  oa as PieChartWidget,
122
- $s as PrivateBox,
123
- Zs as ProgressBarChart,
124
- at as RadarChart,
122
+ Zs as PrivateBox,
123
+ at as ProgressBarChart,
124
+ et as RadarChart,
125
125
  ra as Reactions,
126
- et as ResourceHeader,
126
+ st as ResourceHeader,
127
127
  Ye as RichTextDisplay,
128
- st as RichTextEditor,
128
+ tt as RichTextEditor,
129
129
  na as SLOT_ROW_BLEED,
130
130
  la as SLOT_SKELETON_ITEM_TESTID,
131
131
  da as ScrollArea,
132
132
  Sa as SearchBar,
133
- tt as SectionHeader,
133
+ it as SectionHeader,
134
134
  qe as Select,
135
135
  Ke as Shortcut,
136
136
  Ca as Sidebar,
@@ -143,8 +143,8 @@ export {
143
143
  Pa as SidebarCollapsibleSection,
144
144
  pa as SidebarFooter,
145
145
  Ta as SidebarHeader,
146
- Ia as SidebarTabPanel,
147
- Fa as SidebarTabs,
146
+ Fa as SidebarTabPanel,
147
+ Ia as SidebarTabs,
148
148
  Ea as SlotWidget,
149
149
  Aa as SlotWidgetContent,
150
150
  Xe as Spinner,
@@ -155,38 +155,38 @@ export {
155
155
  Qe as Tabs,
156
156
  $e as TabsSkeleton,
157
157
  Da as TasksList,
158
- it as Textarea,
158
+ ot as Textarea,
159
159
  Ze as ToggleGroup,
160
160
  as as ToggleGroupItem,
161
161
  es as Tooltip,
162
162
  Wa as TwoColumnsList,
163
- ot as UPLOAD_INPUT_ID,
164
- rt as VerticalBarChart,
163
+ rt as UPLOAD_INPUT_ID,
164
+ nt as VerticalBarChart,
165
165
  ka as VerticalBarChartWidget,
166
166
  va as VirtualList,
167
167
  ss as WeekStartDay,
168
168
  ts as Weekdays,
169
- nt as Widget,
169
+ lt as Widget,
170
170
  Oa as WidgetAvatarsListItem,
171
171
  _a as WidgetCatalog,
172
- xa as WidgetEmptyState,
173
- Na as WidgetHighlightButton,
174
- Ra as WidgetInboxList,
175
- fa as WidgetInboxListItem,
172
+ fa as WidgetEmptyState,
173
+ xa as WidgetHighlightButton,
174
+ Na as WidgetInboxList,
175
+ Ra as WidgetInboxListItem,
176
176
  Ha as WidgetSection,
177
177
  Ma as WidgetSimpleList,
178
178
  Va as WidgetSimpleListItem,
179
179
  wa as WidgetStrip,
180
- lt as actionBarStatuses,
180
+ dt as actionBarStatuses,
181
181
  Ga as attendeesDisplays,
182
- dt as buttonToggleColors,
183
- St as buttonToggleSizes,
184
- Ct as buttonToggleVariants,
182
+ St as buttonToggleColors,
183
+ Ct as buttonToggleSizes,
184
+ gt as buttonToggleVariants,
185
185
  is as chipVariants,
186
186
  za as coachmarks,
187
187
  Ua as defaultSlotRenderers,
188
188
  ja as defaultSlotSkeleton,
189
- gt as downloadAsCSV,
189
+ mt as downloadAsCSV,
190
190
  Ya as f0ChatSenderColors,
191
191
  qa as f0EmojiPickerSizes,
192
192
  os as f0FileItemSizes,
@@ -195,8 +195,8 @@ export {
195
195
  Ja as f0ProgressSeriesColors,
196
196
  Qa as f0ProgressSeriesSizes,
197
197
  $a as fromParams,
198
- mt as generateCSVContent,
199
- ut as getAutoPerPageMinHeight,
198
+ ut as generateCSVContent,
199
+ ct as getAutoPerPageMinHeight,
200
200
  rs as getGranularityDefinition,
201
201
  ns as getGranularityDefinitions,
202
202
  ls as getGranularitySimpleDefinition,
@@ -211,21 +211,22 @@ export {
211
211
  ie as meetingStates,
212
212
  gs as modules,
213
213
  oe as phoneInputSizes,
214
- ct as predefinedPresets,
214
+ bt as predefinedPresets,
215
215
  re as railActionTones,
216
216
  ms as rangeSeparator,
217
+ us as resolveGranularityDefinition,
217
218
  ne as resolveSlotRenderer,
218
219
  le as resolveWidgetHeader,
219
220
  de as seedFromStorage,
220
- bt as selectSizes,
221
+ ht as selectSizes,
221
222
  Se as slotRowBleed,
222
223
  Ce as useAiPromotionChat,
223
- ht as useDataCollectionData,
224
+ Pt as useDataCollectionData,
224
225
  ge as useDataCollectionItemNavigation,
225
- Pt as useDataCollectionSource,
226
- pt as useExportAction,
226
+ pt as useDataCollectionSource,
227
+ Tt as useExportAction,
227
228
  me as useF0Chat,
228
- Tt as useInfiniteScrollPagination,
229
+ Ft as useInfiniteScrollPagination,
229
230
  ue as useIsBulkChange,
230
231
  ce as usePageHeaderItemNavigation,
231
232
  be as usePageHeaderNavigation,
@@ -234,6 +235,6 @@ export {
234
235
  pe as useSidebarChats,
235
236
  It as useWidgetIsWide,
236
237
  Te as widgetChrome,
237
- Ie as widgetParamsAreComplete,
238
- Fe as widgetTitle
238
+ Fe as widgetParamsAreComplete,
239
+ Ie as widgetTitle
239
240
  };
package/dist/f0.d.ts CHANGED
@@ -4448,8 +4448,8 @@ export declare type DateNavigationOptions = {
4448
4448
  };
4449
4449
 
4450
4450
  declare type DateNavigationOptions_2 = {
4451
- granularity?: GranularityDefinitionKey[] | GranularityDefinitionKey;
4452
- defaultGranularity?: GranularityDefinitionKey;
4451
+ granularity?: NavigationGranularityKey[] | NavigationGranularityKey;
4452
+ defaultGranularity?: NavigationGranularityKey;
4453
4453
  min?: Date;
4454
4454
  max?: Date;
4455
4455
  presets?: DatePreset[];
@@ -4482,14 +4482,14 @@ export declare type DatePeriodsDefinition = {
4482
4482
  periods: DatePeriod[];
4483
4483
  };
4484
4484
 
4485
- declare type DatePickerCompareTo = Partial<Record<GranularityDefinitionKey, CompareToDef[]>>;
4485
+ declare type DatePickerCompareTo = Partial<Record<NavigationGranularityKey, CompareToDef[]>>;
4486
4486
 
4487
4487
  declare interface DatePickerPopupProps {
4488
4488
  onSelect?: (value: DatePickerValue_2 | undefined) => void;
4489
4489
  value?: DatePickerValue_2;
4490
4490
  defaultValue?: DatePickerValue_2;
4491
4491
  presets?: DatePreset[];
4492
- granularities?: GranularityDefinitionKey[];
4492
+ granularities?: NavigationGranularityKey[];
4493
4493
  minDate?: Date;
4494
4494
  maxDate?: Date;
4495
4495
  disabled?: boolean;
@@ -4518,7 +4518,7 @@ export declare type DatePickerValue = DatePickerValue_2;
4518
4518
 
4519
4519
  declare type DatePickerValue_2 = {
4520
4520
  value: DateRangeComplete | undefined;
4521
- granularity: GranularityDefinitionKey;
4521
+ granularity: NavigationGranularityKey;
4522
4522
  };
4523
4523
 
4524
4524
  export declare interface DatePreset {
@@ -4606,7 +4606,7 @@ export declare type DateStringFormat = "default" | "long";
4606
4606
  declare type DateValue = {
4607
4607
  value: DateRangeComplete;
4608
4608
  valueString: string;
4609
- granularity: GranularityDefinitionKey;
4609
+ granularity: NavigationGranularityKey;
4610
4610
  };
4611
4611
 
4612
4612
  declare type DefaultAction = BannerAction;
@@ -9699,7 +9699,9 @@ export declare const F0DatePicker: WithDataTestIdReturnType_3<typeof F0DatePicke
9699
9699
 
9700
9700
  declare function F0DatePicker_2({ onChange, value, presets, granularities, minDate, maxDate, open, showIcon, displayFormat, selectOnCellOnly, ...inputProps }: F0DatePickerProps): JSX_2.Element;
9701
9701
 
9702
- export declare type F0DatePickerProps = Pick<DatePickerPopupProps, "granularities" | "minDate" | "maxDate" | "presets" | "open" | "onOpenChange" | "selectOnCellOnly"> & {
9702
+ export declare type F0DatePickerProps = Pick<DatePickerPopupProps, "minDate" | "maxDate" | "presets" | "open" | "onOpenChange" | "selectOnCellOnly"> & {
9703
+ /** The picker has no `periods` prop, so it can only offer the calendar granularities. */
9704
+ granularities?: GranularityDefinitionKey[];
9703
9705
  showIcon?: boolean;
9704
9706
  /** Controls how the selected date is displayed in the input. Defaults to "long" (e.g. "01 Aug 2025"). Use "default" for dd/MM/yyyy. */
9705
9707
  displayFormat?: DateStringFormat;
@@ -13934,7 +13936,7 @@ export declare function getEmojiLabel(emoji: string): string;
13934
13936
  */
13935
13937
  export declare function getF0Config(schema: ZodTypeAny): F0FieldConfig | undefined;
13936
13938
 
13937
- export declare const getGranularityDefinition: (granularityKey: GranularityDefinitionKey) => GranularityDefinition;
13939
+ export declare const getGranularityDefinition: (granularityKey: NavigationGranularityKey) => GranularityDefinition;
13938
13940
 
13939
13941
  /**
13940
13942
  * Get granularity definitions with week granularity configured with the specified weekStartsOn.
@@ -13948,7 +13950,7 @@ export declare const getGranularityDefinition: (granularityKey: GranularityDefin
13948
13950
  */
13949
13951
  export declare function getGranularityDefinitions(options?: WeekStartsOn | GranularityDefinitionsOptions): Record<string, GranularityDefinition>;
13950
13952
 
13951
- export declare const getGranularitySimpleDefinition: (granularityKey: GranularityDefinitionKey) => GranularityDefinitionSimple;
13953
+ export declare const getGranularitySimpleDefinition: (granularityKey: NavigationGranularityKey) => GranularityDefinitionSimple;
13952
13954
 
13953
13955
  /**
13954
13956
  * Non-hook version for extracting definition outside of React components.
@@ -14008,7 +14010,6 @@ export declare const granularityDefinitions: {
14008
14010
  readonly halfyear: GranularityDefinition;
14009
14011
  readonly year: GranularityDefinition;
14010
14012
  readonly range: GranularityDefinition;
14011
- readonly periods: GranularityDefinition;
14012
14013
  };
14013
14014
 
14014
14015
  export declare type GranularityDefinitionSimple = Pick<GranularityDefinition, "toRangeString" | "toString">;
@@ -15534,6 +15535,16 @@ declare type NavigationFiltersState<Definition extends Record<string, Navigation
15534
15535
  */
15535
15536
  declare type NavigationFilterValue<T> = T extends DateNavigatorFilterDefinition ? DateValue : T extends undefined ? undefined : never;
15536
15537
 
15538
+ /**
15539
+ * The keys a date navigation can be set to. `periods` is not a member of the
15540
+ * static record — it has no definition until a consumer supplies its ranges —
15541
+ * so it widens only the types that can actually render it. Keeping it out of
15542
+ * `GranularityDefinitionKey` is what stops it leaking into every exhaustive map
15543
+ * over that key, in places (form-field presets, compare-to) where it can do
15544
+ * nothing.
15545
+ */
15546
+ export declare type NavigationGranularityKey = GranularityDefinitionKey | "periods";
15547
+
15537
15548
  declare type NavigationItem = Pick<LinkProps, "href" | "exactMatch" | "onClick"> & {
15538
15549
  label: string;
15539
15550
  } & DataAttributes_2;
@@ -17130,6 +17141,13 @@ export declare interface ResolvedStepAnswer {
17130
17141
  cancelled?: boolean;
17131
17142
  }
17132
17143
 
17144
+ /**
17145
+ * The definition behind a key with no consumer data to build it from. Only
17146
+ * `periods` has one: its empty definition renders the "no periods" state, which
17147
+ * is what a periods value without periods means.
17148
+ */
17149
+ export declare const resolveGranularityDefinition: (key: NavigationGranularityKey) => GranularityDefinition;
17150
+
17133
17151
  /**
17134
17152
  * Normalizes the three `fetchItemNeighbors` return channels (sync value,
17135
17153
  * Promise, Observable of PromiseState) into a single one-shot Promise.
@@ -20250,18 +20268,6 @@ declare module "@tiptap/core" {
20250
20268
  }
20251
20269
 
20252
20270
 
20253
- declare module "@tiptap/core" {
20254
- interface Commands<ReturnType> {
20255
- enhanceHighlight: {
20256
- setEnhanceHighlight: (from: number, to: number, options?: {
20257
- placeholder?: string;
20258
- }) => ReturnType;
20259
- clearEnhanceHighlight: () => ReturnType;
20260
- };
20261
- }
20262
- }
20263
-
20264
-
20265
20271
  declare module "@tiptap/core" {
20266
20272
  interface Commands<ReturnType> {
20267
20273
  fontSize: {
@@ -20283,6 +20289,18 @@ declare module "@tiptap/core" {
20283
20289
  }
20284
20290
 
20285
20291
 
20292
+ declare module "@tiptap/core" {
20293
+ interface Commands<ReturnType> {
20294
+ enhanceHighlight: {
20295
+ setEnhanceHighlight: (from: number, to: number, options?: {
20296
+ placeholder?: string;
20297
+ }) => ReturnType;
20298
+ clearEnhanceHighlight: () => ReturnType;
20299
+ };
20300
+ }
20301
+ }
20302
+
20303
+
20286
20304
  declare module "@tiptap/core" {
20287
20305
  interface Commands<ReturnType> {
20288
20306
  moodTracker: {