@arbidocs/blocks 0.3.160 → 0.3.162
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/index.cjs +348 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +156 -3
- package/dist/index.d.ts +156 -3
- package/dist/index.js +345 -33
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ap as ThemeBundle, ax as ThemeTokens, av as ThemeState } from './index-er1L8kkn.cjs';
|
|
2
2
|
export { A as Accordion, a as AccordionItem, b as AccordionProps, c as ApplyThemeOptions, d as AvatarBlock, e as AvatarBlockProps, B as Banner, f as BannerProps, g as BannerTone, h as BlockImage, i as BlockImageProps, j as BlockLink, k as BlockLinkComponent, l as BlockLinkProps, C as CTABanner, m as CTABannerProps, n as Callout, o as CalloutProps, p as CalloutVariant, q as ColorToken, r as Columns, s as ColumnsProps, t as ContactField, u as ContactForm, v as ContactFormProps, w as Container, x as ContainerProps, F as FAQ, y as FAQProps, z as FONT_PAIRINGS, D as FaqItem, E as FeatureGrid, G as FeatureGridProps, H as FeatureItem, I as FontPairing, J as Footer, K as FooterColumn, L as FooterLink, M as FooterProps, N as Gallery, O as GalleryImage, P as GalleryProps, Q as Hero, R as HeroCta, S as HeroProps, T as ListBlock, U as ListBlockProps, V as ListItem, W as LogoCloud, X as LogoCloudProps, Y as LogoItem, Z as MediaText, _ as MediaTextProps, $ as NavLink, a0 as Navbar, a1 as NavbarProps, a2 as PricingPlan, a3 as PricingTable, a4 as PricingTableProps, a5 as RichTextBlock, a6 as RichTextBlockProps, a7 as SectionHeading, a8 as Spacer, a9 as SpacerProps, aa as StepItem, ab as Steps, ac as StepsProps, ad as THEME_STYLE_ID, ae as TabItem, af as Tabs, ag as TabsProps, ah as TeamGrid, ai as TeamGridProps, aj as TeamMember, ak as Testimonial, al as TestimonialGrid, am as TestimonialGridProps, an as TestimonialItem, ao as TestimonialProps, aq as ThemeEditor, ar as ThemeEditorProps, as as ThemeEmitMode, at as ThemeFonts, au as ThemePreset, aw as ThemeStoreConfig, ay as Timeline, az as TimelineCalendar, aA as TimelineCalendarProps, aB as TimelineGantt, aC as TimelineGanttProps, aD as TimelineItem, aE as TimelineProps, aF as TimelineViewMode, aG as VideoAspect, aH as VideoEmbed, aI as VideoEmbedProps, aJ as applyFontVars, aK as applyStoredTheme, aL as applyThemeVars, aM as clearFontVars, aN as clearThemeVars, aO as createThemeStore, aP as dayKey, aQ as daysUntil, aR as fmtDate, aS as fmtDateTime, aT as fontPackages, aU as formatPageRefs, aV as formatSpan, aW as fromNow, aX as gbp, aY as getFontPairing, aZ as hrs, a_ as initials, a$ as matchFontPairing, b0 as monthLabel, b1 as parseIso, b2 as pct, b3 as tid, b4 as toEmbedUrl, b5 as toHslTriplet, b6 as utcDay } from './index-er1L8kkn.cjs';
|
|
3
3
|
import * as react from 'react';
|
|
4
|
-
import react__default, { ReactNode, ComponentType } from 'react';
|
|
4
|
+
import react__default, { ReactNode, KeyboardEventHandler, RefObject, ComponentType } from 'react';
|
|
5
5
|
import * as _arbidocs_react from '@arbidocs/react';
|
|
6
6
|
import { DocumentLike, AiRunOptions, UserMenuItem, NotifyVariant, useArbi, AiTaskStatus } from '@arbidocs/react';
|
|
7
7
|
export { AiRunOptions, AiTaskStatus, ArtifactEvent, DocumentCard, DocumentCardProps, SearchChunk, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, redlineStats, textToArtifact, toRedlineMarkdown } from '@arbidocs/react';
|
|
@@ -478,6 +478,26 @@ declare function EmptyState({ icon: Icon, title, description, action, className,
|
|
|
478
478
|
testId?: string;
|
|
479
479
|
}): react.JSX.Element;
|
|
480
480
|
|
|
481
|
+
/**
|
|
482
|
+
* One labelled quota meter: icon + label on the left, used-of-limit on the
|
|
483
|
+
* right, a thin bar underneath. The bar's tone follows pressure — quiet
|
|
484
|
+
* primary normally, amber near the limit, destructive at it — so a stack of
|
|
485
|
+
* meters reads at a glance which quota is the one to think about.
|
|
486
|
+
*/
|
|
487
|
+
declare function UsageMeter({ icon: Icon, label, value, pct, hint, className, testId, }: {
|
|
488
|
+
icon?: LucideIcon;
|
|
489
|
+
label: string;
|
|
490
|
+
/** Formatted used-of-limit text, e.g. "1,200 / 25,000" or "40 / 500 MB". */
|
|
491
|
+
value: string;
|
|
492
|
+
/** Fill percentage, 0–100 (values are clamped). */
|
|
493
|
+
pct: number;
|
|
494
|
+
/** Inline parenthetical after the label, e.g. "resets May 31, 2025" —
|
|
495
|
+
* same font as the label, so the meter never grows an extra row. */
|
|
496
|
+
hint?: string;
|
|
497
|
+
className?: string;
|
|
498
|
+
testId?: string;
|
|
499
|
+
}): react.JSX.Element;
|
|
500
|
+
|
|
481
501
|
interface UploadDropzoneProps {
|
|
482
502
|
/** Called with the chosen/dropped files. */
|
|
483
503
|
onFiles: (files: File[]) => void;
|
|
@@ -702,6 +722,12 @@ interface RecentActivityCardProps {
|
|
|
702
722
|
actionLabel?: string;
|
|
703
723
|
actionIcon?: LucideIcon;
|
|
704
724
|
onAction?: () => void;
|
|
725
|
+
/**
|
|
726
|
+
* A custom header action node — rendered in the action slot INSTEAD of the
|
|
727
|
+
* built-in label button. For actions that aren't a single click (e.g. a
|
|
728
|
+
* source dropdown). The empty-card CTA still uses `onAction`/`emptyActionLabel`.
|
|
729
|
+
*/
|
|
730
|
+
action?: ReactNode;
|
|
705
731
|
rows: RecentActivityRow[];
|
|
706
732
|
/** Says what the list is — "Recent", "Recently joined". */
|
|
707
733
|
caption?: string;
|
|
@@ -744,7 +770,134 @@ interface RecentActivityCardProps {
|
|
|
744
770
|
* Styled with SEMANTIC tokens only (card, border, foreground, muted-foreground,
|
|
745
771
|
* primary, accent), so every firm gets it in its own colours.
|
|
746
772
|
*/
|
|
747
|
-
declare function RecentActivityCard({ icon: Icon, title, count, onOpen, actionLabel, actionIcon: ActionIcon, onAction, rows, caption, emptyText, emptyActionLabel, className, testId, }: RecentActivityCardProps): react.JSX.Element;
|
|
773
|
+
declare function RecentActivityCard({ icon: Icon, title, count, onOpen, actionLabel, actionIcon: ActionIcon, onAction, action, rows, caption, emptyText, emptyActionLabel, className, testId, }: RecentActivityCardProps): react.JSX.Element;
|
|
774
|
+
|
|
775
|
+
interface AskBarProps {
|
|
776
|
+
/** Receives the trimmed question; the caller owns what asking means. */
|
|
777
|
+
onAsk: (text: string) => void;
|
|
778
|
+
/** Second destination for the same text — retrieval. Omit to hide. */
|
|
779
|
+
onSearch?: (text: string) => void;
|
|
780
|
+
/** Prefill-on-click starter questions, shown under the input. */
|
|
781
|
+
suggestions?: string[];
|
|
782
|
+
placeholder?: string;
|
|
783
|
+
askLabel?: string;
|
|
784
|
+
searchLabel?: string;
|
|
785
|
+
/** Controlled value. Omit for the bar to own its own text. */
|
|
786
|
+
value?: string;
|
|
787
|
+
onValueChange?: (value: string) => void;
|
|
788
|
+
/** Raw keydown on the input — lets a consumer run an autocomplete
|
|
789
|
+
* (arrow/Enter/Tab/Escape) before the form's own submit handling.
|
|
790
|
+
* preventDefault() on Enter suppresses the submit. */
|
|
791
|
+
onInputKeyDown?: KeyboardEventHandler<HTMLInputElement>;
|
|
792
|
+
/** Popover anchored to the pill (e.g. a slash-command menu). Rendered in a
|
|
793
|
+
* relative wrapper around the form, so absolute children position against
|
|
794
|
+
* the pill. */
|
|
795
|
+
menu?: ReactNode;
|
|
796
|
+
/** External input ref, for consumers that refocus after menu selection. */
|
|
797
|
+
inputRef?: RefObject<HTMLInputElement | null>;
|
|
798
|
+
className?: string;
|
|
799
|
+
/** Root test id; children derive `-input`, `-submit`, `-search`, `-suggestion`. */
|
|
800
|
+
testId?: string;
|
|
801
|
+
}
|
|
802
|
+
declare function AskBar({ onAsk, onSearch, suggestions, placeholder, askLabel, searchLabel, value, onValueChange, onInputKeyDown, menu, inputRef: externalInputRef, className, testId, }: AskBarProps): react.JSX.Element;
|
|
803
|
+
|
|
804
|
+
interface ResumeStripItem {
|
|
805
|
+
id: string;
|
|
806
|
+
/** The item's type mark — a chat glyph, a document's file icon. */
|
|
807
|
+
leading?: ReactNode;
|
|
808
|
+
title: string;
|
|
809
|
+
/** Compact age, e.g. "2h", "3d". */
|
|
810
|
+
meta?: string;
|
|
811
|
+
onClick?: () => void;
|
|
812
|
+
}
|
|
813
|
+
interface ResumeStripProps {
|
|
814
|
+
items: ResumeStripItem[];
|
|
815
|
+
/** Says what the strip is. */
|
|
816
|
+
caption?: string;
|
|
817
|
+
className?: string;
|
|
818
|
+
/** Root test id; chips derive `-item`. */
|
|
819
|
+
testId?: string;
|
|
820
|
+
}
|
|
821
|
+
declare function ResumeStrip({ items, caption, className, testId, }: ResumeStripProps): react.JSX.Element | null;
|
|
822
|
+
|
|
823
|
+
interface SectionStripRow {
|
|
824
|
+
id: string;
|
|
825
|
+
/** The row's mark — a pin, a dot, a tiny glyph. Consumer-supplied. */
|
|
826
|
+
leading?: ReactNode;
|
|
827
|
+
title: string;
|
|
828
|
+
/** Pinned right: a date, an age. */
|
|
829
|
+
meta?: string;
|
|
830
|
+
onClick?: () => void;
|
|
831
|
+
}
|
|
832
|
+
interface SectionStripGroup {
|
|
833
|
+
/** Says what the group is — "Upcoming", "Recent". */
|
|
834
|
+
caption: string;
|
|
835
|
+
rows: SectionStripRow[];
|
|
836
|
+
/** Test id for this group's rows. Falls back to `<root>-row`. */
|
|
837
|
+
rowTestId?: string;
|
|
838
|
+
}
|
|
839
|
+
interface SectionStripAction {
|
|
840
|
+
icon?: LucideIcon;
|
|
841
|
+
label: string;
|
|
842
|
+
onClick: () => void;
|
|
843
|
+
testId?: string;
|
|
844
|
+
/**
|
|
845
|
+
* A custom element rendered in place of the default ghost button — for a
|
|
846
|
+
* primary/emphasised action that shouldn't look like the quiet header doors.
|
|
847
|
+
*/
|
|
848
|
+
node?: ReactNode;
|
|
849
|
+
}
|
|
850
|
+
interface SectionStripProps {
|
|
851
|
+
/** Glyph beside the title, in the header. */
|
|
852
|
+
icon?: LucideIcon;
|
|
853
|
+
/** The section this band is about. */
|
|
854
|
+
title: string;
|
|
855
|
+
/** Total across everything, not just what's listed. Omit to hide. */
|
|
856
|
+
count?: number;
|
|
857
|
+
/** Header click — go to this section's full page. */
|
|
858
|
+
onOpen?: () => void;
|
|
859
|
+
/** Header-right actions: distinct doors into the section's experiences. */
|
|
860
|
+
actions?: SectionStripAction[];
|
|
861
|
+
/** Captioned row groups; groups with no rows are skipped. */
|
|
862
|
+
groups: SectionStripGroup[];
|
|
863
|
+
/**
|
|
864
|
+
* Shown when every group is empty. By default a single quiet row. Supply an
|
|
865
|
+
* `icon` (and optional `description`) to render the fuller dashed empty state
|
|
866
|
+
* instead — the same shape a card uses, for sections that want the empty
|
|
867
|
+
* state to invite rather than just note.
|
|
868
|
+
*/
|
|
869
|
+
empty?: {
|
|
870
|
+
label: ReactNode;
|
|
871
|
+
onClick?: () => void;
|
|
872
|
+
testId?: string;
|
|
873
|
+
icon?: LucideIcon;
|
|
874
|
+
description?: ReactNode;
|
|
875
|
+
};
|
|
876
|
+
className?: string;
|
|
877
|
+
/** Root test id; children derive `-open` and per-action/per-group ids. */
|
|
878
|
+
testId?: string;
|
|
879
|
+
}
|
|
880
|
+
declare function SectionStrip({ icon: Icon, title, count, onOpen, actions, groups, empty, className, testId, }: SectionStripProps): react.JSX.Element;
|
|
881
|
+
|
|
882
|
+
interface StartHeroProps {
|
|
883
|
+
title: string;
|
|
884
|
+
subtitle?: string;
|
|
885
|
+
/** The primary way in — typically an AskBar. */
|
|
886
|
+
children?: ReactNode;
|
|
887
|
+
/** The big dashed secondary door. */
|
|
888
|
+
tile?: {
|
|
889
|
+
icon: LucideIcon;
|
|
890
|
+
label: string;
|
|
891
|
+
description?: string;
|
|
892
|
+
onClick: () => void;
|
|
893
|
+
testId?: string;
|
|
894
|
+
};
|
|
895
|
+
/** A quiet closing line — membership state, a hint. */
|
|
896
|
+
footer?: ReactNode;
|
|
897
|
+
className?: string;
|
|
898
|
+
testId?: string;
|
|
899
|
+
}
|
|
900
|
+
declare function StartHero({ title, subtitle, children, tile, footer, className, testId, }: StartHeroProps): react.JSX.Element;
|
|
748
901
|
|
|
749
902
|
/** One member shown in the avatar stack — source-agnostic, not the raw SDK shape. */
|
|
750
903
|
interface WorkspaceCardMember {
|
|
@@ -1491,4 +1644,4 @@ interface AgentsPanelProps {
|
|
|
1491
1644
|
}
|
|
1492
1645
|
declare function AgentsPanel({ store, testIdPrefix }: AgentsPanelProps): react.JSX.Element;
|
|
1493
1646
|
|
|
1494
|
-
export { ASSET_REF_PREFIX, type AgentSelectionStore, AgentsPanel, type AgentsPanelProps, type AiFields, type AiFieldsConfig, AppHeader, type AppHeaderProps, type AppHeaderUser, type AppNavItem, type AppNavSection, AppShell, type AppShellProps, type ArbiBlocksConfigOptions, type ArbiMode, type ArbiUser, type AssetMaterializer, type AssetRenderProps, type AssetRenderer, AssetResolverProvider, AssetThumb, type AssistantCitation, type AssistantMessage, type AssistantStep, type BlockKit, type BuildPrompt, type BuilderModule, CitationEditor, type CitationEditorProps, type Column, ConnectionProvider, type ConnectionStatus, DataTable, DataTableBlock, type DataTableBlockColumn, type DataTableBlockProps, EmptyState, EntityIdentityBar, type EntityIdentityBarProps, type EntityIdentityField, type ExportedModule, type FirmArbiConfig, GridView, type GridViewEmptyState, type GridViewProps, type GridViewSelection, IDENTITY_NAME_MAX_LENGTH, type ImageFieldConfig, type ImageFieldFactory, LegalArbiProvider, LiveDataProvider, type LoadResult, type MaterializeOptions, type MatterContext, MemberAvatarStack, type MemberAvatarStackProps, MetricCard, type MetricCardProps, ModuleManager, type ModuleManagerProps, type ModuleRegistry, type ModuleStoreBundle, PageHeader, PageRenderer, type PageRendererProps, type PersistVia, type PromptConfig, type PromptLibrary, type Prompts, RecentActivityCard, type RecentActivityCardProps, type RecentActivityRow, type ResolvedModule, Section, type SectionProps, type StackedMember, StatGroup, type StatGroupProps, type StatItem, StudioEditor, type StudioEditorProps, type StudioPageMeta, type StudioPersistence, type StudioPersistenceConfig, ThemeBundle, ThemeState, ThemeTokens, Toolbar, UploadDropzone, type UploadDropzoneProps, type UseImageGen, VerticalBuilder, type VerticalBuilderProps, type VerticalConfig, type VerticalExport, type VerticalExportConfig, WidgetPlaceholder, WorkspaceCard, type WorkspaceCardMember, type WorkspaceCardProps, asAssetRef, assetRefId, createAgentSelectionStore, createAiFields, createArbiBlocksConfig, createArbiMaterializer, createBlockKit, createImageField, createLiveWidgets, createModuleRegistry, createModuleStore, createPromptLibrary, createSiteBlocks, createStudioPersistence, createVerticalExport, createWebsiteBlocks, iconMap, isAssetRef, isAuthenticated, materializePageData, matterToContext, useAssetImage, useAssetRenderer, useAssetResolverActive, useConnection, useFirmAiTask, useImageGen, useLiveDataActive, useSemanticSearch, useWorkspaceDocs };
|
|
1647
|
+
export { ASSET_REF_PREFIX, type AgentSelectionStore, AgentsPanel, type AgentsPanelProps, type AiFields, type AiFieldsConfig, AppHeader, type AppHeaderProps, type AppHeaderUser, type AppNavItem, type AppNavSection, AppShell, type AppShellProps, type ArbiBlocksConfigOptions, type ArbiMode, type ArbiUser, AskBar, type AskBarProps, type AssetMaterializer, type AssetRenderProps, type AssetRenderer, AssetResolverProvider, AssetThumb, type AssistantCitation, type AssistantMessage, type AssistantStep, type BlockKit, type BuildPrompt, type BuilderModule, CitationEditor, type CitationEditorProps, type Column, ConnectionProvider, type ConnectionStatus, DataTable, DataTableBlock, type DataTableBlockColumn, type DataTableBlockProps, EmptyState, EntityIdentityBar, type EntityIdentityBarProps, type EntityIdentityField, type ExportedModule, type FirmArbiConfig, GridView, type GridViewEmptyState, type GridViewProps, type GridViewSelection, IDENTITY_NAME_MAX_LENGTH, type ImageFieldConfig, type ImageFieldFactory, LegalArbiProvider, LiveDataProvider, type LoadResult, type MaterializeOptions, type MatterContext, MemberAvatarStack, type MemberAvatarStackProps, MetricCard, type MetricCardProps, ModuleManager, type ModuleManagerProps, type ModuleRegistry, type ModuleStoreBundle, PageHeader, PageRenderer, type PageRendererProps, type PersistVia, type PromptConfig, type PromptLibrary, type Prompts, RecentActivityCard, type RecentActivityCardProps, type RecentActivityRow, type ResolvedModule, ResumeStrip, type ResumeStripItem, type ResumeStripProps, Section, type SectionProps, SectionStrip, type SectionStripAction, type SectionStripGroup, type SectionStripProps, type SectionStripRow, type StackedMember, StartHero, type StartHeroProps, StatGroup, type StatGroupProps, type StatItem, StudioEditor, type StudioEditorProps, type StudioPageMeta, type StudioPersistence, type StudioPersistenceConfig, ThemeBundle, ThemeState, ThemeTokens, Toolbar, UploadDropzone, type UploadDropzoneProps, UsageMeter, type UseImageGen, VerticalBuilder, type VerticalBuilderProps, type VerticalConfig, type VerticalExport, type VerticalExportConfig, WidgetPlaceholder, WorkspaceCard, type WorkspaceCardMember, type WorkspaceCardProps, asAssetRef, assetRefId, createAgentSelectionStore, createAiFields, createArbiBlocksConfig, createArbiMaterializer, createBlockKit, createImageField, createLiveWidgets, createModuleRegistry, createModuleStore, createPromptLibrary, createSiteBlocks, createStudioPersistence, createVerticalExport, createWebsiteBlocks, iconMap, isAssetRef, isAuthenticated, materializePageData, matterToContext, useAssetImage, useAssetRenderer, useAssetResolverActive, useConnection, useFirmAiTask, useImageGen, useLiveDataActive, useSemanticSearch, useWorkspaceDocs };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ap as ThemeBundle, ax as ThemeTokens, av as ThemeState } from './index-er1L8kkn.js';
|
|
2
2
|
export { A as Accordion, a as AccordionItem, b as AccordionProps, c as ApplyThemeOptions, d as AvatarBlock, e as AvatarBlockProps, B as Banner, f as BannerProps, g as BannerTone, h as BlockImage, i as BlockImageProps, j as BlockLink, k as BlockLinkComponent, l as BlockLinkProps, C as CTABanner, m as CTABannerProps, n as Callout, o as CalloutProps, p as CalloutVariant, q as ColorToken, r as Columns, s as ColumnsProps, t as ContactField, u as ContactForm, v as ContactFormProps, w as Container, x as ContainerProps, F as FAQ, y as FAQProps, z as FONT_PAIRINGS, D as FaqItem, E as FeatureGrid, G as FeatureGridProps, H as FeatureItem, I as FontPairing, J as Footer, K as FooterColumn, L as FooterLink, M as FooterProps, N as Gallery, O as GalleryImage, P as GalleryProps, Q as Hero, R as HeroCta, S as HeroProps, T as ListBlock, U as ListBlockProps, V as ListItem, W as LogoCloud, X as LogoCloudProps, Y as LogoItem, Z as MediaText, _ as MediaTextProps, $ as NavLink, a0 as Navbar, a1 as NavbarProps, a2 as PricingPlan, a3 as PricingTable, a4 as PricingTableProps, a5 as RichTextBlock, a6 as RichTextBlockProps, a7 as SectionHeading, a8 as Spacer, a9 as SpacerProps, aa as StepItem, ab as Steps, ac as StepsProps, ad as THEME_STYLE_ID, ae as TabItem, af as Tabs, ag as TabsProps, ah as TeamGrid, ai as TeamGridProps, aj as TeamMember, ak as Testimonial, al as TestimonialGrid, am as TestimonialGridProps, an as TestimonialItem, ao as TestimonialProps, aq as ThemeEditor, ar as ThemeEditorProps, as as ThemeEmitMode, at as ThemeFonts, au as ThemePreset, aw as ThemeStoreConfig, ay as Timeline, az as TimelineCalendar, aA as TimelineCalendarProps, aB as TimelineGantt, aC as TimelineGanttProps, aD as TimelineItem, aE as TimelineProps, aF as TimelineViewMode, aG as VideoAspect, aH as VideoEmbed, aI as VideoEmbedProps, aJ as applyFontVars, aK as applyStoredTheme, aL as applyThemeVars, aM as clearFontVars, aN as clearThemeVars, aO as createThemeStore, aP as dayKey, aQ as daysUntil, aR as fmtDate, aS as fmtDateTime, aT as fontPackages, aU as formatPageRefs, aV as formatSpan, aW as fromNow, aX as gbp, aY as getFontPairing, aZ as hrs, a_ as initials, a$ as matchFontPairing, b0 as monthLabel, b1 as parseIso, b2 as pct, b3 as tid, b4 as toEmbedUrl, b5 as toHslTriplet, b6 as utcDay } from './index-er1L8kkn.js';
|
|
3
3
|
import * as react from 'react';
|
|
4
|
-
import react__default, { ReactNode, ComponentType } from 'react';
|
|
4
|
+
import react__default, { ReactNode, KeyboardEventHandler, RefObject, ComponentType } from 'react';
|
|
5
5
|
import * as _arbidocs_react from '@arbidocs/react';
|
|
6
6
|
import { DocumentLike, AiRunOptions, UserMenuItem, NotifyVariant, useArbi, AiTaskStatus } from '@arbidocs/react';
|
|
7
7
|
export { AiRunOptions, AiTaskStatus, ArtifactEvent, DocumentCard, DocumentCardProps, SearchChunk, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, redlineStats, textToArtifact, toRedlineMarkdown } from '@arbidocs/react';
|
|
@@ -478,6 +478,26 @@ declare function EmptyState({ icon: Icon, title, description, action, className,
|
|
|
478
478
|
testId?: string;
|
|
479
479
|
}): react.JSX.Element;
|
|
480
480
|
|
|
481
|
+
/**
|
|
482
|
+
* One labelled quota meter: icon + label on the left, used-of-limit on the
|
|
483
|
+
* right, a thin bar underneath. The bar's tone follows pressure — quiet
|
|
484
|
+
* primary normally, amber near the limit, destructive at it — so a stack of
|
|
485
|
+
* meters reads at a glance which quota is the one to think about.
|
|
486
|
+
*/
|
|
487
|
+
declare function UsageMeter({ icon: Icon, label, value, pct, hint, className, testId, }: {
|
|
488
|
+
icon?: LucideIcon;
|
|
489
|
+
label: string;
|
|
490
|
+
/** Formatted used-of-limit text, e.g. "1,200 / 25,000" or "40 / 500 MB". */
|
|
491
|
+
value: string;
|
|
492
|
+
/** Fill percentage, 0–100 (values are clamped). */
|
|
493
|
+
pct: number;
|
|
494
|
+
/** Inline parenthetical after the label, e.g. "resets May 31, 2025" —
|
|
495
|
+
* same font as the label, so the meter never grows an extra row. */
|
|
496
|
+
hint?: string;
|
|
497
|
+
className?: string;
|
|
498
|
+
testId?: string;
|
|
499
|
+
}): react.JSX.Element;
|
|
500
|
+
|
|
481
501
|
interface UploadDropzoneProps {
|
|
482
502
|
/** Called with the chosen/dropped files. */
|
|
483
503
|
onFiles: (files: File[]) => void;
|
|
@@ -702,6 +722,12 @@ interface RecentActivityCardProps {
|
|
|
702
722
|
actionLabel?: string;
|
|
703
723
|
actionIcon?: LucideIcon;
|
|
704
724
|
onAction?: () => void;
|
|
725
|
+
/**
|
|
726
|
+
* A custom header action node — rendered in the action slot INSTEAD of the
|
|
727
|
+
* built-in label button. For actions that aren't a single click (e.g. a
|
|
728
|
+
* source dropdown). The empty-card CTA still uses `onAction`/`emptyActionLabel`.
|
|
729
|
+
*/
|
|
730
|
+
action?: ReactNode;
|
|
705
731
|
rows: RecentActivityRow[];
|
|
706
732
|
/** Says what the list is — "Recent", "Recently joined". */
|
|
707
733
|
caption?: string;
|
|
@@ -744,7 +770,134 @@ interface RecentActivityCardProps {
|
|
|
744
770
|
* Styled with SEMANTIC tokens only (card, border, foreground, muted-foreground,
|
|
745
771
|
* primary, accent), so every firm gets it in its own colours.
|
|
746
772
|
*/
|
|
747
|
-
declare function RecentActivityCard({ icon: Icon, title, count, onOpen, actionLabel, actionIcon: ActionIcon, onAction, rows, caption, emptyText, emptyActionLabel, className, testId, }: RecentActivityCardProps): react.JSX.Element;
|
|
773
|
+
declare function RecentActivityCard({ icon: Icon, title, count, onOpen, actionLabel, actionIcon: ActionIcon, onAction, action, rows, caption, emptyText, emptyActionLabel, className, testId, }: RecentActivityCardProps): react.JSX.Element;
|
|
774
|
+
|
|
775
|
+
interface AskBarProps {
|
|
776
|
+
/** Receives the trimmed question; the caller owns what asking means. */
|
|
777
|
+
onAsk: (text: string) => void;
|
|
778
|
+
/** Second destination for the same text — retrieval. Omit to hide. */
|
|
779
|
+
onSearch?: (text: string) => void;
|
|
780
|
+
/** Prefill-on-click starter questions, shown under the input. */
|
|
781
|
+
suggestions?: string[];
|
|
782
|
+
placeholder?: string;
|
|
783
|
+
askLabel?: string;
|
|
784
|
+
searchLabel?: string;
|
|
785
|
+
/** Controlled value. Omit for the bar to own its own text. */
|
|
786
|
+
value?: string;
|
|
787
|
+
onValueChange?: (value: string) => void;
|
|
788
|
+
/** Raw keydown on the input — lets a consumer run an autocomplete
|
|
789
|
+
* (arrow/Enter/Tab/Escape) before the form's own submit handling.
|
|
790
|
+
* preventDefault() on Enter suppresses the submit. */
|
|
791
|
+
onInputKeyDown?: KeyboardEventHandler<HTMLInputElement>;
|
|
792
|
+
/** Popover anchored to the pill (e.g. a slash-command menu). Rendered in a
|
|
793
|
+
* relative wrapper around the form, so absolute children position against
|
|
794
|
+
* the pill. */
|
|
795
|
+
menu?: ReactNode;
|
|
796
|
+
/** External input ref, for consumers that refocus after menu selection. */
|
|
797
|
+
inputRef?: RefObject<HTMLInputElement | null>;
|
|
798
|
+
className?: string;
|
|
799
|
+
/** Root test id; children derive `-input`, `-submit`, `-search`, `-suggestion`. */
|
|
800
|
+
testId?: string;
|
|
801
|
+
}
|
|
802
|
+
declare function AskBar({ onAsk, onSearch, suggestions, placeholder, askLabel, searchLabel, value, onValueChange, onInputKeyDown, menu, inputRef: externalInputRef, className, testId, }: AskBarProps): react.JSX.Element;
|
|
803
|
+
|
|
804
|
+
interface ResumeStripItem {
|
|
805
|
+
id: string;
|
|
806
|
+
/** The item's type mark — a chat glyph, a document's file icon. */
|
|
807
|
+
leading?: ReactNode;
|
|
808
|
+
title: string;
|
|
809
|
+
/** Compact age, e.g. "2h", "3d". */
|
|
810
|
+
meta?: string;
|
|
811
|
+
onClick?: () => void;
|
|
812
|
+
}
|
|
813
|
+
interface ResumeStripProps {
|
|
814
|
+
items: ResumeStripItem[];
|
|
815
|
+
/** Says what the strip is. */
|
|
816
|
+
caption?: string;
|
|
817
|
+
className?: string;
|
|
818
|
+
/** Root test id; chips derive `-item`. */
|
|
819
|
+
testId?: string;
|
|
820
|
+
}
|
|
821
|
+
declare function ResumeStrip({ items, caption, className, testId, }: ResumeStripProps): react.JSX.Element | null;
|
|
822
|
+
|
|
823
|
+
interface SectionStripRow {
|
|
824
|
+
id: string;
|
|
825
|
+
/** The row's mark — a pin, a dot, a tiny glyph. Consumer-supplied. */
|
|
826
|
+
leading?: ReactNode;
|
|
827
|
+
title: string;
|
|
828
|
+
/** Pinned right: a date, an age. */
|
|
829
|
+
meta?: string;
|
|
830
|
+
onClick?: () => void;
|
|
831
|
+
}
|
|
832
|
+
interface SectionStripGroup {
|
|
833
|
+
/** Says what the group is — "Upcoming", "Recent". */
|
|
834
|
+
caption: string;
|
|
835
|
+
rows: SectionStripRow[];
|
|
836
|
+
/** Test id for this group's rows. Falls back to `<root>-row`. */
|
|
837
|
+
rowTestId?: string;
|
|
838
|
+
}
|
|
839
|
+
interface SectionStripAction {
|
|
840
|
+
icon?: LucideIcon;
|
|
841
|
+
label: string;
|
|
842
|
+
onClick: () => void;
|
|
843
|
+
testId?: string;
|
|
844
|
+
/**
|
|
845
|
+
* A custom element rendered in place of the default ghost button — for a
|
|
846
|
+
* primary/emphasised action that shouldn't look like the quiet header doors.
|
|
847
|
+
*/
|
|
848
|
+
node?: ReactNode;
|
|
849
|
+
}
|
|
850
|
+
interface SectionStripProps {
|
|
851
|
+
/** Glyph beside the title, in the header. */
|
|
852
|
+
icon?: LucideIcon;
|
|
853
|
+
/** The section this band is about. */
|
|
854
|
+
title: string;
|
|
855
|
+
/** Total across everything, not just what's listed. Omit to hide. */
|
|
856
|
+
count?: number;
|
|
857
|
+
/** Header click — go to this section's full page. */
|
|
858
|
+
onOpen?: () => void;
|
|
859
|
+
/** Header-right actions: distinct doors into the section's experiences. */
|
|
860
|
+
actions?: SectionStripAction[];
|
|
861
|
+
/** Captioned row groups; groups with no rows are skipped. */
|
|
862
|
+
groups: SectionStripGroup[];
|
|
863
|
+
/**
|
|
864
|
+
* Shown when every group is empty. By default a single quiet row. Supply an
|
|
865
|
+
* `icon` (and optional `description`) to render the fuller dashed empty state
|
|
866
|
+
* instead — the same shape a card uses, for sections that want the empty
|
|
867
|
+
* state to invite rather than just note.
|
|
868
|
+
*/
|
|
869
|
+
empty?: {
|
|
870
|
+
label: ReactNode;
|
|
871
|
+
onClick?: () => void;
|
|
872
|
+
testId?: string;
|
|
873
|
+
icon?: LucideIcon;
|
|
874
|
+
description?: ReactNode;
|
|
875
|
+
};
|
|
876
|
+
className?: string;
|
|
877
|
+
/** Root test id; children derive `-open` and per-action/per-group ids. */
|
|
878
|
+
testId?: string;
|
|
879
|
+
}
|
|
880
|
+
declare function SectionStrip({ icon: Icon, title, count, onOpen, actions, groups, empty, className, testId, }: SectionStripProps): react.JSX.Element;
|
|
881
|
+
|
|
882
|
+
interface StartHeroProps {
|
|
883
|
+
title: string;
|
|
884
|
+
subtitle?: string;
|
|
885
|
+
/** The primary way in — typically an AskBar. */
|
|
886
|
+
children?: ReactNode;
|
|
887
|
+
/** The big dashed secondary door. */
|
|
888
|
+
tile?: {
|
|
889
|
+
icon: LucideIcon;
|
|
890
|
+
label: string;
|
|
891
|
+
description?: string;
|
|
892
|
+
onClick: () => void;
|
|
893
|
+
testId?: string;
|
|
894
|
+
};
|
|
895
|
+
/** A quiet closing line — membership state, a hint. */
|
|
896
|
+
footer?: ReactNode;
|
|
897
|
+
className?: string;
|
|
898
|
+
testId?: string;
|
|
899
|
+
}
|
|
900
|
+
declare function StartHero({ title, subtitle, children, tile, footer, className, testId, }: StartHeroProps): react.JSX.Element;
|
|
748
901
|
|
|
749
902
|
/** One member shown in the avatar stack — source-agnostic, not the raw SDK shape. */
|
|
750
903
|
interface WorkspaceCardMember {
|
|
@@ -1491,4 +1644,4 @@ interface AgentsPanelProps {
|
|
|
1491
1644
|
}
|
|
1492
1645
|
declare function AgentsPanel({ store, testIdPrefix }: AgentsPanelProps): react.JSX.Element;
|
|
1493
1646
|
|
|
1494
|
-
export { ASSET_REF_PREFIX, type AgentSelectionStore, AgentsPanel, type AgentsPanelProps, type AiFields, type AiFieldsConfig, AppHeader, type AppHeaderProps, type AppHeaderUser, type AppNavItem, type AppNavSection, AppShell, type AppShellProps, type ArbiBlocksConfigOptions, type ArbiMode, type ArbiUser, type AssetMaterializer, type AssetRenderProps, type AssetRenderer, AssetResolverProvider, AssetThumb, type AssistantCitation, type AssistantMessage, type AssistantStep, type BlockKit, type BuildPrompt, type BuilderModule, CitationEditor, type CitationEditorProps, type Column, ConnectionProvider, type ConnectionStatus, DataTable, DataTableBlock, type DataTableBlockColumn, type DataTableBlockProps, EmptyState, EntityIdentityBar, type EntityIdentityBarProps, type EntityIdentityField, type ExportedModule, type FirmArbiConfig, GridView, type GridViewEmptyState, type GridViewProps, type GridViewSelection, IDENTITY_NAME_MAX_LENGTH, type ImageFieldConfig, type ImageFieldFactory, LegalArbiProvider, LiveDataProvider, type LoadResult, type MaterializeOptions, type MatterContext, MemberAvatarStack, type MemberAvatarStackProps, MetricCard, type MetricCardProps, ModuleManager, type ModuleManagerProps, type ModuleRegistry, type ModuleStoreBundle, PageHeader, PageRenderer, type PageRendererProps, type PersistVia, type PromptConfig, type PromptLibrary, type Prompts, RecentActivityCard, type RecentActivityCardProps, type RecentActivityRow, type ResolvedModule, Section, type SectionProps, type StackedMember, StatGroup, type StatGroupProps, type StatItem, StudioEditor, type StudioEditorProps, type StudioPageMeta, type StudioPersistence, type StudioPersistenceConfig, ThemeBundle, ThemeState, ThemeTokens, Toolbar, UploadDropzone, type UploadDropzoneProps, type UseImageGen, VerticalBuilder, type VerticalBuilderProps, type VerticalConfig, type VerticalExport, type VerticalExportConfig, WidgetPlaceholder, WorkspaceCard, type WorkspaceCardMember, type WorkspaceCardProps, asAssetRef, assetRefId, createAgentSelectionStore, createAiFields, createArbiBlocksConfig, createArbiMaterializer, createBlockKit, createImageField, createLiveWidgets, createModuleRegistry, createModuleStore, createPromptLibrary, createSiteBlocks, createStudioPersistence, createVerticalExport, createWebsiteBlocks, iconMap, isAssetRef, isAuthenticated, materializePageData, matterToContext, useAssetImage, useAssetRenderer, useAssetResolverActive, useConnection, useFirmAiTask, useImageGen, useLiveDataActive, useSemanticSearch, useWorkspaceDocs };
|
|
1647
|
+
export { ASSET_REF_PREFIX, type AgentSelectionStore, AgentsPanel, type AgentsPanelProps, type AiFields, type AiFieldsConfig, AppHeader, type AppHeaderProps, type AppHeaderUser, type AppNavItem, type AppNavSection, AppShell, type AppShellProps, type ArbiBlocksConfigOptions, type ArbiMode, type ArbiUser, AskBar, type AskBarProps, type AssetMaterializer, type AssetRenderProps, type AssetRenderer, AssetResolverProvider, AssetThumb, type AssistantCitation, type AssistantMessage, type AssistantStep, type BlockKit, type BuildPrompt, type BuilderModule, CitationEditor, type CitationEditorProps, type Column, ConnectionProvider, type ConnectionStatus, DataTable, DataTableBlock, type DataTableBlockColumn, type DataTableBlockProps, EmptyState, EntityIdentityBar, type EntityIdentityBarProps, type EntityIdentityField, type ExportedModule, type FirmArbiConfig, GridView, type GridViewEmptyState, type GridViewProps, type GridViewSelection, IDENTITY_NAME_MAX_LENGTH, type ImageFieldConfig, type ImageFieldFactory, LegalArbiProvider, LiveDataProvider, type LoadResult, type MaterializeOptions, type MatterContext, MemberAvatarStack, type MemberAvatarStackProps, MetricCard, type MetricCardProps, ModuleManager, type ModuleManagerProps, type ModuleRegistry, type ModuleStoreBundle, PageHeader, PageRenderer, type PageRendererProps, type PersistVia, type PromptConfig, type PromptLibrary, type Prompts, RecentActivityCard, type RecentActivityCardProps, type RecentActivityRow, type ResolvedModule, ResumeStrip, type ResumeStripItem, type ResumeStripProps, Section, type SectionProps, SectionStrip, type SectionStripAction, type SectionStripGroup, type SectionStripProps, type SectionStripRow, type StackedMember, StartHero, type StartHeroProps, StatGroup, type StatGroupProps, type StatItem, StudioEditor, type StudioEditorProps, type StudioPageMeta, type StudioPersistence, type StudioPersistenceConfig, ThemeBundle, ThemeState, ThemeTokens, Toolbar, UploadDropzone, type UploadDropzoneProps, UsageMeter, type UseImageGen, VerticalBuilder, type VerticalBuilderProps, type VerticalConfig, type VerticalExport, type VerticalExportConfig, WidgetPlaceholder, WorkspaceCard, type WorkspaceCardMember, type WorkspaceCardProps, asAssetRef, assetRefId, createAgentSelectionStore, createAiFields, createArbiBlocksConfig, createArbiMaterializer, createBlockKit, createImageField, createLiveWidgets, createModuleRegistry, createModuleStore, createPromptLibrary, createSiteBlocks, createStudioPersistence, createVerticalExport, createWebsiteBlocks, iconMap, isAssetRef, isAuthenticated, materializePageData, matterToContext, useAssetImage, useAssetRenderer, useAssetResolverActive, useConnection, useFirmAiTask, useImageGen, useLiveDataActive, useSemanticSearch, useWorkspaceDocs };
|