@factorialco/f0-react 6.106.2 → 7.1.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.
Files changed (26) hide show
  1. package/dist/{ChatPdfThumbnail-BBkKUIna.js → ChatPdfThumbnail-Dw1R3THd.js} +1 -1
  2. package/dist/{ChatPostComposerDialog-LnMydfgA.js → ChatPostComposerDialog-DKd8Zzwt.js} +3 -3
  3. package/dist/{CoachmarkProvider-B6FMGmgt.js → CoachmarkProvider-DnRFYjW-.js} +1 -1
  4. package/dist/{DocumentToolbar-DbU37sMF.js → DocumentToolbar-BHXNjAJR.js} +2 -2
  5. package/dist/{DocxViewer-CfszlgFK.js → DocxViewer-BDY9E_L-.js} +2 -2
  6. package/dist/{F0AiProcessingOverlay-D13gKNUX.js → F0AiProcessingOverlay-CsLaP2GX.js} +1 -1
  7. package/dist/{F0CanvasPanel-DIBlg0Nk.js → F0CanvasPanel-C57zh5Pt.js} +12822 -12822
  8. package/dist/{F0VideoPlayer-BDPhqyXP.js → F0VideoPlayer-C98XoPBg.js} +1 -1
  9. package/dist/{LocationMap-D7NyG1ec.js → LocationMap-tJNhlvUk.js} +1 -1
  10. package/dist/{SheetViewer-DVGOOMSX.js → SheetViewer-DI1R3VDL.js} +2 -2
  11. package/dist/{TextViewer-DmuZULvX.js → TextViewer-CsQHV3aZ.js} +2 -2
  12. package/dist/ai.d.ts +0 -133
  13. package/dist/ai.js +2 -2
  14. package/dist/component-status.js +1 -1
  15. package/dist/{experimental-CL_I_K54.js → experimental-SmtCrbMW.js} +906 -907
  16. package/dist/experimental.d.ts +21 -168
  17. package/dist/experimental.js +3 -3
  18. package/dist/f0.d.ts +65 -133
  19. package/dist/f0.js +13143 -13008
  20. package/dist/i18n-provider-defaults.d.ts +0 -133
  21. package/dist/i18n-provider-defaults.js +0 -198
  22. package/dist/index-B6tKs7JE.js +4 -0
  23. package/dist/{index-C1OwyvUq.js → index-rtT704Nz.js} +3 -3
  24. package/dist/{pdfWorker-Cu_EyUqJ.js → pdfWorker-Dhxt7AiH.js} +2 -2
  25. package/package.json +1 -1
  26. package/dist/index-DPQYqI6O.js +0 -4
@@ -5639,12 +5639,6 @@ declare const defaultTranslations: {
5639
5639
  readonly exporting: "Exporting…";
5640
5640
  };
5641
5641
  readonly dashboardItem: {
5642
- /**
5643
- * Deliberately not `ai.ask` ("Ask One" by default here, but hosts
5644
- * override it — factorial renders it as plain "Ask" for the widget and
5645
- * insight-card buttons). This menu entry needs the product name spelled
5646
- * out, so it owns its own key.
5647
- */
5648
5642
  readonly askOne: "Ask One";
5649
5643
  readonly chartType: "Chart type";
5650
5644
  readonly errorTitle: "Error loading data";
@@ -5893,140 +5887,18 @@ declare const defaultTranslations: {
5893
5887
  readonly discard: "Discard";
5894
5888
  readonly keepEditing: "Keep editing";
5895
5889
  readonly publishError: "Couldn't publish this post";
5896
- readonly emptyTitle: "No posts yet";
5897
- readonly emptyDescription: "Posts shared in this community will appear here.";
5898
- readonly emptyDescriptionCanPost: "Be the first to post here.";
5899
5890
  readonly pinnedPost: "Pinned post";
5900
5891
  readonly pinnedPosts: "Pinned";
5901
- readonly pinnedPostsCount: {
5902
- readonly one: "{{count}} pinned post";
5903
- readonly other: "{{count}} pinned posts";
5904
- };
5905
- readonly pinPost: "Pin post";
5906
5892
  readonly unpinPost: "Unpin post";
5907
5893
  readonly goToPost: "Go to post";
5908
- readonly noPinnedPosts: "No pinned posts";
5909
- readonly noPinnedPostsDescription: "Pin a post and it stays at the top of this community.";
5910
5894
  readonly scheduledPosts: "Scheduled";
5911
- readonly scheduledPostsCount: {
5912
- readonly one: "{{count}} scheduled post";
5913
- readonly other: "{{count}} scheduled posts";
5914
- };
5915
5895
  readonly scheduledEvent: "Event";
5916
- /** The preview's bar, e.g. "Publishes 4 Jun at 09:00". */
5917
- readonly publishesAt: "Publishes {{when}}";
5918
- readonly noScheduledPosts: "Nothing scheduled";
5919
- readonly noScheduledPostsDescription: "Posts you schedule will wait here until their time.";
5920
- readonly scheduledActions: "Scheduled post actions";
5921
- readonly publishNow: "Publish now";
5922
- readonly cancelScheduled: "Cancel";
5923
5896
  readonly draftPosts: "Drafts";
5924
- readonly draftPostsCount: {
5925
- readonly one: "{{count}} draft";
5926
- readonly other: "{{count}} drafts";
5927
- };
5928
- /** Where a scheduled row prints its date, a draft prints this. */
5929
5897
  readonly draftUntitled: "Untitled post";
5930
5898
  readonly draftSavedAt: "Saved {{when}}";
5931
- readonly publishDraft: "Publish";
5932
- readonly deleteDraft: "Delete draft";
5933
5899
  readonly shelfLabel: "Pinned, scheduled and draft posts";
5934
5900
  };
5935
5901
  };
