@arbidocs/blocks 0.4.61 → 0.4.63

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.
@@ -7,9 +7,9 @@ var chunkOUW6G4O2_cjs = require('../chunk-OUW6G4O2.cjs');
7
7
  var chunkIA7RTPT3_cjs = require('../chunk-IA7RTPT3.cjs');
8
8
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
9
9
  var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
10
- require('../chunk-C54XEN5T.cjs');
11
10
  require('../chunk-FX3K6LNZ.cjs');
12
11
  var chunkPPCATBOY_cjs = require('../chunk-PPCATBOY.cjs');
12
+ require('../chunk-C54XEN5T.cjs');
13
13
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
14
14
  var chunkMHVNT4J3_cjs = require('../chunk-MHVNT4J3.cjs');
15
15
  var lucideReact = require('lucide-react');
@@ -6,9 +6,9 @@ import { GridView, SelectionBar, SelectionBarAction } from '../chunk-BUHKUKKB.js
6
6
  import { FilterInput } from '../chunk-YU2KUMGE.js';
7
7
  export { DEFAULT_FILTER_INPUT_LABELS as DEFAULT_FACTS_FILTER_INPUT_LABELS, DEFAULT_FILTER_FIELDS as FACTS_SEARCH_FIELD_OPTIONS, FilterInput as FactsFilterInput } from '../chunk-YU2KUMGE.js';
8
8
  import { TabHeader } from '../chunk-4WWM3GQ5.js';
9
- import '../chunk-76JDDMSP.js';
10
9
  import '../chunk-SLSBJRWW.js';
11
10
  import { observeResize } from '../chunk-NPLYHR2E.js';
11
+ import '../chunk-76JDDMSP.js';
12
12
  import { initials } from '../chunk-OXF2IFXG.js';
13
13
  import { testIdOr } from '../chunk-7F6CBP3Z.js';
14
14
  import { PencilLine, Check, MoreVertical, Pencil, Trash2, CalendarDays, X, Columns3, ChevronDown, RotateCcw, Milestone, CalendarClock, Scale, Lightbulb, ArrowRight, Loader2, Info, PinOff, Pin, Tags, MoreHorizontal, FolderUp, BookMarked, Plus, Search, CheckCircle2, CornerDownLeft, Quote, ChevronLeft, ChevronRight, Table2, CalendarRange, GanttChartSquare } from 'lucide-react';
