@arbidocs/blocks 0.4.127 → 0.4.129

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 (115) hide show
  1. package/README.md +21 -7
  2. package/dist/{StreamedArtifactEditor-EEYAXJ4H.cjs → StreamedArtifactEditor-TQAND4H5.cjs} +6 -5
  3. package/dist/StreamedArtifactEditor-TQAND4H5.cjs.map +1 -0
  4. package/dist/{StreamedArtifactEditor-TDATDYD2.js → StreamedArtifactEditor-XQNANTWM.js} +4 -3
  5. package/dist/StreamedArtifactEditor-XQNANTWM.js.map +1 -0
  6. package/dist/agents/index.cjs +213 -213
  7. package/dist/agents/index.js +2 -2
  8. package/dist/artifacts/ArtifactCodeView.d.ts +6 -0
  9. package/dist/artifacts/ArtifactPreview.d.ts +22 -0
  10. package/dist/artifacts/index.cjs +50 -21
  11. package/dist/artifacts/index.d.ts +3 -0
  12. package/dist/artifacts/index.js +2 -1
  13. package/dist/artifacts/sandbox-policy.d.ts +34 -0
  14. package/dist/artifacts/sandboxDocument.d.ts +7 -0
  15. package/dist/calendar/index.cjs +156 -243
  16. package/dist/calendar/index.cjs.map +1 -1
  17. package/dist/calendar/index.js +8 -151
  18. package/dist/calendar/index.js.map +1 -1
  19. package/dist/chat/index.cjs +90 -73
  20. package/dist/chat/index.d.ts +1 -0
  21. package/dist/chat/index.js +3 -2
  22. package/dist/chat/open-document.d.ts +66 -0
  23. package/dist/{chunk-INW76PEL.cjs → chunk-2YV7FBLO.cjs} +175 -2
  24. package/dist/chunk-2YV7FBLO.cjs.map +1 -0
  25. package/dist/{chunk-DZI7WOUD.cjs → chunk-3BJLNKOB.cjs} +6 -2
  26. package/dist/chunk-3BJLNKOB.cjs.map +1 -0
  27. package/dist/{chunk-KELGOCJA.js → chunk-65S53MZK.js} +174 -5
  28. package/dist/chunk-65S53MZK.js.map +1 -0
  29. package/dist/{chunk-T6I6ZCBE.js → chunk-6BTCDKCK.js} +6 -3
  30. package/dist/chunk-6BTCDKCK.js.map +1 -0
  31. package/dist/{chunk-ZLRQ5K77.cjs → chunk-7423V6RM.cjs} +6 -3
  32. package/dist/chunk-7423V6RM.cjs.map +1 -0
  33. package/dist/{chunk-6Z72CXZR.js → chunk-CJBN5HIS.js} +6 -2
  34. package/dist/chunk-CJBN5HIS.js.map +1 -0
  35. package/dist/{chunk-XFKF3WRN.cjs → chunk-DZYAAL4H.cjs} +2 -2
  36. package/dist/{chunk-XFKF3WRN.cjs.map → chunk-DZYAAL4H.cjs.map} +1 -1
  37. package/dist/chunk-GYCQ3FNL.js +60 -0
  38. package/dist/chunk-GYCQ3FNL.js.map +1 -0
  39. package/dist/{chunk-UUXKB3WQ.js → chunk-H2KQ6OSU.js} +2 -2
  40. package/dist/{chunk-UUXKB3WQ.js.map → chunk-H2KQ6OSU.js.map} +1 -1
  41. package/dist/{chunk-T2CVFK2I.js → chunk-HSFLEVZY.js} +3 -3
  42. package/dist/{chunk-T2CVFK2I.js.map → chunk-HSFLEVZY.js.map} +1 -1
  43. package/dist/{chunk-MCPRNDOJ.cjs → chunk-JLTXVW25.cjs} +3 -3
  44. package/dist/{chunk-MCPRNDOJ.cjs.map → chunk-JLTXVW25.cjs.map} +1 -1
  45. package/dist/chunk-NS4JD2VR.js +22 -0
  46. package/dist/chunk-NS4JD2VR.js.map +1 -0
  47. package/dist/chunk-SWQX6CTT.cjs +65 -0
  48. package/dist/chunk-SWQX6CTT.cjs.map +1 -0
  49. package/dist/chunk-TGJNPKST.js +153 -0
  50. package/dist/chunk-TGJNPKST.js.map +1 -0
  51. package/dist/chunk-TGWTLNXW.cjs +177 -0
  52. package/dist/chunk-TGWTLNXW.cjs.map +1 -0
  53. package/dist/chunk-VG24E4JJ.cjs +26 -0
  54. package/dist/chunk-VG24E4JJ.cjs.map +1 -0
  55. package/dist/components/DroppableContainer.d.ts +6 -0
  56. package/dist/components/GridRowNavigator.d.ts +29 -0
  57. package/dist/components/LoadingIndicator.d.ts +21 -0
  58. package/dist/components/RowNavigatorControls.d.ts +29 -0
  59. package/dist/components/SharedCell.d.ts +27 -0
  60. package/dist/connect/docx.cjs +4 -3
  61. package/dist/connect/docx.cjs.map +1 -1
  62. package/dist/connect/docx.js +3 -2
  63. package/dist/connect/docx.js.map +1 -1
  64. package/dist/connect/index.cjs +22 -20
  65. package/dist/connect/index.cjs.map +1 -1
  66. package/dist/connect/index.js +12 -10
  67. package/dist/connect/index.js.map +1 -1
  68. package/dist/connection/mail/types.d.ts +2 -6
  69. package/dist/facts/index.cjs +5 -23
  70. package/dist/facts/index.cjs.map +1 -1
  71. package/dist/facts/index.d.ts +0 -1
  72. package/dist/facts/index.js +6 -22
  73. package/dist/facts/index.js.map +1 -1
  74. package/dist/index.cjs +616 -417
  75. package/dist/index.cjs.map +1 -1
  76. package/dist/index.d.ts +5 -0
  77. package/dist/index.js +189 -11
  78. package/dist/index.js.map +1 -1
  79. package/dist/sandboxDocument-JLEETIWW.js +71 -0
  80. package/dist/sandboxDocument-JLEETIWW.js.map +1 -0
  81. package/dist/sandboxDocument-WQUNODSC.cjs +76 -0
  82. package/dist/sandboxDocument-WQUNODSC.cjs.map +1 -0
  83. package/dist/settings/DraggableHeader.d.ts +10 -0
  84. package/dist/settings/FilterChip.d.ts +15 -0
  85. package/dist/settings/MessageJsonTree.d.ts +7 -0
  86. package/dist/settings/index.cjs +248 -5
  87. package/dist/settings/index.cjs.map +1 -1
  88. package/dist/settings/index.d.ts +3 -0
  89. package/dist/settings/index.js +247 -7
  90. package/dist/settings/index.js.map +1 -1
  91. package/dist/settings/message-schema-hints.d.ts +19 -0
  92. package/dist/studio/index.cjs +3 -2
  93. package/dist/studio/index.cjs.map +1 -1
  94. package/dist/studio/index.js +2 -1
  95. package/dist/studio/index.js.map +1 -1
  96. package/dist/workflow-canvas/index.cjs +9 -9
  97. package/dist/workflow-canvas/index.js +2 -2
  98. package/dist/workspaces/index.cjs +39 -0
  99. package/dist/workspaces/index.cjs.map +1 -1
  100. package/dist/workspaces/index.d.ts +1 -0
  101. package/dist/workspaces/index.js +36 -1
  102. package/dist/workspaces/index.js.map +1 -1
  103. package/dist/workspaces/workspace-type.d.ts +29 -0
  104. package/node_modules/@arbidocs/coedit/package.json +1 -1
  105. package/package.json +6 -5
  106. package/src/docx/README.md +7 -3
  107. package/dist/StreamedArtifactEditor-EEYAXJ4H.cjs.map +0 -1
  108. package/dist/StreamedArtifactEditor-TDATDYD2.js.map +0 -1
  109. package/dist/chunk-6Z72CXZR.js.map +0 -1
  110. package/dist/chunk-DZI7WOUD.cjs.map +0 -1
  111. package/dist/chunk-INW76PEL.cjs.map +0 -1
  112. package/dist/chunk-KELGOCJA.js.map +0 -1
  113. package/dist/chunk-T6I6ZCBE.js.map +0 -1
  114. package/dist/chunk-ZLRQ5K77.cjs.map +0 -1
  115. package/dist/facts/timezone.d.ts +0 -4
