@arbidocs/blocks 0.4.45 → 0.4.46

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.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkQFUF4A4J_cjs = require('../chunk-QFUF4A4J.cjs');
4
+ var chunkCXWESDIZ_cjs = require('../chunk-CXWESDIZ.cjs');
5
5
  require('../chunk-7G2LJMUG.cjs');
6
6
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
7
7
  require('../chunk-2ZTONLT5.cjs');
@@ -12,167 +12,171 @@ require('../chunk-MHVNT4J3.cjs');
12
12
 
13
13
  Object.defineProperty(exports, "ActionMenu", {
14
14
  enumerable: true,
15
- get: function () { return chunkQFUF4A4J_cjs.ActionMenu; }
15
+ get: function () { return chunkCXWESDIZ_cjs.ActionMenu; }
16
16
  });
17
17
  Object.defineProperty(exports, "AddContactsForm", {
18
18
  enumerable: true,
19
- get: function () { return chunkQFUF4A4J_cjs.AddContactsForm; }
19
+ get: function () { return chunkCXWESDIZ_cjs.AddContactsForm; }
20
20
  });
21
21
  Object.defineProperty(exports, "AddContactsResults", {
22
22
  enumerable: true,
23
- get: function () { return chunkQFUF4A4J_cjs.AddContactsResults; }
23
+ get: function () { return chunkCXWESDIZ_cjs.AddContactsResults; }
24
24
  });
25
25
  Object.defineProperty(exports, "ContactCard", {
26
26
  enumerable: true,
27
- get: function () { return chunkQFUF4A4J_cjs.ContactCard; }
27
+ get: function () { return chunkCXWESDIZ_cjs.ContactCard; }
28
28
  });
29
29
  Object.defineProperty(exports, "DEFAULT_ADD_CONTACTS_LABELS", {
30
30
  enumerable: true,
31
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_ADD_CONTACTS_LABELS; }
31
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_ADD_CONTACTS_LABELS; }
32
32
  });
33
33
  Object.defineProperty(exports, "DEFAULT_CONTACT_CARD_LABELS", {
34
34
  enumerable: true,
35
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_CONTACT_CARD_LABELS; }
35
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_CONTACT_CARD_LABELS; }
36
36
  });
37
37
  Object.defineProperty(exports, "DEFAULT_CONTACT_OUTCOME_LABELS", {
38
38
  enumerable: true,
39
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_CONTACT_OUTCOME_LABELS; }
39
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_CONTACT_OUTCOME_LABELS; }
40
40
  });
41
41
  Object.defineProperty(exports, "DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS", {
42
42
  enumerable: true,
43
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS; }
43
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS; }
44
44
  });
45
45
  Object.defineProperty(exports, "DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS", {
46
46
  enumerable: true,
47
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS; }
47
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS; }
48
48
  });
49
49
  Object.defineProperty(exports, "DEFAULT_DM_INVITE_CHIP_LABELS", {
50
50
  enumerable: true,
51
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_DM_INVITE_CHIP_LABELS; }
51
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_DM_INVITE_CHIP_LABELS; }
52
52
  });
53
53
  Object.defineProperty(exports, "DEFAULT_DM_THREAD_FRAME_LABELS", {
54
54
  enumerable: true,
55
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_DM_THREAD_FRAME_LABELS; }
55
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_DM_THREAD_FRAME_LABELS; }
56
56
  });
57
57
  Object.defineProperty(exports, "DEFAULT_MAIL_FOLDER_TREE_LABELS", {
58
58
  enumerable: true,
59
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_MAIL_FOLDER_TREE_LABELS; }
59
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_MAIL_FOLDER_TREE_LABELS; }
60
60
  });
61
61
  Object.defineProperty(exports, "DEFAULT_RECIPIENT_PICKER_LABELS", {
62
62
  enumerable: true,
63
- get: function () { return chunkQFUF4A4J_cjs.DEFAULT_RECIPIENT_PICKER_LABELS; }
63
+ get: function () { return chunkCXWESDIZ_cjs.DEFAULT_RECIPIENT_PICKER_LABELS; }
64
64
  });
65
65
  Object.defineProperty(exports, "DmAccessRequestBanner", {
66
66
  enumerable: true,
67
- get: function () { return chunkQFUF4A4J_cjs.DmAccessRequestBanner; }
67
+ get: function () { return chunkCXWESDIZ_cjs.DmAccessRequestBanner; }
68
68
  });
