@factorialco/f0-react 6.71.0 → 6.73.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 (55) hide show
  1. package/dist/{ChatPdfThumbnail-0W0Ulspr.js → ChatPdfThumbnail-XGQZa3QP.js} +1 -1
  2. package/dist/{ChatSheetThumbnail-BvnxT-4A.js → ChatSheetThumbnail-CxGL5ukQ.js} +3 -3
  3. package/dist/{ChatTextThumbnail-yVt_iYi7.js → ChatTextThumbnail-FVwMzn0I.js} +3 -3
  4. package/dist/{CoachmarkProvider-Bc9Cps5U.js → CoachmarkProvider-CbaSfufv.js} +1 -1
  5. package/dist/{DocumentToolbar-DaV6_J12.js → DocumentToolbar-CzcPshDy.js} +2 -2
  6. package/dist/{DocxViewer-DBdE5VEw.js → DocxViewer-CZibRfLX.js} +2 -2
  7. package/dist/{F0AiProcessingOverlay-DurA4kS-.js → F0AiProcessingOverlay-BdR-OH1y.js} +727 -743
  8. package/dist/{F0CanvasPanel-C_tJ-Kgt.js → F0CanvasPanel-t6LAI_x8.js} +19335 -19219
  9. package/dist/{F0VideoPlayer-ir4O9Whj.js → F0VideoPlayer-B4pmM8Gc.js} +1 -1
  10. package/dist/{LocationMap-DsZlUjft.js → LocationMap-r4bOT-15.js} +1 -1
  11. package/dist/{SheetViewer-CeXLWbJh.js → SheetViewer-C7dm83fe.js} +2 -2
  12. package/dist/{TextViewer-B50xzYnA.js → TextViewer-z8sRMqaY.js} +2 -2
  13. package/dist/ai.d.ts +17 -0
  14. package/dist/ai.js +2 -2
  15. package/dist/compact-3aR8Sm24.js +4 -0
  16. package/dist/compact-7lt4UIvi.js +4 -0
  17. package/dist/compact-9rSI5EE6.js +4 -0
  18. package/dist/compact-B6PSknyc.js +4 -0
  19. package/dist/compact-BPN9MbTb.js +4 -0
  20. package/dist/compact-BR1_iqtb.js +4 -0
  21. package/dist/compact-Bi-O-RWg.js +4 -0
  22. package/dist/compact-Bn8CakQz.js +4 -0
  23. package/dist/compact-BslMxwi9.js +4 -0
  24. package/dist/compact-BxMdONeX.js +4 -0
  25. package/dist/compact-C-b1fWEN.js +4 -0
  26. package/dist/compact-C8hVxciX.js +4 -0
  27. package/dist/compact-CJ1L-8Dr.js +4 -0
  28. package/dist/compact-Cd6qAeF-.js +4 -0
  29. package/dist/compact-CntljX9j.js +4 -0
  30. package/dist/compact-CrQh0q9a.js +4 -0
  31. package/dist/compact-D-Kg7jZI.js +4 -0
  32. package/dist/compact-D3AcdktH.js +4 -0
  33. package/dist/compact-D3r__JE1.js +4 -0
  34. package/dist/compact-DCMwzi70.js +4 -0
  35. package/dist/compact-DGnDnh6C.js +4 -0
  36. package/dist/compact-DHogw7zU.js +4 -0
  37. package/dist/compact-DJtvyql0.js +4 -0
  38. package/dist/compact-DhN3zgdL.js +4 -0
  39. package/dist/compact-F8TOy4UG.js +4 -0
  40. package/dist/compact-tUXw-RFk.js +4 -0
  41. package/dist/compact-vPKvX3P5.js +4 -0
  42. package/dist/component-status.js +5 -5
  43. package/dist/{experimental-CXqbP9O9.js → experimental-BpTt8RQd.js} +28262 -27163
  44. package/dist/experimental.d.ts +303 -11
  45. package/dist/experimental.js +35 -35
  46. package/dist/f0.d.ts +57 -3
  47. package/dist/f0.js +10 -10
  48. package/dist/i18n-provider-defaults.d.ts +17 -0
  49. package/dist/i18n-provider-defaults.js +21 -0
  50. package/dist/{index-B0qdgKs8.js → index-6wH0JzE5.js} +3 -3
  51. package/dist/index-B2wcl4-Q.js +4 -0
  52. package/dist/{pdfWorker-CbwxVMi_.js → pdfWorker-CMz8L07D.js} +2 -2
  53. package/dist/styles.css +1 -1
  54. package/package.json +3 -3
  55. package/dist/index-B9o9POms.js +0 -4
@@ -1469,6 +1469,11 @@ declare type ButtonInternalProps = Pick<ActionProps, "size" | "disabled" | "clas
1469
1469
  * Adds an emoji to the button, can be used as a special case of icon-only button.
1470
1470
  */
1471
1471
  emoji?: string;
1472
+ /**
1473
+ * How that emoji is drawn — a twemoji image by default, or the system glyph
1474
+ * with `"native"`. See {@link EmojiRenderMode}.
1475
+ */
1476
+ emojiMode?: EmojiRenderMode;
1472
1477
  /**
1473
1478
  * Hides the label visually (for icon-only or emoji-only buttons), but keeps it accessible for screen readers.
1474
1479
  */
@@ -1802,6 +1807,28 @@ declare type CardAvatarVariant = AvatarVariant | {
1802
1807
  date: Date;
1803
1808
  };
1804
1809
 
