@factorialco/f0-react 12.13.0 → 12.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArchiveThumbnail-BZgITTo2.js → ArchiveThumbnail-dGuKclaw.js} +3 -3
- package/dist/{ArchiveViewer-BHu224N3.js → ArchiveViewer-D4fZ2Zko.js} +12 -12
- package/dist/{ChatPostComposerDialog-CsxxDqxh.js → ChatPostComposerDialog-ZUy4oL4n.js} +2 -2
- package/dist/{CoachmarkProvider-9PVhiN-N.js → CoachmarkProvider-Bui0J43V.js} +20828 -20827
- package/dist/{CodeThumbnail-ChpXV1S-.js → CodeThumbnail-BN74kiZ4.js} +1 -1
- package/dist/{CodeViewer-BKw04W0G.js → CodeViewer-DAISBEVU.js} +4 -4
- package/dist/{DocumentToolbar-mB3bK8uS.js → DocumentToolbar-DY0Zl0N_.js} +2 -2
- package/dist/{DocxViewer-Dr8WXU1s.js → DocxViewer-CU-h8JZo.js} +1 -1
- package/dist/Ellipsis-CBouJQYY.js +34 -0
- package/dist/{F0AiProcessingOverlay-BUynKfyI.js → F0AiProcessingOverlay-1sgWr47b.js} +1576 -1443
- package/dist/{F0Alert-ALRcL0Af.js → F0Alert--45qrdm9.js} +10 -10
- package/dist/F0AudioPlayer-ZqghWPaS.js +2 -0
- package/dist/{F0CanvasPanel-D1QmpvzX.js → F0CanvasPanel-B07KPl9L.js} +10961 -9679
- package/dist/{F0DocumentViewer-ChCqzIK3.js → F0DocumentViewer-CPu9X2o1.js} +2 -2
- package/dist/{F0DocumentViewer-CEuF9b_u.js → F0DocumentViewer-gfD2E9-m.js} +1 -1
- package/dist/{F0Map-CWhV5A03.js → F0Map-CpggFT94.js} +130 -143
- package/dist/{F0Select-BZ20yXKy.js → F0Select-DmSUsNZ8.js} +1 -1
- package/dist/F0Text-CXHuzMbj.js +14 -0
- package/dist/F0VideoPlayer-BqAcQLm4.js +1 -0
- package/dist/{F0VideoPlayer-wTc25_qN.js → F0VideoPlayer-C1JRJ63P.js} +310 -310
- package/dist/{HtmlViewer-Uxb8n2vn.js → HtmlViewer-D6_vKugG.js} +4 -4
- package/dist/{Map-95w5slTZ.js → Map-BSvthUb7.js} +29 -28
- package/dist/{PdfThumbnail-BYrhsyMw.js → PdfThumbnail-CXumcn98.js} +1 -1
- package/dist/{PdfViewer-DUxhQr-O.js → PdfViewer-Pdk37Dts.js} +8 -8
- package/dist/{SheetViewer-C9Rbh_xJ.js → SheetViewer-BvAA9h38.js} +2 -2
- package/dist/{TextViewer-DP9lYxAB.js → TextViewer-D9CCbblP.js} +1 -1
- package/dist/ai.d.ts +3 -3
- package/dist/ai.js +3 -3
- package/dist/component-status.js +1 -1
- package/dist/experimental.d.ts +13 -2
- package/dist/experimental.js +5270 -5346
- package/dist/{exports-cxvNeHfV.d.ts → exports-4R3tYgiD.d.ts} +21 -11
- package/dist/f0.d.ts +7 -7
- package/dist/f0.js +382 -381
- package/dist/{highlight-Bjt-wXg6.js → highlight-cuPZlWw_.js} +4 -4
- package/dist/{index-DF8ubeg6.d.ts → index-MOV0Rv_v.d.ts} +411 -83
- package/dist/localized-CnKvEJya.js +73 -0
- package/dist/{maplibre-tJ3UolSF.js → maplibre-D0TBtDi0.js} +1 -1
- package/dist/{pdfWorker-BBnYtb1A.js → pdfWorker-B3PnBrSO.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{types-oJKIDe-E.d.ts → types-BdObZULx.d.ts} +2 -300
- package/package.json +1 -1
- package/dist/F0AudioPlayer-Cd9nIQX5.js +0 -2
- package/dist/F0AudioPlayer-vRJmmSpp.js +0 -1175
- package/dist/F0VideoPlayer-DUw-DouS.js +0 -1
- package/dist/localized-BrUgGMzm.js +0 -46
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Bt as e, jt as t, zt as n } from "./F0CanvasPanel-B07KPl9L.js";
|
|
2
2
|
import { t as r } from "./purify.es-ZpfdAuNV.js";
|
|
3
3
|
import { t as i } from "./ownValue-D4uSXt0d.js";
|
|
4
4
|
//#region src/addons/documents/lib/codeLanguages.ts
|
|
@@ -14,9 +14,9 @@ var a = {
|
|
|
14
14
|
xhtml: "xml",
|
|
15
15
|
svg: "xml",
|
|
16
16
|
env: "bash"
|
|
17
|
-
}, o = (
|
|
18
|
-
let
|
|
19
|
-
return
|
|
17
|
+
}, o = (t) => e.includes(t), s = (e) => {
|
|
18
|
+
let t = e?.trim().toLowerCase();
|
|
19
|
+
return t ? o(t) ? t : i(n, t) ?? i(a, t) ?? null : null;
|
|
20
20
|
}, c = (e) => {
|
|
21
21
|
let n = e?.split(/[\\/]/).pop()?.trim();
|
|
22
22
|
return n ? t({ name: n }) : null;
|
|
@@ -4,6 +4,8 @@ import React$1, { AnchorHTMLAttributes, ComponentProps, ComponentType, FC, Forwa
|
|
|
4
4
|
import { VariantProps } from "cva";
|
|
5
5
|
import { baseColors } from "@factorialco/f0-core";
|
|
6
6
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
7
|
+
import "react-pdf";
|
|
8
|
+
import { PDFDocumentProxy } from "pdfjs-dist";
|
|
7
9
|
import { TooltipPopupProps, TooltipPositionerProps } from "@base-ui/react/tooltip";
|
|
8
10
|
//#region src/elements/lib/data-testid/data-testid.d.ts
|
|
9
11
|
interface WithDataTestIdProps {
|
|
@@ -525,6 +527,401 @@ type F0AvatarModuleProps = VariantProps<typeof moduleAvatarVariants> & {
|
|
|
525
527
|
declare function F0AvatarModuleBase({ size, module, ...props }: F0AvatarModuleProps): import("react").JSX.Element;
|
|
526
528
|
declare const F0AvatarModule: WithDataTestIdReturnType<typeof F0AvatarModuleBase>;
|
|
527
529
|
//#endregion
|
|
530
|
+
//#region src/elements/lib/global.types.d.ts
|
|
531
|
+
interface DataAttributes {
|
|
532
|
+
[key: `data-${string}`]: string | undefined;
|
|
533
|
+
}
|
|
534
|
+
//#endregion
|
|
535
|
+
//#region src/addons/documents/F0DocumentViewer/types.d.ts
|
|
536
|
+
declare const pdfScales: readonly ["page-width", "page-fit", "0.5", "0.75", "1", "1.25", "1.5", "2", "3", "4"];
|
|
537
|
+
type F0PdfScale = (typeof pdfScales)[number];
|
|
538
|
+
type F0PdfRotation = 0 | 90 | 180 | 270;
|
|
539
|
+
/**
|
|
540
|
+
* Document families the viewer can render. "pdf" is the default and keeps the
|
|
541
|
+
* full toolbar (paging, zoom, print, download); the other kinds render a
|
|
542
|
+
* lazy-loaded, read-only preview: "sheet" (xlsx/csv) as an Excel-style
|
|
543
|
+
* grid with one tab per sheet, "docx" through docx-preview with page layout,
|
|
544
|
+
* "text" as a rendered markdown document (`.md`) or monospaced source,
|
|
545
|
+
* "code" as syntax-highlighted source, "html" as a sandboxed page running its
|
|
546
|
+
* scripts and "archive" as the file listing of a zip (never extracted).
|
|
547
|
+
*/
|
|
548
|
+
type F0DocumentKind = "pdf" | "sheet" | "docx" | "text" | "code" | "html" | "archive";
|
|
549
|
+
/**
|
|
550
|
+
* When an HTML document's scripts may run. "auto" runs them on open, in the
|
|
551
|
+
* isolated `htmlSandbox` origin when there is one, else in an opaque-origin
|
|
552
|
+
* srcdoc frame. "ask" opens static with a "Run content" button. "never" keeps
|
|
553
|
+
* it static.
|
|
554
|
+
*/
|
|
555
|
+
type F0DocumentHtmlExecution = "auto" | "ask" | "never";
|
|
556
|
+
/** A separate registrable domain serving `f0-html-host/` (see its README). */
|
|
557
|
+
interface F0DocumentHtmlSandbox {
|
|
558
|
+
/** Exact origin, e.g. "https://usercontent.example.com". */
|
|
559
|
+
origin: string;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Where the toolbar sits. "top" (default) is a bar across the top of the
|
|
563
|
+
* surface. "floating" is a dark pill that floats over the bottom of the
|
|
564
|
+
* document, like an action bar — for hosts whose own header already carries
|
|
565
|
+
* the title and the primary action (the AI chat canvas), so the controls stay
|
|
566
|
+
* close to the content instead of competing with that header. "none" draws
|
|
567
|
+
* no toolbar at all, for a host that already provides every control (the
|
|
568
|
+
* chat attachment viewer on an HTML page).
|
|
569
|
+
*/
|
|
570
|
+
type F0DocumentViewerToolbarPlacement = "top" | "floating" | "none";
|
|
571
|
+
/**
|
|
572
|
+
* Host-provided toolbar action, appended after the built-in controls in every
|
|
573
|
+
* kind — e.g. a Close button when the viewer lives inside a fullscreen overlay.
|
|
574
|
+
*/
|
|
575
|
+
interface F0DocumentViewerAction {
|
|
576
|
+
icon: IconType;
|
|
577
|
+
label: string;
|
|
578
|
+
onClick: () => void;
|
|
579
|
+
}
|
|
580
|
+
interface F0DocumentViewerProps extends WithDataTestIdProps, DataAttributes {
|
|
581
|
+
/** Source URL of the document. */
|
|
582
|
+
url: string;
|
|
583
|
+
/** File name used when downloading the document. Defaults to "document.pdf". */
|
|
584
|
+
filename?: string;
|
|
585
|
+
/**
|
|
586
|
+
* Document family to render. Defaults to "pdf" (unchanged behavior). For the
|
|
587
|
+
* other kinds the PDF-only props below (page, scale, rotation, print…) are
|
|
588
|
+
* ignored.
|
|
589
|
+
*/
|
|
590
|
+
kind?: F0DocumentKind;
|
|
591
|
+
/** MIME type of the document — used by kind "text" to detect markdown. */
|
|
592
|
+
mimeType?: string;
|
|
593
|
+
/**
|
|
594
|
+
* Language for kind="code" (e.g. "typescript", "py"). Derived from the
|
|
595
|
+
* file name when omitted; unknown languages show as plain source.
|
|
596
|
+
*/
|
|
597
|
+
language?: string;
|
|
598
|
+
/** Hide the built-in Download button, in every kind. */
|
|
599
|
+
hideDownload?: boolean;
|
|
600
|
+
/** kind="html": when scripts may run. Defaults to "auto". */
|
|
601
|
+
htmlExecution?: F0DocumentHtmlExecution;
|
|
602
|
+
/** kind="html": isolated origin where scripts run like a Claude artifact. */
|
|
603
|
+
htmlSandbox?: F0DocumentHtmlSandbox;
|
|
604
|
+
/** kind="html": who sent the file, shown as "Content from {sender}". */
|
|
605
|
+
sender?: string;
|
|
606
|
+
/** Toolbar placement, in every kind. Defaults to "top". */
|
|
607
|
+
toolbar?: F0DocumentViewerToolbarPlacement;
|
|
608
|
+
/**
|
|
609
|
+
* Custom actions appended to the toolbar (after the built-in controls), in
|
|
610
|
+
* every kind — e.g. a Close button when the viewer fills an overlay.
|
|
611
|
+
*/
|
|
612
|
+
actions?: F0DocumentViewerAction[];
|
|
613
|
+
/** Zero-based page index to scroll to initially (and on change). */
|
|
614
|
+
page?: number;
|
|
615
|
+
/** Restrict rendering to a subset of pages (zero-based indexes). */
|
|
616
|
+
pagesToDisplay?: number[];
|
|
617
|
+
/** Initial zoom level. Defaults to "page-width". */
|
|
618
|
+
initialScale?: F0PdfScale;
|
|
619
|
+
/** Send credentials with the document request. Defaults to true. */
|
|
620
|
+
withCredentials?: boolean;
|
|
621
|
+
/** Show a toolbar control to rotate the document in 90° steps. */
|
|
622
|
+
rotatable?: boolean;
|
|
623
|
+
/** Initial rotation in degrees. Defaults to 0. */
|
|
624
|
+
initialRotation?: F0PdfRotation;
|
|
625
|
+
/** Called with the new rotation in degrees whenever the user rotates. */
|
|
626
|
+
onRotationChange?: (rotation: F0PdfRotation) => void;
|
|
627
|
+
/** Called once the document has loaded, with the pdf.js document proxy. */
|
|
628
|
+
onPdfLoaded?: (pdf: PDFDocumentProxy) => void;
|
|
629
|
+
/** Called with the 1-based page number when the visible page changes. */
|
|
630
|
+
onPageChange?: (page: number) => void;
|
|
631
|
+
}
|
|
632
|
+
//#endregion
|
|
633
|
+
//#region src/addons/documents/F0DocumentViewer/F0DocumentViewerSkeleton.d.ts
|
|
634
|
+
declare const F0DocumentViewerSkeleton: () => import("react").JSX.Element;
|
|
635
|
+
//#endregion
|
|
636
|
+
//#region src/addons/documents/F0DocumentViewer/F0DocumentViewer.d.ts
|
|
637
|
+
/**
|
|
638
|
+
* @experimental This is an experimental component, use it at your own risk.
|
|
639
|
+
*/
|
|
640
|
+
declare const F0DocumentViewer: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<F0DocumentViewerProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
641
|
+
Skeleton: typeof F0DocumentViewerSkeleton;
|
|
642
|
+
}>;
|
|
643
|
+
/** @deprecated Renamed to `F0DocumentViewer`: it previews PDF, Word, Excel and text. */
|
|
644
|
+
declare const F0PdfViewer: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<F0DocumentViewerProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
645
|
+
Skeleton: typeof F0DocumentViewerSkeleton;
|
|
646
|
+
}>;
|
|
647
|
+
/** @deprecated Renamed to `F0DocumentViewerProps`. */
|
|
648
|
+
type F0PdfViewerProps = F0DocumentViewerProps;
|
|
649
|
+
/** @deprecated Renamed to `F0DocumentViewerToolbarPlacement`. */
|
|
650
|
+
type F0PdfViewerToolbarPlacement = F0DocumentViewerToolbarPlacement;
|
|
651
|
+
/** @deprecated Renamed to `F0DocumentViewerAction`. */
|
|
652
|
+
type F0PdfViewerAction = F0DocumentViewerAction;
|
|
653
|
+
//#endregion
|
|
654
|
+
//#region src/elements/lib/localized.d.ts
|
|
655
|
+
/**
|
|
656
|
+
* Shared helpers for content that can be provided in one language (a plain
|
|
657
|
+
* value) or several (a list of per-locale entries) — used by the media players
|
|
658
|
+
* for captions, descriptions, transcriptions and summaries.
|
|
659
|
+
*/
|
|
660
|
+
interface LocalizedOption<T> {
|
|
661
|
+
/** BCP-47 language tag, e.g. `"en"`, `"es"`, `"en-US"`. */
|
|
662
|
+
locale: string;
|
|
663
|
+
/**
|
|
664
|
+
* Display label for the language picker. Defaults to the language name for
|
|
665
|
+
* `locale` (via `Intl.DisplayNames`), so this is only needed to override it.
|
|
666
|
+
*/
|
|
667
|
+
label?: string;
|
|
668
|
+
/** The value for this locale. */
|
|
669
|
+
value: T;
|
|
670
|
+
}
|
|
671
|
+
/** A single value, or the same value provided in multiple languages. */
|
|
672
|
+
type Localized<T> = T | LocalizedOption<T>[];
|
|
673
|
+
//#endregion
|
|
674
|
+
//#region src/blocks/F0VideoPlayer/types.d.ts
|
|
675
|
+
/**
|
|
676
|
+
* Structured content for the video player.
|
|
677
|
+
*
|
|
678
|
+
* Every field accepts either a single value or a localized list
|
|
679
|
+
* (`[{ locale, label?, value }]`) — pass several languages and a language
|
|
680
|
+
* selector appears in the controls. A single shared selection drives captions,
|
|
681
|
+
* descriptions and the described source together (each falls back to its first
|
|
682
|
+
* entry for languages it doesn't provide). See `F0VideoPlayerProps.defaultLanguage`.
|
|
683
|
+
*
|
|
684
|
+
* `captions` are timed text shown over the video during playback (WCAG 2.1
|
|
685
|
+
* SC 1.2.2, Captions). Pass either a WebVTT resource URL or a raw WebVTT string
|
|
686
|
+
* (the player turns raw VTT into a blob track, so no CORS setup is needed); a
|
|
687
|
+
* remote URL requires the video host to allow cross-origin reads. When omitted,
|
|
688
|
+
* the player uses any caption/subtitle track embedded in the video file. A
|
|
689
|
+
* captions toggle in the controls shows/hides them (a filled glyph when on, a
|
|
690
|
+
* line glyph when off).
|
|
691
|
+
*
|
|
692
|
+
* Audio description (WCAG 2.1 SC 1.2.5) conveys on-screen visual information as
|
|
693
|
+
* audio, complementary to captions — both are independent and can be on at
|
|
694
|
+
* once. Provide it in one of two ways, toggled with the audio-description
|
|
695
|
+
* control (a filled "AD" badge when on, a line badge when off):
|
|
696
|
+
* - `describedSrc`: a pre-produced media rendition with description mixed into
|
|
697
|
+
* the audio. Toggling swaps the source, preserving position and play state.
|
|
698
|
+
* Highest quality; assumed the same length as `src`.
|
|
699
|
+
* - `descriptions`: a WebVTT `kind="descriptions"` script (URL or raw VTT),
|
|
700
|
+
* delivered at runtime — the video pauses on each cue so the description can
|
|
701
|
+
* be spoken (extended audio description), then resumes. Used only when
|
|
702
|
+
* `describedSrc` is absent.
|
|
703
|
+
*/
|
|
704
|
+
interface VideoPlayerContent {
|
|
705
|
+
/**
|
|
706
|
+
* WebVTT URL, or raw WebVTT content, for captions shown during playback.
|
|
707
|
+
* Localizable — pass a per-locale list to offer captions in several languages.
|
|
708
|
+
*/
|
|
709
|
+
captions?: Localized<string>;
|
|
710
|
+
/**
|
|
711
|
+
* A pre-produced described media source (description mixed into the audio),
|
|
712
|
+
* swapped in when audio description is enabled. Takes precedence over
|
|
713
|
+
* `descriptions`. Should match `src`'s duration so the position carries
|
|
714
|
+
* across the swap. Localizable.
|
|
715
|
+
*/
|
|
716
|
+
describedSrc?: Localized<string>;
|
|
717
|
+
/**
|
|
718
|
+
* WebVTT URL, or raw WebVTT content, of a `kind="descriptions"` script.
|
|
719
|
+
* Delivered at runtime with extended (pausing) audio description when no
|
|
720
|
+
* `describedSrc` is provided. Localizable.
|
|
721
|
+
*/
|
|
722
|
+
descriptions?: Localized<string>;
|
|
723
|
+
}
|
|
724
|
+
interface F0VideoPlayerProps extends DataAttributes {
|
|
725
|
+
/** Accessible name for this player region. Defaults to "Video player". */
|
|
726
|
+
ariaLabel?: string;
|
|
727
|
+
/**
|
|
728
|
+
* Video source URL. Localizable — pass a per-locale list of dubbed renditions
|
|
729
|
+
* to offer selectable audio languages; an "Audio" selector then appears,
|
|
730
|
+
* independent of the subtitle/caption language.
|
|
731
|
+
*/
|
|
732
|
+
src: Localized<string>;
|
|
733
|
+
/**
|
|
734
|
+
* Initial language for localized content, matched against the provided
|
|
735
|
+
* locales exactly or by primary subtag, then the viewer's browser language,
|
|
736
|
+
* then the first provided. Applies to both the audio (`src`) and the text
|
|
737
|
+
* (`content`) language selections. Only relevant when more than one language
|
|
738
|
+
* is available.
|
|
739
|
+
*/
|
|
740
|
+
defaultLanguage?: string;
|
|
741
|
+
/**
|
|
742
|
+
* Image URL shown while the video loads and before playback starts (the
|
|
743
|
+
* native `<video>` poster). Cleared by the browser once playback begins.
|
|
744
|
+
*/
|
|
745
|
+
poster?: string;
|
|
746
|
+
/**
|
|
747
|
+
* Marks the video as having no audio (video-only). Captions (WCAG 2.1
|
|
748
|
+
* SC 1.2.2) don't apply to silent media, so this exempts the player from the
|
|
749
|
+
* captions requirement — `data-video-captions` is set to `"no-audio"` instead
|
|
750
|
+
* of `"missing"`. Note video-only content may still need a text/audio
|
|
751
|
+
* alternative for its visual information (SC 1.2.1) — audio description still
|
|
752
|
+
* works over a silent video (its description audio plays even though the video
|
|
753
|
+
* itself is muted). Browsers can't reliably detect the absence of audio before
|
|
754
|
+
* playback, so this is declared explicitly.
|
|
755
|
+
* @default false
|
|
756
|
+
*/
|
|
757
|
+
silent?: boolean;
|
|
758
|
+
/**
|
|
759
|
+
* Structured content for the player. Currently carries `captions` (a WebVTT
|
|
760
|
+
* URL or raw WebVTT string) shown over the video during playback and
|
|
761
|
+
* toggled with the "CC" control. When `captions` is omitted, captions
|
|
762
|
+
* embedded in the video file are used instead.
|
|
763
|
+
*/
|
|
764
|
+
content?: VideoPlayerContent;
|
|
765
|
+
/**
|
|
766
|
+
* Keep the controls bar visible during playback instead of auto-hiding it.
|
|
767
|
+
* By default the controls show while the video is paused and auto-hide while
|
|
768
|
+
* it plays (revealing on hover or keyboard focus); set this to keep them
|
|
769
|
+
* visible the whole time. Default `false`.
|
|
770
|
+
*/
|
|
771
|
+
persistControls?: boolean;
|
|
772
|
+
/** Start playing on mount. Default `false`. */
|
|
773
|
+
autoPlay?: boolean;
|
|
774
|
+
/** Focus the player on mount so keyboard shortcuts work immediately. Default `false`. */
|
|
775
|
+
autoFocus?: boolean;
|
|
776
|
+
/**
|
|
777
|
+
* Optional download action rendered inside the player controls. Native media
|
|
778
|
+
* downloads remain disabled, so embedded surfaces that allow saving the
|
|
779
|
+
* source can expose an explicit, keyboard-accessible action here.
|
|
780
|
+
*/
|
|
781
|
+
download?: {
|
|
782
|
+
label: string;
|
|
783
|
+
onClick: () => void;
|
|
784
|
+
};
|
|
785
|
+
/**
|
|
786
|
+
* Prevent seeking past the furthest point already watched. Renders a marker at
|
|
787
|
+
* that position and blocks the cursor beyond it. Default `false`.
|
|
788
|
+
*/
|
|
789
|
+
restrictForwardSeek?: boolean;
|
|
790
|
+
/** Called on play, on pause and on a recurring heartbeat during playback. */
|
|
791
|
+
onTrackAction?: () => void;
|
|
792
|
+
/**
|
|
793
|
+
* Called once when each watched-% milestone (`25`, `50`, `75`) is first
|
|
794
|
+
* reached. For progress analytics; completion is reported via `onComplete`.
|
|
795
|
+
*/
|
|
796
|
+
onMilestone?: (milestone: number, video: HTMLVideoElement) => void;
|
|
797
|
+
/**
|
|
798
|
+
* Called once when the video is "watched enough": the remaining time drops to
|
|
799
|
+
* `min(10s, 3% of duration)` (the later of "last 10s" and "97%").
|
|
800
|
+
*/
|
|
801
|
+
onComplete?: (video: HTMLVideoElement) => void;
|
|
802
|
+
}
|
|
803
|
+
//#endregion
|
|
804
|
+
//#region src/blocks/F0VideoPlayer/internal.d.ts
|
|
805
|
+
/**
|
|
806
|
+
* Video player built on a native `<video>` element.
|
|
807
|
+
*
|
|
808
|
+
* useVideoState → element ref, native listeners, derived state.
|
|
809
|
+
* useFullscreen → toggles fullscreen on the wrapper (keeps controls visible).
|
|
810
|
+
* useKeyboardShortcuts → Space, ←/→, ↑/↓, M, F.
|
|
811
|
+
* useVideoTracking → analytics callback on play/pause + interval.
|
|
812
|
+
* useVideoMilestones → watched-% milestone callbacks (25/50/75).
|
|
813
|
+
* useVideoCompletion → "watched enough" callback (min(10s, 3%)).
|
|
814
|
+
* useRestrictForwardSeek → blocks seeking past the furthest-watched point.
|
|
815
|
+
* <Controls> → presentation only; interactions delegated back here.
|
|
816
|
+
*/
|
|
817
|
+
declare function F0VideoPlayerInternal({ src, poster, ariaLabel, silent, persistControls, content, defaultLanguage, autoPlay, autoFocus, download, restrictForwardSeek, onTrackAction, onMilestone, onComplete, ...dataAttributes }: F0VideoPlayerProps): import("react").JSX.Element;
|
|
818
|
+
//#endregion
|
|
819
|
+
//#region src/blocks/F0VideoPlayer/F0VideoPlayer.d.ts
|
|
820
|
+
/**
|
|
821
|
+
* @experimental This is an experimental component, use it at your own risk.
|
|
822
|
+
*
|
|
823
|
+
* Video player built on a native `<video>` element with f0-styled controls
|
|
824
|
+
* (play/pause, seekbar, volume, playback speed, fullscreen) plus keyboard
|
|
825
|
+
* shortcuts. Analytics, watch-% milestones, completion and forward-seek
|
|
826
|
+
* restriction are built in and enabled via props (`onTrackAction`,
|
|
827
|
+
* `onMilestone`, `onComplete`, `restrictForwardSeek`).
|
|
828
|
+
*/
|
|
829
|
+
declare const F0VideoPlayer: WithDataTestIdReturnType<typeof F0VideoPlayerInternal>;
|
|
830
|
+
//#endregion
|
|
831
|
+
//#region src/elements/primitives/_primitives/F0Attachments/types.d.ts
|
|
832
|
+
type AttachmentDocumentKind = F0DocumentKind;
|
|
833
|
+
//#endregion
|
|
834
|
+
//#region src/addons/ai/ai/F0AiFileAttachments/types.d.ts
|
|
835
|
+
/**
|
|
836
|
+
* A file shown in the AI chat: something the person sent, or something the
|
|
837
|
+
* assistant produced. Built from the host's message parts with the adapters in
|
|
838
|
+
* `./adapters`.
|
|
839
|
+
*/
|
|
840
|
+
interface AiChatFile {
|
|
841
|
+
url: string;
|
|
842
|
+
name: string;
|
|
843
|
+
/**
|
|
844
|
+
* Declared type. Placeholder types (`application/octet-stream`,
|
|
845
|
+
* `application/vnd.factorial.*`) are ignored and the extension decides.
|
|
846
|
+
*/
|
|
847
|
+
mimeType?: string;
|
|
848
|
+
/** Size in bytes, when known. */
|
|
849
|
+
size?: number;
|
|
850
|
+
/**
|
|
851
|
+
* PDF rendering of a file the browser can't preview (docx, pptx, xlsx made
|
|
852
|
+
* by the agent). The card and viewer show it; downloads keep `url`.
|
|
853
|
+
*/
|
|
854
|
+
previewUrl?: string;
|
|
855
|
+
/** Smaller image for the transcript, or a video poster. */
|
|
856
|
+
thumbnailUrl?: string;
|
|
857
|
+
/** Intrinsic photo size; reserves the box before the photo loads. */
|
|
858
|
+
width?: number;
|
|
859
|
+
height?: number;
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* Which kind of preview a file opened. `document` covers everything the
|
|
863
|
+
* document viewer shows (pdf, sheets, Word, text, code, HTML); the exact
|
|
864
|
+
* family comes in `onOpenFile`'s third argument. Zips never open: their card
|
|
865
|
+
* downloads them.
|
|
866
|
+
*/
|
|
867
|
+
type AiChatFileKind = "image" | "video" | "audio" | "document" | "file";
|
|
868
|
+
/**
|
|
869
|
+
* Makes a file URL loadable by the browser. Needed when files sit behind
|
|
870
|
+
* authentication headers that `<img>`, video and the PDF reader can't send.
|
|
871
|
+
*
|
|
872
|
+
* - Return a `Blob`: F0 creates the object URL, shares it between the card,
|
|
873
|
+
* the lightbox and the download, and revokes it when nothing uses it.
|
|
874
|
+
* - Return a string: used as is (for example a signed URL).
|
|
875
|
+
* - Return null or undefined: the original URL is used.
|
|
876
|
+
*
|
|
877
|
+
* Results are shared while in use, so a URL is normally resolved once; it is
|
|
878
|
+
* resolved again after a failure or once nothing has shown it for a while.
|
|
879
|
+
* Must not throw for URLs it doesn't recognise.
|
|
880
|
+
*/
|
|
881
|
+
type AiChatFileUrlResolver = (url: string, context: {
|
|
882
|
+
signal: AbortSignal;
|
|
883
|
+
}) => Promise<string | Blob | null | undefined> | string | Blob | null | undefined;
|
|
884
|
+
interface AiChatFilePreviewConfig {
|
|
885
|
+
/**
|
|
886
|
+
* Resolve file URLs before showing them. Without it, only files the browser
|
|
887
|
+
* already holds (`blob:` and `data:` URLs) get rich previews; anything else
|
|
888
|
+
* stays a download card, since the chat can't know the URL is loadable.
|
|
889
|
+
*/
|
|
890
|
+
resolveUrl?: AiChatFileUrlResolver;
|
|
891
|
+
/**
|
|
892
|
+
* Show rich previews for remote URLs without a resolver, when they load
|
|
893
|
+
* directly (public or cookie-authenticated files).
|
|
894
|
+
* @default false
|
|
895
|
+
*/
|
|
896
|
+
directUrls?: boolean;
|
|
897
|
+
/**
|
|
898
|
+
* Separate registrable domain serving `f0-html-host/` (see its README).
|
|
899
|
+
* With it, HTML files run in that isolated origin; without it they run in
|
|
900
|
+
* an opaque-origin srcdoc frame inside this tab.
|
|
901
|
+
*/
|
|
902
|
+
htmlSandbox?: F0DocumentHtmlSandbox;
|
|
903
|
+
/**
|
|
904
|
+
* When HTML files run their scripts: "auto" on open, "ask" behind a "Run
|
|
905
|
+
* content" button, "never" static.
|
|
906
|
+
* @default "auto"
|
|
907
|
+
*/
|
|
908
|
+
htmlExecution?: F0DocumentHtmlExecution;
|
|
909
|
+
}
|
|
910
|
+
/** One file published by an agent's `showFiles` tool. */
|
|
911
|
+
interface AiChatShowFilesItem {
|
|
912
|
+
path: string;
|
|
913
|
+
displayName?: string;
|
|
914
|
+
mimeType?: string;
|
|
915
|
+
bytes?: number;
|
|
916
|
+
/** Download URL, when the tool already built one. */
|
|
917
|
+
url?: string;
|
|
918
|
+
/** A PDF rendering of the file, written next to it by the agent. */
|
|
919
|
+
preview?: {
|
|
920
|
+
path: string;
|
|
921
|
+
url?: string;
|
|
922
|
+
};
|
|
923
|
+
}
|
|
924
|
+
//#endregion
|
|
528
925
|
//#region src/addons/ai/ai/canvas/types.d.ts
|
|
529
926
|
/**
|
|
530
927
|
* Base shape shared by all canvas content types.
|
|
@@ -624,11 +1021,23 @@ type BulkResolveInconsistenciesCanvasContent = CanvasContentBase & {
|
|
|
624
1021
|
/** Exact row ids the proposal was scoped to; null when the whole period was analysed. */
|
|
625
1022
|
scopeInconsistencyIds?: string[] | null;
|
|
626
1023
|
};
|
|
1024
|
+
/**
|
|
1025
|
+
* File canvas content: files the assistant sent, previewed beside the chat.
|
|
1026
|
+
* Built into the chat (no host entity needed); `F0AiFileAttachments` opens it
|
|
1027
|
+
* for assistant files that have a preview.
|
|
1028
|
+
*/
|
|
1029
|
+
type FileCanvasContent = CanvasContentBase & {
|
|
1030
|
+
type: "file";
|
|
1031
|
+
/** The files the canvas pages through, in the message's order. */
|
|
1032
|
+
files: AiChatFile[];
|
|
1033
|
+
/** The file on screen. */
|
|
1034
|
+
index: number;
|
|
1035
|
+
};
|
|
627
1036
|
/**
|
|
628
1037
|
* Discriminated union for canvas panel content.
|
|
629
1038
|
* Add new entity types to this union as they are implemented.
|
|
630
1039
|
*/
|
|
631
|
-
type CanvasContent = DashboardCanvasContent | FormCanvasContent | DataDownloadCanvasContent | AutofillTimesheetCanvasContent | BulkResolveInconsistenciesCanvasContent;
|
|
1040
|
+
type CanvasContent = DashboardCanvasContent | FormCanvasContent | DataDownloadCanvasContent | AutofillTimesheetCanvasContent | BulkResolveInconsistenciesCanvasContent | FileCanvasContent;
|
|
632
1041
|
/**
|
|
633
1042
|
* Canvas-level action callbacks grouped by entity type.
|
|
634
1043
|
* Each entity defines its own actions type; this aggregates them.
|
|
@@ -1082,82 +1491,6 @@ interface DashboardCanvasActions {
|
|
|
1082
1491
|
getMetadata?: (id: string) => Promise<DashboardMetadata | void>;
|
|
1083
1492
|
}
|
|
1084
1493
|
//#endregion
|
|
1085
|
-
//#region src/addons/ai/ai/F0AiFileAttachments/types.d.ts
|
|
1086
|
-
/**
|
|
1087
|
-
* A file shown in the AI chat: something the person sent, or something the
|
|
1088
|
-
* assistant produced. Built from the host's message parts with the adapters in
|
|
1089
|
-
* `./adapters`.
|
|
1090
|
-
*/
|
|
1091
|
-
interface AiChatFile {
|
|
1092
|
-
url: string;
|
|
1093
|
-
name: string;
|
|
1094
|
-
/**
|
|
1095
|
-
* Declared type. Placeholder types (`application/octet-stream`,
|
|
1096
|
-
* `application/vnd.factorial.*`) are ignored and the extension decides.
|
|
1097
|
-
*/
|
|
1098
|
-
mimeType?: string;
|
|
1099
|
-
/** Size in bytes, when known. */
|
|
1100
|
-
size?: number;
|
|
1101
|
-
/**
|
|
1102
|
-
* PDF rendering of a file the browser can't preview (docx, pptx, xlsx made
|
|
1103
|
-
* by the agent). The card and viewer show it; downloads keep `url`.
|
|
1104
|
-
*/
|
|
1105
|
-
previewUrl?: string;
|
|
1106
|
-
/** Smaller image for the transcript, or a video poster. */
|
|
1107
|
-
thumbnailUrl?: string;
|
|
1108
|
-
/** Intrinsic photo size; reserves the box before the photo loads. */
|
|
1109
|
-
width?: number;
|
|
1110
|
-
height?: number;
|
|
1111
|
-
}
|
|
1112
|
-
/**
|
|
1113
|
-
* Which kind of preview a file opened. Photos and documents open a viewer
|
|
1114
|
-
* today; `video` and `file` are reserved for when they do too.
|
|
1115
|
-
*/
|
|
1116
|
-
type AiChatFileKind = "image" | "video" | "document" | "file";
|
|
1117
|
-
/**
|
|
1118
|
-
* Makes a file URL loadable by the browser. Needed when files sit behind
|
|
1119
|
-
* authentication headers that `<img>`, video and the PDF reader can't send.
|
|
1120
|
-
*
|
|
1121
|
-
* - Return a `Blob`: F0 creates the object URL, shares it between the card,
|
|
1122
|
-
* the lightbox and the download, and revokes it when nothing uses it.
|
|
1123
|
-
* - Return a string: used as is (for example a signed URL).
|
|
1124
|
-
* - Return null or undefined: the original URL is used.
|
|
1125
|
-
*
|
|
1126
|
-
* Results are shared while in use, so a URL is normally resolved once; it is
|
|
1127
|
-
* resolved again after a failure or once nothing has shown it for a while.
|
|
1128
|
-
* Must not throw for URLs it doesn't recognise.
|
|
1129
|
-
*/
|
|
1130
|
-
type AiChatFileUrlResolver = (url: string, context: {
|
|
1131
|
-
signal: AbortSignal;
|
|
1132
|
-
}) => Promise<string | Blob | null | undefined> | string | Blob | null | undefined;
|
|
1133
|
-
interface AiChatFilePreviewConfig {
|
|
1134
|
-
/**
|
|
1135
|
-
* Resolve file URLs before showing them. Without it, only files the browser
|
|
1136
|
-
* already holds (`blob:` and `data:` URLs) get rich previews; anything else
|
|
1137
|
-
* keeps the plain file chip, since the chat can't know the URL is loadable.
|
|
1138
|
-
*/
|
|
1139
|
-
resolveUrl?: AiChatFileUrlResolver;
|
|
1140
|
-
/**
|
|
1141
|
-
* Show rich previews for remote URLs without a resolver, when they load
|
|
1142
|
-
* directly (public or cookie-authenticated files).
|
|
1143
|
-
* @default false
|
|
1144
|
-
*/
|
|
1145
|
-
directUrls?: boolean;
|
|
1146
|
-
}
|
|
1147
|
-
/** One file published by an agent's `showFiles` tool. */
|
|
1148
|
-
interface AiChatShowFilesItem {
|
|
1149
|
-
path: string;
|
|
1150
|
-
displayName?: string;
|
|
1151
|
-
mimeType?: string;
|
|
1152
|
-
bytes?: number;
|
|
1153
|
-
/** Download URL, when the tool already built one. */
|
|
1154
|
-
url?: string;
|
|
1155
|
-
/** A PDF rendering of the file, written next to it by the agent. */
|
|
1156
|
-
preview?: {
|
|
1157
|
-
path: string;
|
|
1158
|
-
};
|
|
1159
|
-
}
|
|
1160
|
-
//#endregion
|
|
1161
1494
|
//#region src/elements/avatars/F0Avatar/F0Avatar.d.ts
|
|
1162
1495
|
interface AvatarProps {
|
|
1163
1496
|
avatar: AvatarVariant;
|
|
@@ -1328,11 +1661,6 @@ interface ExpenseProfile {
|
|
|
1328
1661
|
status?: string;
|
|
1329
1662
|
}
|
|
1330
1663
|
//#endregion
|
|
1331
|
-
//#region src/elements/lib/global.types.d.ts
|
|
1332
|
-
interface DataAttributes {
|
|
1333
|
-
[key: `data-${string}`]: string | undefined;
|
|
1334
|
-
}
|
|
1335
|
-
//#endregion
|
|
1336
1664
|
//#region src/elements/Action/types.d.ts
|
|
1337
1665
|
declare const actionButtonVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "ai"];
|
|
1338
1666
|
type ActionButtonVariant = (typeof actionButtonVariants)[number];
|
|
@@ -5166,4 +5494,4 @@ declare function useI18n(): TranslationsType & {
|
|
|
5166
5494
|
};
|
|
5167
5495
|
declare const buildTranslations: (translations: TranslationsType) => TranslationsType;
|
|
5168
5496
|
//#endregion
|
|
5169
|
-
export { AiChatCredits as $,
|
|
5497
|
+
export { AiChatCredits as $, F0AvatarTeam as $i, F0Button as $n, CollectionComputation as $r, F0TagTeam as $t, Weekdays as A, WithDataTestIdProps as Aa, F0DocumentHtmlExecution as Ai, AvatarListSize as An, CanvasContent as Ar, CustomEntityRefCard as At, RenderableTurn as B, F0AvatarModuleProps as Bi, F0Link as Bn, ChatDashboardDateNavigationGranularity as Br, cardImageAspectRatios as Bt, FileItemSize as C, Props$2 as Ca, VideoPlayerContent as Ci, TooltipProps as Cn, F0PersonCardProps as Cr, WelcomeScreenSuggestionItem as Ct, TagCounterItem as D, F0IconProps as Da, F0PdfViewerAction as Di, ChartColorToken as Dn, AutofillTimesheetShift as Dr, SidePanelContextValue as Dt, TagCounter as E, F0Icon as Ea, F0PdfViewer as Ei, HourDistributionDataPoint as En, AutofillTimesheetCanvasContent as Er, SidePanelContent as Et, F0AiMessagesContainerProps as F, F0DocumentViewerToolbarPlacement as Fi, CardAvatarVariant as Fn, ChatDashboardChartConfig as Fr, F0Card as Ft, F0AiChatProps as G, ColorListAvatarVariant as Gi, DropdownItemLabel as Gn, ChatDashboardItem as Gr, CardAlertVariant as Gt, MarkdownTagRenderers as H, AvatarVariant$1 as Hi, DropdownContentVariant as Hn, ChatDashboardFunnelChartConfig as Hr, cardImageSizes as Ht, WelcomeScreenCta as I, F0PdfScale as Ii, AlertAvatarProps as In, ChatDashboardChartItem as Ir, F0CardProps as It, AiChatComposerActionItem as J, FlagAvatarVariant as Ji, DropdownItemSeparator as Jn, ChatDashboardMetricItem as Jr, ValueDisplayRendererDefinition as Jt, F0AiChatProvider as K, CompanyAvatarVariant as Ki, DropdownItemObject as Kn, ChatDashboardLineChartConfig as Kr, CardMetadata as Kt, FeedbackConfig as L, pdfScales as Li, F0AvatarAlert as Ln, ChatDashboardCollectionItem as Lr, CardImageAspectRatio as Lt, useAiChatTranslations as M, WithDataTestIdReturnType as Ma, F0DocumentKind as Mi, F0TagAlert as Mn, CanvasEntityDefinition as Mr, EntityRefs as Mt, useAiChat as N, withDataTestId as Na, F0DocumentViewerAction as Ni, Level as Nn, ChartComputation as Nr, EntityResolvers as Nt, F0TagRaw as O, IconType as Oa, F0PdfViewerProps as Oi, chartColorTokens as On, BulkResolveInconsistenciesCanvasContent as Or, SidePanelLayout as Ot, F0AiMessagesContainer as P, F0DocumentViewerProps as Pi, Props$1 as Pn, ChatDashboardBarChartConfig as Pr, EntityUrlBuilders as Pt, AiChatCreditWarning as Q, avatarVariants as Qi, LinkContextValue as Qn, ChatDashboardScatterChartConfig as Qr, TagVariant as Qt, UserReaction as R, DataAttributes as Ri, alertAvatarTypes as Rn, ChatDashboardColumn as Rr, CardImageFit as Rt, FileItemProps as S, NewColor as Sa, F0VideoPlayerProps as Si, TooltipGroupProps as Sn, F0PersonCardAction as Sr, WelcomeScreenSuggestion as St, F0TagList as T, DistributiveOmit as Ta, F0DocumentViewer as Ti, HourDistributionCellValue as Tn, AggregationType as Tr, aiTranslations as Tt, markdownRenderers as U, AvatarVariants as Ui, DropdownInternalProps as Un, ChatDashboardGaugeChartConfig as Ur, CardAlertAction as Ut, ThinkingProps as V, AvatarAction as Vi, F0LinkProps as Vn, ChatDashboardFilterDefinition as Vr, cardImageFits as Vt, F0AiChat as W, ColorAvatarVariant as Wi, DropdownItem as Wn, ChatDashboardHeatmapChartConfig as Wr, CardAlertProps as Wt, AiChatComposerActionSubmenu as X, PersonAvatarVariant as Xi, DropdownItemSwitch as Xn, ChatDashboardPieChartConfig as Xr, TagType as Xt, AiChatComposerActionSeparator as Y, IconAvatarVariant as Yi, DropdownItemSubmenu as Yn, ChatDashboardNavigationFilterDefinition as Yr, F0TagListProps as Yt, AiChatComposerActionToggle as Z, TeamAvatarVariant as Zi, NavigationItem as Zn, ChatDashboardRadarChartConfig as Zr, Tag as Zt, F0FileItem as _, BaseAvatarProps as _a, AiChatFilePreviewConfig as _i, F0ProgressSeriesSize as _n, Variant as _r, PendingContext as _t, F0CardHorizontal as a, F0AvatarFile as aa, DataDownloadDataset as ai, F0TagCompanyProps as an, EmojiImage as ar, AiChatTrackingOptions as at, FileAction as b, ModuleId as ba, AttachmentDocumentKind as bi, Tooltip as bn, PersonProfile as br, UploadedFile as bt, MobileDropdown as c, F0AvatarEmoji as ca, FormatPreset as ci, F0TagBalanceProps as cn, getEmojiLabel as cr, AiChatUsageLimits as ct, useFormCardValueFormatter as d, F0AvatarCompanyProps as da, MetricComputation as di, RelaxedNumericWithFormatter as dn, ExpenseProfile as dr, AppendToolCall as dt, F0AvatarTeamProps as ea, DashboardCanvasActions as ei, F0TagTeamProps as en, F0ButtonProps as er, AiChatDisclaimer as et, useSetFormCardValueFormatter as f, F0AvatarColorList as fa, PieComputation as fi, F0ProgressSeries as fn, VacancyProfile as fr, CreditsUsage as ft, F0FileAction as g, AvatarBadge as ga, AiChatFileKind as gi, F0ProgressSeriesProps as gn, StatusVariant as gr, F0ToolCall as gt, DetailsItemType as h, F0AvatarColorProps as ha, AiChatFile as hi, F0ProgressSeriesOptions as hn, F0TagStatusProps as hr, F0Message as ht, useI18n as i, CountryCode as ia, DataDownloadCanvasContent as ii, F0TagCompany as in, buttonVariants as ir, AiChatProviderProps as it, AiChatTranslationsProvider as j, WithDataTestIdPropsOf as ja, F0DocumentHtmlSandbox as ji, F0AvatarListProps as jn, CanvasContentBase as jr, CustomEntityRefConfig as jt, F0TagDot as k, DataTestIdWrapper as ka, F0PdfViewerToolbarPlacement as ki, BarSeriesStyle as kn, CanvasActions as kr, SidePanelViewDefinition as kt, FormCardValueFormatterEntry as l, F0AvatarEmojiProps as la, GaugeComputation as li, Numeric as ln, useEmojiConfetti as lr, AiChatUsageLimitsSection as lt, DetailsItemContent as m, F0AvatarColor as ma, ScatterComputation as mi, F0ProgressSeriesColor as mn, F0TagStatus as mr, F0AiChatWelcomeCard as mt, I18nProviderProps as n, F0AvatarIcon as na, DashboardFetchSpec as ni, F0TagPerson as nn, ButtonVariant as nr, AiChatFileAttachmentConfig as nt, F0CardHorizontalProps as o, F0AvatarFileProps as oa, FileCanvasContent as oi, F0TagBalance as on, EmojiImageProps as or, AiChatTranslations as ot, DetailsItem as p, F0AvatarColorListProps as pa, RadarComputation as pi, F0ProgressSeriesBar as pn, RequisitionProfile as pr, F0AIMessage as pt, AiChatComposerAction as q, FileAvatarVariant as qi, DropdownItemPanel as qn, ChatDashboardMetricFormat as qr, cardAlertVariants as qt, buildTranslations as r, F0AvatarIconProps as ra, DashboardMetadata as ri, F0TagPersonProps as rn, buttonSizes as rr, AiChatMode as rt, Dropdown as s, FileDef as sa, FormCanvasContent as si, BalanceStatus as sn, EmojiRenderMode as sr, AiChatTranslationsProviderProps as st, I18nProvider as t, F0AvatarPersonProps as ta, DashboardCanvasContent as ti, F0TagRawProps as tn, ButtonSize as tr, AiChatEmployeeCredits as tt, FormCardValueFormatterProvider as u, BaseAvatar as ua, HeatmapComputation as ui, NumericWithFormatter as un, ActionButtonVariant as ur, AppendMessage as ut, F0FileItemProps as v, Badge as va, AiChatFileUrlResolver as vi, f0ProgressSeriesColors as vn, JobPostingProfile as vr, PendingQuote as vt, f0FileItemSizes as w, tagDotColors as wa, Localized as wi, Shortcut as wn, F0Avatar as wr, WelcomeSuggestionClickEvent as wt, FileItem as x, modules as xa, F0VideoPlayer as xi, TooltipGroup as xn, F0PersonCard as xr, VisualizationMode as xt, F0FileItemSize as y, BadgeProps as ya, AiChatShowFilesItem as yi, f0ProgressSeriesSizes as yn, CandidateProfile as yr, TranscribeFn as yt, useToolCallId as z, F0AvatarModule as zi, CardSecondaryAction as zn, ChatDashboardConfig as zr, CardImageSize as zt };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { forwardRef as e } from "react";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
var r = e((e, r) => /* @__PURE__ */ n("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
fill: "none",
|
|
6
|
+
viewBox: "0 0 24 24",
|
|
7
|
+
ref: r,
|
|
8
|
+
...e,
|
|
9
|
+
children: [/* @__PURE__ */ t("path", {
|
|
10
|
+
fill: "currentColor",
|
|
11
|
+
d: "M5.99999 17V6.99999C5.99999 5.89542 6.89542 4.99999 7.99999 4.99999C9.10456 4.99999 9.99999 5.89542 9.99999 6.99999V17C9.99999 18.1046 9.10456 19 7.99999 19C6.89542 19 5.99999 18.1046 5.99999 17Z"
|
|
12
|
+
}), /* @__PURE__ */ t("path", {
|
|
13
|
+
fill: "currentColor",
|
|
14
|
+
d: "M14 17V6.99999C14 5.89542 14.8954 4.99999 16 4.99999C17.1046 4.99999 18 5.89542 18 6.99999V17C18 18.1046 17.1046 19 16 19C14.8954 19 14 18.1046 14 17Z"
|
|
15
|
+
})]
|
|
16
|
+
})), i = e((e, n) => /* @__PURE__ */ t("svg", {
|
|
17
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
18
|
+
fill: "none",
|
|
19
|
+
viewBox: "0 0 24 24",
|
|
20
|
+
ref: n,
|
|
21
|
+
...e,
|
|
22
|
+
children: /* @__PURE__ */ t("path", {
|
|
23
|
+
fill: "currentColor",
|
|
24
|
+
d: "M5.99988 16.5536V7.44636C5.99988 5.91072 7.65884 4.94798 8.99216 5.70988L16.961 10.2635C18.3047 11.0313 18.3047 12.9687 16.961 13.7365L8.99216 18.2901C7.65884 19.052 5.99988 18.0893 5.99988 16.5536Z"
|
|
25
|
+
})
|
|
26
|
+
}));
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/elements/lib/localized.ts
|
|
29
|
+
function a(e) {
|
|
30
|
+
return Array.isArray(e) && e.every((e) => typeof e == "object" && !!e && "locale" in e && "value" in e);
|
|
31
|
+
}
|
|
32
|
+
function o(e, t) {
|
|
33
|
+
if (e !== void 0) {
|
|
34
|
+
if (!a(e)) return e;
|
|
35
|
+
if (e.length !== 0) return ((t ? e.find((e) => e.locale === t) : void 0) ?? e[0]).value;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function s(...e) {
|
|
39
|
+
let t = /* @__PURE__ */ new Map();
|
|
40
|
+
for (let n of e) if (a(n)) for (let e of n) {
|
|
41
|
+
let n = t.get(e.locale);
|
|
42
|
+
n ? !n.label && e.label && (n.label = e.label) : t.set(e.locale, {
|
|
43
|
+
locale: e.locale,
|
|
44
|
+
label: e.label
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return Array.from(t.values());
|
|
48
|
+
}
|
|
49
|
+
function c(e, t) {
|
|
50
|
+
if (e.label) return e.label;
|
|
51
|
+
try {
|
|
52
|
+
let n = t ?? e.locale, r = new Intl.DisplayNames([n], { type: "language" }).of(e.locale) ?? e.locale;
|
|
53
|
+
return r.charAt(0).toLocaleUpperCase(n) + r.slice(1);
|
|
54
|
+
} catch {
|
|
55
|
+
return e.locale;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function l(e, t) {
|
|
59
|
+
if (e.length === 0) return;
|
|
60
|
+
let n = e.map((e) => e.locale), r = (e) => e.split("-")[0], i = (e) => n.find((t) => t === e) ?? n.find((t) => r(t) === r(e));
|
|
61
|
+
if (t) {
|
|
62
|
+
let e = i(t);
|
|
63
|
+
if (e) return e;
|
|
64
|
+
}
|
|
65
|
+
let a = typeof navigator < "u" ? navigator.language : void 0;
|
|
66
|
+
if (a) {
|
|
67
|
+
let e = i(a);
|
|
68
|
+
if (e) return e;
|
|
69
|
+
}
|
|
70
|
+
return n[0];
|
|
71
|
+
}
|
|
72
|
+
//#endregion
|
|
73
|
+
export { i as a, o as i, l as n, r as o, c as r, s as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as e } from "./rolldown-runtime-BItFwnF5.js";
|
|
2
2
|
import { t } from "./dist-Cuwaibqg.js";
|
|
3
|
-
import { s as n } from "./F0Map-
|
|
3
|
+
import { s as n } from "./F0Map-CpggFT94.js";
|
|
4
4
|
import './maplibre-gl.css';import './maplibre.css';/* empty css */
|
|
5
5
|
import { t as r } from "./maplibre-gl-DVldSYfz.js";
|
|
6
6
|
//#region ../../node_modules/.pnpm/@mapbox+mapbox-gl-rtl-text@0.2.3_mapbox-gl@1.13.3/node_modules/@mapbox/mapbox-gl-rtl-text/mapbox-gl-rtl-text.js?url
|