@arbidocs/blocks 0.4.143 → 0.4.144

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 (130) hide show
  1. package/dist/agents/index.cjs +264 -264
  2. package/dist/agents/index.js +7 -7
  3. package/dist/{chunk-IJST4EBM.js → chunk-2FJMTZNJ.js} +8 -8
  4. package/dist/{chunk-IJST4EBM.js.map → chunk-2FJMTZNJ.js.map} +1 -1
  5. package/dist/{chunk-FJETR2AS.js → chunk-33ZOUJXA.js} +4 -4
  6. package/dist/{chunk-FJETR2AS.js.map → chunk-33ZOUJXA.js.map} +1 -1
  7. package/dist/{chunk-IXWJGOM2.js → chunk-3RJN2VTL.js} +3 -3
  8. package/dist/{chunk-IXWJGOM2.js.map → chunk-3RJN2VTL.js.map} +1 -1
  9. package/dist/{chunk-YKQ2DPIP.js → chunk-444XKG46.js} +3 -3
  10. package/dist/{chunk-YKQ2DPIP.js.map → chunk-444XKG46.js.map} +1 -1
  11. package/dist/{chunk-XVUOMWMD.cjs → chunk-5FTIHRZH.cjs} +4 -4
  12. package/dist/{chunk-XVUOMWMD.cjs.map → chunk-5FTIHRZH.cjs.map} +1 -1
  13. package/dist/{chunk-ECW2R2KF.cjs → chunk-65THHQVB.cjs} +27 -27
  14. package/dist/{chunk-ECW2R2KF.cjs.map → chunk-65THHQVB.cjs.map} +1 -1
  15. package/dist/{chunk-Y4ATWQGV.js → chunk-7NGAWGA3.js} +3 -3
  16. package/dist/{chunk-Y4ATWQGV.js.map → chunk-7NGAWGA3.js.map} +1 -1
  17. package/dist/{chunk-T5B7FM7S.js → chunk-A6J2IBUG.js} +4 -4
  18. package/dist/{chunk-T5B7FM7S.js.map → chunk-A6J2IBUG.js.map} +1 -1
  19. package/dist/{chunk-RB7GX2VT.cjs → chunk-ABUO6PIQ.cjs} +12 -12
  20. package/dist/{chunk-RB7GX2VT.cjs.map → chunk-ABUO6PIQ.cjs.map} +1 -1
  21. package/dist/{chunk-NRFAWUVD.js → chunk-BPBSSMRB.js} +3 -3
  22. package/dist/{chunk-NRFAWUVD.js.map → chunk-BPBSSMRB.js.map} +1 -1
  23. package/dist/{chunk-HAOKT4LC.cjs → chunk-BUWBXJ2N.cjs} +5 -5
  24. package/dist/{chunk-HAOKT4LC.cjs.map → chunk-BUWBXJ2N.cjs.map} +1 -1
  25. package/dist/{chunk-KPZZ5FHE.cjs → chunk-C4WSHRR6.cjs} +12 -32
  26. package/dist/chunk-C4WSHRR6.cjs.map +1 -0
  27. package/dist/{chunk-J5CWKFSC.js → chunk-CYNF5PZI.js} +3 -3
  28. package/dist/{chunk-J5CWKFSC.js.map → chunk-CYNF5PZI.js.map} +1 -1
  29. package/dist/{chunk-VTTZZ4FN.js → chunk-DLBUFHLY.js} +74 -4
  30. package/dist/chunk-DLBUFHLY.js.map +1 -0
  31. package/dist/{chunk-YSHIC4NJ.cjs → chunk-HEMU73OP.cjs} +4 -4
  32. package/dist/{chunk-YSHIC4NJ.cjs.map → chunk-HEMU73OP.cjs.map} +1 -1
  33. package/dist/{chunk-UTTTJSQU.cjs → chunk-HFGXA5CL.cjs} +4 -4
  34. package/dist/{chunk-UTTTJSQU.cjs.map → chunk-HFGXA5CL.cjs.map} +1 -1
  35. package/dist/{chunk-H4D7WKDY.js → chunk-I7WG3JRD.js} +3 -3
  36. package/dist/{chunk-H4D7WKDY.js.map → chunk-I7WG3JRD.js.map} +1 -1
  37. package/dist/{chunk-SZOFGU7W.js → chunk-LYUO3E6V.js} +3 -3
  38. package/dist/{chunk-SZOFGU7W.js.map → chunk-LYUO3E6V.js.map} +1 -1
  39. package/dist/{chunk-TC3RQNEX.cjs → chunk-MJCCBMM5.cjs} +80 -6
  40. package/dist/chunk-MJCCBMM5.cjs.map +1 -0
  41. package/dist/{chunk-LPYEUD2D.cjs → chunk-O2ODDTMA.cjs} +9 -9
  42. package/dist/{chunk-LPYEUD2D.cjs.map → chunk-O2ODDTMA.cjs.map} +1 -1
  43. package/dist/{chunk-5YHEHEJT.js → chunk-ON3TKY5Y.js} +4 -242
  44. package/dist/chunk-ON3TKY5Y.js.map +1 -0
  45. package/dist/{chunk-U73KPFYH.cjs → chunk-QIMVTGKS.cjs} +2 -255
  46. package/dist/chunk-QIMVTGKS.cjs.map +1 -0
  47. package/dist/{chunk-DTROMMDX.cjs → chunk-R26BK7YL.cjs} +4 -4
  48. package/dist/{chunk-DTROMMDX.cjs.map → chunk-R26BK7YL.cjs.map} +1 -1
  49. package/dist/{chunk-U6YVZDOV.cjs → chunk-RA3ZJ45L.cjs} +13 -13
  50. package/dist/{chunk-U6YVZDOV.cjs.map → chunk-RA3ZJ45L.cjs.map} +1 -1
  51. package/dist/{chunk-EF4ZLKRM.js → chunk-RI6DZA5X.js} +3 -3
  52. package/dist/{chunk-EF4ZLKRM.js.map → chunk-RI6DZA5X.js.map} +1 -1
  53. package/dist/{chunk-KMZWKSKO.cjs → chunk-TP6PLDNM.cjs} +8 -8
  54. package/dist/{chunk-KMZWKSKO.cjs.map → chunk-TP6PLDNM.cjs.map} +1 -1
  55. package/dist/{chunk-EYKISBDO.cjs → chunk-WS5EX7DN.cjs} +5 -5
  56. package/dist/{chunk-EYKISBDO.cjs.map → chunk-WS5EX7DN.cjs.map} +1 -1
  57. package/dist/{chunk-C44TDH54.js → chunk-X3TGXEFS.js} +6 -6
  58. package/dist/{chunk-C44TDH54.js.map → chunk-X3TGXEFS.js.map} +1 -1
  59. package/dist/{chunk-O2GW5IY6.cjs → chunk-XGZX22ET.cjs} +38 -38
  60. package/dist/{chunk-O2GW5IY6.cjs.map → chunk-XGZX22ET.cjs.map} +1 -1
  61. package/dist/{chunk-OVR3XMYL.js → chunk-Y3KA6X7B.js} +4 -4
  62. package/dist/{chunk-OVR3XMYL.js.map → chunk-Y3KA6X7B.js.map} +1 -1
  63. package/dist/{chunk-COCGRJLA.cjs → chunk-YFY3TQ6Q.cjs} +7 -7
  64. package/dist/{chunk-COCGRJLA.cjs.map → chunk-YFY3TQ6Q.cjs.map} +1 -1
  65. package/dist/{chunk-TBEVGWY3.js → chunk-YNIBUKV5.js} +14 -32
  66. package/dist/chunk-YNIBUKV5.js.map +1 -0
  67. package/dist/citations/index.cjs +12 -12
  68. package/dist/citations/index.js +3 -3
  69. package/dist/connect/docx.cjs +10 -10
  70. package/dist/connect/docx.js +7 -7
  71. package/dist/connect/index.cjs +322 -709
  72. package/dist/connect/index.cjs.map +1 -1
  73. package/dist/connect/index.d.ts +0 -1
  74. package/dist/connect/index.js +214 -588
  75. package/dist/connect/index.js.map +1 -1
  76. package/dist/connection/ConnectedSettings.d.ts +2 -3
  77. package/dist/facts/index.cjs +3 -3
  78. package/dist/facts/index.js +2 -2
  79. package/dist/files/index.cjs +3 -3
  80. package/dist/files/index.js +2 -2
  81. package/dist/home/index.cjs +20 -20
  82. package/dist/home/index.js +4 -4
  83. package/dist/index.cjs +440 -449
  84. package/dist/index.cjs.map +1 -1
  85. package/dist/index.d.ts +0 -1
  86. package/dist/index.js +16 -17
  87. package/dist/index.js.map +1 -1
  88. package/dist/provider/BlocksProvider.d.ts +1 -5
  89. package/dist/retrieval/index.cjs +4 -4
  90. package/dist/retrieval/index.js +2 -2
  91. package/dist/settings/ServerConnectionControls.d.ts +0 -16
  92. package/dist/settings/index.cjs +241 -178
  93. package/dist/settings/index.cjs.map +1 -1
  94. package/dist/settings/index.d.ts +1 -3
  95. package/dist/settings/index.js +198 -86
  96. package/dist/settings/index.js.map +1 -1
  97. package/dist/shell/index.cjs +44 -44
  98. package/dist/shell/index.js +3 -3
  99. package/dist/site/index.cjs +73 -74
  100. package/dist/site/index.js +2 -3
  101. package/dist/studio/index.cjs +74 -75
  102. package/dist/studio/index.cjs.map +1 -1
  103. package/dist/studio/index.js +5 -6
  104. package/dist/studio/index.js.map +1 -1
  105. package/dist/workflow-canvas/index.cjs +21 -21
  106. package/dist/workflow-canvas/index.js +7 -7
  107. package/dist/workspaces/index.cjs +3 -3
  108. package/dist/workspaces/index.js +2 -2
  109. package/node_modules/@arbidocs/coedit/package.json +1 -1
  110. package/package.json +4 -4
  111. package/dist/chunk-5YHEHEJT.js.map +0 -1
  112. package/dist/chunk-KPZZ5FHE.cjs.map +0 -1
  113. package/dist/chunk-NHZK64TQ.js +0 -75
  114. package/dist/chunk-NHZK64TQ.js.map +0 -1
  115. package/dist/chunk-NWNVWO6L.cjs +0 -80
  116. package/dist/chunk-NWNVWO6L.cjs.map +0 -1
  117. package/dist/chunk-TBEVGWY3.js.map +0 -1
  118. package/dist/chunk-TC3RQNEX.cjs.map +0 -1
  119. package/dist/chunk-U73KPFYH.cjs.map +0 -1
  120. package/dist/chunk-VTTZZ4FN.js.map +0 -1
  121. package/dist/connection/settings-page/ConnectedAccountSettings.d.ts +0 -35
  122. package/dist/connection/settings-page/ConnectedMailSettings.d.ts +0 -13
  123. package/dist/connection/settings-page/ConnectedPremiumModels.d.ts +0 -1
  124. package/dist/connection/settings-page/ConnectedPrivacySettings.d.ts +0 -12
  125. package/dist/connection/settings-page/ConnectedSettingsPage.d.ts +0 -29
  126. package/dist/connection/settings-page/SessionStatusIcon.d.ts +0 -7
  127. package/dist/connection/settings-page/index.d.ts +0 -6
  128. package/dist/provider/settings-section.d.ts +0 -9
  129. package/dist/settings/AppearanceSettings.d.ts +0 -18
  130. package/dist/settings/SettingsPage.d.ts +0 -31