69
69
  Object.defineProperty(exports, "DmGrantAccessDialogView", {
70
70
  enumerable: true,
71
- get: function () { return chunkQFUF4A4J_cjs.DmGrantAccessDialogView; }
71
+ get: function () { return chunkCXWESDIZ_cjs.DmGrantAccessDialogView; }
72
72
  });
73
73
  Object.defineProperty(exports, "DmInviteAvatar", {
74
74
  enumerable: true,
75
- get: function () { return chunkQFUF4A4J_cjs.DmInviteAvatar; }
75
+ get: function () { return chunkCXWESDIZ_cjs.DmInviteAvatar; }
76
76
  });
77
77
  Object.defineProperty(exports, "DmInviteChip", {
78
78
  enumerable: true,
79
- get: function () { return chunkQFUF4A4J_cjs.DmInviteChip; }
79
+ get: function () { return chunkCXWESDIZ_cjs.DmInviteChip; }
80
80
  });
81
81
  Object.defineProperty(exports, "DmNewTabIcon", {
82
82
  enumerable: true,
83
- get: function () { return chunkQFUF4A4J_cjs.DmNewTabIcon; }
83
+ get: function () { return chunkCXWESDIZ_cjs.DmNewTabIcon; }
84
84
  });
85
85
  Object.defineProperty(exports, "DmThreadFrame", {
86
86
  enumerable: true,
87
- get: function () { return chunkQFUF4A4J_cjs.DmThreadFrame; }
87
+ get: function () { return chunkCXWESDIZ_cjs.DmThreadFrame; }
88
88
  });
89
89
  Object.defineProperty(exports, "DmThreadHeader", {
90
90
  enumerable: true,
91
- get: function () { return chunkQFUF4A4J_cjs.DmThreadHeader; }
91
+ get: function () { return chunkCXWESDIZ_cjs.DmThreadHeader; }
92
92
  });
93
93
  Object.defineProperty(exports, "MAX_INVITE_EMAILS", {
94
94
  enumerable: true,
95
- get: function () { return chunkQFUF4A4J_cjs.MAX_INVITE_EMAILS; }
95
+ get: function () { return chunkCXWESDIZ_cjs.MAX_INVITE_EMAILS; }
96
+ });
97
+ Object.defineProperty(exports, "MailDeliveryBadge", {
98
+ enumerable: true,
99
+ get: function () { return chunkCXWESDIZ_cjs.MailDeliveryBadge; }
96
100
  });
97
101
  Object.defineProperty(exports, "MailFolderTree", {
98
102
  enumerable: true,
99
- get: function () { return chunkQFUF4A4J_cjs.MailFolderTree; }
103
+ get: function () { return chunkCXWESDIZ_cjs.MailFolderTree; }
100
104
  });
101
105
  Object.defineProperty(exports, "MailMessagePreview", {
102
106
  enumerable: true,
103
- get: function () { return chunkQFUF4A4J_cjs.MailMessagePreview; }
107
+ get: function () { return chunkCXWESDIZ_cjs.MailMessagePreview; }
104
108
  });
105
109
  Object.defineProperty(exports, "MemberBulkActions", {
106
110
  enumerable: true,
107
- get: function () { return chunkQFUF4A4J_cjs.MemberBulkActions; }
111
+ get: function () { return chunkCXWESDIZ_cjs.MemberBulkActions; }
108
112
  });
109
113
  Object.defineProperty(exports, "MemberListLoading", {
110
114
  enumerable: true,
111
- get: function () { return chunkQFUF4A4J_cjs.MemberListLoading; }
115
+ get: function () { return chunkCXWESDIZ_cjs.MemberListLoading; }
112
116
  });
113
117
  Object.defineProperty(exports, "MemberMutedText", {
114
118
  enumerable: true,
115
- get: function () { return chunkQFUF4A4J_cjs.MemberMutedText; }
119
+ get: function () { return chunkCXWESDIZ_cjs.MemberMutedText; }
116
120
  });
117
121
  Object.defineProperty(exports, "MemberNameCell", {
118
122
  enumerable: true,
119
- get: function () { return chunkQFUF4A4J_cjs.MemberNameCell; }
123
+ get: function () { return chunkCXWESDIZ_cjs.MemberNameCell; }
120
124
  });
121
125
  Object.defineProperty(exports, "MemberRoleCell", {
122
126
  enumerable: true,
123
- get: function () { return chunkQFUF4A4J_cjs.MemberRoleCell; }
127
+ get: function () { return chunkCXWESDIZ_cjs.MemberRoleCell; }
124
128
  });
