@arbidocs/blocks 0.4.115 → 0.4.117

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ export { DEFAULT_SEARCH_HIT_LABELS, SearchHit } from './chunk-A2YAC22G.js';
21
21
  export { TIMELINE_ZOOM, TimelineCalendar, TimelineGantt, TimelineZoomControl, dayKey, formatSpan, monthLabel, parseIso, utcDay } from './chunk-4EZVCGRL.js';
22
22
  import './chunk-AF6RDAJF.js';
23
23
  export { DEFAULT_SHARE_CONTROL_LABELS, ShareControl } from './chunk-K4BGOPGG.js';
24
- export { AgentAvatarField, AgentBar, AgentBarIconButton, AgentBarMenu, AgentBarNotes, AgentBarProbeAnswer, AgentBarQueuedNote, AgentBarStatus, AgentCard, AgentCreateView, AgentCreatedView, AgentCreator, AgentEditView, AgentGallery, AgentMainView, AgentSelect, AgentTypeSelector, CapabilityGrid, CapabilityTile, ConfigField, ConfigForm, ConsentActions, ConsentBulletList, ConsentCard, ConsentFootnote, ConsentHeader, ConsentMessage, ConsentNotice, ConsentPage, ConsentPermissionList, ConsentSection, ConsentStrong, ConsentText, ConversationListView, ConversationTurnSpeaker, CopyableUrl, DEFAULT_AGENT_AVATAR_FIELD_LABELS, DEFAULT_AGENT_BAR_LABELS, DEFAULT_AGENT_CARD_LABELS, DEFAULT_AGENT_CREATOR_LABELS, DEFAULT_AGENT_GALLERY_LABELS, DEFAULT_AGENT_SELECT_LABELS, DEFAULT_AGENT_STEPS_LABELS, DEFAULT_AGENT_TYPE_SELECTOR_LABELS, DEFAULT_AUTHORIZE_AGENT_LABELS, DEFAULT_CONFIG_FIELD_LABELS, DEFAULT_CONFIG_FORM_LABELS, DEFAULT_CONSENT_ACTIONS_LABELS, DEFAULT_COPYABLE_URL_LABELS, DEFAULT_NEW_THREAD_DIALOG_LABELS, DEFAULT_PILL_SELECT_LABELS, DEFAULT_RECURRENCE, DEFAULT_RECURRENCE_BUILDER_LABELS, DEFAULT_SKILL_CARD_LABELS, DEFAULT_SKILL_EDIT_FORM_LABELS, DEFAULT_SKILL_GENERATE_FORM_LABELS, DEFAULT_SKILL_GLOBAL_BADGE_LABELS, DEFAULT_SKILL_ROW_LABELS, DEFAULT_SKILL_VIEW_TOGGLE_LABELS, DEFAULT_SUBAGENT_ROSTER_LABELS, DEFAULT_TASKS_CHROME_LABELS, DEFAULT_TASK_COMPOSER_LABELS, DEFAULT_TASK_LIST_LABELS, DEFAULT_TASK_OUTPUTS_CELL_LABELS, DEFAULT_TASK_PLAN_LABELS, DEFAULT_TASK_RUNS_DIALOG_LABELS, DEFAULT_TASK_STATUS_PILL_LABELS, DEFAULT_TASK_THREAD_CHIP_LABELS, DEFAULT_TASK_TRIGGER_CHIP_LABELS, DEFAULT_TUPLE_ARRAY_FIELD_LABELS, DEFAULT_UPLOAD_TASK_ITEM_LABELS, DEFAULT_UPLOAD_TASK_LIST_LABELS, DEFAULT_WORKFLOWS_CHROME_LABELS, DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS, DEFAULT_WORKFLOW_LIST_LABELS, DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, DERIVED_NAME_WORDS, EMPTY_NEW_THREAD, EntityChip, GoalCriteria, MAX_TASK_DEPTH, NewThreadDialog, PersonPill, PillSelect, RecurrenceBuilder, STATUS_LABELS, STATUS_ORDER, STATUS_TONE, SkillActionButton, SkillCard, SkillDetail, SkillDetailSection, SkillEditForm, SkillFilterChips, SkillGenerateForm, SkillGlobalBadge, SkillRow, SkillTile, SkillTypeBadge, SkillViewToggle, StepDetail, StepNarration, StepOutcome, StepParams, StepRow, StepSummary, StepTrace, StepTraceSummary, SubAgentLane, SubStepGroup, SubagentRoster, TASK_COLUMN_ORDER, TRIGGER_LABELS, TaskActivityDialog, TaskComposer, TaskFlow, TaskInbox, TaskMoveDialog, TaskOutputsCell, TaskPlan, TaskRunsDialog, TaskStartDialog, TaskStatusPill, TaskTable, TaskThreadChip, TaskTriggerChip, TasksToolbar, ThreadActivity, ThreadNotifyDialog, TupleArrayField, UploadTaskItem, UploadTaskList, WEEKDAYS, WORKFLOW_COLUMN_ORDER, WorkflowConfigDialog, WorkflowDocumentsField, WorkflowLauncher, WorkflowThreadStartedBy, WorkflowThreadStrip, WorkflowsTable, WorkflowsToolbar, agentConfigSectionToValues, agentCreatorToConfigSection, asTaskStatus, authModeFor, buildRRule, buildTaskRows, buildWorkflowScopeSource, compactThreadActivity, composePersona, composerToTaskQuery, composerToWorkRequest, composerToWorkflowRequest, composerToWorkflowUpdate, createTaskColumns, createWorkflowColumns, createsWork, defaultScopeRenderer, defaultTaskComposerValues, deriveAgentName, deriveWorkflowName, descendantIds, describeRRule, filterConversationRows, firstWords, formatElapsed, goalProgress, groupThreadActivity, hasTaskFields, hasTrigger, humanizeSection, indexTasks, inferType, inputDocumentIds, isAgenticWorkflow, isOutOfBounds, isPlainTodo, isSkillRow, isValidAgentName, isoToLocalInput, linkedRunsFromActivity, localInputToIso, matchWorkflowScope, moveTargets, newThreadToRequest, nextCriterionId, ownerExtId, parseRRule, prettifyKey, resolveScopeInputs, skillSlug, stripPersonaPreamble, summarizeAgent, summarizeCapabilities, taskComposerToCreateRequest, taskComposerToUpdateRequest, taskNeedsAccess, taskToComposerValues, useWorkflowPreview, workflowFromSkillMarkdown, workflowStatus, workflowTaskFields, workflowToComposerValues, workflowToSkillMarkdown, workflowTriggerType, workflowWhen } from './chunk-6Z7DLJU2.js';
24
+ export { AgentAvatarField, AgentBar, AgentBarIconButton, AgentBarMenu, AgentBarNotes, AgentBarProbeAnswer, AgentBarQueuedNote, AgentBarStatus, AgentCard, AgentCreateView, AgentCreatedView, AgentCreator, AgentEditView, AgentGallery, AgentMainView, AgentSelect, AgentTypeSelector, CapabilityGrid, CapabilityTile, ConfigField, ConfigForm, ConsentActions, ConsentBulletList, ConsentCard, ConsentFootnote, ConsentHeader, ConsentMessage, ConsentNotice, ConsentPage, ConsentPermissionList, ConsentSection, ConsentStrong, ConsentText, ConversationListView, ConversationTurnSpeaker, CopyableUrl, DEFAULT_AGENT_AVATAR_FIELD_LABELS, DEFAULT_AGENT_BAR_LABELS, DEFAULT_AGENT_CARD_LABELS, DEFAULT_AGENT_CREATOR_LABELS, DEFAULT_AGENT_GALLERY_LABELS, DEFAULT_AGENT_SELECT_LABELS, DEFAULT_AGENT_STEPS_LABELS, DEFAULT_AGENT_TYPE_SELECTOR_LABELS, DEFAULT_AUTHORIZE_AGENT_LABELS, DEFAULT_CONFIG_FIELD_LABELS, DEFAULT_CONFIG_FORM_LABELS, DEFAULT_CONSENT_ACTIONS_LABELS, DEFAULT_COPYABLE_URL_LABELS, DEFAULT_NEW_THREAD_DIALOG_LABELS, DEFAULT_PILL_SELECT_LABELS, DEFAULT_RECURRENCE, DEFAULT_RECURRENCE_BUILDER_LABELS, DEFAULT_SKILL_CARD_LABELS, DEFAULT_SKILL_EDIT_FORM_LABELS, DEFAULT_SKILL_GENERATE_FORM_LABELS, DEFAULT_SKILL_GLOBAL_BADGE_LABELS, DEFAULT_SKILL_ROW_LABELS, DEFAULT_SKILL_VIEW_TOGGLE_LABELS, DEFAULT_SUBAGENT_ROSTER_LABELS, DEFAULT_TASKS_CHROME_LABELS, DEFAULT_TASK_COMPOSER_LABELS, DEFAULT_TASK_LIST_LABELS, DEFAULT_TASK_OUTPUTS_CELL_LABELS, DEFAULT_TASK_PLAN_LABELS, DEFAULT_TASK_RUNS_DIALOG_LABELS, DEFAULT_TASK_STATUS_PILL_LABELS, DEFAULT_TASK_THREAD_CHIP_LABELS, DEFAULT_TASK_TRIGGER_CHIP_LABELS, DEFAULT_TUPLE_ARRAY_FIELD_LABELS, DEFAULT_UPLOAD_TASK_ITEM_LABELS, DEFAULT_UPLOAD_TASK_LIST_LABELS, DEFAULT_WORKFLOWS_CHROME_LABELS, DEFAULT_WORKFLOW_CONFIG_DIALOG_LABELS, DEFAULT_WORKFLOW_LIST_LABELS, DEFAULT_WORKFLOW_THREAD_STRIP_LABELS, DERIVED_NAME_WORDS, EMPTY_NEW_THREAD, EntityChip, GoalCriteria, MAX_TASK_DEPTH, NewThreadDialog, PersonPill, PillSelect, RecurrenceBuilder, STATUS_LABELS, STATUS_ORDER, STATUS_TONE, SkillActionButton, SkillCard, SkillDetail, SkillDetailSection, SkillEditForm, SkillFilterChips, SkillGenerateForm, SkillGlobalBadge, SkillRow, SkillTile, SkillTypeBadge, SkillViewToggle, StepDetail, StepNarration, StepOutcome, StepParams, StepRow, StepSummary, StepTrace, StepTraceSummary, SubAgentLane, SubStepGroup, SubagentRoster, TASK_COLUMN_ORDER, TRIGGER_LABELS, TaskActivityDialog, TaskComposer, TaskFlow, TaskInbox, TaskMoveDialog, TaskOutputsCell, TaskPlan, TaskRunsDialog, TaskStartDialog, TaskStatusPill, TaskTable, TaskThreadChip, TaskTriggerChip, TasksToolbar, ThreadActivity, ThreadNotifyDialog, TupleArrayField, UploadTaskItem, UploadTaskList, WEEKDAYS, WORKFLOW_COLUMN_ORDER, WorkflowConfigDialog, WorkflowDocumentsField, WorkflowLauncher, WorkflowThreadStartedBy, WorkflowThreadStrip, WorkflowsTable, WorkflowsToolbar, agentConfigSectionToValues, agentCreatorToConfigSection, asTaskStatus, authModeFor, buildRRule, buildTaskRows, buildWorkflowScopeSource, compactThreadActivity, composePersona, composerToTaskQuery, composerToWorkRequest, composerToWorkflowRequest, composerToWorkflowUpdate, createTaskColumns, createWorkflowColumns, createsWork, defaultScopeRenderer, defaultTaskComposerValues, deriveAgentName, deriveWorkflowName, descendantIds, describeRRule, filterConversationRows, firstWords, formatElapsed, goalProgress, groupThreadActivity, hasTaskFields, hasTrigger, humanizeSection, indexTasks, inferType, inputDocumentIds, isAgenticWorkflow, isOutOfBounds, isPlainTodo, isSkillRow, isValidAgentName, isoToLocalInput, linkedRunsFromActivity, localInputToIso, matchWorkflowScope, moveTargets, newThreadToRequest, nextCriterionId, ownerExtId, parseRRule, prettifyKey, resolveScopeInputs, skillSlug, stripPersonaPreamble, summarizeAgent, summarizeCapabilities, taskComposerToCreateRequest, taskComposerToUpdateRequest, taskNeedsAccess, taskToComposerValues, useWorkflowPreview, workflowFromSkillMarkdown, workflowStatus, workflowTaskFields, workflowToComposerValues, workflowToSkillMarkdown, workflowTriggerType, workflowWhen } from './chunk-JXZDGTJG.js';
25
25
  import './chunk-P5ST47VY.js';
