@arbidocs/blocks 0.4.129 → 0.4.131
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/agents/index.cjs +303 -303
- package/dist/agents/index.js +11 -11
- package/dist/calendar/CalendarPrint.d.ts +25 -0
- package/dist/calendar/booking-slots.d.ts +21 -0
- package/dist/calendar/index.cjs +381 -97
- package/dist/calendar/index.cjs.map +1 -1
- package/dist/calendar/index.d.ts +4 -0
- package/dist/calendar/index.js +277 -3
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/print-layout.d.ts +16 -0
- package/dist/calendar/printCalendar.d.ts +6 -0
- package/dist/calls/composite-canvas.d.ts +52 -0
- package/dist/calls/index.cjs +374 -1
- package/dist/calls/index.cjs.map +1 -1
- package/dist/calls/index.d.ts +3 -0
- package/dist/calls/index.js +359 -4
- package/dist/calls/index.js.map +1 -1
- package/dist/calls/ringtone.d.ts +16 -0
- package/dist/calls/voice-levels.d.ts +32 -0
- package/dist/chat/ThreadVisualizer.d.ts +28 -0
- package/dist/chat/index.cjs +151 -135
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.js +4 -4
- package/dist/chat/thread-diagram.d.ts +26 -0
- package/dist/{chunk-H2KQ6OSU.js → chunk-26E6PHD2.js} +231 -6
- package/dist/chunk-26E6PHD2.js.map +1 -0
- package/dist/{chunk-2PNNCEPH.js → chunk-54ANPPMV.js} +4 -4
- package/dist/{chunk-2PNNCEPH.js.map → chunk-54ANPPMV.js.map} +1 -1
- package/dist/{chunk-IBZJYCYM.js → chunk-66TA5IBN.js} +17 -25
- package/dist/chunk-66TA5IBN.js.map +1 -0
- package/dist/{chunk-OYMWV45N.js → chunk-7D4W3SAH.js} +51 -4
- package/dist/chunk-7D4W3SAH.js.map +1 -0
- package/dist/{chunk-2DFDFOM7.js → chunk-7HAM7Y5U.js} +3 -3
- package/dist/{chunk-2DFDFOM7.js.map → chunk-7HAM7Y5U.js.map} +1 -1
- package/dist/{chunk-7423V6RM.cjs → chunk-7KH4M3KY.cjs} +8 -8
- package/dist/{chunk-7423V6RM.cjs.map → chunk-7KH4M3KY.cjs.map} +1 -1
- package/dist/{chunk-TGWTLNXW.cjs → chunk-BIXHB4LV.cjs} +3 -2
- package/dist/{chunk-TGWTLNXW.cjs.map → chunk-BIXHB4LV.cjs.map} +1 -1
- package/dist/{chunk-DZYAAL4H.cjs → chunk-BZF55UCE.cjs} +234 -5
- package/dist/chunk-BZF55UCE.cjs.map +1 -0
- package/dist/{chunk-3BJLNKOB.cjs → chunk-CDZVC32G.cjs} +5 -5
- package/dist/{chunk-3BJLNKOB.cjs.map → chunk-CDZVC32G.cjs.map} +1 -1
- package/dist/{chunk-PUCY3UXN.js → chunk-CXLVI3SB.js} +3 -3
- package/dist/{chunk-PUCY3UXN.js.map → chunk-CXLVI3SB.js.map} +1 -1
- package/dist/{chunk-KYDRUFWT.cjs → chunk-D4YR56FV.cjs} +5 -5
- package/dist/{chunk-KYDRUFWT.cjs.map → chunk-D4YR56FV.cjs.map} +1 -1
- package/dist/{chunk-6BTCDKCK.js → chunk-DI35D756.js} +4 -4
- package/dist/{chunk-6BTCDKCK.js.map → chunk-DI35D756.js.map} +1 -1
- package/dist/{chunk-TGJNPKST.js → chunk-GTCC2VAR.js} +3 -3
- package/dist/{chunk-TGJNPKST.js.map → chunk-GTCC2VAR.js.map} +1 -1
- package/dist/{chunk-6AALMYPS.cjs → chunk-HM23LXUP.cjs} +3 -3
- package/dist/{chunk-6AALMYPS.cjs.map → chunk-HM23LXUP.cjs.map} +1 -1
- package/dist/{chunk-HSFLEVZY.js → chunk-KLOSOT26.js} +10 -10
- package/dist/{chunk-HSFLEVZY.js.map → chunk-KLOSOT26.js.map} +1 -1
- package/dist/{chunk-SARREDFP.cjs → chunk-LC2KJSUS.cjs} +46 -46
- package/dist/{chunk-SARREDFP.cjs.map → chunk-LC2KJSUS.cjs.map} +1 -1
- package/dist/{chunk-MUMH3Z6K.cjs → chunk-LRD7BHAT.cjs} +50 -3
- package/dist/chunk-LRD7BHAT.cjs.map +1 -0
- package/dist/{chunk-CJBN5HIS.js → chunk-P5HOXWYL.js} +3 -3
- package/dist/{chunk-CJBN5HIS.js.map → chunk-P5HOXWYL.js.map} +1 -1
- package/dist/{chunk-5Y7JRY7Y.js → chunk-P5ST47VY.js} +3 -3
- package/dist/{chunk-5Y7JRY7Y.js.map → chunk-P5ST47VY.js.map} +1 -1
- package/dist/{chunk-A7NCSZAP.cjs → chunk-QZTNTP75.cjs} +17 -25
- package/dist/chunk-QZTNTP75.cjs.map +1 -0
- package/dist/{chunk-ENDP7JER.js → chunk-VW2C2AZL.js} +3 -3
- package/dist/{chunk-ENDP7JER.js.map → chunk-VW2C2AZL.js.map} +1 -1
- package/dist/{chunk-JLTXVW25.cjs → chunk-W27VK32R.cjs} +78 -78
- package/dist/{chunk-JLTXVW25.cjs.map → chunk-W27VK32R.cjs.map} +1 -1
- package/dist/{chunk-PJJY6CYL.cjs → chunk-WV4IDVDQ.cjs} +11 -11
- package/dist/{chunk-PJJY6CYL.cjs.map → chunk-WV4IDVDQ.cjs.map} +1 -1
- package/dist/{chunk-NYHGG2IA.cjs → chunk-ZV3BKLFY.cjs} +3 -3
- package/dist/{chunk-NYHGG2IA.cjs.map → chunk-ZV3BKLFY.cjs.map} +1 -1
- package/dist/collaboration/index.cjs +9 -9
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +4 -4
- package/dist/connect/docx.js +3 -3
- package/dist/connect/index.cjs +183 -146
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +1 -1
- package/dist/connect/index.js +134 -98
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/ConnectedSettings.d.ts +42 -7
- package/dist/document-tools/index.cjs +1 -1
- package/dist/document-tools/index.js +1 -1
- package/dist/facts/fact-citations.d.ts +56 -0
- package/dist/facts/fact-table-column-resize.d.ts +18 -0
- package/dist/facts/index.cjs +194 -8
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.d.ts +2 -0
- package/dist/facts/index.js +180 -5
- package/dist/facts/index.js.map +1 -1
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +17 -17
- package/dist/home/index.js +3 -3
- package/dist/index.cjs +517 -501
- package/dist/index.js +18 -18
- package/dist/settings/MoreInfo.d.ts +25 -0
- package/dist/settings/PlanCard.d.ts +1 -1
- package/dist/settings/index.cjs +79 -225
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.d.ts +1 -1
- package/dist/settings/index.js +70 -215
- package/dist/settings/index.js.map +1 -1
- package/dist/shell/index.cjs +1 -1
- package/dist/shell/index.js +1 -1
- package/dist/site/index.cjs +5 -5
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +8 -8
- package/dist/studio/index.js +6 -6
- package/dist/workflow-canvas/index.cjs +64 -64
- package/dist/workflow-canvas/index.js +12 -12
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +9 -4
- package/dist/chunk-A7NCSZAP.cjs.map +0 -1
- package/dist/chunk-DZYAAL4H.cjs.map +0 -1
- package/dist/chunk-H2KQ6OSU.js.map +0 -1
- package/dist/chunk-IBZJYCYM.js.map +0 -1
- package/dist/chunk-MUMH3Z6K.cjs.map +0 -1
- package/dist/chunk-OYMWV45N.js.map +0 -1
- package/dist/settings/FirmPool.d.ts +0 -82
package/dist/settings/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export { DocumentPicker, DEFAULT_DOCUMENT_PICKER_LABELS, type DocumentPickerProp
|
|
|
24
24
|
export { TriStateFilterMenu, DEFAULT_TRI_STATE_FILTER_MENU_LABELS, type TriState, type TriStateOption, type TriStateGroup, type TriStateFilterMenuProps, type TriStateFilterMenuLabels, type HoverHandlers, } from './TriStateFilterMenu';
|
|
25
25
|
export { FilterChip, type FilterChipProps } from './FilterChip';
|
|
26
26
|
export { PlanBadge, type PlanBadgeProps } from './PlanBadge';
|
|
27
|
+
export { MoreInfo, MoreInfoList, type MoreInfoProps } from './MoreInfo';
|
|
27
28
|
export { QuotaMeter, type QuotaMeterProps, type QuotaMeterItem } from './QuotaMeter';
|
|
28
29
|
export { PlanCard, PlanCardGrid, PlanTierOption, PricingToggle, PromoCodeInput, PlanInfoPopover, type PlanCardProps, type PlanCardView, type PlanCardPrice, type PlanTierOptionView, DEFAULT_PLAN_CARD_LABELS, type PlanCardLabels, } from './PlanCard';
|
|
29
30
|
export { ReferralRewardBadge, ReferralRewardSummary, ReferralRewardNote, type ReferralRewardBreakdown, type ReferralRewardSummaryProps, DEFAULT_REFERRAL_REWARD_LABELS, type ReferralRewardLabels, } from './ReferralReward';
|
|
@@ -31,7 +32,6 @@ export { ActiveSessionsDialog, DeleteAccountDialog, type ActiveSessionView, type
|
|
|
31
32
|
export { ConnectionCard, ConnectionsEmpty, ConnectionsLoading, ConnectionsError, type ConnectionCardProps, type ConnectionCardView, type ConnectionCardStatus, DEFAULT_CONNECTION_CARD_LABELS, type ConnectionCardLabels, } from './ConnectionCard';
|
|
32
33
|
export { AvatarPicker, type AvatarPickerProps, DEFAULT_AVATAR_PICKER_LABELS, type AvatarPickerLabels, } from './AvatarPicker';
|
|
33
34
|
export { ProjectRow, ProjectList, SharedProjectsSection, SharedProjectRow, ProjectDetailHeader, ProjectDetailSection, RenameDialog, type ProjectRowProps, type ProjectListProps, type SharedProjectsSectionProps, type ProjectDetailHeaderProps, type RenameDialogProps, DEFAULT_PROJECT_LIST_LABELS, DEFAULT_SHARED_PROJECTS_SECTION_LABELS, DEFAULT_PROJECT_DETAIL_HEADER_LABELS, DEFAULT_RENAME_DIALOG_LABELS, type ProjectListLabels, type SharedProjectsSectionLabels, type ProjectDetailHeaderLabels, type RenameDialogLabels, } from './Projects';
|
|
34
|
-
export { FirmPoolSection, DEFAULT_FIRM_POOL_SECTION_LABELS, FIRM_POOL_MAX_TOP_UP, type FirmPoolSectionProps, type FirmPoolSectionLabels, type FirmPoolView, } from './FirmPool';
|
|
35
35
|
export { SupportPanel, SupportUnavailable, type SupportPanelProps, type SupportTab, DEFAULT_SUPPORT_PANEL_LABELS, type SupportPanelLabels, } from './SupportPanel';
|
|
36
36
|
export { WelcomeDialog, InviteContactsDialog, type WelcomeDialogProps, type WelcomeQuotaView, type InviteContactsDialogProps, DEFAULT_WELCOME_DIALOG_LABELS, DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, type WelcomeDialogLabels, type InviteContactsDialogLabels, } from './WelcomeDialog';
|
|
37
37
|
export { UsagePanel, UsageLineChart, UsageLegend, UsageProportionBar, UsageSummary, UsageToggle, type UsagePanelProps, type UsageLineChartProps, type UsageSeries, type UsageShare, type UsageStat, type UsageMetric, type UsageToggleProps, DEFAULT_USAGE_LINE_CHART_LABELS, DEFAULT_USAGE_PROPORTION_BAR_LABELS, DEFAULT_USAGE_PANEL_LABELS, type UsageLineChartLabels, type UsageProportionBarLabels, type UsagePanelLabels, } from './Usage';
|
package/dist/settings/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
|
|
3
2
|
export { ActiveSessionsDialog, AvatarPicker, DEFAULT_ACTIVE_SESSIONS_DIALOG_LABELS, DEFAULT_AVATAR_PICKER_LABELS, DEFAULT_DELETE_ACCOUNT_DIALOG_LABELS, DEFAULT_IDENTITY_VERIFICATION_LABELS, DEFAULT_LOGOUT_DIALOG_LABELS, DEFAULT_PASSWORD_CHANGE_DIALOG_LABELS, DEFAULT_PROFILE_CARD_LABELS, DEFAULT_SETTINGS_DANGER_ZONE_LABELS, DeleteAccountDialog, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, IdentityVerificationCard, IdentityVerificationDialog, LogoutDialog, NotificationCategoryList, PasswordChangeDialog, ProfileCard, RequireVerified, SettingsActionRow, SettingsCard, SettingsDangerZone, SettingsPanel, SettingsRow, SettingsSection, SettingsSwitchGroup, SettingsSwitchRow, formatSessionTtl, toActiveSessionViews, toDeleteBlockerViews, toLogoutSessionViews, toNotificationCategories } from '../chunk-GFYGYME3.js';
|
|
4
|
-
|
|
3
|
+
export { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
|
|
4
|
+
import { UsageMeter } from '../chunk-66TA5IBN.js';
|
|
5
5
|
export { DEFAULT_DOCUMENT_PICKER_LABELS, DocumentPicker, MultiSelect } from '../chunk-4XJZ6AAY.js';
|
|
6
|
-
import { ToneBadge } from '../chunk-5LXQPP2K.js';
|
|
7
6
|
export { DEFAULT_TRI_STATE_FILTER_MENU_LABELS, TriStateFilterMenu } from '../chunk-6S5FLMWG.js';
|
|
7
|
+
import { ToneBadge } from '../chunk-5LXQPP2K.js';
|
|
8
8
|
import '../chunk-VILAPTCB.js';
|
|
9
9
|
export { ConfirmDialog, DEFAULT_CONFIRM_DIALOG_LABELS } from '../chunk-ECERC6TI.js';
|
|
10
|
+
import { TabHeader } from '../chunk-4WWM3GQ5.js';
|
|
10
11
|
import { ModalSection, ModalSectionTitle, ModalHeader, ModalScaffold } from '../chunk-TX2ZICS7.js';
|
|
11
12
|
export { MODAL_SECTION_TITLE_CLASS, ModalHeader, ModalScaffold, ModalSection, ModalSectionTitle } from '../chunk-TX2ZICS7.js';
|
|
12
|
-
import { TabHeader } from '../chunk-4WWM3GQ5.js';
|
|
13
13
|
import { TONE_BORDER, TONE_SURFACE } from '../chunk-AUS3KBHJ.js';
|
|
14
14
|
import '../chunk-NPLYHR2E.js';
|
|
15
15
|
import { testIdOr, prefixedTestId } from '../chunk-7F6CBP3Z.js';
|
|
16
16
|
import { formatCount } from '../chunk-OXF2IFXG.js';
|
|
17
17
|
import '../chunk-VUNV25KB.js';
|
|
18
18
|
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
19
|
-
import { cn, DialogFooter, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Input, Button, Tooltip, TooltipTrigger, TooltipContent, Switch, Dialog, DialogContent, DialogTitle, DialogDescription, Label, Textarea, Checkbox, ScrollArea,
|
|
19
|
+
import { cn, DialogFooter, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Input, Button, Tooltip, TooltipTrigger, TooltipContent, Switch, Dialog, DialogContent, DialogTitle, DialogDescription, Label, Textarea, Checkbox, ScrollArea, DialogHeader, Badge, Progress } from '@arbidocs/react/ui';
|
|
20
20
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
21
21
|
import { useMemo, useState, useId, Fragment as Fragment$1 } from 'react';
|
|
22
|
-
import { History, Undo2, Star, Trash2, Users, Sparkles, Brain, RefreshCw, Wifi, WifiOff, Crown, ChevronDown, ChevronRight, Pencil, Plus, Loader2, Check, X,
|
|
22
|
+
import { History, Undo2, Star, Trash2, Users, Sparkles, Brain, RefreshCw, Wifi, WifiOff, Crown, ChevronDown, ChevronRight, Pencil, Plus, Loader2, Check, X, Info, Tag, Gift, PlugIcon, CheckCircle2, ExternalLink, ShieldCheck, Plug, AlertCircle, MessageCircleQuestionMark, BookOpen, UserPlus, ChartNoAxesColumn, FileText, Mail, Send, Clock, Infinity, ArrowRight, Copy, LogOut } from 'lucide-react';
|
|
23
23
|
import { cva } from 'class-variance-authority';
|
|
24
24
|
|
|
25
25
|
function SegmentedControl({
|
|
@@ -1566,6 +1566,50 @@ function PlanBadge({
|
|
|
1566
1566
|
}
|
|
1567
1567
|
);
|
|
1568
1568
|
}
|
|
1569
|
+
function MoreInfo({
|
|
1570
|
+
title,
|
|
1571
|
+
children,
|
|
1572
|
+
label = "More info",
|
|
1573
|
+
testId = "more-info",
|
|
1574
|
+
className
|
|
1575
|
+
}) {
|
|
1576
|
+
const [open, setOpen] = useState(false);
|
|
1577
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1578
|
+
/* @__PURE__ */ jsxs(
|
|
1579
|
+
"button",
|
|
1580
|
+
{
|
|
1581
|
+
type: "button",
|
|
1582
|
+
onClick: () => setOpen(true),
|
|
1583
|
+
className: cn(
|
|
1584
|
+
"inline-flex shrink-0 items-center gap-1 whitespace-nowrap rounded-sm text-xs font-medium text-muted-foreground underline-offset-2 hover:text-foreground hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11",
|
|
1585
|
+
className
|
|
1586
|
+
),
|
|
1587
|
+
"data-slot": "more-info",
|
|
1588
|
+
"data-testid": testId,
|
|
1589
|
+
children: [
|
|
1590
|
+
/* @__PURE__ */ jsx(Info, { className: "size-3.5", "aria-hidden": true }),
|
|
1591
|
+
label
|
|
1592
|
+
]
|
|
1593
|
+
}
|
|
1594
|
+
),
|
|
1595
|
+
/* @__PURE__ */ jsx(Dialog, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxs(DialogContent, { className: "sm:max-w-md", "data-testid": `${testId}-dialog`, children: [
|
|
1596
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [
|
|
1597
|
+
/* @__PURE__ */ jsx(DialogTitle, { children: title }),
|
|
1598
|
+
/* @__PURE__ */ jsx(DialogDescription, { className: "sr-only", children: title })
|
|
1599
|
+
] }),
|
|
1600
|
+
/* @__PURE__ */ jsx("div", { className: "space-y-3 text-sm leading-relaxed text-muted-foreground", children })
|
|
1601
|
+
] }) })
|
|
1602
|
+
] });
|
|
1603
|
+
}
|
|
1604
|
+
function MoreInfoList({ items }) {
|
|
1605
|
+
return /* @__PURE__ */ jsx("ul", { className: "space-y-2", "data-slot": "more-info-list", children: items.map((item, i) => /* @__PURE__ */ jsxs("li", { children: [
|
|
1606
|
+
item.term && /* @__PURE__ */ jsxs("span", { className: "font-medium text-foreground", children: [
|
|
1607
|
+
item.term,
|
|
1608
|
+
". "
|
|
1609
|
+
] }),
|
|
1610
|
+
item.text
|
|
1611
|
+
] }, item.term ?? i)) });
|
|
1612
|
+
}
|
|
1569
1613
|
var barColor = (pct) => pct >= 100 ? "bg-red-500" : pct >= 50 ? "bg-yellow-500" : "bg-primary";
|
|
1570
1614
|
var valueColor2 = (pct) => pct >= 100 ? "text-red-text" : pct >= 80 ? "text-yellow-text" : "text-muted-foreground";
|
|
1571
1615
|
function QuotaMeter({
|
|
@@ -1657,9 +1701,10 @@ var DEFAULT_PLAN_CARD_LABELS = {
|
|
|
1657
1701
|
pricingExplainer: "How pricing works",
|
|
1658
1702
|
explainerTiers: [
|
|
1659
1703
|
"AI usage and storage are shared by everyone in the project. AI usage resets monthly.",
|
|
1660
|
-
"Need more? Add \xA325 of AI usage or 25 GB at a time. Add-ons renew until you reduce them.",
|
|
1661
|
-
"Automatic top-ups
|
|
1662
|
-
"Add-ons start now. Downgrades, billing switches and
|
|
1704
|
+
"Need more? Add \xA325 of AI usage or 25 GB at a time, at checkout or later. Add-ons renew with the plan until you reduce them.",
|
|
1705
|
+
"Automatic top-ups add one more step when you run low, up to your monthly usage cap (\xA3100 by default; \xA30 = none; or no limit). Adding by hand is never capped.",
|
|
1706
|
+
"Add-ons start now: AI usage is charged in full, storage only for the rest of the period. Downgrades, billing switches and reductions start at the end of the period. No refunds.",
|
|
1707
|
+
"Annual plans are 25% off, add-ons included.",
|
|
1663
1708
|
"Prices are shown + VAT; the total for your country is shown before you pay."
|
|
1664
1709
|
],
|
|
1665
1710
|
explainerAiUsage: "About 1p of AI usage buys one moderately complex request, or reading ~25 documents, on a Standard model. Premium models can cost 10\u2013100\xD7 more.",
|
|
@@ -1850,45 +1895,21 @@ function PlanInfoPopover({
|
|
|
1850
1895
|
labels
|
|
1851
1896
|
}) {
|
|
1852
1897
|
const l = useMemo(() => ({ ...DEFAULT_PLAN_CARD_LABELS, ...labels }), [labels]);
|
|
1853
|
-
return /* @__PURE__ */ jsxs(
|
|
1854
|
-
/* @__PURE__ */ jsx(
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
PopoverContent,
|
|
1869
|
-
{
|
|
1870
|
-
side: "top",
|
|
1871
|
-
align: "start",
|
|
1872
|
-
className: "max-w-screen-safe w-[380px] space-y-3 text-sm leading-relaxed",
|
|
1873
|
-
children: [
|
|
1874
|
-
/* @__PURE__ */ jsx("div", { className: "text-base font-semibold", children: l.pricingExplainer }),
|
|
1875
|
-
/* @__PURE__ */ jsx("ul", { className: "list-disc space-y-1 pl-4", children: l.explainerTiers.map((line) => /* @__PURE__ */ jsx("li", { children: line }, line)) }),
|
|
1876
|
-
/* @__PURE__ */ jsxs("p", { children: [
|
|
1877
|
-
l.explainerAiUsage,
|
|
1878
|
-
" ",
|
|
1879
|
-
/* @__PURE__ */ jsx(
|
|
1880
|
-
"button",
|
|
1881
|
-
{
|
|
1882
|
-
type: "button",
|
|
1883
|
-
onClick: onOpenModelList,
|
|
1884
|
-
className: "font-medium text-foreground underline underline-offset-2 hover:text-primary/80",
|
|
1885
|
-
children: l.seeModelList
|
|
1886
|
-
}
|
|
1887
|
-
)
|
|
1888
|
-
] })
|
|
1889
|
-
]
|
|
1890
|
-
}
|
|
1891
|
-
)
|
|
1898
|
+
return /* @__PURE__ */ jsxs(MoreInfo, { title: l.pricingExplainer, label: l.pricingExplainer, testId: "pricing-explainer", children: [
|
|
1899
|
+
/* @__PURE__ */ jsx(MoreInfoList, { items: l.explainerTiers.map((text) => ({ text })) }),
|
|
1900
|
+
/* @__PURE__ */ jsxs("p", { children: [
|
|
1901
|
+
l.explainerAiUsage,
|
|
1902
|
+
" ",
|
|
1903
|
+
/* @__PURE__ */ jsx(
|
|
1904
|
+
"button",
|
|
1905
|
+
{
|
|
1906
|
+
type: "button",
|
|
1907
|
+
onClick: onOpenModelList,
|
|
1908
|
+
className: "font-medium text-foreground underline underline-offset-2 hover:text-primary/80",
|
|
1909
|
+
children: l.seeModelList
|
|
1910
|
+
}
|
|
1911
|
+
)
|
|
1912
|
+
] })
|
|
1892
1913
|
] });
|
|
1893
1914
|
}
|
|
1894
1915
|
var DEFAULT_REFERRAL_REWARD_LABELS = {
|
|
@@ -2269,172 +2290,6 @@ function RenameDialog({
|
|
|
2269
2290
|
] })
|
|
2270
2291
|
] }) });
|
|
2271
2292
|
}
|
|
2272
|
-
var DEFAULT_FIRM_POOL_SECTION_LABELS = {
|
|
2273
|
-
title: "Firm usage",
|
|
2274
|
-
licence: "Licence",
|
|
2275
|
-
used: "AI usage this month",
|
|
2276
|
-
storage: "Storage",
|
|
2277
|
-
users: "Internal users",
|
|
2278
|
-
premiumOnly: "Standard AI is unlimited; the allowance applies to Premium AI.",
|
|
2279
|
-
resets: (date) => `resets ${date}`,
|
|
2280
|
-
usageUnknown: "Usage is being calculated.",
|
|
2281
|
-
legendLicence: (amount) => `Licence ${amount}`,
|
|
2282
|
-
legendTopUps: (amount) => `Top-ups ${amount}`,
|
|
2283
|
-
legendAutoRoom: (amount) => `Automatic top-ups may add ${amount}`,
|
|
2284
|
-
autoRoomNoLimit: "Automatic top-ups: no limit",
|
|
2285
|
-
budget: "Usage budget \u2014 limits automatic top-ups only",
|
|
2286
|
-
budgetValue: (left, limit) => `${left} left of ${limit}`,
|
|
2287
|
-
autoAddons: (count) => `Automatic top-ups this month: ${count}`,
|
|
2288
|
-
autoAddonsOff: "Automatic top-ups are off (\xA30 usage budget).",
|
|
2289
|
-
topUpLabel: "Steps to add",
|
|
2290
|
-
topUp: "Add AI usage",
|
|
2291
|
-
toppingUp: "Adding\u2026",
|
|
2292
|
-
topUpHelp: (perStep) => `Each step adds ${perStep} of AI usage a month, pooled across the firm, and renews until reduced.`,
|
|
2293
|
-
topUpTotal: (total) => `+${total} of AI usage a month`
|
|
2294
|
-
};
|
|
2295
|
-
var FIRM_POOL_MAX_TOP_UP = 100;
|
|
2296
|
-
var defaultFormat = (gbp) => `\xA3${gbp.toLocaleString("en-GB", { maximumFractionDigits: 2 })}`;
|
|
2297
|
-
function FirmPoolSection({
|
|
2298
|
-
view,
|
|
2299
|
-
formatAmount = defaultFormat,
|
|
2300
|
-
onTopUp,
|
|
2301
|
-
isToppingUp = false,
|
|
2302
|
-
labels,
|
|
2303
|
-
testId = "firm-pool"
|
|
2304
|
-
}) {
|
|
2305
|
-
const l = useMemo(() => ({ ...DEFAULT_FIRM_POOL_SECTION_LABELS, ...labels }), [labels]);
|
|
2306
|
-
const [count, setCount] = useState(1);
|
|
2307
|
-
const valid = Number.isInteger(count) && count >= 1 && count <= FIRM_POOL_MAX_TOP_UP;
|
|
2308
|
-
const used = view.usedGbp;
|
|
2309
|
-
const step = view.addonGbp ?? 25;
|
|
2310
|
-
const base = Math.min(view.baseGbp ?? view.totalGbp, view.totalGbp);
|
|
2311
|
-
const topUps = Math.max(0, view.totalGbp - base);
|
|
2312
|
-
const gb = (n) => `${Math.round(n * 10) / 10} GB`;
|
|
2313
|
-
const storage = view.storage;
|
|
2314
|
-
const users = view.users;
|
|
2315
|
-
return /* @__PURE__ */ jsxs("section", { className: "space-y-3", "data-testid": testId, children: [
|
|
2316
|
-
/* @__PURE__ */ jsx("h3", { className: "px-1 text-sm font-semibold text-foreground", children: l.title }),
|
|
2317
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-4 px-1", children: [
|
|
2318
|
-
view.licence && /* @__PURE__ */ jsxs("div", { className: "space-y-0.5 text-sm", "data-testid": `${testId}-licence`, children: [
|
|
2319
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-baseline justify-between gap-x-4", children: [
|
|
2320
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium text-foreground", children: l.licence }),
|
|
2321
|
-
/* @__PURE__ */ jsx("span", { className: "tabular-nums text-muted-foreground", children: view.licence })
|
|
2322
|
-
] }),
|
|
2323
|
-
view.renews && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", "data-testid": `${testId}-renews`, children: view.renews })
|
|
2324
|
-
] }),
|
|
2325
|
-
/* @__PURE__ */ jsx(
|
|
2326
|
-
UsageMeter,
|
|
2327
|
-
{
|
|
2328
|
-
label: l.used,
|
|
2329
|
-
hint: view.resetsAt ? l.resets(view.resetsAt) : void 0,
|
|
2330
|
-
value: `${used != null ? formatAmount(used) : "\u2014"} / ${formatAmount(view.totalGbp)}`,
|
|
2331
|
-
allowance: {
|
|
2332
|
-
used: used ?? 0,
|
|
2333
|
-
plan: base,
|
|
2334
|
-
topUps,
|
|
2335
|
-
autoRoom: view.autoAddonsOff ? 0 : view.autoRoomGbp
|
|
2336
|
-
},
|
|
2337
|
-
legend: {
|
|
2338
|
-
plan: topUps > 0 || (view.autoRoomGbp ?? 0) > 0 ? l.legendLicence(formatAmount(base)) : void 0,
|
|
2339
|
-
topUps: topUps > 0 ? l.legendTopUps(formatAmount(topUps)) : void 0,
|
|
2340
|
-
autoRoom: view.autoRoomGbp === null ? l.autoRoomNoLimit : view.autoRoomGbp ? l.legendAutoRoom(formatAmount(view.autoRoomGbp)) : void 0
|
|
2341
|
-
},
|
|
2342
|
-
details: used == null ? /* @__PURE__ */ jsx("p", { children: l.usageUnknown }) : void 0,
|
|
2343
|
-
testId: `${testId}-usage`
|
|
2344
|
-
}
|
|
2345
|
-
),
|
|
2346
|
-
storage && /* @__PURE__ */ jsx(
|
|
2347
|
-
UsageMeter,
|
|
2348
|
-
{
|
|
2349
|
-
label: l.storage,
|
|
2350
|
-
value: `${storage.usedGb != null ? gb(storage.usedGb) : "\u2014"} / ${gb(storage.totalGb)}`,
|
|
2351
|
-
allowance: {
|
|
2352
|
-
used: storage.usedGb ?? 0,
|
|
2353
|
-
plan: storage.totalGb - (storage.autoAddedGb ?? 0),
|
|
2354
|
-
topUps: storage.autoAddedGb ?? 0
|
|
2355
|
-
},
|
|
2356
|
-
legend: {
|
|
2357
|
-
plan: storage.autoAddedGb ? l.legendLicence(gb(storage.totalGb - storage.autoAddedGb)) : void 0,
|
|
2358
|
-
topUps: storage.autoAddedGb ? l.legendTopUps(gb(storage.autoAddedGb)) : void 0
|
|
2359
|
-
},
|
|
2360
|
-
testId: `${testId}-storage`
|
|
2361
|
-
}
|
|
2362
|
-
),
|
|
2363
|
-
users && /* @__PURE__ */ jsx(
|
|
2364
|
-
UsageMeter,
|
|
2365
|
-
{
|
|
2366
|
-
label: l.users,
|
|
2367
|
-
value: `${users.used ?? "\u2014"} / ${users.total}`,
|
|
2368
|
-
allowance: { used: users.used ?? 0, plan: users.total },
|
|
2369
|
-
testId: `${testId}-users`
|
|
2370
|
-
}
|
|
2371
|
-
),
|
|
2372
|
-
view.autoAddons && /* @__PURE__ */ jsx(
|
|
2373
|
-
UsageMeter,
|
|
2374
|
-
{
|
|
2375
|
-
label: l.budget,
|
|
2376
|
-
value: view.autoAddons.left ? l.budgetValue(view.autoAddons.left, view.autoAddons.limit) : `${view.autoAddons.spent} / ${view.autoAddons.limit}`,
|
|
2377
|
-
pct: view.autoAddons.pct,
|
|
2378
|
-
details: /* @__PURE__ */ jsxs("p", { "data-testid": `${testId}-auto-addons-count`, children: [
|
|
2379
|
-
l.autoAddons(view.autoAddons.count),
|
|
2380
|
-
view.autoAddons.added ? ` (${view.autoAddons.added})` : ""
|
|
2381
|
-
] }),
|
|
2382
|
-
testId: `${testId}-auto-addons`
|
|
2383
|
-
}
|
|
2384
|
-
),
|
|
2385
|
-
view.autoAddonsOff && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", "data-testid": `${testId}-auto-addons-off`, children: l.autoAddonsOff }),
|
|
2386
|
-
view.premiumOnly && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", "data-testid": `${testId}-premium-only`, children: l.premiumOnly }),
|
|
2387
|
-
onTopUp && /* @__PURE__ */ jsxs(
|
|
2388
|
-
"form",
|
|
2389
|
-
{
|
|
2390
|
-
className: "flex flex-wrap items-end gap-2",
|
|
2391
|
-
"data-testid": `${testId}-top-up`,
|
|
2392
|
-
onSubmit: (event) => {
|
|
2393
|
-
event.preventDefault();
|
|
2394
|
-
if (valid && !isToppingUp) onTopUp(count);
|
|
2395
|
-
},
|
|
2396
|
-
children: [
|
|
2397
|
-
/* @__PURE__ */ jsxs("label", { className: "flex flex-col gap-1 text-xs text-muted-foreground", children: [
|
|
2398
|
-
l.topUpLabel,
|
|
2399
|
-
/* @__PURE__ */ jsx(
|
|
2400
|
-
Input,
|
|
2401
|
-
{
|
|
2402
|
-
type: "number",
|
|
2403
|
-
min: 1,
|
|
2404
|
-
max: FIRM_POOL_MAX_TOP_UP,
|
|
2405
|
-
step: 1,
|
|
2406
|
-
value: Number.isNaN(count) ? "" : count,
|
|
2407
|
-
onChange: (event) => setCount(event.target.valueAsNumber),
|
|
2408
|
-
className: "h-8 w-24",
|
|
2409
|
-
"data-testid": `${testId}-top-up-count`
|
|
2410
|
-
}
|
|
2411
|
-
)
|
|
2412
|
-
] }),
|
|
2413
|
-
/* @__PURE__ */ jsx(
|
|
2414
|
-
Button,
|
|
2415
|
-
{
|
|
2416
|
-
type: "submit",
|
|
2417
|
-
size: "sm",
|
|
2418
|
-
disabled: !valid || isToppingUp,
|
|
2419
|
-
"data-testid": `${testId}-top-up-button`,
|
|
2420
|
-
children: isToppingUp ? l.toppingUp : l.topUp
|
|
2421
|
-
}
|
|
2422
|
-
),
|
|
2423
|
-
valid && /* @__PURE__ */ jsx(
|
|
2424
|
-
"span",
|
|
2425
|
-
{
|
|
2426
|
-
className: "self-center text-sm tabular-nums text-foreground",
|
|
2427
|
-
"data-testid": `${testId}-top-up-total`,
|
|
2428
|
-
children: l.topUpTotal(formatAmount(count * step))
|
|
2429
|
-
}
|
|
2430
|
-
),
|
|
2431
|
-
/* @__PURE__ */ jsx("p", { className: "w-full text-xs text-muted-foreground", children: l.topUpHelp(formatAmount(step)) })
|
|
2432
|
-
]
|
|
2433
|
-
}
|
|
2434
|
-
)
|
|
2435
|
-
] })
|
|
2436
|
-
] });
|
|
2437
|
-
}
|
|
2438
2293
|
var DEFAULT_SUPPORT_PANEL_LABELS = {
|
|
2439
2294
|
support: "Support",
|
|
2440
2295
|
userGuide: "User Guide"
|
|
@@ -3804,6 +3659,6 @@ function ErrorDialogView({
|
|
|
3804
3659
|
) });
|
|
3805
3660
|
}
|
|
3806
3661
|
|
|
3807
|
-
export { CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_CHECKOUT_DIALOG_LABELS, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, DEFAULT_CONNECTION_CARD_LABELS, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_DAILY_CAP_FIELD_LABELS, DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS, DEFAULT_ERROR_DIALOG_LABELS,
|
|
3662
|
+
export { CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_CHECKOUT_DIALOG_LABELS, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, DEFAULT_CONNECTION_CARD_LABELS, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_DAILY_CAP_FIELD_LABELS, DEFAULT_EMAIL_WORKSPACE_DIALOG_LABELS, DEFAULT_ERROR_DIALOG_LABELS, DEFAULT_INLINE_NAME_EDITOR_LABELS, DEFAULT_INVITE_CONTACTS_DIALOG_LABELS, DEFAULT_INVOICES_DIALOG_LABELS, DEFAULT_MEMBER_PROJECT_ROW_LABELS, DEFAULT_MODEL_SELECTION_SECTION_LABELS, DEFAULT_PLAN_CARD_LABELS, DEFAULT_PROJECT_CARD_VIEW_LABELS, DEFAULT_PROJECT_DETAIL_HEADER_LABELS, DEFAULT_PROJECT_LIST_LABELS, DEFAULT_QUOTA_EXCEEDED_DIALOG_LABELS, DEFAULT_REFERRAL_REWARD_LABELS, DEFAULT_RENAME_DIALOG_LABELS, DEFAULT_SHARED_PROJECTS_SECTION_LABELS, DEFAULT_SUBSCRIPTION_SECTION_LABELS, DEFAULT_SUBSCRIPTION_STATUS_LABELS, DEFAULT_SUPPORT_PANEL_LABELS, DEFAULT_SYNC_DIALOG_FOOTER_LABELS, DEFAULT_SYNC_FOLDER_ROW_LABELS, DEFAULT_TIPS_EDITOR_LABELS, DEFAULT_USAGE_LINE_CHART_LABELS, DEFAULT_USAGE_PANEL_LABELS, DEFAULT_USAGE_PROPORTION_BAR_LABELS, DEFAULT_WELCOME_DIALOG_LABELS, DEFAULT_WORK_OFFLINE_LABELS, DailyCapField, DraggableHeader, EmailWorkspaceDialogView, ErrorDialogView, FilterChip, FloatingPanel, InlineNameEditor, InviteContactsDialog, InvoicesDialog, JsonTree, MemberProjectRow, MessageJsonTree, ModelProviderLabel, ModelSelectionSection, MoreInfo, MoreInfoList, PanelActionsRow, PanelAddButton, PanelFrame, PanelFrameBody, PanelNote, PanelScroll, PanelTitleBar, PlanActionButton, PlanActionRow, PlanBadge, PlanCard, PlanCardGrid, PlanDialogFrame, PlanInfoPopover, PlanNotice, PlanPickerCard, PlanPickerHeader, PlanStack, PlanTierOption, PlanTransition, PremiumModelsFrame, PricingToggle, ProjectCardView, ProjectDetailHeader, ProjectDetailSection, ProjectGroup, ProjectList, ProjectNameLabel, ProjectPlanPicker, ProjectRow, ProjectRowActions, PromoCodeInput, QuotaExceededDialogView, QuotaMeter, ReferralRewardBadge, ReferralRewardNote, ReferralRewardSummary, RenameDialog, RowButton, RowIconAction, SegmentedControl, ServerConnectionButton, SharedProjectRow, SharedProjectsSection, SubscriptionSectionView, SubscriptionStatusView, SupportPanel, SupportUnavailable, SyncCheckList, SyncDialogBody, SyncDialogFooter, SyncField, SyncFolderRow, SyncFolderStatus, SyncLinkButton, SyncLinkRow, SyncLoading, SyncNote, SyncOptionToggle, SyncOptions, SyncReconnectNotice, SyncSelect, SyncSmallNote, SyncTreeFrame, ThreadPreviewDialog, TipsEditorDialog, UsageActionButton, UsageLegend, UsageLineChart, UsagePanel, UsageProportionBar, UsageQuotaHint, UsageSection, UsageSummary, UsageToggle, WelcomeDialog, WelcomeProjectPicker, WorkOfflineToggle };
|
|
3808
3663
|
//# sourceMappingURL=index.js.map
|
|
3809
3664
|
//# sourceMappingURL=index.js.map
|