1810
+ /**
1811
+ * Bookmark (save) toggle rendered as an icon button in the card's options overlay.
1812
+ * Shows an outline bookmark icon when not bookmarked and a filled one when bookmarked,
1813
+ * giving an at-a-glance indication of the saved state.
1814
+ */
1815
+ declare interface CardBookmark {
1816
+ /**
1817
+ * Whether the card is currently bookmarked (saved).
1818
+ * Controls the filled vs. outline icon and keeps the toggle visible while active.
1819
+ */
1820
+ bookmarked: boolean;
1821
+ /**
1822
+ * Called with the next bookmarked state when the user toggles the bookmark.
1823
+ */
1824
+ onBookmarkChange: (bookmarked: boolean) => void;
1825
+ /**
1826
+ * Accessible label for the toggle button (e.g. "Save product").
1827
+ * Falls back to the card `title` when omitted.
1828
+ */
1829
+ label?: string;
1830
+ }
1831
+
1805
1832
  /**
1806
1833
  * Group Cards: Renders
1807
1834
  */
@@ -1846,6 +1873,121 @@ declare type CardImageSize = (typeof cardImageSizes)[number];
1846
1873
 
1847
1874
  declare const cardImageSizes: readonly ["xs", "sm", "md", "lg", "xl"];
1848
1875
 