@@ -10,7 +10,7 @@ export { DraggableHeader, type DraggableHeaderProps } from './DraggableHeader';
10
10
  export { PanelFrame, PanelFrameBody, PanelScroll, PanelActionsRow, PanelAddButton, PanelTitleBar, PanelNote, type PanelFrameProps, type PanelFrameBodyProps, type PanelScrollProps, type PanelAddButtonProps, } from './PanelFrame';
11
11
  export { ConfigSwitcherBar, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, type ConfigOption, type ConfigOptionMarker, type ConfigSwitcherBarProps, type ConfigSwitcherBarLabels, } from './ConfigSwitcherBar';
12
12
  export { ConversationTitleSection, ModelSelectionSection, CONVERSATION_TITLE_MAX, DEFAULT_CONVERSATION_TITLE_SECTION_LABELS, DEFAULT_MODEL_SELECTION_SECTION_LABELS, type ConversationTitleSectionProps, type ConversationTitleSectionLabels, type ModelSelectionSectionProps, type ModelSelectionSectionLabels, } from './ConversationSettingsParts';
13
- export { ServerConnectionButton, WorkOfflineToggle, DEFAULT_WORK_OFFLINE_LABELS, serverConnectionView, type ServerConnectionStatus, type ServerConnectionView, type ServerConnectionState, type ServerConnectionButtonProps, type WorkOfflineToggleProps, } from './ServerConnectionControls';
13
+ export { ServerConnectionButton, WorkOfflineToggle, DEFAULT_WORK_OFFLINE_LABELS, type ServerConnectionState, type ServerConnectionButtonProps, type WorkOfflineToggleProps, } from './ServerConnectionControls';
14
14
  export { NotificationCategoryList, type NotificationCategory, type NotificationCategoryListProps, } from './NotificationCategoryList';