26
26
  import './chunk-4XJZ6AAY.js';
27
27
  export { EmptyState } from './chunk-P6GHJSLR.js';
@@ -40,6 +40,8 @@ export { AccountRecoveryDialog, AuthAlert, AuthConsent, AuthDivider, AuthField,
40
40
  export { DEFAULT_PASSWORD_STRENGTH_INPUT_LABELS, PasswordStrengthInput } from './chunk-VILAPTCB.js';
41
41
  export { DEFAULT_TAB_HEADER_LABELS, TabHeader } from './chunk-4WWM3GQ5.js';
42
42
  import './chunk-TX2ZICS7.js';
43
+ export { CitationEditor, DEFAULT_PASSAGE_PILL_LABELS, DEFAULT_QUIET_MARK_LABELS, LabelMark, NoteMark, PassageMark, PassagePill, QuietLink, useCopyText } from './chunk-DQCYCEDR.js';
44
+ export { BlocksProvider, useBlocksEnvironment } from './chunk-76JDDMSP.js';
43
45
  export { AssistantToaster, BranchControls, ComposerAccessories, ComposerTools, ContextActionButton, ContextCheckRow, ContextPanelContent, ContextPanelFooter, ContextPanelTabs, ContextPickerList, ContextPickerRow, ContextSearchInput, ContextSelectList, ContextSelectRow, Conversation, ConversationBody, ConversationFilter, ConversationHeader, ConversationHeaderActions, ConversationHistoryPane, ConversationLoading, ConversationMain, ConversationRoot, ConversationSearchView, ConversationSettingsButton, DEFAULT_BRANCH_CONTROLS_LABELS, DEFAULT_CONVERSATION_LAYOUT_LABELS, DEFAULT_CONVERSATION_PARTS_LABELS, DEFAULT_CONVERSATION_SEARCH_LABELS, DEFAULT_LABEL_PIN_ROW_LABELS, DEFAULT_MODEL_PRICING_TIP_LABELS, DEFAULT_PENDING_ANSWER_BAR_LABELS, DEFAULT_PINNED_DOC_CHIP_LABELS, DEFAULT_SLASH_MENU_LABELS, DEFAULT_THREAD_MAP_LABELS, LabelPinRow, ModelAutoIcon, ModelConfigureButton, ModelDot, ModelMenuDivider, ModelMenuMessage, ModelOption, ModelOptionLabel, ModelPickerPopover, ModelPickerTrigger, ModelPricingTip, ModelTierIcon, ModelTierOption, ModelTriggerContent, NewChatButton, NewPaChatButton, PaModeBadge, PendingAnswerBar, PinnedDocChip, ProvisionalTranscriptLine, SlashMenu, ThreadMap, ThreadMapDiagram, ThreadMapError, ThreadMapLoading, TranscriptLine, getParticipantTints, hasMessageBody, isLongPastedText, transcriptRuns, useDismissibleCard, useLongPaste, useRecipientDraft } from './chunk-2FUJXMGO.js';
44
46
  export { DEFAULT_DOCK_WIDTH, Toaster } from './chunk-OKERRHLH.js';
45
47
  export { AssistantDock, AssistantDockToggle, AssistantModeToggle, ChatDocuments, ChatMessageContent, ChatPage, ChatThreadList, ChatThreadSelect, CitationMark, Composer, ComposerBranchingNotice, ComposerContainer, ComposerDock, ComposerFrame, ComposerInput, ComposerRoot, ComposerSend, ComposerToolbar, ComposerVoiceButton, ContextChip, ConversationEmpty, DEFAULT_ASSISTANT_MODE_TOGGLE_LABELS, DEFAULT_CHAT_PAGE_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_CONVERSATION_EMPTY_LABELS, DEFAULT_MESSAGE_ALERT_LABELS, DEFAULT_MESSAGE_LABELS, DEFAULT_MESSAGE_LIST_LABELS, DEFAULT_WORKFLOW_STEP_CHIP_LABELS, Message, MessageActionButton, MessageActionMenu, MessageAlert, MessageAuthor, MessageBody, MessageBubble, MessageByline, MessageContent, MessageFooter, MessageList, MessageListBanner, MessageListEmpty, MessageListRoot, MessageListRow, MessageListRows, MessageListStatus, MessageListTail, MessageNarration, MessageRoot, MessageSources, MessageSubagentBadge, ScrollToBottom, SourceChip, WorkflowStepChip, toSpeakableText, useAssistantDock, useChatSurface, useRegisterEmbeddedChat, useStreamAnnouncement } from './chunk-TCNYKDYE.js';
@@ -50,8 +52,6 @@ export { BREAKPOINT_QUERIES, useIsNarrow, useIsPhone, useIsTouchScreen, useMedia
50
52
  import './chunk-Z3AZ7Q5X.js';
51
53
  import './chunk-NPLYHR2E.js';
52
54
  import './chunk-7F6CBP3Z.js';
53
- export { CitationEditor, DEFAULT_PASSAGE_PILL_LABELS, DEFAULT_QUIET_MARK_LABELS, LabelMark, NoteMark, PassageMark, PassagePill, QuietLink, useCopyText } from './chunk-DQCYCEDR.js';
54
- export { BlocksProvider, useBlocksEnvironment } from './chunk-76JDDMSP.js';
55
55
  export { daysUntil, displayName, fmtDate, fmtDateTime, formatCount, formatCurrency, formatPageRefs, fromNow, hrs, initials, pct, pluralize } from './chunk-OXF2IFXG.js';
56
56
  import './chunk-VUNV25KB.js';
57
57
  import { Search, Pencil, Sparkles, FileText, Lightbulb, MessagesSquare, X, Plus } from 'lucide-react';
@@ -3,8 +3,8 @@
3
3
 
4
4
  var chunkQI6AIHWP_cjs = require('../chunk-QI6AIHWP.cjs');
5
5
  var chunkOUW6G4O2_cjs = require('../chunk-OUW6G4O2.cjs');
6
- require('../chunk-MHVNT4J3.cjs');
7
6
  require('../chunk-C54XEN5T.cjs');
7
+ require('../chunk-MHVNT4J3.cjs');
8
8
  require('../chunk-DES3K4SD.cjs');
9
9
 
10
10
 
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  export { ApplyLabelButton, ApplyLabelDialog, DEFAULT_APPLY_LABEL_DIALOG_LABELS, DEFAULT_RELEVANCE_STEPS, DEFAULT_SEARCH_BAR_LABELS, DEFAULT_SEARCH_EMPTY_STATE_LABELS, DEFAULT_SEARCH_GROUP_HEADER_LABELS, DEFAULT_SEARCH_NO_RESULTS_LABELS, DEFAULT_SEARCH_PAGINATION_LABELS, DEFAULT_SEARCH_TOTALS_LABELS, DOCUMENT_SEARCH_NOUNS, Highlight, RelevanceThreshold, SearchBar, SearchControlsBar, SearchEmptyState, SearchErrorBanner, SearchGroupCard, SearchGroupHeader, SearchNoResults, SearchPageBody, SearchPageFrame, SearchPageHeader, SearchPagination, SearchPillToggle, SearchResultList, SearchResultsInner, SearchResultsMain, SearchToolbarRow, SearchTotalsHeadline, getPageNumbers, highlightTerms, searchNouns, splitByTerms, stripMarkdownLinks } from '../chunk-2MJWWPHY.js';
3
3
  export { DEFAULT_SEARCH_HIT_LABELS, SearchHit } from '../chunk-A2YAC22G.js';
4
- import '../chunk-7F6CBP3Z.js';
5
4
  import '../chunk-76JDDMSP.js';
5
+ import '../chunk-7F6CBP3Z.js';
6
6
  import '../chunk-VUNV25KB.js';
7
7
  //# sourceMappingURL=index.js.map
8
8
  //# sourceMappingURL=index.js.map
@@ -3,31 +3,42 @@ export interface FirmPoolView {
3
3
  /** £ of AI usage used this month; `null` while the usage report is not available yet. */
4
4
  usedGbp: number | null;
5
5
  totalGbp: number;
6
- /** £ of AI usage each add-on adds a month (for the top-up help). */
6
+ /** £ of AI usage each top-up step adds a month (for the top-up help); £25 on Box. */
7
7
  addonGbp?: number;
8
+ /** The Box licence, already formatted (e.g. "8 users · 250 GB · £200 of AI usage a month · Annual"). */
9
+ licence?: string;
10
+ /** A decrease kept until the period end, already formatted (e.g. "From 1 Dec 2026: 6 users · …"). */
11
+ renews?: string;
8
12
  /** When the pool resets, already formatted (e.g. "1 Nov 2026"). */
9
13
  resetsAt?: string;
10
14
  /** Standard AI is unlimited and the allowance applies to Premium AI only. */
11
15
  premiumOnly: boolean;
12
- /** Auto add-ons this month, as money against the monthly extra-usage limit (formatted). */
16
+ /** Automatic top-ups this month, as money against the monthly usage budget (formatted), with what
17
+ * they added (e.g. "+£50 of AI usage · +25 GB"). */
13
18
  autoAddons?: {
14
19
  count: number;
15
20
  spent: string;
16
21
  limit: string;
17
22
  pct: number;
23
+ added?: string;
18
24
  };
25
+ /** The usage budget is £0: no automatic top-ups. */
26
+ autoAddonsOff?: boolean;
19
27
  }
20
28
  export interface FirmPoolSectionLabels {
21
29
  title: string;
30
+ licence: string;
22
31
  used: string;
23
32
  premiumOnly: string;
24
33
  resets: (date: string) => string;
25
34
  usageUnknown: string;
26
35
  autoAddons: (count: number) => string;
36
+ autoAddonsOff: string;
27
37
  topUpLabel: string;
28
38
  topUp: string;
29
39
  toppingUp: string;
30
- topUpHelp: (perAddon: string) => string;
40
+ topUpHelp: (perStep: string) => string;
41
+ topUpTotal: (total: string) => string;
31
42
  }
32
43
  export declare const DEFAULT_FIRM_POOL_SECTION_LABELS: FirmPoolSectionLabels;
33
44
  export declare const FIRM_POOL_MAX_TOP_UP = 100;
@@ -1438,9 +1438,9 @@ var DEFAULT_PLAN_CARD_LABELS = {
1438
1438
  pricingExplainer: "How pricing works",
1439
1439
  explainerTiers: [
1440
1440
  "AI usage and storage are shared by everyone in the project. AI usage resets monthly.",
1441
- "Need more? Add \xA310 of AI usage or 10 GB at a time. Add-ons renew until you remove them.",
1442
- "Automatic add-ons stay within your monthly add-on budget (\xA3250 by default, \xA30 turns them off).",
1443
- "Upgrades start now: you pay the difference for the rest of this period. Downgrades start at the end of the period. No refunds.",
1441
+ "Need more? Add \xA325 of AI usage or 25 GB at a time. Add-ons renew until you reduce them.",
1442
+ "Add-ons, manual and automatic, stay within your monthly usage cap (\xA3100 by default; \xA30 = no extra usage, or no limit).",
1443
+ "Add-ons start now. Downgrades, billing switches and add-on reductions start at the end of the period. No refunds.",
1444
1444
  "Prices are shown + VAT; the total for your country is shown before you pay."
1445
1445
  ],
1446
1446
  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.",
@@ -1514,7 +1514,7 @@ function PlanCardGrid({
1514
1514
  {
1515
1515
  className: ui.cn(
1516
1516
  "grid gap-2",
1517
- plans.length === 4 ? "grid-cols-1 @xl:grid-cols-2 @4xl:grid-cols-4" : "grid-cols-1 @2xl:grid-cols-3"
1517
+ plans.length === 4 ? "grid-cols-1 @xl:grid-cols-2 @4xl:grid-cols-4" : plans.length === 2 ? "grid-cols-1 @xl:grid-cols-2" : "grid-cols-1 @2xl:grid-cols-3"
1518
1518
  ),
1519
1519
  children: plans.map((plan) => /* @__PURE__ */ jsxRuntime.jsx(PlanCard, { plan, onSelect, labels }, plan.id))
1520
1520
  }
@@ -2052,15 +2052,18 @@ function RenameDialog({
2052
2052
  }
2053
2053
  var DEFAULT_FIRM_POOL_SECTION_LABELS = {
2054
2054
  title: "Firm AI usage",
2055
+ licence: "Licence",
2055
2056
  used: "This month",
2056
2057
  premiumOnly: "Standard AI is unlimited; the allowance applies to Premium AI.",
2057
2058
  resets: (date) => `resets ${date}`,
2058
2059
  usageUnknown: "Usage is being calculated.",
2059
- autoAddons: (count) => `Auto add-ons (${count})`,
2060
- topUpLabel: "Add-ons to buy",
2060
+ autoAddons: (count) => `Automatic top-ups: ${count}`,
2061
+ autoAddonsOff: "Automatic top-ups are off (\xA30 usage budget).",
2062
+ topUpLabel: "Steps to add",
2061
2063
  topUp: "Add AI usage",
2062
2064
  toppingUp: "Adding\u2026",
2063
- topUpHelp: (perAddon) => `Each add-on adds ${perAddon} of AI usage a month, pooled across the firm.`
2065
+ topUpHelp: (perStep) => `Each step adds ${perStep} of AI usage a month, pooled across the firm, and renews until reduced.`,
2066
+ topUpTotal: (total) => `+${total} of AI usage a month`
2064
2067
  };
2065
2068
  var FIRM_POOL_MAX_TOP_UP = 100;
2066
2069
  var defaultFormat = (gbp) => `\xA3${gbp.toLocaleString("en-GB", { maximumFractionDigits: 2 })}`;
@@ -2077,9 +2080,17 @@ function FirmPoolSection({
2077
2080
  const valid = Number.isInteger(count) && count >= 1 && count <= FIRM_POOL_MAX_TOP_UP;
2078
2081
  const used = view.usedGbp;
2079
2082
  const pct = used != null && view.totalGbp > 0 ? used / view.totalGbp * 100 : 0;
2083
+ const step = view.addonGbp ?? 25;
2080
2084
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-3", "data-testid": testId, children: [
2081
2085
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "px-1 text-sm font-semibold text-foreground", children: l.title }),
2082
2086
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3 px-1", children: [
2087
+ view.licence && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-0.5 text-sm", "data-testid": `${testId}-licence`, children: [
2088
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-baseline justify-between gap-x-4", children: [
2089
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-foreground", children: l.licence }),
2090
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tabular-nums text-muted-foreground", children: view.licence })
2091
+ ] }),
2092
+ view.renews && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": `${testId}-renews`, children: view.renews })
2093
+ ] }),
2083
2094
  /* @__PURE__ */ jsxRuntime.jsx(
2084
2095
  chunk46IU3UPF_cjs.UsageMeter,
2085
2096
  {
@@ -2097,9 +2108,11 @@ function FirmPoolSection({
2097
2108
  label: l.autoAddons(view.autoAddons.count),
2098
2109
  value: `${view.autoAddons.spent} / ${view.autoAddons.limit}`,
2099
2110
  pct: view.autoAddons.pct,
2111
+ hint: view.autoAddons.added,
2100
2112
  testId: `${testId}-auto-addons`
2101
2113
  }
2102
2114
  ),
2115
+ view.autoAddonsOff && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": `${testId}-auto-addons-off`, children: l.autoAddonsOff }),
2103
2116
  view.premiumOnly && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", "data-testid": `${testId}-premium-only`, children: l.premiumOnly }),
2104
2117
  onTopUp && /* @__PURE__ */ jsxRuntime.jsxs(
2105
2118
  "form",
@@ -2137,7 +2150,15 @@ function FirmPoolSection({
2137
2150
  children: isToppingUp ? l.toppingUp : l.topUp
2138
2151
  }
2139
2152
  ),
2140
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "w-full text-xs text-muted-foreground", children: l.topUpHelp(formatAmount(view.addonGbp ?? 10)) })
2153
+ valid && /* @__PURE__ */ jsxRuntime.jsx(
2154
+ "span",
2155
+ {
2156
+ className: "self-center text-sm tabular-nums text-foreground",
2157
+ "data-testid": `${testId}-top-up-total`,
2158
+ children: l.topUpTotal(formatAmount(count * step))
2159
+ }
2160
+ ),
2161
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "w-full text-xs text-muted-foreground", children: l.topUpHelp(formatAmount(step)) })
2141
2162
  ]
2142
2163
  }
2143
2164
  )