1876
+ declare interface CardInternalProps {
1877
+ /**
1878
+ * Whether the card has a compact layout
1879
+ */
1880
+ compact?: boolean;
1881
+ /**
1882
+ * The avatar to display in the card
1883
+ */
1884
+ avatar?: CardAvatarVariant;
1885
+ /**
1886
+ * Whether the card has an image
1887
+ */
1888
+ image?: string;
1889
+ /**
1890
+ * How the image should be displayed/fitted within its container
1891
+ * @default "fit-width"
1892
+ */
1893
+ imageFit?: CardImageFit;
1894
+ /**
1895
+ * Size of the image container
1896
+ * @default "sm"
1897
+ */
1898
+ imageSize?: CardImageSize;
1899
+ /**
1900
+ * Constrain the image container to a fixed aspect ratio instead of a fixed height.
1901
+ * When set, `imageSize` is ignored for height.
1902
+ * @example "video"
1903
+ */
1904
+ imageAspectRatio?: CardImageAspectRatio;
1905
+ /**
1906
+ * Whether to show a blurred background image when the image doesn't fill the container
1907
+ * @default true
1908
+ */
1909
+ blurredBackground?: boolean;
1910
+ /**
1911
+ * The title of the card
1912
+ */
1913
+ title?: string;
1914
+ /**
1915
+ * The description of the card
1916
+ */
1917
+ description?: string;
1918
+ /**
1919
+ * Metadata items to display in the card
1920
+ */
1921
+ metadata?: CardMetadata[];
1922
+ /**
1923
+ * The children to display in the card
1924
+ */
1925
+ children?: ReactNode;
1926
+ /**
1927
+ * The link to navigate to when the card is clicked
1928
+ */
1929
+ link?: string;
1930
+ /**
1931
+ * The primary action that displays a primary button in the card footer
1932
+ */
1933
+ primaryAction?: CardPrimaryAction;
1934
+ /**
1935
+ * The secondary actions - either an array of button actions or a single link
1936
+ */
1937
+ secondaryActions?: CardSecondaryAction[] | CardSecondaryLink;
1938
+ /**
1939
+ * Actions to display in the dropdown menu inside the card content
1940
+ */
1941
+ otherActions?: DropdownItem[];
1942
+ /**
1943
+ * Bookmark (save) toggle rendered as an icon button in the card's options overlay.
1944
+ * Shows an outline bookmark when not bookmarked and a filled one when bookmarked.
1945
+ */
1946
+ bookmark?: CardBookmark;
1947
+ /**
1948
+ * Whether the card is selectable
1949
+ */
1950
+ selectable?: boolean;
1951
+ /**
1952
+ * Whether the card is selected
1953
+ */
1954
+ selected?: boolean;
1955
+ /**
1956
+ * The callback to handle the selection of the card
1957
+ */
1958
+ onSelect?: (selected: boolean) => void;
1959
+ /**
1960
+ * The callback to handle the click of the card
1961
+ */
1962
+ onClick?: () => void;
1963
+ /**
1964
+ * Force vertical metadata for compact layout
1965
+ * Private prop
1966
+ */
1967
+ forceVerticalMetadata?: boolean;
1968
+ /**
1969
+ * Whether the card should have a full height
1970
+ */
1971
+ fullHeight?: boolean;
1972
+ /**
1973
+ * Use a softer/lighter border (`border-f1-border-secondary`) instead of the default
1974
+ * `border-f1-border`. Opt-in so existing cards keep their current appearance.
1975
+ * @default false
1976
+ */
1977
+ subtleBorder?: boolean;
1978
+ /**
1979
+ * When true, disables the full-card overlay link so parent components
1980
+ * can manage drag-and-drop while still allowing click navigation via onClick
1981
+ */
1982
+ disableOverlayLink?: boolean;
1983
+ /**
1984
+ * Alert banner displayed above the card with a coloured header strip and matching border.
1985
+ * Supports info, warning, critical, and positive variants with a default icon per variant.
1986
+ * Use `visible` + `onDismiss` for controlled dismiss behaviour.
1987
+ */
1988
+ alert?: CardAlertProps;
1989
+ }
1990
+
1849
1991
  declare type CardMetadata = {
1850
1992
  /** Leading icon. Optional — when omitted the row renders just the value. */
1851
1993
  icon?: IconType;
@@ -4559,12 +4701,29 @@ declare const defaultTranslations: {
4559
4701
  readonly closeSearch: "Close search";
4560
4702
  readonly noResults: "No chats found";
4561
4703
  readonly backToLatest: "Jump to latest";
4704
+ readonly readOnly: "You can't send messages in this conversation";
4562
4705
  readonly online: "Online";
4563
4706
  readonly muted: "Muted";
4564
4707
  readonly mute: "Mute";
4565
4708
  readonly unmute: "Unmute";
4566
4709
  readonly attachFile: "Attach file";
4567
4710
  readonly addEmoji: "Add emoji";
4711
+ readonly emojiPicker: {
4712
+ readonly search: "Search emoji";
4713
+ readonly frequentlyUsed: "Frequently used";
4714
+ readonly noResults: "No emoji found";
4715
+ readonly grid: "Emoji";
4716
+ readonly categories: {
4717
+ readonly people: "Smileys & people";
4718
+ readonly nature: "Animals & nature";
4719
+ readonly foods: "Food & drink";
4720
+ readonly activity: "Activity";
4721
+ readonly places: "Travel & places";
4722
+ readonly objects: "Objects";
4723
+ readonly symbols: "Symbols";
4724
+ readonly flags: "Flags";
4725
+ };
4726
+ };
4568
4727
  readonly recordAudio: "Record audio";
4569
4728
  readonly listening: "Listening…";
4570
4729
  readonly stopRecording: "Stop and transcribe";
@@ -5416,6 +5575,19 @@ export declare type editorStateType = {
5416
5575
  json: JSONContent | null;
5417
5576
  };
5418
5577
 
5578
+ /**
5579
+ * How an emoji is drawn.
5580
+ *
5581
+ * - `image` (default) swaps it for a twemoji SVG, so every platform shows the
5582
+ * same picture.
5583
+ * - `native` renders the character and lets the OS draw it, so people see the
5584
+ * emoji they know from the rest of their machine.
5585
+ *
5586
+ * F0Chat asks for `native`; the rest of F0 stays on `image` for now. Flipping
5587
+ * this default is the single switch that takes the whole design system native.
5588
+ */
5589
+ declare type EmojiRenderMode = "image" | "native";
5590
+
5419
5591
  /**
5420
5592
  * Employee credits usage data returned by the host app.
5421
5593
  *
@@ -6138,6 +6310,8 @@ export declare interface F0CardHorizontalProps {
6138
6310
  descriptionAsSingleLine?: boolean;
6139
6311
  }
6140
6312
 
6313
+ declare type F0CardProps = Omit<CardInternalProps, (typeof privateProps_8)[number]>;
6314
+
6141
6315
  /**
6142
6316
  * @experimental This is an experimental component use it at your own risk
6143
6317
  */
@@ -6244,21 +6418,25 @@ export declare const F0Chat: (props: F0ChatProps) => ReactNode;
6244
6418
  * `kind` — videos are files with a video MIME type. */
6245
6419
  export declare type F0ChatAttachedKind = "image" | "video" | "document" | "file";
6246
6420
 
6247
- export declare type F0ChatAttachment = F0ChatImageAttachment | F0ChatFileAttachment | F0ChatLocationAttachment | F0ChatVoiceAttachment;
6421
+ export declare type F0ChatAttachment = F0ChatImageAttachment | F0ChatFileAttachment | F0ChatLocationAttachment | F0ChatVoiceAttachment | F0ChatCardAttachment;
6248
6422
 
6249
6423
  /** How files reached the composer. Same story as {@link F0ChatReactionSource}:
6250
6424
  * {@link F0ChatRuntime.uploadFiles} cannot tell these apart. */
6251
6425
  export declare type F0ChatAttachSource = "button" | "drop" | "paste";
6252
6426
 
6253
6427
  /**
6254
- * Per-channel permissions. Everything is optional and defaults to today's
6255
- * behavior, so hosts only express what their transport restricts (frozen /
6256
- * read-only channels, moderation roles…):
6428
+ * Per-channel permissions, one per verb. Everything is optional and defaults to
6429
+ * today's behavior, so hosts only express what their transport restricts
6430
+ * (frozen / read-only channels, moderation roles…):
6257
6431
  * - `canSend` (default true): false hides the composer entirely.
6432
+ * - `canReply` (default: `canSend`): false hides Reply. Replying needs a
6433
+ * composer to reply *into*, so it follows `canSend` unless stated otherwise.
6258
6434
  * - `canReact` (default true): false hides the quick-reaction row, the emoji
6259
6435
  * pickers and disables toggling existing reaction pills.
6260
6436
  * - `canUpload` (default: whether `uploadFiles` exists): false disables the
6261
6437
  * attach button, drag & drop and voice notes even when `uploadFiles` exists.
6438
+ * - `canCopy` (default true): false hides Copy.
6439
+ * - `canViewInfo` (default true): false hides Info (delivery / read receipts).
6262
6440
  * - `canEditMessage` (default: own message within {@link F0ChatRuntime.editWindowMs}):
6263
6441
  * overrides the edit policy per message, INCLUDING the edit window — a host
6264
6442
  * that supplies this and wants a time limit must apply it here. Structural
@@ -6268,15 +6446,55 @@ export declare type F0ChatAttachSource = "button" | "drop" | "paste";
6268
6446
  * - `canDeleteMessage` (default: own message): overrides the delete policy per
6269
6447
  * message (e.g. moderators deleting others' messages). Failed local echoes
6270
6448
  * are always discardable — they don't exist server-side.
6449
+ *
6450
+ * On an `announcement` channel every boolean above defaults to **false**
6451
+ * instead: a noticeboard is one-way by construction. An explicit value always
6452
+ * wins, so a host with a poster passes `{ canSend: true }` and gets exactly
6453
+ * that. See `utils/capabilities.ts`.
6454
+ *
6455
+ * When no action survives, the hover ellipsis is not rendered at all.
6271
6456
  */
6272
6457
  export declare type F0ChatCapabilities = {
6273
6458
  canSend?: boolean;
6459
+ canReply?: boolean;
6274
6460
  canReact?: boolean;
6275
6461
  canUpload?: boolean;
6462
+ canCopy?: boolean;
6463
+ canViewInfo?: boolean;
6276
6464
  canEditMessage?: (message: F0ChatMessage) => boolean;
6277
6465
  canDeleteMessage?: (message: F0ChatMessage) => boolean;
6278
6466
  };
6279
6467
 
6468
+ /**
6469
+ * A rich card inside a message — an {@link F0Card} the host describes as data.
6470
+ *
6471
+ * Deliberately a CURATED subset of `F0CardProps`, not a passthrough: selection,
6472
+ * bookmarking, the overflow menu and the alert banner mean nothing in a
6473
+ * transcript, and `children` isn't serialisable — which is exactly what a
6474
+ * transport-backed card has to be (factorial → a Stream custom attachment
6475
+ * `{ type: "card", … }`). Handlers stay optional so a card can be pure data
6476
+ * (`href`) or host-wired (`onClick`).
6477
+ */
6478
+ export declare type F0ChatCardAttachment = {
6479
+ kind: "card";
6480
+ title: string;
6481
+ description?: string;
6482
+ /** Leading avatar — the full F0Card set (emoji, icon, module, person, date…). */
6483
+ avatar?: F0CardProps["avatar"];
6484
+ /** Cover image above the content. */
6485
+ image?: string;
6486
+ /** Call to action, rendered as a button in the card's divided footer. */
6487
+ action?: {
6488
+ label: string;
6489
+ /** Navigates. Takes precedence over `onClick` when both are set. */
6490
+ href?: string;
6491
+ onClick?: () => void;
6492
+ };
6493
+ /** Makes the whole card activate — the footer action still acts on its own. */
6494
+ href?: string;
6495
+ onClick?: () => void;
6496
+ };
6497
+
6280
6498
  /** The conversation currently shown in the panel (header + behaviour differs by type). */
6281
6499
  export declare type F0ChatChannel = {
6282
6500
  id: string;
@@ -6305,6 +6523,13 @@ export declare type F0ChatChannel = {
6305
6523
  memberCount?: number;
6306
6524
  /** DM only — the counterpart, used for the header identity hover card. */
6307
6525
  user?: F0ChatUser;
6526
+ /**
6527
+ * Sentence shown where the composer would be when the current user can't
6528
+ * send here ("Only Factorial can send messages"). Host-owned because only the
6529
+ * host knows who *can* post — and has to translate it. Falls back to a
6530
+ * generic i18n line.
6531
+ */
6532
+ readOnlyNotice?: string;
6308
6533
  };
6309
6534
 
6310
6535
  /** A status badge shown in the header next to the title (e.g. on vacation, away).
@@ -6314,7 +6539,22 @@ export declare type F0ChatChannelStatus = {
6314
6539
  label: string;
6315
6540
  };
6316
6541
 
6317
- export declare type F0ChatChannelType = "dm" | "group";
6542
+ /**
6543
+ * `announcement` is a one-way channel: a noticeboard (product changelog, company
6544
+ * news) where only the people the host grants permission to can post, and
6545
+ * everyone else reads. It renders like a DM — no avatar gutter, no sender names,
6546
+ * no `@here` — and every capability defaults to off (see
6547
+ * {@link F0ChatCapabilities}), so a read-only channel needs no configuration at
6548
+ * all while a host that has a poster still turns `canSend` back on.
6549
+ */
6550
+ export declare type F0ChatChannelType = "dm" | "group" | "announcement";
6551
+
6552
+ /**
6553
+ * What the composer can produce. Cards are authored by the host (a seeded
6554
+ * announcement, a transport's custom attachment) — there is no affordance to
6555
+ * attach one, so they're excluded from sending, editing and uploading.
6556
+ */
6557
+ export declare type F0ChatComposableAttachment = Exclude<F0ChatAttachment, F0ChatCardAttachment>;
6318
6558
 
6319
6559
  /**
6320
6560
  * Edits applied to an existing message. Text, mentions and attachments are all
@@ -6323,7 +6563,7 @@ export declare type F0ChatChannelType = "dm" | "group";
6323
6563
  */
6324
6564
  export declare type F0ChatEditInput = {
6325
6565
  body: string;
6326
- attachments?: F0ChatAttachment[];
6566
+ attachments?: F0ChatComposableAttachment[];
6327
6567
  /** People mentioned in the edited body (groups only). */
6328
6568
  mentions?: F0ChatMention[];
6329
6569
  /** Whether the edited message mentions the whole group (`@here`). */
@@ -6422,6 +6662,11 @@ export declare type F0ChatEvents = {
6422
6662
  }) => void;
6423
6663
  onLocationOpened?: () => void;
6424
6664
  onLinkPreviewClicked?: () => void;
6665
+ /** A card attachment was activated — `source` tells the footer button apart
6666
+ * from a click on the card body. Carries no title or URL. */
6667
+ onCardActivated?: (p: {
6668
+ source: "card" | "action";
6669
+ }) => void;
6425
6670
  onSearchOpened?: () => void;
6426
6671
  onSearchResultNavigated?: (p: {
6427
6672
  direction: "next" | "prev";
@@ -6471,7 +6716,7 @@ export declare type F0ChatHeaderAction = {
6471
6716
  * as its own icon button next to it. Inline requires `icon` — an inline
6472
6717
  * action without one falls back to the menu. */
6473
6718
  placement?: "menu" | "inline";
6474
- /** Restrict the action to a channel type. Omit for both. */
6719
+ /** Restrict the action to given channel types. Omit for all of them. */
6475
6720
  channelTypes?: F0ChatChannelType[];
6476
6721
  };
6477
6722
 
@@ -6479,8 +6724,22 @@ export declare type F0ChatImageAttachment = {
6479
6724
  kind: "image";
6480
6725
  url: string;
6481
6726
  thumbnailUrl?: string;
6727
+ /**
6728
+ * A tiny (~40px) version of the same photo, used blurred underneath while the
6729
+ * real one arrives. Distinct from `thumbnailUrl`, which hosts use for a
6730
+ * display-sized derivative — this one is only ever seen out of focus, so the
6731
+ * smaller the better.
6732
+ *
6733
+ * Optional: without it the tile simply shows the sender's tint until the
6734
+ * photo paints. Hosts on a CDN that resizes on the fly can derive it from
6735
+ * `url` (Stream, for instance, takes `?w=40&resize=clip`).
6736
+ */
6737
+ blurUrl?: string;
6482
6738
  name: string;
6483
6739
  mimeType?: string;
6740
+ /** Intrinsic size. Drives the album cell's aspect ratio, so the box is
6741
+ * reserved before the photo arrives; without it the cell falls back to a
6742
+ * square. */
6484
6743
  width?: number;
6485
6744
  height?: number;
6486
6745
  };
@@ -6775,7 +7034,7 @@ export declare type F0ChatRuntime = {
6775
7034
  * `channel.stopTyping()`).
6776
7035
  */
6777
7036
  stopTyping?: () => void | Promise<void>;
6778
- uploadFiles?: (files: File[]) => Promise<F0ChatAttachment[]>;
7037
+ uploadFiles?: (files: File[]) => Promise<F0ChatComposableAttachment[]>;
6779
7038
  /**
6780
7039
  * Max files attachable at once. When a selection/drop would exceed it, the
6781
7040
  * composer rejects the whole batch and flashes a transient error in the
@@ -6865,7 +7124,7 @@ export declare const f0ChatSenderColors: readonly ["viridian", "malibu", "yellow
6865
7124
 
6866
7125
  export declare type F0ChatSendInput = {
6867
7126
  body: string;
6868
- attachments?: F0ChatAttachment[];
7127
+ attachments?: F0ChatComposableAttachment[];
6869
7128
  replyToId?: string;
6870
7129
  /** People mentioned in the body (groups only). The host maps these to the
6871
7130
  * transport's mention field (factorial → Stream `mentioned_users`). */
@@ -7050,11 +7309,24 @@ declare type F0DialogHeaderProps = {
7050
7309
  resourceHeader?: F0ResourceHeaderProps;
7051
7310
  controls?: DialogControls;
7052
7311
  headerStatus?: string;
7312
+ /** See {@link F0DialogInternalProps.dismissable} — hides the close button. */
7313
+ dismissable?: boolean;
7053
7314
  } & Partial<Pick<TabsProps, "tabs" | "activeTabId" | "setActiveTabId">>;
7054
7315
 
7055
7316
  declare type F0DialogInternalProps = {
7056
7317
  isOpen: boolean;
7057
7318
  onClose: () => void;
7319
+ /**
7320
+ * Whether the reader can walk away. `false` removes the close button and
7321
+ * stops Escape and a click outside from closing — a forced choice, where the
7322
+ * dialog's own actions are the only way out.
7323
+ *
7324
+ * Use it only when leaving would be worse than being trapped: a decision the
7325
+ * product genuinely cannot proceed without. A dialog nobody can dismiss is a
7326
+ * dead end for anyone who does not understand it.
7327
+ * @default true
7328
+ */
7329
+ dismissable?: boolean;
7058
7330
  asBottomSheetInMobile?: boolean;
7059
7331
  position?: DialogPosition;
7060
7332
  width?: DialogWidth;
@@ -8148,14 +8420,26 @@ value?: string;
8148
8420
  threshold?: number;
8149
8421
  debounceTime?: number;
8150
8422
  autoFocus?: boolean;
8151
- } & Pick<InputFieldProps<string>, "onChange" | "name" | "size" | "onFocus" | "onBlur" | "loading" | "disabled" | "placeholder" | "clearable"> & RefAttributes<HTMLInputElement>>;
8423
+ /**
8424
+ * Defaults to `-1`, which is right for the search box of a list that is
8425
+ * already reachable some other way. A search box that IS the way in — a
8426
+ * combobox — has to be tabbable, or focus can leave it and never come back.
8427
+ */
8428
+ tabIndex?: number;
8429
+ } & Pick<InputFieldProps<string>, "onChange" | "name" | "size" | "role" | "aria-activedescendant" | "aria-autocomplete" | "aria-controls" | "aria-expanded" | "onFocus" | "onBlur" | "onKeyDown" | "loading" | "disabled" | "placeholder" | "clearable"> & RefAttributes<HTMLInputElement>>;
8152
8430
 
8153
8431
  export declare type F0SearchInputProps = {
8154
8432
  value?: string;
8155
8433
  threshold?: number;
8156
8434
  debounceTime?: number;
8157
8435
  autoFocus?: boolean;
8158
- } & Pick<InputFieldProps<string>, "size" | "loading" | "clearable" | "placeholder" | "disabled" | "onBlur" | "onFocus" | "onChange" | "name">;
8436
+ /**
8437
+ * Defaults to `-1`, which is right for the search box of a list that is
8438
+ * already reachable some other way. A search box that IS the way in — a
8439
+ * combobox — has to be tabbable, or focus can leave it and never come back.
8440
+ */
8441
+ tabIndex?: number;
8442
+ } & Pick<InputFieldProps<string>, "size" | "loading" | "clearable" | "placeholder" | "disabled" | "onBlur" | "onFocus" | "onChange" | "name" | "role" | "onKeyDown" | "aria-controls" | "aria-expanded" | "aria-activedescendant" | "aria-autocomplete">;
8159
8443
 
8160
8444
  /**
8161
8445
  * @experimental This is an experimental component, use it at your own risk.
@@ -9948,6 +10232,12 @@ declare type InputFieldProps<T> = {
9948
10232
  inputRef?: React.Ref<unknown>;
9949
10233
  "aria-controls"?: AriaAttributes["aria-controls"];
9950
10234
  "aria-expanded"?: AriaAttributes["aria-expanded"];
10235
+ /** The two remaining pieces of the combobox contract. Without
10236
+ * `aria-activedescendant` a field that drives a list it doesn't contain can
10237
+ * never announce the active option: focus stays in the input while the
10238
+ * selection moves elsewhere, so a screen reader hears nothing. */
10239
+ "aria-activedescendant"?: AriaAttributes["aria-activedescendant"];
10240
+ "aria-autocomplete"?: AriaAttributes["aria-autocomplete"];
9951
10241
  onClear?: () => void;
9952
10242
  onFocus?: () => void;
9953
10243
  onBlur?: () => void;
@@ -11961,6 +12251,8 @@ declare const privateProps_6: readonly ["compact"];
11961
12251
 
11962
12252
  declare const privateProps_7: readonly ["delay", "onOpen"];
11963
12253
 
12254
+ declare const privateProps_8: readonly ["forceVerticalMetadata", "disableOverlayLink"];
12255
+
11964
12256
  declare type ProductUpdate = {
11965
12257
  title: string;
11966
12258
  href: string;
@@ -1,6 +1,6 @@
1
- import { v as s, t, A as i, a as o, J as r, ar as n, aq as l, as as d, B as S, w as C, y as g, L as m, ay as u, az as c, aI as b, x as h, C as P, ax as T, aJ as p, D as F, z as I, a3 as E, b1 as A, b8 as B, K as y, b0 as D, E as L, b as W, i as v, ag as k, ah as O, G as _, an as f, F as x, j as R, n as H, o as M, k as N, c as V, q as w, r as G, H as z, aM as U, aN as j, aB as q, am as Y, aR as K, at as X, a6 as $, aL as J, U as Q, ac as Z, O as aa, bc as ea, V as sa, P as ta, M as ia, N as oa, au as ra, R as na, a_ as la, b2 as da, S as Sa, a7 as Ca, a8 as ga, _ as ma, $ as ua, a0 as ca, Z as ba, a1 as ha, W as Pa, a2 as Ta, a4 as pa, a5 as Fa, a9 as Ia, aa as Ea, b6 as Aa, b5 as Ba, ap as ya, ao as Da, aw as La, aK as Wa, aH as va, av as ka, ab as Oa, aC as _a, b7 as fa, ba as xa, aA as Ra, aF as Ha, aD as Ma, bb as Na, aG as Va, aE as wa, b9 as Ga, d as za, af as Ua, b4 as ja, b3 as qa, aj as Ya, f as Ka, l as Xa, p as $a, g as Ja, h as Qa, aU as Za, aS as ae, ak as ee, al as se, aQ as te, aT as ie, e as oe, s as re, aY as ne, aP as le, aV as de, ad as Se, a$ as Ce, u as ge, ae as me, ai as ue, aO as ce, T as be, Q as he, I as Pe, Y as Te, X as pe, aZ as Fe, aX as Ie, aW as Ee } from "./experimental-CXqbP9O9.js";
2
- import { dO as Be, ep as ye, eo as De, eC as Le, dl as We, em as ve, cd as ke, c3 as Oe, ca as _e, eh as fe, bY as xe, bY as Re, bR as He, ei as Me, cg as Ne, d$ as Ve, ci as we, eF as Ge, en as ze, ey as Ue, ez as je, d5 as qe, eD as Ye, k as Ke, dP as Xe, cM as $e, el as Je, er as Qe, eq as Ze, T as as, h as es, bS as ss, eA as ts, eG as is, eB as os, eE as rs, ex as ns, eu as ls, ew as ds, es as Ss, ej as Cs, ek as gs, ed as ms, ev as us, et as cs } from "./F0CanvasPanel-C_tJ-Kgt.js";
3
- import { ax as hs, ay as Ps, a5 as Ts, a6 as ps, a3 as Fs, ag as Is, C as Es, a7 as As, aJ as Bs, ac as ys, aI as Ds, af as Ls, a4 as Ws, av as vs, aL as ks, aK as Os, an as _s, ah as fs, aq as xs, aO as Rs, a2 as Hs, as as Ms, ap as Ns, ak as Vs, aQ as ws, al as Gs, at as zs, au as Us, a8 as js, aM as qs, aN as Ys, am as Ks, aw as Xs, aF as $s, O as Js, aH as Qs, a9 as Zs, aS as at, ab as et, ad as st, aq as tt, aP as it, ar as ot, ao as rt, aR as nt, aa as lt, W as dt, ae as St, a1 as Ct, $ as gt, a0 as mt, aB as ut, aC as ct, az as bt, aG as ht, aj as Pt, ai as Tt, aD as pt, l as Ft, aA as It, aE as Et, y as At } from "./CoachmarkProvider-Bc9Cps5U.js";
1
+ import { v as s, t, A as i, a as o, J as r, ar as n, aq as l, as as d, B as S, w as C, y as g, L as m, ay as u, az as c, aI as b, x as h, C as P, ax as T, aJ as p, D as F, z as I, a3 as E, b1 as A, b8 as B, K as y, b0 as D, E as L, b as W, i as v, ag as k, ah as O, G as _, an as f, F as x, j as N, n as H, o as R, k as M, c as V, q as w, r as G, H as z, aM as U, aN as j, aB as q, am as K, aR as Q, at as X, a6 as Z, aL as J, U as Y, ac as $, O as aa, bc as ea, V as sa, P as ta, M as ia, N as oa, au as ra, R as na, a_ as la, b2 as da, S as Sa, a7 as Ca, a8 as ga, _ as ma, $ as ua, a0 as ca, Z as ba, a1 as ha, W as Pa, a2 as Ta, a4 as pa, a5 as Fa, a9 as Ia, aa as Ea, b6 as Aa, b5 as Ba, ap as ya, ao as Da, aw as La, aK as Wa, aH as va, av as ka, ab as Oa, aC as _a, b7 as fa, ba as xa, aA as Na, aF as Ha, aD as Ra, bb as Ma, aG as Va, aE as wa, b9 as Ga, d as za, af as Ua, b4 as ja, b3 as qa, aj as Ka, f as Qa, l as Xa, p as Za, g as Ja, h as Ya, aU as $a, aS as ae, ak as ee, al as se, aQ as te, aT as ie, e as oe, s as re, aY as ne, aP as le, aV as de, ad as Se, a$ as Ce, u as ge, ae as me, ai as ue, aO as ce, T as be, Q as he, I as Pe, Y as Te, X as pe, aZ as Fe, aX as Ie, aW as Ee } from "./experimental-BpTt8RQd.js";
2
+ import { dP as Be, ep as ye, eo as De, eC as Le, dm as We, em as ve, ce as ke, c4 as Oe, cb as _e, eh as fe, bZ as xe, bZ as Ne, bS as He, ei as Re, ch as Me, e0 as Ve, cj as we, eF as Ge, en as ze, ey as Ue, ez as je, d6 as qe, eD as Ke, k as Qe, dQ as Xe, cN as Ze, el as Je, er as Ye, eq as $e, T as as, h as es, bT as ss, eA as ts, eG as is, eB as os, eE as rs, ex as ns, eu as ls, ew as ds, es as Ss, ej as Cs, ek as gs, ed as ms, ev as us, et as cs } from "./F0CanvasPanel-t6LAI_x8.js";
3
+ import { ax as hs, ay as Ps, a5 as Ts, a6 as ps, a3 as Fs, ag as Is, C as Es, a7 as As, aJ as Bs, ac as ys, aI as Ds, af as Ls, a4 as Ws, av as vs, aL as ks, aK as Os, an as _s, ah as fs, aq as xs, aO as Ns, a2 as Hs, as as Rs, ap as Ms, ak as Vs, aQ as ws, al as Gs, at as zs, au as Us, a8 as js, aM as qs, aN as Ks, am as Qs, aw as Xs, aF as Zs, O as Js, aH as Ys, a9 as $s, aS as at, ab as et, ad as st, aq as tt, aP as it, ar as ot, ao as rt, aR as nt, aa as lt, W as dt, ae as St, a1 as Ct, $ as gt, a0 as mt, aB as ut, aC as ct, az as bt, aG as ht, aj as Pt, ai as Tt, aD as pt, l as Ft, aA as It, aE as Et, y as At } from "./CoachmarkProvider-CbaSfufv.js";
4
4
  export {
5
5
  hs as AUTO_PER_PAGE_MAX,
6
6
  Ps as AUTO_PER_PAGE_MIN_RESERVED_ROWS,
@@ -54,7 +54,7 @@ export {
54
54
  fe as F0ButtonToggle,
55
55
  W as F0Callout,
56
56
  xe as F0CardHorizontal,
57
- Re as F0CardRow,
57
+ Ne as F0CardRow,
58
58
  v as F0CarouselDialog,
59
59
  k as F0Chat,
60
60
  O as F0ChatProvider,
@@ -63,24 +63,24 @@ export {
63
63
  x as F0EmojiPicker,
64
64
  He as F0FileItem,
65
65
  vs as F0FormEditableTable,
66
- R as F0Map,
66
+ N as F0Map,
67
67
  H as F0MapControls,
68
- M as F0MapList,
69
- N as F0MapSkeleton,
68
+ R as F0MapList,
69
+ M as F0MapSkeleton,
70
70
  V as F0MeetingCard,
71
71
  ks as F0NotesTextEditor,
72
72
  Os as F0NotesTextEditorSkeleton,
73
73
  _s as F0NumberInput,
74
74
  fs as F0PhoneInput,
75
- Me as F0ProgressSeries,
75
+ Re as F0ProgressSeries,
76
76
  xs as F0ResourceHeader,
77
- Ne as F0RichTextDisplay,
78
- Rs as F0RichTextEditor,
77
+ Me as F0RichTextDisplay,
78
+ Ns as F0RichTextEditor,
79
79
  Ve as F0SearchInput,
80
80
  w as F0SegmentedBar,
81
81
  Hs as F0SegmentedControl,
82
- Ms as F0TableOfContent,
83
- Ns as F0TextAreaInput,
82
+ Rs as F0TableOfContent,
83
+ Ms as F0TextAreaInput,
84
84
  we as F0TextInput,
85
85
  G as F0VersionHistory,
86
86
  Vs as F1SearchBox,
@@ -93,24 +93,24 @@ export {
93
93
  Gs as Input,
94
94
  zs as Item,
95
95
  Us as ItemSectionHeader,
96
- Y as LATEST,
97
- K as LIST_COMPACT_AFTER,
96
+ K as LATEST,
97
+ Q as LIST_COMPACT_AFTER,
98
98
  js as LineChart,
99
99
  X as LineChartWidget,
100
- $ as Menu,
100
+ Z as Menu,
101
101
  ze as MobileDropdown,
102
102
  J as NewHomeLayout,
103
103
  qs as NotesTextEditor,
104
- Ys as NotesTextEditorSkeleton,
105
- Ks as NumberInput,
106
- Q as OmniButton,
107
- Z as OneApprovalHistory,
104
+ Ks as NotesTextEditorSkeleton,
105
+ Qs as NumberInput,
106
+ Y as OmniButton,
107
+ $ as OneApprovalHistory,
108
108
  Ue as OneCalendar,
109
109
  je as OneCalendarInternal,
110
110
  Xs as OneDataCollection,
111
- $s as OneDateNavigator,
111
+ Zs as OneDateNavigator,
112
112
  Js as OneEmptyState,
113
- Qs as OnePagination,
113
+ Ys as OnePagination,
114
114
  aa as OnePersonListItem,
115
115
  ea as OneRestrictComponent,
116
116
  sa as Page,
@@ -118,21 +118,21 @@ export {
118
118
  ia as PageHeaderNavigationContext,
119
119
  oa as PageHeaderNavigationProvider,
120
120
  qe as PageNavigation,
121
- Zs as PieChart,
121
+ $s as PieChart,
122
122
  ra as PieChartWidget,
123
123
  at as PrivateBox,
124
124
  et as ProgressBarChart,
125
125
  st as RadarChart,
126
126
  na as Reactions,
127
127
  tt as ResourceHeader,
128
- Ye as RichTextDisplay,
128
+ Ke as RichTextDisplay,
129
129
  it as RichTextEditor,
130
130
  la as SLOT_ROW_BLEED,
131
131
  da as SLOT_SKELETON_ITEM_TESTID,
132
132
  Sa as ScrollArea,
133
133
  Ca as SearchBar,
134
134
  ot as SectionHeader,
135
- Ke as Select,
135
+ Qe as Select,
136
136
  Xe as Shortcut,
137
137
  ga as Sidebar,
138
138
  ma as SidebarChatBlankState,
@@ -148,13 +148,13 @@ export {
148
148
  Ea as SidebarTabs,
149
149
  Aa as SlotWidget,
150
150
  Ba as SlotWidgetContent,
151
- $e as Spinner,
151
+ Ze as Spinner,
152
152
  ya as Split,
153
153
  Da as Stack,
154
154
  La as SummariesWidget,
155
155
  Je as Switch,
156
- Qe as Tabs,
157
- Ze as TabsSkeleton,
156
+ Ye as Tabs,
157
+ $e as TabsSkeleton,
158
158
  Wa as TasksList,
159
159
  rt as Textarea,
160
160
  as as ToggleGroup,
@@ -171,10 +171,10 @@ export {
171
171
  _a as WidgetAvatarsListItem,
172
172
  fa as WidgetCatalog,
173
173
  xa as WidgetEmptyState,
174
- Ra as WidgetHighlightButton,
174
+ Na as WidgetHighlightButton,
175
175
  Ha as WidgetInboxList,
176
- Ma as WidgetInboxListItem,
177
- Na as WidgetSection,
176
+ Ra as WidgetInboxListItem,
177
+ Ma as WidgetSection,
178
178
  Va as WidgetSimpleList,
179
179
  wa as WidgetSimpleListItem,
180
180
  Ga as WidgetStrip,
@@ -188,14 +188,14 @@ export {
188
188
  ja as defaultSlotRenderers,
189
189
  qa as defaultSlotSkeleton,
190
190
  ut as downloadAsCSV,
191
- Ya as f0ChatSenderColors,
192
- Ka as f0EmojiPickerSizes,
191
+ Ka as f0ChatSenderColors,
192
+ Qa as f0EmojiPickerSizes,
193
193
  rs as f0FileItemSizes,
194
194
  Xa as f0MapMarkerVariants,
195
- $a as f0MapStyles,
195
+ Za as f0MapStyles,
196
196
  Ja as f0ProgressSeriesColors,
197
- Qa as f0ProgressSeriesSizes,
198
- Za as fromParams,
197
+ Ya as f0ProgressSeriesSizes,
198
+ $a as fromParams,
199
199
  ct as generateCSVContent,
200
200
  bt as getAutoPerPageMinHeight,
201
201
  ns as getGranularityDefinition,