15
15
  export { PremiumModelsFrame, ModelProviderLabel, type PremiumModelsFrameProps, } from './PremiumModelsFrame';
16
16
  export { ThreadPreviewDialog, type ThreadPreviewDialogProps, type ThreadPreviewCrumb, } from './ThreadPreviewDialog';
@@ -42,5 +42,3 @@ export { PlanNotice, PlanStack, PlanTransition, PlanPickerHeader, PlanPickerCard
42
42
  export { ErrorDialogView, DEFAULT_ERROR_DIALOG_LABELS, type ErrorDialogViewProps, type ErrorDialogDetails, type ErrorDialogLabels, } from './ErrorDialog';
43
43
  export { formatSessionTtl, toActiveSessionViews, toLogoutSessionViews, toDeleteBlockerViews, toNotificationCategories, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, type SessionLike, type ToActiveSessionViewsOptions, type DeleteBlockerLike, type EmailNotificationCategoryDef, } from './account-views';
44
44
  export { IdentityVerificationCard, IdentityVerificationDialog, RequireVerified, DEFAULT_IDENTITY_VERIFICATION_LABELS, type IdentityVerificationCardProps, type IdentityVerificationDialogProps, type RequireVerifiedProps, type IdentityVerificationLabels, } from './IdentityVerification';
45
- export { SettingsPage, resolveSettingsSection, type SettingsPageProps, type SettingsPageSection, } from './SettingsPage';
46
- export { AppearanceSettings, DEFAULT_APPEARANCE_PAIRING_IDS, type AppearanceSettingsProps, type AppearanceColorScheme, type AppearanceTextSize, } from './AppearanceSettings';
@@ -1,9 +1,7 @@
1
1
  "use client";
2
- import { SettingsPanel, SettingsSection } from '../chunk-5YHEHEJT.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, DEFAULT_WORK_OFFLINE_LABELS, DeleteAccountDialog, DraggableHeader, EMAIL_NOTIFICATION_CATEGORIES, EMAIL_NOTIFICATION_KEYS, IdentityVerificationCard, IdentityVerificationDialog, LogoutDialog, ModelProviderLabel, NotificationCategoryList, PanelActionsRow, PanelAddButton, PanelFrame, PanelFrameBody, PanelNote, PanelScroll, PanelTitleBar, PasswordChangeDialog, PremiumModelsFrame, ProfileCard, RequireVerified, ServerConnectionButton, SettingsActionRow, SettingsCard, SettingsDangerZone, SettingsPage, SettingsPanel, SettingsRow, SettingsSection, SettingsSwitchGroup, SettingsSwitchRow, WorkOfflineToggle, formatSessionTtl, resolveSettingsSection, serverConnectionView, toActiveSessionViews, toDeleteBlockerViews, toLogoutSessionViews, toNotificationCategories } from '../chunk-5YHEHEJT.js';
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, DraggableHeader, 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-ON3TKY5Y.js';
4
3
  export { ModalBreadcrumbHeader, ModalCrumbs } from '../chunk-RC6VTY2H.js';
5
4
  import { UsageMeter } from '../chunk-66TA5IBN.js';
6
- import { getFontPairing } from '../chunk-NHZK64TQ.js';
7
5
  export { MultiSelect } from '../chunk-CQCC7LE7.js';
8
6
  export { DEFAULT_DOCUMENT_PICKER_LABELS, DEFAULT_TRI_STATE_FILTER_MENU_LABELS, DocumentPicker, TriStateFilterMenu } from '../chunk-KSHKTOY2.js';
9
7
  import { ToneBadge } from '../chunk-5LXQPP2K.js';
@@ -18,10 +16,10 @@ export { MODAL_SECTION_TITLE_CLASS, ModalHeader, ModalScaffold, ModalSection, Mo
18
16
  import { formatCount } from '../chunk-OXF2IFXG.js';
19
17
  import '../chunk-VUNV25KB.js';
20
18
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
21
- import { cn, DialogFooter, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, Input, Button, Tooltip, TooltipTrigger, TooltipContent, Dialog, DialogContent, DialogTitle, DialogDescription, Label, Textarea, Checkbox, ScrollArea, DialogHeader, Badge, 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';
22
20
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
23
21
  import { useMemo, useState, useId, Fragment as Fragment$1 } from 'react';
24
- import { Sun, Moon, History, Undo2, Star, Trash2, Users, Sparkles, Brain, 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, RefreshCw, LogOut, RotateCcw } 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';
25
23
  import { cva } from 'class-variance-authority';
26
24
 
27
25
  function SegmentedControl({
@@ -126,6 +124,77 @@ function FloatingPanel({
126
124
  }
127
125
  );
128
126
  }
127
+ function PanelFrame({ testId, className, children }) {
128
+ return /* @__PURE__ */ jsx(
129
+ "div",
130
+ {
131
+ "data-slot": "panel-frame",
132
+ "data-testid": testId,
133
+ className: cn("flex h-full min-h-0 flex-col bg-background", className),
134
+ children
135
+ }
136
+ );
137
+ }
138
+ function PanelFrameBody({ className, children }) {
139
+ return /* @__PURE__ */ jsx("div", { "data-slot": "panel-frame-body", className: cn("min-h-0 flex-1 overflow-hidden", className), children });
140
+ }
141
+ function PanelScroll({ variant = "flush", className, children }) {
142
+ return /* @__PURE__ */ jsx(
143
+ "div",
144
+ {
145
+ "data-slot": "panel-scroll",
146
+ className: cn("h-full overflow-auto", variant === "padded" && "space-y-4 p-3", className),
147
+ children
148
+ }
149
+ );
150
+ }
151
+ function PanelActionsRow({
152
+ className,
153
+ children
154
+ }) {
155
+ return /* @__PURE__ */ jsx("div", { "data-slot": "panel-actions-row", className: cn("flex justify-end", className), children });
156
+ }
157
+ function PanelAddButton({
158
+ label,
159
+ onClick,
160
+ isCompact,
161
+ icon,
162
+ testId,
163
+ disabledReason
164
+ }) {
165
+ return /* @__PURE__ */ jsxs(
166
+ "button",
167
+ {
168
+ type: "button",
169
+ onClick,
170
+ disabled: !!disabledReason,
171
+ title: disabledReason ?? label,
172
+ "data-slot": "panel-add-button",
173
+ "data-testid": testId,
174
+ className: "flex h-8 items-center gap-1.5 rounded-md px-2 text-sm font-medium text-primary transition-colors hover:bg-primary/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent pointer-coarse:h-11 pointer-coarse:min-w-11",
175
+ children: [
176
+ icon,
177
+ isCompact ? /* @__PURE__ */ jsx("span", { className: "sr-only", children: label }) : /* @__PURE__ */ jsx("span", { children: "New" })
178
+ ]
179
+ }
180
+ );
181
+ }
182
+ function PanelTitleBar({
183
+ icon,
184
+ title,
185
+ end
186
+ }) {
187
+ return /* @__PURE__ */ jsxs("div", { "data-slot": "panel-title-bar", className: "flex w-full items-center justify-between px-4 py-2", children: [
188
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
189
+ icon,
190
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: title })
191
+ ] }),
192
+ end
193
+ ] });
194
+ }
195
+ function PanelNote({ children }) {
196
+ return /* @__PURE__ */ jsx("div", { "data-slot": "panel-note", className: "py-8 text-center text-muted-foreground", children });
197
+ }
129
198
  var DEFAULT_CONFIG_SWITCHER_BAR_LABELS = {
130
199
  placeholder: "Select configuration...",
131
200
  save: "Save",
@@ -375,6 +444,129 @@ function ModelSelectionSection({
375
444
  ] })