125
129
  Object.defineProperty(exports, "RecipientPicker", {
126
130
  enumerable: true,
127
- get: function () { return chunkQFUF4A4J_cjs.RecipientPicker; }
131
+ get: function () { return chunkCXWESDIZ_cjs.RecipientPicker; }
128
132
  });
129
133
  Object.defineProperty(exports, "RoleSelect", {
130
134
  enumerable: true,
131
- get: function () { return chunkQFUF4A4J_cjs.RoleSelect; }
135
+ get: function () { return chunkCXWESDIZ_cjs.RoleSelect; }
132
136
  });
133
137
  Object.defineProperty(exports, "WorkspaceDeleteButton", {
134
138
  enumerable: true,
135
- get: function () { return chunkQFUF4A4J_cjs.WorkspaceDeleteButton; }
139
+ get: function () { return chunkCXWESDIZ_cjs.WorkspaceDeleteButton; }
136
140
  });
137
141
  Object.defineProperty(exports, "buildMailFolderTree", {
138
142
  enumerable: true,
139
- get: function () { return chunkQFUF4A4J_cjs.buildMailFolderTree; }
143
+ get: function () { return chunkCXWESDIZ_cjs.buildMailFolderTree; }
140
144
  });
141
145
  Object.defineProperty(exports, "contactToVCard", {
142
146
  enumerable: true,
143
- get: function () { return chunkQFUF4A4J_cjs.contactToVCard; }
147
+ get: function () { return chunkCXWESDIZ_cjs.contactToVCard; }
144
148
  });
145
149
  Object.defineProperty(exports, "descendantFolderIds", {
146
150
  enumerable: true,
147
- get: function () { return chunkQFUF4A4J_cjs.descendantFolderIds; }
151
+ get: function () { return chunkCXWESDIZ_cjs.descendantFolderIds; }
148
152
  });
149
153
  Object.defineProperty(exports, "downloadVCard", {
150
154
  enumerable: true,
151
- get: function () { return chunkQFUF4A4J_cjs.downloadVCard; }
155
+ get: function () { return chunkCXWESDIZ_cjs.downloadVCard; }
152
156
  });
153
157
  Object.defineProperty(exports, "isInboxFolder", {
154
158
  enumerable: true,
155
- get: function () { return chunkQFUF4A4J_cjs.isInboxFolder; }
159
+ get: function () { return chunkCXWESDIZ_cjs.isInboxFolder; }
156
160
  });
157
161
  Object.defineProperty(exports, "parseEmails", {
158
162
  enumerable: true,
159
- get: function () { return chunkQFUF4A4J_cjs.parseEmails; }
163
+ get: function () { return chunkCXWESDIZ_cjs.parseEmails; }
160
164
  });
161
165
  Object.defineProperty(exports, "toAddContactsRow", {
162
166
  enumerable: true,
163
- get: function () { return chunkQFUF4A4J_cjs.toAddContactsRow; }
167
+ get: function () { return chunkCXWESDIZ_cjs.toAddContactsRow; }
164
168
  });
165
169
  Object.defineProperty(exports, "toAddContactsRows", {
166
170
  enumerable: true,
167
- get: function () { return chunkQFUF4A4J_cjs.toAddContactsRows; }
171
+ get: function () { return chunkCXWESDIZ_cjs.toAddContactsRows; }
168
172
  });
169
173
  Object.defineProperty(exports, "toggleMailFolder", {
170
174
  enumerable: true,
171
- get: function () { return chunkQFUF4A4J_cjs.toggleMailFolder; }
175
+ get: function () { return chunkCXWESDIZ_cjs.toggleMailFolder; }
172
176
  });
173
177
  Object.defineProperty(exports, "vCardFilename", {
174
178
  enumerable: true,
175
- get: function () { return chunkQFUF4A4J_cjs.vCardFilename; }
179
+ get: function () { return chunkCXWESDIZ_cjs.vCardFilename; }
176
180
  });