5936
- readonly communities: {
5937
- readonly composer: {
5938
- readonly createPost: "Create post";
5939
- readonly createEvent: "Create event";
5940
- readonly editPost: "Edit post";
5941
- readonly basicInformation: "Basic information";
5942
- readonly postSettings: "Post settings";
5943
- readonly postCover: "Post cover";
5944
- readonly addMedia: "Drag and drop or click here";
5945
- readonly addMediaSubtitle: "any image, video or GIF";
5946
- readonly addMediaSize: "1200x600px";
5947
- readonly deletePhoto: "Delete photo";
5948
- readonly deleteVideo: "Delete video";
5949
- readonly coverActions: "Cover options";
5950
- readonly title: "Title";
5951
- readonly titlePlaceholder: "e.g. World Mental Health Day";
5952
- readonly description: "Description";
5953
- readonly descriptionPlaceholder: "Share what's special about it";
5954
- readonly attachmentsSizePerPost: "Up to 150 MB in attachments per post";
5955
- readonly previousAttachments: "Previously added attachments";
5956
- readonly isEventLabel: "This is an event";
5957
- readonly isEventDescription: "Select this to include a date, time, and location for this event.";
5958
- readonly eventStartDate: "Event start date";
5959
- readonly eventStartTime: "Start time";
5960
- readonly eventLocation: "Event location";
5961
- readonly eventLocationPlaceholder: "Where will this take place?";
5962
- readonly requireAction: "Require action";
5963
- readonly requireActionDescription: "Select how you want to track that users have taken the required action";
5964
- readonly actionType: "Action type";
5965
- readonly actionTypePlaceholder: "Select action type";
5966
- readonly actionTypeAcknowledge: "Acknowledge post";
5967
- readonly actionTypeAcknowledgeDescription: "Employees read and acknowledge the post";
5968
- readonly actionTypeWatchVideo: "Watch video";
5969
- readonly actionTypeWatchVideoDescription: "Employees watch the entire video";
5970
- readonly actionTypeClickedLink: "Clicked a link";
5971
- readonly actionTypeClickedLinkDescription: "Employees click the first link in the post";
5972
- readonly actionTypeComingSoon: "Coming soon";
5973
- readonly continue: "Continue";
5974
- readonly publishTitle: "Publish";
5975
- readonly publishDescription: "When publishing the post, it will be visible in the dashboard of each employee.";
5976
- readonly publish: "Publish";
5977
- readonly selectCommunity: "Select community";
5978
- readonly allowCommentsAndReactions: "Allow comments and reactions.";
5979
- readonly sendEmailNotification: "Send email notification";
5980
- readonly schedulePost: "Schedule post";
5981
- readonly scheduleDate: "Date";
5982
- readonly scheduleTime: "Time";
5983
- readonly confirm: "Confirm";
5984
- readonly cancel: "Cancel";
5985
- readonly saveAsDraft: "Save as draft";
5986
- readonly save: "Save";
5987
- readonly cantBeEmpty: "can't be empty";
5988
- readonly invalidInput: "Invalid input. Only alphanumeric characters are allowed";
5989
- readonly publishedSuccess: "The post has been published";
5990
- readonly scheduledSuccess: "The post has been scheduled";
5991
- readonly draftSuccess: "The post has been saved as draft";
5992
- readonly publishError: "There was an error creating the post, please try again.";
5993
- };
5994
- readonly detail: {
5995
- readonly postActions: "Post actions";
5996
- readonly edit: "Edit post";
5997
- readonly delete: "Delete post";
5998
- readonly deleteDescription: "Are you sure you want to delete this post? This action cannot be undone.";
5999
- readonly proceed: "Proceed";
6000
- readonly turnInteractionsOff: "Turn comments and reactions off";
6001
- readonly turnInteractionsOn: "Turn comments and reactions on";
6002
- readonly insights: "Insights";
6003
- readonly visits: {
6004
- readonly one: "Visit";
6005
- readonly other: "Visits";
6006
- };
6007
- readonly postViews: "Post views";
6008
- readonly anonymous: "Anonymous";
6009
- readonly comments: {
6010
- readonly one: "{{count}} comment";
6011
- readonly other: "{{count}} comments";
6012
- };
6013
- readonly commentPlaceholder: "Click here to write a comment...";
6014
- readonly submit: "Submit";
6015
- readonly deleteComment: "Delete comment";
6016
- readonly deleteCommentDescription: "Are you sure you want to delete this comment? This action cannot be undone.";
6017
- readonly editComment: "Edit";
6018
- readonly acknowledgeRequired: "Post acknowledgement required";
6019
- readonly acknowledge: "I acknowledge";
6020
- readonly acknowledgeLater: "Acknowledge later";
6021
- readonly acknowledgedOn: "Acknowledged on {{date}}, at {{time}}";
6022
- readonly closePostTitle: "Close post?";
6023
- readonly closePostDescription: "You haven't acknowledged this post yet. You can acknowledge it later.";
6024
- readonly closePost: "Close post";
6025
- readonly continueReading: "Continue reading";
6026
- readonly close: "Close";
6027
- readonly home: "Home";
6028
- };
6029
- };
6030
5902
  readonly dataChart: {
6031
5903
  readonly heatmapNotSupported: "Heatmap not supported at this size";
6032
5904
  readonly barChartVertical: "Bar (vertical)";
@@ -6353,19 +6225,14 @@ declare const defaultTranslations: {
6353
6225
  readonly stepOf: "Step {{current}} of {{total}}";
6354
6226
  };
6355
6227
  readonly widgets: {
6356
- /** Turns a widget over to read what it is telling you (Home's `info`). */
6357
6228
  readonly whatThisMeans: "What this info means?";
6358
- /** The button on that other side, which turns it back. */
6359
6229
  readonly gotIt: "Got it";
6360
- /** The widget menu's own items, and the dialogs they open. */
6361
6230
  readonly editParams: "Edit params";
6362
6231
  readonly editParamsTitle: "Edit widget params";
6363
6232
  readonly removeWidget: "Remove widget";
6364
6233
  readonly addWidget: "Add widget";
6365
6234
  readonly configureWidget: "Configure {{title}}";
6366
- /** Heads the widgets a Home suggests, at the top of the picker. */
6367
6235
  readonly recommended: "Recommended";
6368
- /** Why a drop onto a pinned widget was refused. `{{title}}` is its name. */
6369
6236
  readonly cannotMoveHere: "You can't move a widget here — {{title}} is locked.";
6370
6237
  };
6371
6238
  readonly pdfViewer: {
@@ -7982,7 +7849,12 @@ export declare type F0ChatChannelType = "dm" | "group" | "announcement" | "commu
7982
7849
  export declare type F0ChatComposableAttachment = Exclude<F0ChatAttachment, F0ChatCardAttachment>;
7983
7850
 
7984
7851
  /**
7985
- * What the post composer produces — the whole form, not a subset.
7852
+ * What a post composer produces.
7853
+ *
7854
+ * F0's own built-in dialog fills only `title`, `description` and `mentions` —
7855
+ * the rest is the contract a HOST's composer fills when it answers
7856
+ * `composePost`, and the shape `createPost` will grow into. All of it is
7857
+ * optional, so neither side has to know about the other's fields.
7986
7858
  *
7987
7859
  * Files go RAW, un-uploaded: a post's media belongs in its own storage rather
7988
7860
  * than the chat's attachment bucket, so reusing `uploadFiles` would leave it in
@@ -8029,7 +7901,7 @@ export declare type F0ChatCreatePostInput = {
8029
7901
  * same reason: a draft has no moment to bring forward, so it is published or
8030
7902
  * deleted, never "published NOW" or "cancelled".
8031
7903
  */
8032
- declare type F0ChatDraftPost = {
7904
+ export declare type F0ChatDraftPost = {
8033
7905
  id: string;
8034
7906
  /** May be empty — a draft is unfinished by definition, title included. */
8035
7907
  title: string;
@@ -8399,7 +8271,7 @@ export declare type F0ChatMessageStatus = "sending" | "sent" | "delivered" | "re
8399
8271
  * A pinned post as the bar needs it: enough to name it, and its id to jump to.
8400
8272
  * The post itself is fetched by the jump, not carried here.
8401
8273
  */
8402
- declare type F0ChatPinnedPost = {
8274
+ export declare type F0ChatPinnedPost = {
8403
8275
  id: string;
8404
8276
  title: string;
8405
8277
  /** ISO — when it was pinned, which is what orders the list. */
@@ -8454,9 +8326,11 @@ export declare type F0ChatPost = {
8454
8326
  */
8455
8327
  author?: F0ChatUser;
8456
8328
  /**
8457
- * Whether the current user wrote it. Feeds the default edit/delete policy in
8458
- * `postActions` — NOT any alignment: a post is never tinted "mine", it takes
8459
- * the full width for everyone.
8329
+ * Whether the current user wrote it. F0 reads nothing from it — `postActions`
8330
+ * is entirely the host's, and there is no default edit/delete policy. It is
8331
+ * here so a consumer can ask "mine?" across the whole `F0ChatItem` union
8332
+ * without narrowing first. NOT alignment: a post is never tinted "mine", it
8333
+ * takes the full width for everyone.
8460
8334
  */
8461
8335
  isMine?: boolean;
8462
8336
  /** One-line headline, always visible (the card clamps it to two lines). */
@@ -8564,19 +8438,8 @@ export declare type F0ChatPostAttachment = {
8564
8438
  url: string;
8565
8439
  };
8566
8440
 
8567
- /** A comment on a post. */
8568
- export declare type F0ChatPostComment = {
8569
- id: string;
8570
- author: F0ChatUser;
8571
- /** Sanitized HTML — comments carry mentions, so they are not plain text. */
8572
- text: string;
8573
- createdAt: string;
8574
- /** Whether the current user may edit or delete it. */
8575
- isMine?: boolean;
8576
- };
8577
-
8578
8441
  /** The community a post came from, for an aggregated feed's origin label. */
8579
- declare type F0ChatPostCommunity = {
8442
+ export declare type F0ChatPostCommunity = {
8580
8443
  id: string;
8581
8444
  /** As the reader knows it — "Barcelona", "Company news". No `#`. */
8582
8445
  name: string;
@@ -8611,14 +8474,6 @@ export declare type F0ChatPostRequiredAction = {
8611
8474
  completedAt?: string;
8612
8475
  };
8613
8476
 
8614
- /** One entry of "who has opened this post". */
8615
- export declare type F0ChatPostVisit = {
8616
- id: string;
8617
- /** Absent when the host cannot resolve the visitor — rendered as "Anonymous". */
8618
- author?: F0ChatUser;
8619
- createdAt: string;
8620
- };
8621
-
8622
8477
  export declare type F0ChatProps = {
8623
8478
  /** Whether the hosting panel is in fullscreen (controls the header toggle icon). */
8624
8479
  isFullscreen?: boolean;
@@ -8955,7 +8810,7 @@ export declare type F0ChatRuntime = {
8955
8810
  };
8956
8811
 
8957
8812
  /** A post waiting for its moment. */
8958
- declare type F0ChatScheduledPost = {
8813
+ export declare type F0ChatScheduledPost = {
8959
8814
  id: string;
8960
8815
  title: string;
8961
8816
  /** ISO — when it becomes visible. */
@@ -8997,7 +8852,7 @@ export declare type F0ChatSendInput = {
8997
8852
  * counters, no reactions — nothing has happened yet), so the host closes over
8998
8853
  * the one it is building the menu for instead of being handed it back.
8999
8854
  */
9000
- declare type F0ChatShelfAction = {
8855
+ export declare type F0ChatShelfAction = {
9001
8856
  id: string;
9002
8857
  label: string;
9003
8858
  icon?: IconType;
@@ -15691,8 +15546,6 @@ export declare type SidePanelContent = {
15691
15546
  };
15692
15547
 
15693
15548
  declare type SidePanelContextValue = {
15694
- /** Every view declared for this frame, in declaration order. */
15695
- views: SidePanelViewDefinition[];
15696
15549
  /**
15697
15550
  * Whether anything can occupy the panel. False means the panel does not
15698
15551
  * exist: no chrome, no reserved width, no DOM.
@@ -15764,16 +15617,16 @@ export declare type SidePanelLayout = "sidepanel" | "fullscreen";
15764
15617
  * communications and no assistant got no panel.
15765
15618
  */
15766
15619
  export declare type SidePanelViewDefinition = {
15620
+ /**
15621
+ * Names the claim on the panel — `"ai"` is f0's own. Host bookkeeping: the
15622
+ * panel never looks a view up by it, and the id it restores on reload is the
15623
+ * CONTENT's, not this one.
15624
+ */
15767
15625
  id: string;
15768
15626
  /** Can this view occupy the panel at all? @default true */
15769
15627
  available?: boolean;
15770
15628
  /** Edge this view docks to. Falls back to the panel's `side`. */
15771
15629
  side?: "left" | "right";
15772
- /**
15773
- * Static renderer, for views that own their whole surface (the AI chat).
15774
- * Omit for views whose content is pushed at runtime via `present()`.
15775
- */
15776
- render?: () => React.ReactNode;
15777
15630
  };
15778
15631
 
15779
15632
  /**
@@ -1,6 +1,6 @@
1
- import { H as s, G as t, A as i, b as o, U as r, aD as n, aC as l, aE as d, D as S, I as C, M as g, W as m, aK as u, aL as b, aU as c, K as h, J as P, aJ as T, aV as p, O as F, N as I, ab as E, bf as A, bm as B, V as L, be as y, E as D, d as W, g as k, n as v, as as _, at as O, aq as f, P as N, az as R, F as M, y as x, o as H, r as V, t as G, p as w, h as z, w as U, x as j, L as K, aY as q, aZ as J, aN as Q, ay as X, b1 as Y, bc as $, aF as Z, ae as aa, aX as ea, a0 as sa, ak as ta, Q as ia, bq as oa, a1 as ra, X as na, Y as la, Z as da, aG as Sa, R as Ca, ba as ga, bg as ma, S as ua, af as ba, ag as ca, a6 as ha, a7 as Pa, a8 as Ta, a5 as pa, a9 as Fa, a2 as Ia, aa as Ea, ac as Aa, ad as Ba, ah as La, ai as ya, bk as Da, bj as Wa, aB as ka, aA as va, aI as _a, aW as Oa, aT as fa, aH as Na, aj as Ra, aO as Ma, bl as xa, bo as Ha, aM as Va, aR as Ga, aP as wa, bp as za, aS as Ua, aQ as ja, bn as Ka, e as qa, i as Ja, an as Qa, ap as Xa, bi as Ya, bh as $a, ao as Za, au as ae, f as ee, q as se, v as te, k as ie, l as oe, b4 as re, b2 as ne, ax as le, av as de, aw as Se, b0 as Ce, bd as ge, b3 as me, z as ue, B as be, j as ce, C as he, b8 as Pe, a$ as Te, b5 as pe, al as Fe, bb as Ie, c as Ee, ar as Ae, am as Be, u as Le, a_ as ye, $ as De, _ as We, T as ke, a4 as ve, a3 as _e, b9 as Oe, b7 as fe, b6 as Ne } from "./experimental-CL_I_K54.js";
2
- import { d_ as Me, eA as xe, ez as He, eN as Ve, ds as Ge, ex as we, ch as ze, c7 as Ue, ce as je, es as Ke, c0 as qe, c0 as Je, bV as Qe, et as Xe, ck as Ye, ee as $e, cl as Ze, eQ as as, ey as es, eJ as ss, eK as ts, db as is, eO as os, k as rs, d$ as ns, cN as ls, ew as ds, eC as Ss, eB as Cs, T as gs, h as ms, bW as us, eL as bs, eR as cs, eM as hs, eP as Ps, eI as Ts, eF as ps, eH as Fs, eD as Is, eu as Es, ev as As, eo as Bs, eG as Ls, eE as ys, dV as Ds } from "./F0CanvasPanel-DIBlg0Nk.js";
3
- import { az as ks, aA as vs, a7 as _s, a8 as Os, a5 as fs, ai as Ns, C as Rs, a9 as Ms, aL as xs, ae as Hs, aK as Vs, ah as Gs, a6 as ws, ax as zs, aN as Us, aM as js, ap as Ks, aj as qs, as as Js, F as Qs, a4 as Xs, au as Ys, ar as $s, am as Zs, aR as at, an as et, av as st, aw as tt, aa as it, aO as ot, aP as rt, ao as nt, ay as lt, aH as dt, O as St, aJ as Ct, ab as gt, aT as mt, ad as ut, af as bt, as as ct, aQ as ht, at as Pt, aq as Tt, aS as pt, ac as Ft, W as It, ag as Et, a3 as At, a1 as Bt, a2 as Lt, aD as yt, aE as Dt, aB as Wt, aI as kt, al as vt, ak as _t, aF as Ot, m as ft, aC as Nt, aG as Rt, G as Mt } from "./CoachmarkProvider-B6FMGmgt.js";
1
+ import { H as s, G as t, A as i, b as o, U as r, aD as n, aC as l, aE as d, D as S, I as C, M as g, W as m, aK as u, aL as b, aU as c, K as h, J as P, aJ as T, aV as p, O as F, N as I, ab as E, bf as A, bm as B, V as L, be as y, E as D, d as W, g as k, n as v, as as _, at as O, aq as f, P as N, az as R, F as M, y as x, o as H, r as V, t as G, p as w, h as z, w as U, x as j, L as K, aY as q, aZ as J, aN as Q, ay as X, b1 as Y, bc as $, aF as Z, ae as aa, aX as ea, a0 as sa, ak as ta, Q as ia, bq as oa, a1 as ra, X as na, Y as la, Z as da, aG as Sa, R as Ca, ba as ga, bg as ma, S as ua, af as ba, ag as ca, a6 as ha, a7 as Pa, a8 as Ta, a5 as pa, a9 as Fa, a2 as Ia, aa as Ea, ac as Aa, ad as Ba, ah as La, ai as ya, bk as Da, bj as Wa, aB as ka, aA as va, aI as _a, aW as Oa, aT as fa, aH as Na, aj as Ra, aO as Ma, bl as xa, bo as Ha, aM as Va, aR as Ga, aP as wa, bp as za, aS as Ua, aQ as ja, bn as Ka, e as qa, i as Ja, an as Qa, ap as Xa, bi as Ya, bh as $a, ao as Za, au as ae, f as ee, q as se, v as te, k as ie, l as oe, b4 as re, b2 as ne, ax as le, av as de, aw as Se, b0 as Ce, bd as ge, b3 as me, z as ue, B as be, j as ce, C as he, b8 as Pe, a$ as Te, b5 as pe, al as Fe, bb as Ie, c as Ee, ar as Ae, am as Be, u as Le, a_ as ye, $ as De, _ as We, T as ke, a4 as ve, a3 as _e, b9 as Oe, b7 as fe, b6 as Ne } from "./experimental-SmtCrbMW.js";
2
+ import { d_ as Me, eA as xe, ez as He, eN as Ve, ds as Ge, ex as we, ch as ze, c7 as Ue, ce as je, es as Ke, c0 as qe, c0 as Je, bV as Qe, et as Xe, ck as Ye, ee as $e, cl as Ze, eQ as as, ey as es, eJ as ss, eK as ts, db as is, eO as os, k as rs, d$ as ns, cN as ls, ew as ds, eC as Ss, eB as Cs, T as gs, h as ms, bW as us, eL as bs, eR as cs, eM as hs, eP as Ps, eI as Ts, eF as ps, eH as Fs, eD as Is, eu as Es, ev as As, eo as Bs, eG as Ls, eE as ys, dV as Ds } from "./F0CanvasPanel-C57zh5Pt.js";
3
+ import { az as ks, aA as vs, a7 as _s, a8 as Os, a5 as fs, ai as Ns, C as Rs, a9 as Ms, aL as xs, ae as Hs, aK as Vs, ah as Gs, a6 as ws, ax as zs, aN as Us, aM as js, ap as Ks, aj as qs, as as Js, F as Qs, a4 as Xs, au as Ys, ar as $s, am as Zs, aR as at, an as et, av as st, aw as tt, aa as it, aO as ot, aP as rt, ao as nt, ay as lt, aH as dt, O as St, aJ as Ct, ab as gt, aT as mt, ad as ut, af as bt, as as ct, aQ as ht, at as Pt, aq as Tt, aS as pt, ac as Ft, W as It, ag as Et, a3 as At, a1 as Bt, a2 as Lt, aD as yt, aE as Dt, aB as Wt, aI as kt, al as vt, ak as _t, aF as Ot, m as ft, aC as Nt, aG as Rt, G as Mt } from "./CoachmarkProvider-DnRFYjW-.js";
4
4
  export {
5
5
  ks as AUTO_PER_PAGE_MAX,
6
6
  vs as AUTO_PER_PAGE_MIN_RESERVED_ROWS,
package/dist/f0.d.ts CHANGED
@@ -3902,6 +3902,14 @@ export declare type DashboardChartConfig = BarChartConfig | LineChartConfig | Fu
3902
3902
  export declare interface DashboardChartData {
3903
3903
  /** Category axis labels. Required for bar/line charts. */
3904
3904
  categories?: string[];
3905
+ /**
3906
+ * Constants to draw across the plot — a peer median, a target, an average.
3907
+ *
3908
+ * Part of the DATA, not the config: a figure like this arrives with the
3909
+ * values it is compared against, and changes when they do. Bar and line
3910
+ * charts render them; every other type ignores them.
3911
+ */
3912
+ referenceLines?: F0DataChartReferenceLine[];
3905
3913
  /** X-axis category labels for heatmap charts. */
3906
3914
  xCategories?: string[];
3907
3915
  /** Y-axis category labels for heatmap charts. */
@@ -4126,6 +4134,30 @@ export declare interface DashboardMetricData {
4126
4134
  value: number;
4127
4135
  /** Optional previous value — used to compute a trend indicator */
4128
4136
  previousValue?: number;
4137
+ /**
4138
+ * A reference figure to show the value against, under the number.
4139
+ *
4140
+ * Distinct from {@link DashboardMetricData.previousValue}, which is this
4141
+ * metric at an earlier time and renders as a rise or a fall. A comparison is
4142
+ * a different quantity entirely — a peer median, a target, a company-wide
4143
+ * average — so it is stated rather than turned into a trend: an arrow next to
4144
+ * it would read as "it moved", which it did not.
4145
+ *
4146
+ * `value` is in the metric's own units and is formatted exactly like the
4147
+ * headline number, so the two can be read against each other. `label` says
4148
+ * what the figure is, in the consumer's own words and language.
4149
+ */
4150
+ comparison?: {
4151
+ value: number;
4152
+ label: string;
4153
+ /**
4154
+ * Where the figure comes from, revealed by an ⓘ icon after it — "the
4155
+ * median across all companies on Factorial", say. A string renders a
4156
+ * plain tooltip; the structured form renders a hoverable card that can
4157
+ * carry a link, the same affordance as `DashboardItemBase.info`.
4158
+ */
4159
+ info?: string | InfoHintContent;
4160
+ };
4129
4161
  }
4130
4162
 
4131
4163
  /**
@@ -5559,12 +5591,6 @@ export declare const defaultTranslations: {
5559
5591
  readonly exporting: "Exporting…";
5560
5592
  };
5561
5593
  readonly dashboardItem: {
5562
- /**
5563
- * Deliberately not `ai.ask` ("Ask One" by default here, but hosts
5564
- * override it — factorial renders it as plain "Ask" for the widget and
5565
- * insight-card buttons). This menu entry needs the product name spelled
5566
- * out, so it owns its own key.
5567
- */
5568
5594
  readonly askOne: "Ask One";
5569
5595
  readonly chartType: "Chart type";
5570
5596
  readonly errorTitle: "Error loading data";
@@ -5813,140 +5839,18 @@ export declare const defaultTranslations: {
5813
5839
  readonly discard: "Discard";
5814
5840
  readonly keepEditing: "Keep editing";
5815
5841
  readonly publishError: "Couldn't publish this post";
5816
- readonly emptyTitle: "No posts yet";
5817
- readonly emptyDescription: "Posts shared in this community will appear here.";
5818
- readonly emptyDescriptionCanPost: "Be the first to post here.";
5819
5842
  readonly pinnedPost: "Pinned post";
5820
5843
  readonly pinnedPosts: "Pinned";
5821
- readonly pinnedPostsCount: {
5822
- readonly one: "{{count}} pinned post";
5823
- readonly other: "{{count}} pinned posts";
5824
- };
5825
- readonly pinPost: "Pin post";
5826
5844
  readonly unpinPost: "Unpin post";
5827
5845
  readonly goToPost: "Go to post";
5828
- readonly noPinnedPosts: "No pinned posts";
5829
- readonly noPinnedPostsDescription: "Pin a post and it stays at the top of this community.";
5830
5846
  readonly scheduledPosts: "Scheduled";
5831
- readonly scheduledPostsCount: {
5832
- readonly one: "{{count}} scheduled post";
5833
- readonly other: "{{count}} scheduled posts";
5834
- };
5835
5847
  readonly scheduledEvent: "Event";
5836
- /** The preview's bar, e.g. "Publishes 4 Jun at 09:00". */
5837
- readonly publishesAt: "Publishes {{when}}";
5838
- readonly noScheduledPosts: "Nothing scheduled";
5839
- readonly noScheduledPostsDescription: "Posts you schedule will wait here until their time.";
5840
- readonly scheduledActions: "Scheduled post actions";
5841
- readonly publishNow: "Publish now";
5842
- readonly cancelScheduled: "Cancel";
5843
5848
  readonly draftPosts: "Drafts";
5844
- readonly draftPostsCount: {
5845
- readonly one: "{{count}} draft";
5846
- readonly other: "{{count}} drafts";
5847
- };
5848
- /** Where a scheduled row prints its date, a draft prints this. */
5849
5849
  readonly draftUntitled: "Untitled post";
5850
5850
  readonly draftSavedAt: "Saved {{when}}";
5851
- readonly publishDraft: "Publish";
5852
- readonly deleteDraft: "Delete draft";
5853
5851
  readonly shelfLabel: "Pinned, scheduled and draft posts";
5854
5852
  };
5855
5853
  };
5856
- readonly communities: {
5857
- readonly composer: {
5858
- readonly createPost: "Create post";
5859
- readonly createEvent: "Create event";
5860
- readonly editPost: "Edit post";
5861
- readonly basicInformation: "Basic information";
5862
- readonly postSettings: "Post settings";
5863
- readonly postCover: "Post cover";
5864
- readonly addMedia: "Drag and drop or click here";
5865
- readonly addMediaSubtitle: "any image, video or GIF";
5866
- readonly addMediaSize: "1200x600px";
5867
- readonly deletePhoto: "Delete photo";
5868
- readonly deleteVideo: "Delete video";
5869
- readonly coverActions: "Cover options";
5870
- readonly title: "Title";
5871
- readonly titlePlaceholder: "e.g. World Mental Health Day";
5872
- readonly description: "Description";
5873
- readonly descriptionPlaceholder: "Share what's special about it";
5874
- readonly attachmentsSizePerPost: "Up to 150 MB in attachments per post";
5875
- readonly previousAttachments: "Previously added attachments";
5876
- readonly isEventLabel: "This is an event";
5877
- readonly isEventDescription: "Select this to include a date, time, and location for this event.";
5878
- readonly eventStartDate: "Event start date";
5879
- readonly eventStartTime: "Start time";
5880
- readonly eventLocation: "Event location";
5881
- readonly eventLocationPlaceholder: "Where will this take place?";
5882
- readonly requireAction: "Require action";
5883
- readonly requireActionDescription: "Select how you want to track that users have taken the required action";
5884
- readonly actionType: "Action type";
5885
- readonly actionTypePlaceholder: "Select action type";
5886
- readonly actionTypeAcknowledge: "Acknowledge post";
5887
- readonly actionTypeAcknowledgeDescription: "Employees read and acknowledge the post";
5888
- readonly actionTypeWatchVideo: "Watch video";
5889
- readonly actionTypeWatchVideoDescription: "Employees watch the entire video";
5890
- readonly actionTypeClickedLink: "Clicked a link";
5891
- readonly actionTypeClickedLinkDescription: "Employees click the first link in the post";
5892
- readonly actionTypeComingSoon: "Coming soon";
5893
- readonly continue: "Continue";
5894
- readonly publishTitle: "Publish";
5895
- readonly publishDescription: "When publishing the post, it will be visible in the dashboard of each employee.";
5896
- readonly publish: "Publish";
5897
- readonly selectCommunity: "Select community";
5898
- readonly allowCommentsAndReactions: "Allow comments and reactions.";
5899
- readonly sendEmailNotification: "Send email notification";
5900
- readonly schedulePost: "Schedule post";
5901
- readonly scheduleDate: "Date";
5902
- readonly scheduleTime: "Time";
5903
- readonly confirm: "Confirm";
5904
- readonly cancel: "Cancel";
5905
- readonly saveAsDraft: "Save as draft";
5906
- readonly save: "Save";
5907
- readonly cantBeEmpty: "can't be empty";
5908
- readonly invalidInput: "Invalid input. Only alphanumeric characters are allowed";
5909
- readonly publishedSuccess: "The post has been published";
5910
- readonly scheduledSuccess: "The post has been scheduled";
5911
- readonly draftSuccess: "The post has been saved as draft";
5912
- readonly publishError: "There was an error creating the post, please try again.";
5913
- };
5914
- readonly detail: {
5915
- readonly postActions: "Post actions";
5916
- readonly edit: "Edit post";
5917
- readonly delete: "Delete post";
5918
- readonly deleteDescription: "Are you sure you want to delete this post? This action cannot be undone.";
5919
- readonly proceed: "Proceed";
5920
- readonly turnInteractionsOff: "Turn comments and reactions off";
5921
- readonly turnInteractionsOn: "Turn comments and reactions on";
5922
- readonly insights: "Insights";
5923
- readonly visits: {
5924
- readonly one: "Visit";
5925
- readonly other: "Visits";
5926
- };
5927
- readonly postViews: "Post views";
5928
- readonly anonymous: "Anonymous";
5929
- readonly comments: {
5930
- readonly one: "{{count}} comment";
5931
- readonly other: "{{count}} comments";
5932
- };
5933
- readonly commentPlaceholder: "Click here to write a comment...";
5934
- readonly submit: "Submit";
5935
- readonly deleteComment: "Delete comment";
5936
- readonly deleteCommentDescription: "Are you sure you want to delete this comment? This action cannot be undone.";
5937
- readonly editComment: "Edit";
5938
- readonly acknowledgeRequired: "Post acknowledgement required";
5939
- readonly acknowledge: "I acknowledge";
5940
- readonly acknowledgeLater: "Acknowledge later";
5941
- readonly acknowledgedOn: "Acknowledged on {{date}}, at {{time}}";
5942
- readonly closePostTitle: "Close post?";
5943
- readonly closePostDescription: "You haven't acknowledged this post yet. You can acknowledge it later.";
5944
- readonly closePost: "Close post";
5945
- readonly continueReading: "Continue reading";
5946
- readonly close: "Close";
5947
- readonly home: "Home";
5948
- };
5949
- };
5950
5854
  readonly dataChart: {
5951
5855
  readonly heatmapNotSupported: "Heatmap not supported at this size";
5952
5856
  readonly barChartVertical: "Bar (vertical)";
@@ -6273,19 +6177,14 @@ export declare const defaultTranslations: {
6273
6177
  readonly stepOf: "Step {{current}} of {{total}}";
6274
6178
  };
6275
6179
  readonly widgets: {
6276
- /** Turns a widget over to read what it is telling you (Home's `info`). */
6277
6180
  readonly whatThisMeans: "What this info means?";
6278
- /** The button on that other side, which turns it back. */
6279
6181
  readonly gotIt: "Got it";
6280
- /** The widget menu's own items, and the dialogs they open. */
6281
6182
  readonly editParams: "Edit params";
6282
6183
  readonly editParamsTitle: "Edit widget params";
6283
6184
  readonly removeWidget: "Remove widget";
6284
6185
  readonly addWidget: "Add widget";
6285
6186
  readonly configureWidget: "Configure {{title}}";
6286
- /** Heads the widgets a Home suggests, at the top of the picker. */
6287
6187
  readonly recommended: "Recommended";
6288
- /** Why a drop onto a pinned widget was refused. `{{title}}` is its name. */
6289
6188
  readonly cannotMoveHere: "You can't move a widget here — {{title}} is locked.";
6290
6189
  };
6291
6190
  readonly pdfViewer: {
@@ -9506,6 +9405,8 @@ export declare interface F0DataChartBarProps extends F0DataChartBaseProps {
9506
9405
  type: "bar";
9507
9406
  /** One or more data series to render as bars */
9508
9407
  series: F0DataChartBarSeries[];
9408
+ /** Constants drawn across the plot. See {@link F0DataChartReferenceLine}. */
9409
+ referenceLines?: F0DataChartReferenceLine[];
9509
9410
  /** Bar orientation. @default "vertical" */
9510
9411
  orientation?: "vertical" | "horizontal";
9511
9412
  /** Stack all series into a single bar per category. @default false */
@@ -9856,6 +9757,8 @@ export declare interface F0DataChartLineProps extends F0DataChartBaseProps {
9856
9757
  type: "line";
9857
9758
  /** One or more data series to render as lines */
9858
9759
  series: F0DataChartLineSeries[];
9760
+ /** Constants drawn across the plot. See {@link F0DataChartReferenceLine}. */
9761
+ referenceLines?: F0DataChartReferenceLine[];
9859
9762
  /** Line interpolation type. @default "linear" */
9860
9763
  lineType?: F0DataChartLineType;
9861
9764
  /** Show gradient area fill below lines. @default true */
@@ -10077,6 +9980,35 @@ export declare interface F0DataChartRadarSeries {
10077
9980
  color?: ChartColorToken;
10078
9981
  }
10079
9982
 
9983
+ /**
9984
+ * A constant drawn across the whole plot rather than per category.
9985
+ *
9986
+ * For a figure that does not vary with the categories — a peer median, a
9987
+ * target, an average. Drawn as one dashed line with its label at the end, so it
9988
+ * reads as a threshold the bars are measured against rather than as another
9989
+ * series: a constant repeated once per category would claim to be a quantity
9990
+ * each of them has.
9991
+ */
9992
+ export declare interface F0DataChartReferenceLine {
9993
+ /** Where on the value axis to draw it. */
9994
+ value: number;
9995
+ /** Shown at the end of the line. Omit for an unlabelled rule. */
9996
+ label?: string;
9997
+ /** Must be an F0 design token name. Falls back to a neutral line colour. */
9998
+ color?: ChartColorToken;
9999
+ /** Solid instead of dashed. @default false */
10000
+ solid?: boolean;
10001
+ /**
10002
+ * Shown when the reader hovers the line, under its label and value.
10003
+ *
10004
+ * For saying what the figure actually is — which companies a peer median
10005
+ * covers, which quarter a target belongs to, whether it is an estimate. A
10006
+ * line with no description is not hoverable: there would be nothing to add
10007
+ * beyond the label already printed beside it.
10008
+ */
10009
+ description?: string;
10010
+ }
10011
+
10080
10012
  /**
10081
10013
  * A single point in a scatter series.
10082
10014
  *