376
445
  ] });
377
446
  }
447
+ var DOT = {
448
+ connected: "bg-green-solid",
449
+ connecting: "bg-yellow-solid",
450
+ disconnected: "bg-red-solid",
451
+ offline: "bg-yellow-solid"
452
+ };
453
+ function ServerConnectionButton({
454
+ state,
455
+ label,
456
+ isRefreshing,
457
+ onRefresh,
458
+ testId = "refresh-session-button"
459
+ }) {
460
+ return /* @__PURE__ */ jsxs(
461
+ Button,
462
+ {
463
+ type: "button",
464
+ variant: "outline",
465
+ size: "sm",
466
+ onClick: onRefresh,
467
+ disabled: isRefreshing,
468
+ className: "flex items-center gap-2",
469
+ "data-testid": testId,
470
+ "data-state": state,
471
+ children: [
472
+ /* @__PURE__ */ jsx(RefreshCw, { className: cn("size-4", isRefreshing && "animate-spin") }),
473
+ /* @__PURE__ */ jsx("span", { className: cn("size-2 rounded-full", DOT[state]), "aria-hidden": true }),
474
+ label
475
+ ]
476
+ }
477
+ );
478
+ }
479
+ var DEFAULT_WORK_OFFLINE_LABELS = {
480
+ goOnline: "Go online",
481
+ workOffline: "Work offline",
482
+ goOnlineHint: "Reconnect and use ARBI online again",
483
+ workOfflineHint: "Work offline \u2014 read cached docs and queue edits, even though the server is reachable"
484
+ };
485
+ function WorkOfflineToggle({
486
+ isOffline,
487
+ onToggle,
488
+ labels,
489
+ testId = "work-offline-toggle"
490
+ }) {
491
+ const l = { ...DEFAULT_WORK_OFFLINE_LABELS, ...labels };
492
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [
493
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
494
+ Button,
495
+ {
496
+ variant: isOffline ? "secondary" : "outline",
497
+ size: "icon",
498
+ onClick: () => onToggle(!isOffline),
499
+ "aria-label": isOffline ? l.goOnline : l.workOffline,
500
+ "aria-pressed": isOffline,
501
+ "data-testid": testId,
502
+ children: isOffline ? /* @__PURE__ */ jsx(Wifi, { className: "size-4" }) : /* @__PURE__ */ jsx(WifiOff, { className: "size-4" })
503
+ }
504
+ ) }),
505
+ /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("p", { children: isOffline ? l.goOnlineHint : l.workOfflineHint }) })
506
+ ] });
507
+ }
508
+ var GRID_ACCENT_CLASSES = [
509
+ "[&_.ag-checkbox-input-wrapper.ag-checked]:!bg-primary",
510
+ "[&_.ag-checkbox-input-wrapper.ag-checked]:!border-primary",
511
+ "[&_.ag-checkbox-input-wrapper.ag-checked]:!text-primary-foreground"
512
+ ];
513
+ var GRID_ACCENT_VARS = {
514
+ "--ag-checkbox-checked-color": "hsl(var(--primary))",
515
+ "--ag-selected-row-background-color": "hsl(var(--accent))"
516
+ };
517
+ function PremiumModelsFrame({
518
+ enabled,
519
+ onEnabledChange,
520
+ title = "Enable Premium Models",
521
+ description = "Third party AI models are priced on a pass-through basis.",
522
+ children,
523
+ toggleTestId
524
+ }) {
525
+ return /* @__PURE__ */ jsxs("div", { "data-slot": "premium-models-frame", children: [
526
+ /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
527
+ /* @__PURE__ */ jsx(
528
+ Switch,
529
+ {
530
+ id: "premiumModelToggle",
531
+ checked: enabled,
532
+ onCheckedChange: onEnabledChange,
533
+ "data-testid": testIdOr(toggleTestId, { testId: "toggle-premium-model" })
534
+ }
535
+ ),
536
+ /* @__PURE__ */ jsxs(
537
+ "label",
538
+ {
539
+ className: "flex cursor-pointer items-center gap-2 text-sm font-medium",
540
+ htmlFor: "premiumModelToggle",
541
+ children: [
542
+ /* @__PURE__ */ jsx(Crown, { className: "size-4 text-muted-foreground" }),
543
+ title
544
+ ]
545
+ }
546
+ )
547
+ ] }),
548
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm text-muted-foreground", children: description }),
549
+ /* @__PURE__ */ jsx(
550
+ "div",
551
+ {
552
+ className: cn(
553
+ "transition-opacity",
554
+ !enabled && "pointer-events-none opacity-50",
555
+ GRID_ACCENT_CLASSES
556
+ ),
557
+ style: GRID_ACCENT_VARS,
558
+ "aria-disabled": !enabled,
559
+ children
560
+ }
561
+ )
562
+ ] });
563
+ }
564
+ function ModelProviderLabel({ logo, children }) {
565
+ return /* @__PURE__ */ jsxs("span", { "data-slot": "model-provider", className: "flex items-center gap-1.5", children: [
566
+ logo,
567
+ children
568
+ ] });
569
+ }
378
570
  function ThreadPreviewDialog({
379
571
  open,
380
572
  onOpenChange,
@@ -3450,87 +3642,7 @@ function ErrorDialogView({
3450
3642
  }
3451
3643
  ) });