@@ -6,6 +6,7 @@ export { LogoutDialog, type LogoutDialogProps, type LogoutSessionView, DEFAULT_L
6
6
  export { SettingsPanel, SettingsSection, SettingsRow, SettingsCard, SettingsActionRow, SettingsDangerZone, type SettingsPanelProps, type SettingsSectionProps, type SettingsRowProps, type SettingsCardProps, type SettingsActionRowProps, type SettingsDangerZoneProps, DEFAULT_SETTINGS_DANGER_ZONE_LABELS, type SettingsDangerZoneLabels, } from './SettingsPanel';
7
7
  export { SegmentedControl, type SegmentedControlProps, type SegmentedOption, } from './SegmentedControl';
8
8
  export { FloatingPanel, type FloatingPanelProps, type FloatingPanelMode, type FloatingPanelControls, } from './FloatingPanel';
9
+ export { DraggableHeader, type DraggableHeaderProps } from './DraggableHeader';
9
10
  export { PanelFrame, PanelFrameBody, PanelScroll, PanelActionsRow, PanelAddButton, PanelTitleBar, PanelNote, type PanelFrameProps, type PanelFrameBodyProps, type PanelScrollProps, type PanelAddButtonProps, } from './PanelFrame';
10
11
  export { ConfigSwitcherBar, DEFAULT_CONFIG_SWITCHER_BAR_LABELS, type ConfigOption, type ConfigOptionMarker, type ConfigSwitcherBarProps, type ConfigSwitcherBarLabels, } from './ConfigSwitcherBar';
11
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';
@@ -15,11 +16,13 @@ export { PremiumModelsFrame, ModelProviderLabel, type PremiumModelsFrameProps, }
15
16
  export { ThreadPreviewDialog, type ThreadPreviewDialogProps, type ThreadPreviewCrumb, } from './ThreadPreviewDialog';
16
17
  export { SettingsSwitchRow, SettingsSwitchGroup, type SettingsSwitchRowProps, } from './SettingsSwitchRow';
17
18
  export { JsonTree, type JsonTreeProps, type JsonTreeHint } from './JsonTree';
19
+ export { MessageJsonTree, type MessageJsonTreeProps } from './MessageJsonTree';
18
20
  export { MultiSelect } from './MultiSelect';
19
21
  export { TipsEditorDialog, DEFAULT_TIPS_EDITOR_LABELS, type TipsEditorDialogProps, type TipsEditorLabels, type TipOption, type TipListRow, type TipFormValues, type TipTarget, } from './TipsEditorDialog';
20
22
  export { SyncDialogBody, SyncDialogFooter, SyncField, SyncLinkButton, SyncLinkRow, SyncSelect, SyncOptionToggle, SyncOptions, SyncLoading, SyncNote, SyncSmallNote, SyncReconnectNotice, SyncTreeFrame, SyncCheckList, SyncFolderRow, SyncFolderStatus, DEFAULT_SYNC_DIALOG_FOOTER_LABELS, DEFAULT_SYNC_FOLDER_ROW_LABELS, type SyncDialogFooterProps, type SyncDialogFooterLabels, type SyncFieldProps, type SyncSelectProps, type SyncSelectOption, type SyncOptionToggleProps, type SyncReconnectNoticeProps, type SyncCheckListProps, type SyncCheckListItem, type SyncFolderRowProps, type SyncFolderRowLabels, } from './SyncDialogParts';
21
23
  export { DocumentPicker, DEFAULT_DOCUMENT_PICKER_LABELS, type DocumentPickerProps, type DocumentPickerLabels, type PickerDocument, type PickerGroup, } from './DocumentPicker';
22
24
  export { TriStateFilterMenu, DEFAULT_TRI_STATE_FILTER_MENU_LABELS, type TriState, type TriStateOption, type TriStateGroup, type TriStateFilterMenuProps, type TriStateFilterMenuLabels, type HoverHandlers, } from './TriStateFilterMenu';
25
+ export { FilterChip, type FilterChipProps } from './FilterChip';
23
26
  export { PlanBadge, type PlanBadgeProps } from './PlanBadge';
24
27
  export { QuotaMeter, type QuotaMeterProps, type QuotaMeterItem } from './QuotaMeter';
25
28
  export { PlanCard, PlanCardGrid, PlanTierOption, PricingToggle, PromoCodeInput, PlanInfoPopover, type PlanCardProps, type PlanCardView, type PlanCardPrice, type PlanTierOptionView, DEFAULT_PLAN_CARD_LABELS, type PlanCardLabels, } from './PlanCard';
@@ -19,7 +19,7 @@ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
19
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';
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, Tag, Info, Gift, PlugIcon, CheckCircle2, ExternalLink, ShieldCheck, Plug, AlertCircle, MessageCircleQuestionMark, BookOpen, UserPlus, ChartNoAxesColumn, FileText, X, 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, Tag, Info, 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({
@@ -124,6 +124,22 @@ function FloatingPanel({
124
124
  }
125
125
  );
126
126
  }
127
+ var INTERACTIVE_SELECTOR = 'button, input, select, a, [role="tab"], [role="radio"]';
128
+ function DraggableHeader({ onDragStart, children }) {
129
+ return /* @__PURE__ */ jsx(
130
+ "div",
131
+ {
132
+ className: "flex-shrink-0",
133
+ onMouseDown: onDragStart ? (e) => {
134
+ const target = e.target;
135
+ if (target.closest(INTERACTIVE_SELECTOR)) return;
136
+ onDragStart(e);
137
+ } : void 0,
138
+ style: onDragStart ? { cursor: "move" } : void 0,
139
+ children
140
+ }
141
+ );
142
+ }
127
143
  function PanelFrame({ testId, className, children }) {
128
144
  return /* @__PURE__ */ jsx(
129
145
  "div",
@@ -654,7 +670,7 @@ function JsonTree({
654
670
  level = 0,
655
671
  path = [],
656
672
  resolveHint,
657
- formatValue
673
+ formatValue: formatValue2
658
674
  }) {
659
675
  const [isExpanded, setIsExpanded] = useState(defaultExpanded || level < 2);
660
676
  const [copied, setCopied] = useState(false);
@@ -682,7 +698,7 @@ function JsonTree({
682
698
  const isArray = Array.isArray(data);
683
699
  const isObject = typeof data === "object" && data !== null && !isArray;
684
700
  if (!isObject && !isArray) {
685
- const displayValue = hint && formatValue ? formatValue(data, hint) : plainValue(data);
701
+ const displayValue = hint && formatValue2 ? formatValue2(data, hint) : plainValue(data);
686
702
  return /* @__PURE__ */ jsxs(
687
703
  "div",
688
704
  {
@@ -762,13 +778,179 @@ function JsonTree({
762
778
  level: level + 1,
763
779
  path: currentPath,
764
780
  resolveHint,
765
- formatValue
781
+ formatValue: formatValue2
766
782
  },
767
783
  key
768
784
  );
769
785
  }) })
770
786
  ] });
771
787
  }
788
+
789
+ // src/settings/message-schema-hints.ts
790
+ var messageFieldHints = {
791
+ role: {
792
+ displayName: "Role",
793
+ formatType: "enum",
794
+ description: "Message role (user, assistant, or system)"
795
+ },
796
+ content: {
797
+ displayName: "Content",
798
+ formatType: "long-string",
799
+ description: "Message content text"
800
+ },
801
+ created_at: {
802
+ displayName: "Created At",
803
+ formatType: "timestamp",
804
+ description: "Message creation timestamp"
805
+ },
806
+ external_id: {
807
+ displayName: "Message ID",
808
+ formatType: "id",
809
+ description: "External message identifier"
810
+ },
811
+ conversation_ext_id: {
812
+ displayName: "Conversation ID",
813
+ formatType: "id",
814
+ description: "Parent conversation identifier"
815
+ },
816
+ parent_message_ext_id: {
817
+ displayName: "Parent Message ID",
818
+ formatType: "id",
819
+ description: "Parent message identifier (null for first message)"
820
+ },
821
+ created_by_ext_id: {
822
+ displayName: "Created By",
823
+ formatType: "id",
824
+ description: "User who created this message"
825
+ },
826
+ config_ext_id: {
827
+ displayName: "Config ID",
828
+ formatType: "id",
829
+ description: "Configuration used for this message"
830
+ },
831
+ shared: {
832
+ displayName: "Shared",
833
+ formatType: "boolean",
834
+ description: "Whether message is shared"
835
+ },
836
+ tools: {
837
+ displayName: "Tools",
838
+ formatType: "json",
839
+ description: "Tool outputs (citations, retrieval, trace)"
840
+ },
841
+ meta: {
842
+ displayName: "Metadata",
843
+ formatType: "json",
844
+ description: "Additional metadata"
845
+ }
846
+ };
847
+ var traceToolFieldHints = {
848
+ name: {
849
+ displayName: "Tool Name",
850
+ formatType: "enum",
851
+ description: "Execution trace tool"
852
+ },
853
+ description: {
854
+ displayName: "Description",
855
+ formatType: "string",
856
+ description: "Tool description"
857
+ },
858
+ trace_id: {
859
+ displayName: "Trace ID",
860
+ formatType: "id",
861
+ description: "Unique trace identifier"
862
+ },
863
+ start_time: {
864
+ displayName: "Start Time",
865
+ formatType: "timestamp",
866
+ description: "When execution started"
867
+ },
868
+ duration_seconds: {
869
+ displayName: "Duration (seconds)",
870
+ formatType: "number",
871
+ description: "Total execution time"
872
+ },
873
+ steps: {
874
+ displayName: "Execution Steps",
875
+ formatType: "json",
876
+ description: "Full execution trace with all steps"
877
+ }
878
+ };
879
+ var citationToolFieldHints = {
880
+ name: {
881
+ displayName: "Tool Name",
882
+ formatType: "enum",
883
+ description: "Model citation tool"
884
+ },
885
+ tool_responses: {
886
+ displayName: "Citations",
887
+ formatType: "json",
888
+ description: "Citation data mapped by citation number"
889
+ }
890
+ };
891
+ function getFieldHint(path, fieldName) {
892
+ if (path.length === 1 && path[0] === "message") {
893
+ return messageFieldHints[fieldName] || null;
894
+ }
895
+ if (path.length >= 3 && path[0] === "message" && path[1] === "tools" && path[2] === "trace") {
896
+ return traceToolFieldHints[fieldName] || null;
897
+ }
898
+ if (path.length >= 3 && path[0] === "message" && path[1] === "tools" && path[2] === "model_citations") {
899
+ return citationToolFieldHints[fieldName] || null;
900
+ }
901
+ if (fieldName === "external_id" || fieldName.endsWith("_ext_id")) {
902
+ return { formatType: "id", displayName: fieldName.replace(/_/g, " ") };
903
+ }
904
+ if (fieldName === "created_at" || fieldName === "updated_at" || fieldName.endsWith("_at")) {
905
+ return { formatType: "timestamp", displayName: fieldName.replace(/_/g, " ") };
906
+ }
907
+ if (fieldName.includes("time") && !fieldName.includes("duration")) {
908
+ return { formatType: "timestamp" };
909
+ }
910
+ if (fieldName.includes("duration")) {
911
+ return { formatType: "number", description: "Duration in seconds" };
912
+ }
913
+ if (path.length >= 2 && path[path.length - 2] === "tools" && fieldName === "trace") {
914
+ return {
915
+ displayName: "\u{1F50D} Execution Trace",
916
+ formatType: "json",
917
+ description: "Complete execution trace with all steps and timing"
918
+ };
919
+ }
920
+ return null;
921
+ }
922
+ function formatValue(value, hint) {
923
+ if (value === null) return "null";
924
+ if (value === void 0) return "undefined";
925
+ if (hint?.formatType === "timestamp" && typeof value === "string") {
926
+ try {
927
+ const date = new Date(value);
928
+ if (!isNaN(date.getTime())) {
929
+ return `${date.toLocaleString()} (${value})`;
930
+ }
931
+ } catch {
932
+ }
933
+ }
934
+ if (hint?.formatType === "timestamp" && typeof value === "number") {
935
+ const date = new Date(value * 1e3);
936
+ return `${date.toLocaleString()} (${value})`;
937
+ }
938
+ if (hint?.formatType === "id" && typeof value === "string") {
939
+ if (value.length > 20) {
940
+ return `${value.substring(0, 16)}...${value.substring(value.length - 4)}`;
941
+ }
942
+ }
943
+ if (typeof value === "string") {
944
+ if (value.length > 100) {
945
+ return `"${value.substring(0, 97)}..." (${value.length} chars)`;
946
+ }
947
+ return `"${value}"`;
948
+ }
949
+ return String(value);
950
+ }
951
+ function MessageJsonTree(props) {
952
+ return /* @__PURE__ */ jsx(JsonTree, { ...props, resolveHint: getFieldHint, formatValue });
953
+ }
772
954
  var DEFAULT_TIPS_EDITOR_LABELS = {
773
955
  titleList: "Edit tips",
774
956
  titleNew: "New tip",
@@ -1289,6 +1471,64 @@ function SyncFolderStatus({
1289
1471
  }
1290
1472
  );
1291
1473
  }
1474
+ function FilterChip({
1475
+ label,
1476
+ state,
1477
+ icon,
1478
+ color,
1479
+ onDismiss,
1480
+ dismissLabel,
1481
+ className,
1482
+ testId
1483
+ }) {
1484
+ const isExclude = state === "exclude";
1485
+ return /* @__PURE__ */ jsxs(
1486
+ "span",
1487
+ {
1488
+ className: cn(
1489
+ "inline-flex items-center gap-1 text-xs font-medium rounded px-1.5 py-0.5 flex-shrink-0 border",
1490
+ isExclude ? "bg-background text-red-text border-red-text" : "bg-primary text-white border-primary",
1491
+ className
1492
+ ),
1493
+ "data-state": state,
1494
+ "data-testid": testId,
1495
+ children: [
1496
+ color ? (
1497
+ /* Filled square for include; empty square for exclude */
1498
+ isExclude ? /* @__PURE__ */ jsx(
1499
+ "span",
1500
+ {
1501
+ className: "w-3.5 h-3.5 rounded flex-shrink-0 border-2",
1502
+ style: { borderColor: color }
1503
+ }
1504
+ ) : /* @__PURE__ */ jsx(
1505
+ "span",
1506
+ {
1507
+ className: "w-3.5 h-3.5 rounded flex items-center justify-center flex-shrink-0",
1508
+ style: { backgroundColor: color },
1509
+ children: /* @__PURE__ */ jsx(Check, { className: "w-2.5 h-2.5 text-white", strokeWidth: 3 })
1510
+ }
1511
+ )
1512
+ ) : icon && /* @__PURE__ */ jsx("span", { className: "flex-none", children: icon }),
1513
+ /* @__PURE__ */ jsxs("span", { className: "truncate max-w-[80px]", title: label, children: [
1514
+ isExclude && /* @__PURE__ */ jsx("span", { className: "opacity-70 mr-0.5", children: "Not" }),
1515
+ label
1516
+ ] }),
1517
+ onDismiss && /* @__PURE__ */ jsx(
1518
+ "button",
1519
+ {
1520
+ type: "button",
1521
+ onClick: onDismiss,
1522
+ "aria-label": dismissLabel ?? `Remove ${label}`,
1523
+ className: "flex-none ml-0.5 opacity-70 hover:opacity-100",
1524
+ "data-testid": testId ? `${testId}-remove` : void 0,
1525
+ children: /* @__PURE__ */ jsx(X, { className: "h-3 w-3", strokeWidth: 2.5 })
1526
+ }
1527
+ )
1528
+ ]
1529
+ }
1530
+ );
1531
+ }
1292
1532
  var planBadgeVariants = cva(
1293
1533
  "inline-flex flex-shrink-0 items-center rounded-full border font-semibold leading-none",
1294
1534
  {
@@ -2447,7 +2687,7 @@ function UsageLineChart({
2447
2687
  dates,
2448
2688
  series,
2449
2689
  formatDate,
2450
- formatValue,
2690
+ formatValue: formatValue2,
2451
2691
  emptyLabel,
2452
2692
  labels
2453
2693
  }) {
@@ -2561,7 +2801,7 @@ function UsageLineChart({
2561
2801
  s.key,
2562
2802
  ":"
2563
2803
  ] }),
2564
- /* @__PURE__ */ jsx("span", { className: "font-medium tabular-nums", children: formatValue(s.values[hoverIdx]) })
2804
+ /* @__PURE__ */ jsx("span", { className: "font-medium tabular-nums", children: formatValue2(s.values[hoverIdx]) })
2565
2805
  ] }, s.key))
2566
2806
  ] })
2567
2807
  ] });
@@ -3564,6 +3804,6 @@ function ErrorDialogView({
3564
3804
  ) });
3565
3805
  }
3566
3806
 
3567
- 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, EmailWorkspaceDialogView, ErrorDialogView, FIRM_POOL_MAX_TOP_UP, FirmPoolSection, FloatingPanel, InlineNameEditor, InviteContactsDialog, InvoicesDialog, JsonTree, MemberProjectRow, 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 };
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 };
3568
3808
  //# sourceMappingURL=index.js.map
3569
3809
  //# sourceMappingURL=index.js.map