177
181
  Object.defineProperty(exports, "DEFAULT_SHARE_CONTROL_LABELS", {
178
182
  enumerable: true,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { ActionMenu, AddContactsForm, AddContactsResults, ContactCard, DEFAULT_ADD_CONTACTS_LABELS, DEFAULT_CONTACT_CARD_LABELS, DEFAULT_CONTACT_OUTCOME_LABELS, DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS, DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS, DEFAULT_DM_INVITE_CHIP_LABELS, DEFAULT_DM_THREAD_FRAME_LABELS, DEFAULT_MAIL_FOLDER_TREE_LABELS, DEFAULT_RECIPIENT_PICKER_LABELS, DmAccessRequestBanner, DmGrantAccessDialogView, DmInviteAvatar, DmInviteChip, DmNewTabIcon, DmThreadFrame, DmThreadHeader, MAX_INVITE_EMAILS, MailFolderTree, MailMessagePreview, MemberBulkActions, MemberListLoading, MemberMutedText, MemberNameCell, MemberRoleCell, RecipientPicker, RoleSelect, WorkspaceDeleteButton, buildMailFolderTree, contactToVCard, descendantFolderIds, downloadVCard, isInboxFolder, parseEmails, toAddContactsRow, toAddContactsRows, toggleMailFolder, vCardFilename } from '../chunk-OZJ5PXA6.js';
2
+ export { ActionMenu, AddContactsForm, AddContactsResults, ContactCard, DEFAULT_ADD_CONTACTS_LABELS, DEFAULT_CONTACT_CARD_LABELS, DEFAULT_CONTACT_OUTCOME_LABELS, DEFAULT_DM_ACCESS_REQUEST_BANNER_LABELS, DEFAULT_DM_GRANT_ACCESS_DIALOG_LABELS, DEFAULT_DM_INVITE_CHIP_LABELS, DEFAULT_DM_THREAD_FRAME_LABELS, DEFAULT_MAIL_FOLDER_TREE_LABELS, DEFAULT_RECIPIENT_PICKER_LABELS, DmAccessRequestBanner, DmGrantAccessDialogView, DmInviteAvatar, DmInviteChip, DmNewTabIcon, DmThreadFrame, DmThreadHeader, MAX_INVITE_EMAILS, MailDeliveryBadge, MailFolderTree, MailMessagePreview, MemberBulkActions, MemberListLoading, MemberMutedText, MemberNameCell, MemberRoleCell, RecipientPicker, RoleSelect, WorkspaceDeleteButton, buildMailFolderTree, contactToVCard, descendantFolderIds, downloadVCard, isInboxFolder, parseEmails, toAddContactsRow, toAddContactsRows, toggleMailFolder, vCardFilename } from '../chunk-ILGHS6ZV.js';
3
3
  import '../chunk-NBV56SGU.js';
4
4
  export { DEFAULT_SHARE_CONTROL_LABELS, ShareControl } from '../chunk-K4BGOPGG.js';
5
5
  import '../chunk-CPMNAJLF.js';
@@ -6,6 +6,14 @@ export interface MailMessagePreviewProps {
6
6
  dateTime?: string;
7
7
  unread?: boolean;
8
8
  hasAttachments?: boolean;
9
+ /** A sent message's delivery problem; sent and delivered mail shows nothing, as in other clients. */
10
+ deliveryProblem?: MailDeliveryProblem;
9
11
  }
12
+ export type MailDeliveryProblem = 'bounced' | 'partially_bounced' | 'delayed';
13
+ /** A pill for a sent message that bounced, partly bounced, or is delayed. */
14
+ export declare function MailDeliveryBadge({ problem, className, }: {
15
+ problem: MailDeliveryProblem;
16
+ className?: string;
17
+ }): import("react").JSX.Element;
10
18
  /** Compact inbox identity: sender/date, subject, then a body preview. */
11
- export declare function MailMessagePreview({ participants, subject, preview, date, dateTime, unread, hasAttachments, }: MailMessagePreviewProps): import("react").JSX.Element;
19
+ export declare function MailMessagePreview({ participants, subject, preview, date, dateTime, unread, hasAttachments, deliveryProblem, }: MailMessagePreviewProps): import("react").JSX.Element;
@@ -1,3 +1,3 @@
1
1
  export { MailFolderTree, DEFAULT_MAIL_FOLDER_TREE_LABELS, type MailFolderTreeProps, type MailFolderTreeLabels, type MailFolderTreeTestIds, } from './MailFolderTree';
2
2
  export { buildMailFolderTree, isInboxFolder, toggleMailFolder, descendantFolderIds, type MailFolder, type MailFolderNode, } from './mailFolders';
3
- export { MailMessagePreview, type MailMessagePreviewProps } from './MailMessagePreview';
3
+ export { MailDeliveryBadge, MailMessagePreview, type MailDeliveryProblem, type MailMessagePreviewProps, } from './MailMessagePreview';
@@ -10,6 +10,9 @@ export interface AiReviewDialogLabels {
10
10
  documentColumn: string;
11
11
  viewInTable: string;
12
12
  done: string;
13
+ /** A finished AI cell that got no value. */
14
+ noValue: string;
15
+ noValueHint: string;
13
16
  }
14
17
  export declare const DEFAULT_AI_REVIEW_DIALOG_LABELS: AiReviewDialogLabels;
15
18
  export interface AiReviewFieldOption {
@@ -40,6 +43,8 @@ export interface AiReviewResultCell {
40
43
  note?: string;
41
44
  /** An AI value still being produced shows a spinner while empty. */
42
45
  isAi: boolean;
46
+ /** The run finished this document: an empty AI cell will not fill, so it says so. */
47
+ isFinished?: boolean;
43
48
  }
44
49
  export interface AiReviewResultRow {
45
50
  id: string;
@@ -6352,9 +6352,29 @@ var DEFAULT_AI_REVIEW_DIALOG_LABELS = {
6352
6352
  instructionPlaceholder: "Write what you want to know \u2014 e.g. What language is this document written in?",
6353
6353
  documentColumn: "Document",
6354
6354
  viewInTable: "View in table",
6355
- done: "Done"
6355
+ done: "Done",
6356
+ noValue: "No value",
6357
+ noValueHint: "ARBI finished this document without an answer for this field. The document may not say, or the request failed. Run it again to retry."
6356
6358
  };
6357
6359
  var hasNote = (note) => note != null && note !== "";
6360
+ function PendingAiValue({ isFinished, l }) {
6361
+ return isFinished ? /* @__PURE__ */ jsxRuntime.jsx(
6362
+ "span",
6363
+ {
6364
+ className: "text-muted-foreground italic",
6365
+ title: l.noValueHint,
6366
+ "data-testid": "ai-review-no-value",
6367
+ children: l.noValue
6368
+ }
6369
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
6370
+ lucideReact.Loader2,
6371
+ {
6372
+ className: "size-3.5 animate-spin text-muted-foreground",
6373
+ "aria-label": "Working",
6374
+ "data-testid": "ai-review-pending"
6375
+ }
6376
+ );
6377
+ }
6358
6378
  function FieldPicker({ ask, l }) {
6359
6379
  const [open, setOpen] = react.useState(false);
6360
6380
  const [search, setSearch] = react.useState("");
@@ -6502,7 +6522,8 @@ function ResultsPhase({ r, l }) {
6502
6522
  className: "max-h-[50dvh] space-y-1 overflow-y-auto pr-1",
6503
6523
  "data-testid": "ai-review-results",
6504
6524
  children: r.rows.map((row) => {
6505
- const note = row.cells[0]?.note;
6525
+ const cell = row.cells[0];
6526
+ const note = cell?.note;
6506
6527
  return /* @__PURE__ */ jsxRuntime.jsxs(
6507
6528
  "div",
6508
6529
  {
@@ -6512,7 +6533,7 @@ function ResultsPhase({ r, l }) {
6512
6533
  hasNote(note) ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 font-medium text-foreground", children: [
6513
6534
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "whitespace-pre-line", children: note }),
6514
6535
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-green-text" })
6515
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3.5 animate-spin text-muted-foreground" })
6536
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(PendingAiValue, { isFinished: cell?.isFinished, l })
6516
6537
  ]
6517
6538
  },
6518
6539
  row.id
@@ -6531,7 +6552,7 @@ function ResultsPhase({ r, l }) {
6531
6552
  ] }) }),
6532
6553
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: r.rows.map((row) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-t border-border", children: [
6533
6554
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "max-w-[360px] truncate px-3 py-2 text-muted-foreground", children: row.title }),
6534
- row.cells.map((c) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-2", children: hasNote(c.note) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "whitespace-pre-line font-medium text-foreground", children: c.note }) : c.isAi ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "size-3.5 animate-spin text-muted-foreground" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-green-text" }) }, c.fieldId))
6555
+ row.cells.map((c) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-2", children: hasNote(c.note) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "whitespace-pre-line font-medium text-foreground", children: c.note }) : c.isAi ? /* @__PURE__ */ jsxRuntime.jsx(PendingAiValue, { isFinished: c.isFinished, l }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "size-3.5 text-green-text" }) }, c.fieldId))
6535
6556
  ] }, row.id)) })
6536
6557
  ] })
6537
6558
  }