3452
3644
  }
3453
- var SCHEME_OPTIONS = [
3454
- { value: "light", label: "Light", icon: /* @__PURE__ */ jsx(Sun, { className: "h-4 w-4" }) },
3455
- { value: "dark", label: "Dark", icon: /* @__PURE__ */ jsx(Moon, { className: "h-4 w-4" }) }
3456
- ].map((option) => ({ ...option, testId: `appearance-scheme-${option.value}` }));
3457
- var TEXT_SIZE_OPTIONS = [
3458
- { value: "default", label: "Default" },
3459
- { value: "large", label: "Large" },
3460
- { value: "larger", label: "Larger" }
3461
- ].map((option) => ({ ...option, testId: `appearance-text-size-${option.value}` }));
3462
- var DEFAULT_APPEARANCE_PAIRING_IDS = [
3463
- "office",
3464
- "inter",
3465
- "fraunces-inter",
3466
- "montserrat-nunito"
3467
- ];
3468
- function AppearanceSettings({
3469
- colorScheme,
3470
- onColorSchemeChange,
3471
- textSize,
3472
- onTextSizeChange,
3473
- pairingId,
3474
- onPairingChange,
3475
- pairingIds = DEFAULT_APPEARANCE_PAIRING_IDS,
3476
- onReset
3477
- }) {
3478
- const activePairing = getFontPairing(pairingId) ?? getFontPairing(pairingIds[0]);
3479
- return /* @__PURE__ */ jsxs(SettingsPanel, { testId: "settings-appearance", children: [
3480
- /* @__PURE__ */ jsx(
3481
- SettingsSection,
3482
- {
3483
- title: "Colour scheme",
3484
- action: onReset && /* @__PURE__ */ jsxs(
3485
- "button",
3486
- {
3487
- type: "button",
3488
- onClick: onReset,
3489
- className: "flex items-center gap-1.5 py-1 text-sm text-muted-foreground hover:text-foreground pointer-coarse:min-h-11",
3490
- "data-testid": "appearance-reset",
3491
- children: [
3492
- /* @__PURE__ */ jsx(RotateCcw, { className: "h-3 w-3" }),
3493
- "Reset"
3494
- ]
3495
- }
3496
- ),
3497
- children: /* @__PURE__ */ jsx(
3498
- SegmentedControl,
3499
- {
3500
- value: colorScheme,
3501
- onChange: onColorSchemeChange,
3502
- options: SCHEME_OPTIONS,
3503
- ariaLabel: "Colour scheme"
3504
- }
3505
- )
3506
- }
3507
- ),
3508
- /* @__PURE__ */ jsxs(SettingsSection, { title: "Text size", children: [
3509
- /* @__PURE__ */ jsx(
3510
- SegmentedControl,
3511
- {
3512
- value: textSize,
3513
- onChange: onTextSizeChange,
3514
- options: TEXT_SIZE_OPTIONS,
3515
- ariaLabel: "Text size"
3516
- }
3517
- ),
3518
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Makes all text larger, including documents in the viewer and citations. Applied straight away and remembered on this device." })
3519
- ] }),
3520
- /* @__PURE__ */ jsxs(SettingsSection, { title: "Typeface", children: [
3521
- /* @__PURE__ */ jsxs(Select, { value: pairingId, onValueChange: onPairingChange, children: [
3522
- /* @__PURE__ */ jsx(SelectTrigger, { className: "w-full", "data-testid": "appearance-typeface-select", children: /* @__PURE__ */ jsx(SelectValue, { children: activePairing && /* @__PURE__ */ jsx("span", { style: { fontFamily: activePairing.display }, children: activePairing.label }) }) }),
3523
- /* @__PURE__ */ jsx(SelectContent, { children: pairingIds.map((id) => {
3524
- const pairing = getFontPairing(id);
3525
- if (!pairing) return null;
3526
- return /* @__PURE__ */ jsx(SelectItem, { value: id, "data-testid": `appearance-typeface-${id}`, children: /* @__PURE__ */ jsx("span", { style: { fontFamily: pairing.display }, children: pairing.label }) }, id);
3527
- }) })
3528
- ] }),
3529
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "Sets the headings and body text across the app. Applied straight away and remembered on this device." })
3530
- ] })
3531
- ] });
3532
- }
3533
3645
 
