@arbidocs/blocks 0.4.129 → 0.4.130

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +4 -3
  2. package/dist/agents/index.cjs +216 -216
  3. package/dist/agents/index.js +5 -5
  4. package/dist/calendar/CalendarPrint.d.ts +25 -0
  5. package/dist/calendar/booking-slots.d.ts +21 -0
  6. package/dist/calendar/index.cjs +381 -97
  7. package/dist/calendar/index.cjs.map +1 -1
  8. package/dist/calendar/index.d.ts +4 -0
  9. package/dist/calendar/index.js +277 -3
  10. package/dist/calendar/index.js.map +1 -1
  11. package/dist/calendar/print-layout.d.ts +16 -0
  12. package/dist/calendar/printCalendar.d.ts +6 -0
  13. package/dist/calls/composite-canvas.d.ts +52 -0
  14. package/dist/calls/index.cjs +376 -3
  15. package/dist/calls/index.cjs.map +1 -1
  16. package/dist/calls/index.d.ts +3 -0
  17. package/dist/calls/index.js +360 -5
  18. package/dist/calls/index.js.map +1 -1
  19. package/dist/calls/ringtone.d.ts +16 -0
  20. package/dist/calls/voice-levels.d.ts +32 -0
  21. package/dist/chat/ThreadVisualizer.d.ts +28 -0
  22. package/dist/chat/index.cjs +93 -77
  23. package/dist/chat/index.d.ts +2 -0
  24. package/dist/chat/index.js +2 -2
  25. package/dist/chat/open-document.d.ts +5 -1
  26. package/dist/chat/thread-diagram.d.ts +26 -0
  27. package/dist/{chunk-DQCYCEDR.js → chunk-2Q7FDZAY.js} +3 -3
  28. package/dist/{chunk-DQCYCEDR.js.map → chunk-2Q7FDZAY.js.map} +1 -1
  29. package/dist/{chunk-S7PSMMRG.js → chunk-444XKG46.js} +3 -3
  30. package/dist/{chunk-S7PSMMRG.js.map → chunk-444XKG46.js.map} +1 -1
  31. package/dist/{chunk-7423V6RM.cjs → chunk-4QIIDXLF.cjs} +8 -8
  32. package/dist/{chunk-7423V6RM.cjs.map → chunk-4QIIDXLF.cjs.map} +1 -1
  33. package/dist/{chunk-OYMWV45N.js → chunk-4RLCRFZS.js} +63 -13
  34. package/dist/chunk-4RLCRFZS.js.map +1 -0
  35. package/dist/{chunk-DZYAAL4H.cjs → chunk-4S5IDT5F.cjs} +231 -2
  36. package/dist/chunk-4S5IDT5F.cjs.map +1 -0
  37. package/dist/{chunk-CJBN5HIS.js → chunk-4UMXQPNA.js} +20 -8
  38. package/dist/chunk-4UMXQPNA.js.map +1 -0
  39. package/dist/{chunk-IBZJYCYM.js → chunk-66TA5IBN.js} +17 -25
  40. package/dist/chunk-66TA5IBN.js.map +1 -0
  41. package/dist/{chunk-OR4CO743.cjs → chunk-AAFX64WD.cjs} +3 -3
  42. package/dist/{chunk-OR4CO743.cjs.map → chunk-AAFX64WD.cjs.map} +1 -1
  43. package/dist/{chunk-MUMH3Z6K.cjs → chunk-ARDHLU73.cjs} +61 -11
  44. package/dist/chunk-ARDHLU73.cjs.map +1 -0
  45. package/dist/{chunk-TGWTLNXW.cjs → chunk-BIXHB4LV.cjs} +3 -2
  46. package/dist/{chunk-TGWTLNXW.cjs.map → chunk-BIXHB4LV.cjs.map} +1 -1
  47. package/dist/chunk-C4WSHRR6.cjs +166 -0
  48. package/dist/chunk-C4WSHRR6.cjs.map +1 -0
  49. package/dist/{chunk-ZAVEMQ37.cjs → chunk-DWZXSPMB.cjs} +3 -3
  50. package/dist/{chunk-ZAVEMQ37.cjs.map → chunk-DWZXSPMB.cjs.map} +1 -1
  51. package/dist/{chunk-5HFPRI3W.js → chunk-FUTMU4FR.js} +3 -3
  52. package/dist/{chunk-5HFPRI3W.js.map → chunk-FUTMU4FR.js.map} +1 -1
  53. package/dist/{chunk-5Y7JRY7Y.js → chunk-GDBDHOI4.js} +3 -3
  54. package/dist/{chunk-5Y7JRY7Y.js.map → chunk-GDBDHOI4.js.map} +1 -1
  55. package/dist/{chunk-TGJNPKST.js → chunk-GTCC2VAR.js} +3 -3
  56. package/dist/{chunk-TGJNPKST.js.map → chunk-GTCC2VAR.js.map} +1 -1
  57. package/dist/{chunk-3BJLNKOB.cjs → chunk-GZPTWHP5.cjs} +22 -10
  58. package/dist/chunk-GZPTWHP5.cjs.map +1 -0
  59. package/dist/{chunk-OUW6G4O2.cjs → chunk-HFGXA5CL.cjs} +4 -4
  60. package/dist/{chunk-OUW6G4O2.cjs.map → chunk-HFGXA5CL.cjs.map} +1 -1
  61. package/dist/{chunk-SWQX6CTT.cjs → chunk-JKB7WT7L.cjs} +2 -2
  62. package/dist/chunk-JKB7WT7L.cjs.map +1 -0
  63. package/dist/{chunk-S6BOINC4.cjs → chunk-OGBXV326.cjs} +7 -7
  64. package/dist/{chunk-S6BOINC4.cjs.map → chunk-OGBXV326.cjs.map} +1 -1
  65. package/dist/{chunk-DJM7DLCT.cjs → chunk-OPTBQSCV.cjs} +3 -3
  66. package/dist/{chunk-DJM7DLCT.cjs.map → chunk-OPTBQSCV.cjs.map} +1 -1
  67. package/dist/{chunk-GFYGYME3.js → chunk-OQ7RUNOC.js} +3 -3
  68. package/dist/{chunk-GFYGYME3.js.map → chunk-OQ7RUNOC.js.map} +1 -1
  69. package/dist/{chunk-NYHGG2IA.cjs → chunk-QDEODGXE.cjs} +5 -5
  70. package/dist/{chunk-NYHGG2IA.cjs.map → chunk-QDEODGXE.cjs.map} +1 -1
  71. package/dist/{chunk-6BTCDKCK.js → chunk-QYTYW74G.js} +4 -4
  72. package/dist/{chunk-6BTCDKCK.js.map → chunk-QYTYW74G.js.map} +1 -1
  73. package/dist/{chunk-A7NCSZAP.cjs → chunk-QZTNTP75.cjs} +17 -25
  74. package/dist/chunk-QZTNTP75.cjs.map +1 -0
  75. package/dist/{chunk-OB5F4577.cjs → chunk-R26BK7YL.cjs} +4 -4
  76. package/dist/{chunk-OB5F4577.cjs.map → chunk-R26BK7YL.cjs.map} +1 -1
  77. package/dist/{chunk-A2YAC22G.js → chunk-RI6DZA5X.js} +3 -3
  78. package/dist/{chunk-A2YAC22G.js.map → chunk-RI6DZA5X.js.map} +1 -1
  79. package/dist/{chunk-H2KQ6OSU.js → chunk-SZX44LCT.js} +230 -5
  80. package/dist/chunk-SZX44LCT.js.map +1 -0
  81. package/dist/{chunk-7QDX2CO4.cjs → chunk-TP6PLDNM.cjs} +4 -4
  82. package/dist/{chunk-7QDX2CO4.cjs.map → chunk-TP6PLDNM.cjs.map} +1 -1
  83. package/dist/{chunk-JLTXVW25.cjs → chunk-TT6XV6WM.cjs} +17 -17
  84. package/dist/{chunk-JLTXVW25.cjs.map → chunk-TT6XV6WM.cjs.map} +1 -1
  85. package/dist/{chunk-HSFLEVZY.js → chunk-UMIY4SQS.js} +6 -6
  86. package/dist/{chunk-HSFLEVZY.js.map → chunk-UMIY4SQS.js.map} +1 -1
  87. package/dist/{chunk-ECERC6TI.js → chunk-VHJHY7TT.js} +3 -3
  88. package/dist/{chunk-ECERC6TI.js.map → chunk-VHJHY7TT.js.map} +1 -1
  89. package/dist/{chunk-D3N67Q4D.js → chunk-W3VYZXNS.js} +3 -3
  90. package/dist/{chunk-D3N67Q4D.js.map → chunk-W3VYZXNS.js.map} +1 -1
  91. package/dist/{chunk-JK45LSIH.cjs → chunk-WXYQ66KC.cjs} +5 -5
  92. package/dist/{chunk-JK45LSIH.cjs.map → chunk-WXYQ66KC.cjs.map} +1 -1
  93. package/dist/{chunk-ZCF2JJFA.js → chunk-Y3KA6X7B.js} +3 -3
  94. package/dist/{chunk-ZCF2JJFA.js.map → chunk-Y3KA6X7B.js.map} +1 -1
  95. package/dist/{chunk-GYCQ3FNL.js → chunk-YBLIKTJK.js} +2 -2
  96. package/dist/chunk-YBLIKTJK.js.map +1 -0
  97. package/dist/chunk-YNIBUKV5.js +163 -0
  98. package/dist/chunk-YNIBUKV5.js.map +1 -0
  99. package/dist/citations/index.cjs +12 -11
  100. package/dist/citations/index.js +3 -2
  101. package/dist/collaboration/index.cjs +42 -42
  102. package/dist/collaboration/index.js +2 -2
  103. package/dist/connect/docx.cjs +7 -5
  104. package/dist/connect/docx.cjs.map +1 -1
  105. package/dist/connect/docx.js +6 -4
  106. package/dist/connect/docx.js.map +1 -1
  107. package/dist/connect/index.cjs +237 -194
  108. package/dist/connect/index.cjs.map +1 -1
  109. package/dist/connect/index.d.ts +1 -1
  110. package/dist/connect/index.js +190 -147
  111. package/dist/connect/index.js.map +1 -1
  112. package/dist/connection/ConnectedSettings.d.ts +46 -20
  113. package/dist/connection/ConnectionProvider.d.ts +5 -0
  114. package/dist/connection/mail/ConnectedMailComposer.d.ts +2 -3
  115. package/dist/connection/mail/ConnectedMailbox.d.ts +2 -3
  116. package/dist/connection/mail/MailComposerForm.d.ts +2 -3
  117. package/dist/connection/mail/index.d.ts +2 -2
  118. package/dist/connection/mail/mailbox.d.ts +1 -4
  119. package/dist/connection/mail/types.d.ts +0 -8
  120. package/dist/facts/fact-citations.d.ts +56 -0
  121. package/dist/facts/fact-table-column-resize.d.ts +18 -0
  122. package/dist/facts/index.cjs +197 -10
  123. package/dist/facts/index.cjs.map +1 -1
  124. package/dist/facts/index.d.ts +2 -0
  125. package/dist/facts/index.js +182 -6
  126. package/dist/facts/index.js.map +1 -1
  127. package/dist/files/index.cjs +4 -4
  128. package/dist/files/index.js +3 -3
  129. package/dist/home/index.cjs +20 -19
  130. package/dist/home/index.cjs.map +1 -1
  131. package/dist/home/index.js +5 -4
  132. package/dist/home/index.js.map +1 -1
  133. package/dist/index.cjs +485 -469
  134. package/dist/index.d.ts +2 -1
  135. package/dist/index.js +13 -13
  136. package/dist/provider/BlocksProvider.d.ts +39 -4
  137. package/dist/provider/dialogs.d.ts +31 -0
  138. package/dist/retrieval/index.cjs +5 -4
  139. package/dist/retrieval/index.js +3 -2
  140. package/dist/settings/MoreInfo.d.ts +25 -0
  141. package/dist/settings/PlanCard.d.ts +1 -1
  142. package/dist/settings/index.cjs +106 -252
  143. package/dist/settings/index.cjs.map +1 -1
  144. package/dist/settings/index.d.ts +1 -1
  145. package/dist/settings/index.js +71 -216
  146. package/dist/settings/index.js.map +1 -1
  147. package/dist/shell/index.cjs +48 -47
  148. package/dist/shell/index.js +4 -3
  149. package/dist/studio/index.cjs +15 -14
  150. package/dist/studio/index.cjs.map +1 -1
  151. package/dist/studio/index.js +7 -6
  152. package/dist/studio/index.js.map +1 -1
  153. package/dist/workflow-canvas/index.cjs +14 -14
  154. package/dist/workflow-canvas/index.js +6 -6
  155. package/dist/workspaces/index.cjs +3 -3
  156. package/dist/workspaces/index.js +2 -2
  157. package/node_modules/@arbidocs/coedit/package.json +1 -1
  158. package/package.json +9 -4
  159. package/dist/chunk-3BJLNKOB.cjs.map +0 -1
  160. package/dist/chunk-76JDDMSP.js +0 -31
  161. package/dist/chunk-76JDDMSP.js.map +0 -1
  162. package/dist/chunk-A7NCSZAP.cjs.map +0 -1
  163. package/dist/chunk-C54XEN5T.cjs +0 -34
  164. package/dist/chunk-C54XEN5T.cjs.map +0 -1
  165. package/dist/chunk-CJBN5HIS.js.map +0 -1
  166. package/dist/chunk-DZYAAL4H.cjs.map +0 -1
  167. package/dist/chunk-GYCQ3FNL.js.map +0 -1
  168. package/dist/chunk-H2KQ6OSU.js.map +0 -1
  169. package/dist/chunk-IBZJYCYM.js.map +0 -1
  170. package/dist/chunk-MUMH3Z6K.cjs.map +0 -1
  171. package/dist/chunk-OYMWV45N.js.map +0 -1
  172. package/dist/chunk-SWQX6CTT.cjs.map +0 -1
  173. package/dist/settings/FirmPool.d.ts +0 -82