@@ -6,13 +6,15 @@ export interface ExportLabels {
6
6
  exportMethod: string;
7
7
  downloadToComputer: string;
8
8
  downloadDescription: string;
9
+ copyToWorkspace: string;
10
+ copyDescription: string;
11
+ moveToWorkspace: string;
12
+ moveDescription: string;
9
13
  exportColumns: string;
10
14
  columnsVisible: string;
11
15
  columnsAll: string;
12
16
  columnsFiles: string;
13
17
  columnsHelp: string;
14
- exportToWorkspace: string;
15
- exportToWorkspaceDescription: string;
16
18
  selectTargetWorkspace: string;
17
19
  noOtherWorkspaces: string;
18
20
  member: string;
@@ -29,7 +31,7 @@ export interface ExportModalTitleProps {
29
31
  icon: ReactNode;
30
32
  name: string;
31
33
  };
32
- /** Icon and plural noun of what is exported. */
34
+ /** Icon and plural noun of what is exported (the selection count badge hides at 0). */
33
35
  entityIcon: ReactNode;
34
36
  entityPlural: string;
35
37
  selectedCount: number;
@@ -37,19 +39,23 @@ export interface ExportModalTitleProps {
37
39
  }
38
40
  /** `Workspace / Chats / Export [3 selected]` for the Export dialog title. */
39
41
  export declare function ExportModalTitle({ workspace, entityIcon, entityPlural, selectedCount, labels, }: ExportModalTitleProps): import("react").JSX.Element;
40
- export type ExportMode = 'workspace' | 'download';
42
+ export type ExportMode = 'download' | 'copy' | 'move';
41
43
  export type ExportColumnsMode = 'visible' | 'all' | 'files';
42
44
  export interface ExportMethodChooserProps {
43
45
  mode: ExportMode;
44
46
  onModeChange: (mode: ExportMode) => void;
45
47
  columnsMode: ExportColumnsMode;
46
48
  onColumnsModeChange: (mode: ExportColumnsMode) => void;
49
+ /** Offer the index.csv columns picker under "Download" (when documents are involved). */
50
+ showColumns?: boolean;
51
+ /** Why "Move" is unavailable (e.g. a guest cannot remove anything here); disables it. */
52
+ moveDisabledReason?: string;
47
53
  labels?: Partial<ExportLabels>;
48
54
  /** Overrides the columns select test id (default `export-columns-selector`). */
49
55
  columnsTestId?: string;
50
56
  }
51
- /** "Download to computer" vs "Export to another workspace", with the CSV columns picker. */
52
- export declare function ExportMethodChooser({ mode, onModeChange, columnsMode, onColumnsModeChange, labels, columnsTestId, }: ExportMethodChooserProps): import("react").JSX.Element;
57
+ /** Download as files, copy to another workspace, or move there — with the CSV columns picker. */
58
+ export declare function ExportMethodChooser({ mode, onModeChange, columnsMode, onColumnsModeChange, showColumns, moveDisabledReason, labels, columnsTestId, }: ExportMethodChooserProps): import("react").JSX.Element;
53
59
  export interface ExportWorkspaceOption {
54
60
  id: string;
55
61
  name: string;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * The "what" half of the Export / copy / move dialog: scope, entity types,
3
+ * cited documents, conflicts; plus the plan summary, the job's progress and the
4
+ * resume banner. The "where" half (destination, target workspace, results) is
5
+ * in `ExportParts`. Presentational only — the host resolves scope into counts.
6
+ */
7
+ export interface TransferLabels {
8
+ what: string;
9
+ scopeSelection: (count: number) => string;
10
+ scopeLabel: string;
11
+ scopeAll: string;
12
+ chooseLabel: string;
13
+ include: string;
14
+ references: string;
15
+ referencesInclude: string;
16
+ referencesLink: string;
17
+ referencesHelp: string;
18
+ conflicts: string;
19
+ conflictSkip: string;
20
+ conflictKeepBoth: string;
21
+ summary: string;
22
+ summaryLoading: string;
23
+ hide: string;
24
+ cancelJob: string;
25
+ resume: string;
26
+ }
27
+ export declare const DEFAULT_TRANSFER_LABELS: TransferLabels;
28
+ export type TransferScopeChoice = 'selection' | 'label' | 'all';
29
+ export interface TransferLabelOption {
30
+ id: string;
31
+ name: string;
32
+ }
33
+ export interface TransferScopeChooserProps {
34
+ scope: TransferScopeChoice;
35
+ onScopeChange: (scope: TransferScopeChoice) => void;
36
+ /** How many items the dialog was opened with; 0 hides "selected". */
37
+ selectedCount: number;
38
+ labelOptions: TransferLabelOption[];
39
+ labelId: string | null;
40
+ onLabelChange: (id: string) => void;
41
+ labels?: Partial<TransferLabels>;
42
+ }
43
+ /** Selected items, everything with one label, or everything. */
44
+ export declare function TransferScopeChooser({ scope, onScopeChange, selectedCount, labelOptions, labelId, onLabelChange, labels, }: TransferScopeChooserProps): import("react").JSX.Element;
45
+ export interface TransferKindOption {
46
+ kind: string;
47
+ label: string;
48
+ /** What the current scope holds of this kind; undefined while counting. */
49
+ count?: number;
50
+ }
51
+ export interface TransferKindsPickerProps {
52
+ options: TransferKindOption[];
53
+ selected: string[];
54
+ onToggle: (kind: string, checked: boolean) => void;
55
+ labels?: Partial<TransferLabels>;
56
+ }
57
+ /** One checkbox per entity type, each with what the scope holds of it. */
58
+ export declare function TransferKindsPicker({ options, selected, onToggle, labels, }: TransferKindsPickerProps): import("react").JSX.Element;
59
+ export type TransferReferencesChoice = 'include' | 'link';
60
+ export declare function TransferReferencesChooser({ value, onChange, labels, }: {
61
+ value: TransferReferencesChoice;
62
+ onChange: (value: TransferReferencesChoice) => void;
63
+ labels?: Partial<TransferLabels>;
64
+ }): import("react").JSX.Element;
65
+ export type TransferConflictChoice = 'skip' | 'keep_both';
66
+ export declare function TransferConflictChooser({ value, onChange, labels, }: {
67
+ value: TransferConflictChoice;
68
+ onChange: (value: TransferConflictChoice) => void;
69
+ labels?: Partial<TransferLabels>;
70
+ }): import("react").JSX.Element;
71
+ export interface TransferPlanSummaryProps {
72
+ /** e.g. "12 documents (5 older versions and 3 attachments come with them)". */
73
+ lines: string[];
74
+ /** What will NOT be kept as-is: dropped links, dangling citations, items that stay. */
75
+ warnings: string[];
76
+ isLoading?: boolean;
77
+ labels?: Partial<TransferLabels>;
78
+ }
79
+ export declare function TransferPlanSummary({ lines, warnings, isLoading, labels, }: TransferPlanSummaryProps): import("react").JSX.Element;
80
+ export interface TransferProgressViewProps {
81
+ title: string;
82
+ processed: number;
83
+ total: number;
84
+ /** "Copying", "Linking", "Removing from this workspace" … */
85
+ phaseLabel: string;
86
+ onHide?: () => void;
87
+ onCancel?: () => void;
88
+ isCancelling?: boolean;
89
+ labels?: Partial<TransferLabels>;
90
+ }
91
+ export declare function TransferProgressView({ title, processed, total, phaseLabel, onHide, onCancel, isCancelling, labels, }: TransferProgressViewProps): import("react").JSX.Element;
92
+ export declare function TransferResumeBanner({ message, onResume, isResuming, labels, }: {
93
+ message: string;
94
+ onResume: () => void;
95
+ isResuming?: boolean;
96
+ labels?: Partial<TransferLabels>;
97
+ }): import("react").JSX.Element;
@@ -13,6 +13,7 @@ export interface BulkActionsLabels {
13
13
  more: string;
14
14
  folder: string;
15
15
  export: string;
16
+ production: string;
16
17
  reprocess: string;
17
18
  removeOffline: string;
18
19
  useOffline: string;
@@ -27,6 +28,7 @@ export interface BulkActionsTestIds {
27
28
  moveFolder: string;
28
29
  share: string;
29
30
  export: string;
31
+ production: string;
30
32
  reprocess: string;
31
33
  offline: string;
32
34
  delete: string;
@@ -45,6 +47,8 @@ export interface BulkActionsBarProps {
45
47
  onLabel: () => void;
46
48
  onMoveToFolder: () => void;
47
49
  onExport: () => void;
50
+ /** Opens the production-set (Bates numbering) flow; the menu item is hidden when omitted. */
51
+ onProduce?: () => void;
48
52
  onReprocess: () => void;
49
53
  /** Label of the reprocess item (the app adds the "(max N)" cap hint). */
50
54
  reprocessLabel?: string;
@@ -73,4 +77,4 @@ export interface BulkActionsBarProps {
73
77
  * inline (Chat, AI Annotate, Label, Shared); the rest fold into a "More" menu to keep the bar
74
78
  * on one row. Data-free: every action is a callback, the visibility toggle is a slot.
75
79
  */
76
- export declare function BulkActionsBar({ count, onClear, onReview, isMember, isOnline, onChat, onAnnotate, onLabel, onMoveToFolder, onExport, onReprocess, reprocessLabel, onToggleOffline, isAllOffline, isOfflinePending, onDelete, shareState, onToggleShare, shareTooltip, shareLabels, className, labels, testIds, selectionBar, }: BulkActionsBarProps): import("react").JSX.Element;
80
+ export declare function BulkActionsBar({ count, onClear, onReview, isMember, isOnline, onChat, onAnnotate, onLabel, onMoveToFolder, onExport, onProduce, onReprocess, reprocessLabel, onToggleOffline, isAllOffline, isOfflinePending, onDelete, shareState, onToggleShare, shareTooltip, shareLabels, className, labels, testIds, selectionBar, }: BulkActionsBarProps): import("react").JSX.Element;
@@ -4,8 +4,12 @@ export interface RelatedDocsCellProps<T> {
4
4
  parent?: T | null;
5
5
  /** Attachments (the documents extracted from this email). */
6
6
  attachments: T[];
7
- /** Documents this one was made from (a crop's image, a redline's inputs). */
7
+ /** Documents this one was made from (a crop's image, a redline's inputs, a copy's original). */
8
8
  madeFrom?: T[];
9
+ /** Documents made from this one (a redacted or annotated copy, a production). */
10
+ copies?: T[];
11
+ /** Optional short word for how a made-from / copy document is related ("Redacted copy"). */
12
+ getRelation?: (doc: T) => string | undefined;
9
13
  duplicates: T[];
10
14
  similar: T[];
11
15
  /** Slot: the document pill for one related doc (the app supplies its entity chip). */
@@ -22,4 +26,4 @@ export interface RelatedDocsCellProps<T> {
22
26
  * duplicates, similar); clicking opens a popover grouping the related documents with an action
23
27
  * per group (Switch to / Delete / Compare). Renders nothing when there are no relations.
24
28
  */
25
- export declare function RelatedDocsCell<T>({ parent, attachments, madeFrom, duplicates, similar, renderDoc, getKey, onSwitchTo, onDelete, onCompare, className, }: RelatedDocsCellProps<T>): import("react").JSX.Element | null;
29
+ export declare function RelatedDocsCell<T>({ parent, attachments, madeFrom, copies, getRelation, duplicates, similar, renderDoc, getKey, onSwitchTo, onDelete, onCompare, className, }: RelatedDocsCellProps<T>): import("react").JSX.Element | null;