3534
- export { AppearanceSettings, CONVERSATION_TITLE_MAX, CheckoutDialogFrame, ConfigSwitcherBar, ConnectionCard, ConnectionsEmpty, ConnectionsError, ConnectionsLoading, ConversationTitleSection, DEFAULT_APPEARANCE_PAIRING_IDS, 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, DailyCapField, EmailWorkspaceDialogView, ErrorDialogView, FilterChip, FloatingPanel, InlineNameEditor, InviteContactsDialog, InvoicesDialog, JsonTree, MemberProjectRow, MessageJsonTree, ModelSelectionSection, MoreInfo, MoreInfoList, PlanActionButton, PlanActionRow, PlanBadge, PlanCard, PlanCardGrid, PlanDialogFrame, PlanInfoPopover, PlanNotice, PlanPickerCard, PlanPickerHeader, PlanStack, PlanTierOption, PlanTransition, PricingToggle, ProjectCardView, ProjectDetailHeader, ProjectDetailSection, ProjectGroup, ProjectList, ProjectNameLabel, ProjectPlanPicker, ProjectRow, ProjectRowActions, PromoCodeInput, QuotaExceededDialogView, QuotaMeter, ReferralRewardBadge, ReferralRewardNote, ReferralRewardSummary, RenameDialog, RowButton, RowIconAction, SegmentedControl, 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 };
3646
+ 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, 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 };
3535
3647
  //# sourceMappingURL=index.js.map
3536
3648
  //# sourceMappingURL=index.js.map