@@ -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';
@@ -1,25 +1,25 @@
1
1
  "use client";
2
2
  export { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
3
- 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
- import { UsageMeter } from '../chunk-IBZJYCYM.js';
3
+ 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-OQ7RUNOC.js';
4
+ import { UsageMeter } from '../chunk-66TA5IBN.js';
5
5
  export { DEFAULT_DOCUMENT_PICKER_LABELS, DocumentPicker, MultiSelect } from '../chunk-4XJZ6AAY.js';
6
6
  import { ToneBadge } from '../chunk-5LXQPP2K.js';
7
7
  export { DEFAULT_TRI_STATE_FILTER_MENU_LABELS, TriStateFilterMenu } from '../chunk-6S5FLMWG.js';
8
8
  import '../chunk-VILAPTCB.js';
9
- export { ConfirmDialog, DEFAULT_CONFIRM_DIALOG_LABELS } from '../chunk-ECERC6TI.js';
10
- import { ModalSection, ModalSectionTitle, ModalHeader, ModalScaffold } from '../chunk-TX2ZICS7.js';
11
- export { MODAL_SECTION_TITLE_CLASS, ModalHeader, ModalScaffold, ModalSection, ModalSectionTitle } from '../chunk-TX2ZICS7.js';
9
+ export { ConfirmDialog, DEFAULT_CONFIRM_DIALOG_LABELS } from '../chunk-VHJHY7TT.js';
12
10
  import { TabHeader } from '../chunk-4WWM3GQ5.js';
13
11
  import { TONE_BORDER, TONE_SURFACE } from '../chunk-AUS3KBHJ.js';
14
12
  import '../chunk-NPLYHR2E.js';
15
13
  import { testIdOr, prefixedTestId } from '../chunk-7F6CBP3Z.js';
14
+ import { ModalSection, ModalSectionTitle, ModalHeader, ModalScaffold } from '../chunk-TX2ZICS7.js';
15
+ export { MODAL_SECTION_TITLE_CLASS, ModalHeader, ModalScaffold, ModalSection, ModalSectionTitle } from '../chunk-TX2ZICS7.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, Popover, PopoverTrigger, PopoverContent, Badge, DialogHeader, Progress } from '@arbidocs/react/ui';
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, Tag, Info, Gift, PlugIcon, CheckCircle2, ExternalLink, ShieldCheck, Plug, AlertCircle, MessageCircleQuestionMark, BookOpen, UserPlus, ChartNoAxesColumn, FileText, Mail, Send, Clock, Infinity, ArrowRight, Copy, LogOut } from 'lucide-react';
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 stay within your monthly usage cap (\xA3100 by default; \xA30 = no automatic top-ups, or no limit). Adding by hand is never capped.",
1662
- "Add-ons start now. Downgrades, billing switches and add-on reductions start at the end of the period. No refunds.",
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(Popover, { children: [
1854
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
1855
- Button,
1856
- {
1857
- type: "button",
1858
- variant: "ghost",
1859
- size: "sm",
1860
- className: "gap-1.5 text-sm text-muted-foreground",
1861
- children: [
1862
- /* @__PURE__ */ jsx(Info, { className: "h-4 w-4" }),
1863
- l.pricingExplainer
1864
- ]
1865
- }
1866
- ) }),
1867
- /* @__PURE__ */ jsxs(
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, DEFAULT_FIRM_POOL_SECTION_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, FIRM_POOL_MAX_TOP_UP, FilterChip, FirmPoolSection, FloatingPanel, InlineNameEditor, InviteContactsDialog, InvoicesDialog, JsonTree, MemberProjectRow, MessageJsonTree, ModelProviderLabel, ModelSelectionSection, 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 };
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