@arbidocs/blocks 0.4.15 → 0.4.17
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/agents/index.cjs +369 -171
- package/dist/agents/index.js +4 -2
- package/dist/agents/tasks/DueDateMenu.d.ts +32 -0
- package/dist/agents/tasks/NewThreadDialog.d.ts +53 -0
- package/dist/agents/tasks/PersonPill.d.ts +22 -0
- package/dist/agents/tasks/PillSelect.d.ts +39 -0
- package/dist/agents/tasks/TaskActivityDialog.d.ts +14 -0
- package/dist/agents/tasks/TaskActivityTimeline.d.ts +54 -0
- package/dist/agents/tasks/TaskComposer.d.ts +6 -106
- package/dist/agents/tasks/TaskMoveDialog.d.ts +25 -0
- package/dist/agents/tasks/TaskOutputsCell.d.ts +23 -0
- package/dist/agents/tasks/TaskPlan.d.ts +4 -2
- package/dist/agents/tasks/TaskReviewActions.d.ts +44 -0
- package/dist/agents/tasks/TaskRowMenu.d.ts +28 -0
- package/dist/agents/tasks/TaskStatusPill.d.ts +24 -0
- package/dist/agents/tasks/TaskTable.d.ts +99 -0
- package/dist/agents/tasks/TaskThreadChip.d.ts +19 -0
- package/dist/agents/tasks/TaskTriggerChip.d.ts +24 -0
- package/dist/agents/tasks/TasksChrome.d.ts +17 -17
- package/dist/agents/tasks/WorkflowComposer.d.ts +10 -0
- package/dist/agents/tasks/WorkflowsTable.d.ts +72 -0
- package/dist/agents/tasks/gridWidth.d.ts +11 -0
- package/dist/agents/tasks/index.d.ts +23 -7
- package/dist/agents/tasks/taskColumns.d.ts +39 -63
- package/dist/agents/tasks/taskComposerTypes.d.ts +217 -0
- package/dist/agents/tasks/taskLabels.d.ts +27 -10
- package/dist/agents/tasks/taskRequest.d.ts +151 -25
- package/dist/agents/tasks/taskRows.d.ts +111 -0
- package/dist/agents/tasks/taskTableLabels.d.ts +64 -0
- package/dist/agents/tasks/workflowColumns.d.ts +23 -0
- package/dist/agents/tasks/workflowRows.d.ts +44 -0
- package/dist/agents/tasks/workflowTableLabels.d.ts +53 -0
- package/dist/agents/workflows/WorkflowConfigDialog.d.ts +5 -0
- package/dist/agents/workflows/index.d.ts +1 -0
- package/dist/agents/workflows/scopeRender.d.ts +10 -0
- package/dist/agents/workflows/types.d.ts +2 -0
- package/dist/chat/AssistantModeToggle.d.ts +25 -0
- package/dist/chat/MentionMenu.d.ts +52 -0
- package/dist/chat/index.cjs +119 -63
- package/dist/chat/index.d.ts +4 -0
- package/dist/chat/index.js +1 -1
- package/dist/chat/mentions.d.ts +64 -0
- package/dist/chat/useMentionAutocomplete.d.ts +33 -0
- package/dist/{chunk-IMA6I73C.js → chunk-ABSII3ND.js} +336 -4
- package/dist/chunk-ABSII3ND.js.map +1 -0
- package/dist/{chunk-22T6KHGB.cjs → chunk-C2V6HQKG.cjs} +348 -2
- package/dist/chunk-C2V6HQKG.cjs.map +1 -0
- package/dist/chunk-IC2VHFWR.js +158 -0
- package/dist/chunk-IC2VHFWR.js.map +1 -0
- package/dist/{chunk-67HGXV4I.cjs → chunk-IWOOGRNG.cjs} +4276 -855
- package/dist/chunk-IWOOGRNG.cjs.map +1 -0
- package/dist/{chunk-D6XY3C4O.cjs → chunk-JGZTRLKL.cjs} +207 -139
- package/dist/chunk-JGZTRLKL.cjs.map +1 -0
- package/dist/{chunk-H7OD4CHN.js → chunk-NUPVHEJW.js} +208 -140
- package/dist/chunk-NUPVHEJW.js.map +1 -0
- package/dist/{chunk-CVFBSUXL.js → chunk-OMF7444S.js} +4223 -851
- package/dist/chunk-OMF7444S.js.map +1 -0
- package/dist/chunk-ZPERNIMP.cjs +162 -0
- package/dist/chunk-ZPERNIMP.cjs.map +1 -0
- package/dist/connection/ai.d.ts +4 -1
- package/dist/facts/FactRowActions.d.ts +5 -1
- package/dist/facts/factColumns.d.ts +1 -1
- package/dist/facts/index.cjs +18 -9
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.js +13 -4
- package/dist/facts/index.js.map +1 -1
- package/dist/files/GridView.d.ts +5 -0
- package/dist/files/index.cjs +17 -17
- package/dist/files/index.js +3 -4
- package/dist/files/index.js.map +1 -1
- package/dist/index.cjs +495 -243
- package/dist/index.js +4 -4
- package/dist/settings/ConversationSettingsParts.d.ts +5 -1
- package/dist/settings/index.cjs +8 -3
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.js +8 -3
- package/dist/settings/index.js.map +1 -1
- package/dist/site/index.cjs +9 -9
- package/dist/site/index.js +1 -1
- package/dist/workspaces/index.cjs +1 -1
- package/dist/workspaces/index.cjs.map +1 -1
- package/dist/workspaces/index.js +1 -1
- package/dist/workspaces/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/agents/tasks/LiveRunsBanner.d.ts +0 -26
- package/dist/agents/tasks/TaskRowActions.d.ts +0 -43
- package/dist/chunk-22T6KHGB.cjs.map +0 -1
- package/dist/chunk-67HGXV4I.cjs.map +0 -1
- package/dist/chunk-CVFBSUXL.js.map +0 -1
- package/dist/chunk-D6XY3C4O.cjs.map +0 -1
- package/dist/chunk-H7OD4CHN.js.map +0 -1
- package/dist/chunk-IMA6I73C.js.map +0 -1
- package/dist/chunk-NUNKSZKU.js +0 -203
- package/dist/chunk-NUNKSZKU.js.map +0 -1
- package/dist/chunk-V4ISCZJ7.cjs +0 -207
- package/dist/chunk-V4ISCZJ7.cjs.map +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var lucideReact = require('lucide-react');
|
|
7
|
+
var ui = require('@arbidocs/react/ui');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
|
|
10
|
+
var DEFAULT_DOCUMENT_VIEW_TOGGLE_LABELS = {
|
|
11
|
+
gallery: "Gallery",
|
|
12
|
+
table: "Table",
|
|
13
|
+
review: "Review",
|
|
14
|
+
smartSearch: "Smart Search"
|
|
15
|
+
};
|
|
16
|
+
function ViewToggleItem({
|
|
17
|
+
option,
|
|
18
|
+
size,
|
|
19
|
+
testIdPrefix,
|
|
20
|
+
showLabel,
|
|
21
|
+
labelClassName,
|
|
22
|
+
hideTooltip
|
|
23
|
+
}) {
|
|
24
|
+
const labelRef = react.useRef(null);
|
|
25
|
+
const [isTipNeeded, setIsTipNeeded] = react.useState(true);
|
|
26
|
+
const isLabelShown = () => !!labelRef.current && labelRef.current.offsetParent !== null;
|
|
27
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
28
|
+
"span",
|
|
29
|
+
{
|
|
30
|
+
className: "flex items-center gap-1.5",
|
|
31
|
+
onPointerEnter: () => setIsTipNeeded(!isLabelShown()),
|
|
32
|
+
onFocus: () => setIsTipNeeded(!isLabelShown()),
|
|
33
|
+
children: [
|
|
34
|
+
option.icon,
|
|
35
|
+
showLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { ref: labelRef, className: labelClassName, children: option.label })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
return (
|
|
40
|
+
// The tooltip lives INSIDE the item: wrapping the ToggleGroupItem would make Radix
|
|
41
|
+
// Tooltip's data-state collide with the toggle's on/off state.
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
43
|
+
ui.ToggleGroupItem,
|
|
44
|
+
{
|
|
45
|
+
value: option.value,
|
|
46
|
+
"aria-label": option.label,
|
|
47
|
+
size,
|
|
48
|
+
className: "rounded-[5px] border-0 bg-transparent text-muted-foreground pointer-coarse:min-h-11 data-[state=off]:hover:bg-background/60 data-[state=off]:hover:text-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:hover:bg-accent data-[state=on]:hover:text-accent-foreground",
|
|
49
|
+
"data-testid": option.testId ?? `${testIdPrefix}-${option.value}-button`,
|
|
50
|
+
children: hideTooltip ? content : /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { children: [
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: content }),
|
|
52
|
+
isTipNeeded && /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { children: option.label })
|
|
53
|
+
] })
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
function ViewToggle({
|
|
59
|
+
options,
|
|
60
|
+
value,
|
|
61
|
+
onChange,
|
|
62
|
+
testIdPrefix = "view",
|
|
63
|
+
showLabels = false,
|
|
64
|
+
hideTooltips = false,
|
|
65
|
+
size = "default",
|
|
66
|
+
containerCollapse = false,
|
|
67
|
+
className
|
|
68
|
+
}) {
|
|
69
|
+
const labelClassName = containerCollapse ? "hidden @lg:inline text-sm" : "hidden md:inline text-sm";
|
|
70
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
ui.ToggleGroup,
|
|
72
|
+
{
|
|
73
|
+
variant: "default",
|
|
74
|
+
type: "single",
|
|
75
|
+
value,
|
|
76
|
+
onValueChange: (next) => next && onChange(next),
|
|
77
|
+
className: ui.cn("gap-0.5 rounded-md bg-muted p-0.5", className),
|
|
78
|
+
children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
ViewToggleItem,
|
|
80
|
+
{
|
|
81
|
+
option,
|
|
82
|
+
size,
|
|
83
|
+
testIdPrefix,
|
|
84
|
+
showLabel: showLabels,
|
|
85
|
+
labelClassName,
|
|
86
|
+
hideTooltip: hideTooltips
|
|
87
|
+
},
|
|
88
|
+
option.value
|
|
89
|
+
))
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
function documentViewOptions(l) {
|
|
94
|
+
return [
|
|
95
|
+
// "Gallery" (page-preview grid) reads more conventionally than "Tiles".
|
|
96
|
+
{ value: "explorer", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileImage, { className: "size-3.5" }), label: l.gallery },
|
|
97
|
+
{ value: "grid", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Table2, { className: "size-3.5" }), label: l.table },
|
|
98
|
+
{ value: "navigator", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BookOpen, { className: "size-3.5" }), label: l.review },
|
|
99
|
+
{ value: "search", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "size-3.5" }), label: l.smartSearch }
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
function DocumentViewToggle({
|
|
103
|
+
viewMode,
|
|
104
|
+
onChange,
|
|
105
|
+
compact,
|
|
106
|
+
labels,
|
|
107
|
+
testIdPrefix,
|
|
108
|
+
testIds,
|
|
109
|
+
compactTestIds
|
|
110
|
+
}) {
|
|
111
|
+
const options = documentViewOptions({ ...DEFAULT_DOCUMENT_VIEW_TOGGLE_LABELS, ...labels }).map(
|
|
112
|
+
(o) => ({ ...o, testId: testIds?.[o.value] })
|
|
113
|
+
);
|
|
114
|
+
if (compact) {
|
|
115
|
+
const current = options.find((o) => o.value === viewMode) ?? options[0];
|
|
116
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { value: viewMode, onValueChange: (v) => onChange(v), children: [
|
|
117
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
118
|
+
ui.SelectTrigger,
|
|
119
|
+
{
|
|
120
|
+
className: "h-7 w-10 justify-center gap-0 border-input p-0 pointer-coarse:h-11! pointer-coarse:w-11! shrink-0 [&>svg]:hidden",
|
|
121
|
+
"aria-label": current.label,
|
|
122
|
+
"data-testid": chunkMHVNT4J3_cjs.testIdOr(compactTestIds?.select, {
|
|
123
|
+
testId: "documents-layout-compact-select"
|
|
124
|
+
}),
|
|
125
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ui.SelectValue, { children: current.icon })
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.SelectContent, { align: "center", children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
129
|
+
ui.SelectItem,
|
|
130
|
+
{
|
|
131
|
+
value: option.value,
|
|
132
|
+
"data-testid": chunkMHVNT4J3_cjs.testIdOr(compactTestIds?.option?.(option.value), {
|
|
133
|
+
testId: `documents-layout-compact-${option.value}-option`
|
|
134
|
+
}),
|
|
135
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
136
|
+
option.icon,
|
|
137
|
+
option.label
|
|
138
|
+
] })
|
|
139
|
+
},
|
|
140
|
+
option.value
|
|
141
|
+
)) })
|
|
142
|
+
] });
|
|
143
|
+
}
|
|
144
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
145
|
+
ViewToggle,
|
|
146
|
+
{
|
|
147
|
+
options,
|
|
148
|
+
value: viewMode,
|
|
149
|
+
onChange: (v) => onChange(v),
|
|
150
|
+
testIdPrefix: testIdPrefix ?? "documents-layout",
|
|
151
|
+
showLabels: true,
|
|
152
|
+
containerCollapse: true,
|
|
153
|
+
size: "sm"
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
exports.DEFAULT_DOCUMENT_VIEW_TOGGLE_LABELS = DEFAULT_DOCUMENT_VIEW_TOGGLE_LABELS;
|
|
159
|
+
exports.DocumentViewToggle = DocumentViewToggle;
|
|
160
|
+
exports.ViewToggle = ViewToggle;
|
|
161
|
+
//# sourceMappingURL=chunk-ZPERNIMP.cjs.map
|
|
162
|
+
//# sourceMappingURL=chunk-ZPERNIMP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/files/ViewToggle.tsx"],"names":["useRef","useState","jsxs","jsx","ToggleGroupItem","Tooltip","TooltipTrigger","TooltipContent","ToggleGroup","cn","FileImage","Table2","BookOpen","Search","Select","SelectTrigger","testIdOr","SelectValue","SelectContent","SelectItem"],"mappings":"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","file":"chunk-ZPERNIMP.cjs","sourcesContent":["import { useRef, useState, type ReactNode } from 'react'\nimport { BookOpen, FileImage, Search, Table2 } from 'lucide-react'\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n ToggleGroup,\n ToggleGroupItem,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n cn,\n} from '@arbidocs/react/ui'\nimport { testIdOr } from '../chat/test-id'\n\n/** Names of the four document view modes. Pass a partial `labels` to translate or reword. */\nexport interface DocumentViewToggleLabels {\n gallery: string\n table: string\n review: string\n smartSearch: string\n}\n\nexport const DEFAULT_DOCUMENT_VIEW_TOGGLE_LABELS: DocumentViewToggleLabels = {\n gallery: 'Gallery',\n table: 'Table',\n review: 'Review',\n smartSearch: 'Smart Search',\n}\n\nexport interface ViewToggleOption {\n value: string\n icon: ReactNode\n label: string\n /** Overrides this item's test id (default `${testIdPrefix}-${value}-button`). */\n testId?: string\n}\n\nexport interface ViewToggleProps {\n options: ViewToggleOption[]\n value: string\n onChange: (value: string) => void\n /** Item test ids are `${testIdPrefix}-${value}-button` unless an option sets its own `testId`. */\n testIdPrefix?: string\n showLabels?: boolean\n hideTooltips?: boolean\n size?: 'default' | 'sm'\n /**\n * Collapse labels to icons by the width of the nearest `@container` ancestor instead of the\n * viewport. The consumer must mark that region `@container`.\n */\n containerCollapse?: boolean\n className?: string\n}\n\ninterface ViewToggleItemProps {\n option: ViewToggleOption\n size: 'default' | 'sm'\n testIdPrefix: string\n showLabel: boolean\n labelClassName: string\n hideTooltip: boolean\n}\n\nfunction ViewToggleItem({\n option,\n size,\n testIdPrefix,\n showLabel,\n labelClassName,\n hideTooltip,\n}: ViewToggleItemProps) {\n const labelRef = useRef<HTMLSpanElement>(null)\n const [isTipNeeded, setIsTipNeeded] = useState(true)\n // A control that shows its own text needs no tooltip repeating it; when the container is too\n // narrow and the label collapses to the icon, the tooltip is the label.\n const isLabelShown = () => !!labelRef.current && labelRef.current.offsetParent !== null\n const content = (\n <span\n className=\"flex items-center gap-1.5\"\n onPointerEnter={() => setIsTipNeeded(!isLabelShown())}\n onFocus={() => setIsTipNeeded(!isLabelShown())}\n >\n {option.icon}\n {showLabel && (\n <span ref={labelRef} className={labelClassName}>\n {option.label}\n </span>\n )}\n </span>\n )\n return (\n // The tooltip lives INSIDE the item: wrapping the ToggleGroupItem would make Radix\n // Tooltip's data-state collide with the toggle's on/off state.\n <ToggleGroupItem\n value={option.value}\n aria-label={option.label}\n size={size}\n className=\"rounded-[5px] border-0 bg-transparent text-muted-foreground pointer-coarse:min-h-11 data-[state=off]:hover:bg-background/60 data-[state=off]:hover:text-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:hover:bg-accent data-[state=on]:hover:text-accent-foreground\"\n data-testid={option.testId ?? `${testIdPrefix}-${option.value}-button`}\n >\n {hideTooltip ? (\n content\n ) : (\n <Tooltip>\n <TooltipTrigger asChild>{content}</TooltipTrigger>\n {isTipNeeded && <TooltipContent>{option.label}</TooltipContent>}\n </Tooltip>\n )}\n </ToggleGroupItem>\n )\n}\n\n/** Segmented view switch: selected = accent tint, tone-only hover, 44px targets on touch. */\nexport function ViewToggle({\n options,\n value,\n onChange,\n testIdPrefix = 'view',\n showLabels = false,\n hideTooltips = false,\n size = 'default',\n containerCollapse = false,\n className,\n}: ViewToggleProps) {\n const labelClassName = containerCollapse\n ? 'hidden @lg:inline text-sm'\n : 'hidden md:inline text-sm'\n return (\n <ToggleGroup\n variant=\"default\"\n type=\"single\"\n value={value}\n onValueChange={(next) => next && onChange(next)}\n className={cn('gap-0.5 rounded-md bg-muted p-0.5', className)}\n >\n {options.map((option) => (\n <ViewToggleItem\n key={option.value}\n option={option}\n size={size}\n testIdPrefix={testIdPrefix}\n showLabel={showLabels}\n labelClassName={labelClassName}\n hideTooltip={hideTooltips}\n />\n ))}\n </ToggleGroup>\n )\n}\n\nexport type DocumentViewMode = 'grid' | 'explorer' | 'navigator' | 'search'\n\nfunction documentViewOptions(l: DocumentViewToggleLabels): ViewToggleOption[] {\n return [\n // \"Gallery\" (page-preview grid) reads more conventionally than \"Tiles\".\n { value: 'explorer', icon: <FileImage className=\"size-3.5\" />, label: l.gallery },\n { value: 'grid', icon: <Table2 className=\"size-3.5\" />, label: l.table },\n { value: 'navigator', icon: <BookOpen className=\"size-3.5\" />, label: l.review },\n { value: 'search', icon: <Search className=\"size-3.5\" />, label: l.smartSearch },\n ]\n}\n\nexport interface DocumentViewToggleProps {\n viewMode: DocumentViewMode\n onChange: (mode: DocumentViewMode) => void\n /** Collapse the four modes into one select trigger (narrow viewports). */\n compact?: boolean\n labels?: Partial<DocumentViewToggleLabels>\n /** Overrides the segmented items' prefix (default `documents-layout`: `<prefix>-<mode>-button`). */\n testIdPrefix?: string\n /** Per-mode item ids, for hosts that keep their own (e.g. `documents-view-gallery`). */\n testIds?: Partial<Record<DocumentViewMode, string>>\n /** Overrides the compact select test ids (defaults keep the current ids). */\n compactTestIds?: Partial<{ select: string; option: (mode: DocumentViewMode) => string }>\n}\n\n/** The Documents page's Gallery / Table / Review / Smart Search switch. */\nexport function DocumentViewToggle({\n viewMode,\n onChange,\n compact,\n labels,\n testIdPrefix,\n testIds,\n compactTestIds,\n}: DocumentViewToggleProps) {\n const options = documentViewOptions({ ...DEFAULT_DOCUMENT_VIEW_TOGGLE_LABELS, ...labels }).map(\n (o) => ({ ...o, testId: testIds?.[o.value as DocumentViewMode] })\n )\n if (compact) {\n const current = options.find((o) => o.value === viewMode) ?? options[0]\n return (\n <Select value={viewMode} onValueChange={(v) => onChange(v as DocumentViewMode)}>\n <SelectTrigger\n className=\"h-7 w-10 justify-center gap-0 border-input p-0 pointer-coarse:h-11! pointer-coarse:w-11! shrink-0 [&>svg]:hidden\"\n aria-label={current.label}\n data-testid={testIdOr(compactTestIds?.select, {\n testId: 'documents-layout-compact-select',\n })}\n >\n <SelectValue>{current.icon}</SelectValue>\n </SelectTrigger>\n <SelectContent align=\"center\">\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={option.value}\n data-testid={testIdOr(compactTestIds?.option?.(option.value as DocumentViewMode), {\n testId: `documents-layout-compact-${option.value}-option`,\n })}\n >\n <span className=\"flex items-center gap-2\">\n {option.icon}\n {option.label}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n }\n return (\n <ViewToggle\n options={options}\n value={viewMode}\n onChange={(v) => onChange(v as DocumentViewMode)}\n testIdPrefix={testIdPrefix ?? 'documents-layout'}\n showLabels\n containerCollapse\n size=\"sm\"\n />\n )\n}\n"]}
|
package/dist/connection/ai.d.ts
CHANGED
|
@@ -19,11 +19,12 @@ export declare function useConnectedAiTask(): {
|
|
|
19
19
|
type: "arbi.artifact";
|
|
20
20
|
doc_ext_id: string;
|
|
21
21
|
title: string;
|
|
22
|
-
mode: "markdown" | "html" | "text" | "image";
|
|
22
|
+
mode: "markdown" | "html" | "text" | "react" | "image";
|
|
23
23
|
content: string;
|
|
24
24
|
file_type: string;
|
|
25
25
|
is_complete: boolean;
|
|
26
26
|
version: number;
|
|
27
|
+
parent_doc_ext_id?: string | null;
|
|
27
28
|
message_ext_id?: string | null;
|
|
28
29
|
}[];
|
|
29
30
|
reset: () => void;
|
|
@@ -52,6 +53,8 @@ export declare function useWorkspaceDocs(): {
|
|
|
52
53
|
re_ocred?: boolean | null | undefined;
|
|
53
54
|
config_ext_id?: string | null | undefined;
|
|
54
55
|
parent_ext_id?: string | null | undefined;
|
|
56
|
+
source_message_ext_id?: string | null | undefined;
|
|
57
|
+
conversation_ext_id?: string | null | undefined;
|
|
55
58
|
created_by_ext_id: string;
|
|
56
59
|
updated_by_ext_id?: string | null | undefined;
|
|
57
60
|
created_at: string;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export interface FactRowActionsLabels {
|
|
2
2
|
actions: string;
|
|
3
3
|
edit: string;
|
|
4
|
+
/** Tooltip on a disabled Edit: rewording a fact is for its creator or a workspace owner. */
|
|
5
|
+
editRestricted: string;
|
|
4
6
|
delete: string;
|
|
5
7
|
}
|
|
6
8
|
export declare const DEFAULT_FACT_ROW_ACTIONS_LABELS: FactRowActionsLabels;
|
|
@@ -11,8 +13,10 @@ export interface FactRowActionsTestIds {
|
|
|
11
13
|
}
|
|
12
14
|
export interface FactRowActionsProps {
|
|
13
15
|
onEdit: () => void;
|
|
16
|
+
/** False when the viewer may not reword the fact: Edit is shown disabled, with the reason. */
|
|
17
|
+
canEdit?: boolean;
|
|
14
18
|
onDelete: () => void;
|
|
15
19
|
labels?: Partial<FactRowActionsLabels>;
|
|
16
20
|
testIds?: Partial<FactRowActionsTestIds>;
|
|
17
21
|
}
|
|
18
|
-
export declare function FactRowActions({ onEdit, onDelete, labels, testIds }: FactRowActionsProps): import("react").JSX.Element;
|
|
22
|
+
export declare function FactRowActions({ onEdit, canEdit, onDelete, labels, testIds, }: FactRowActionsProps): import("react").JSX.Element;
|
|
@@ -62,7 +62,7 @@ export interface FactColumnSlots<T extends FactRowView> {
|
|
|
62
62
|
/** The Verified switch. */
|
|
63
63
|
renderVerified: (fact: T) => ReactNode;
|
|
64
64
|
/** The Shared switch. */
|
|
65
|
-
renderShared: (fact: T) => ReactNode;
|
|
65
|
+
renderShared: (fact: T, params: ICellRendererParams<T>) => ReactNode;
|
|
66
66
|
/** The creator avatar. */
|
|
67
67
|
renderCreator: (fact: T, params: ICellRendererParams<T>) => ReactNode;
|
|
68
68
|
/** Sort/filter value for the Created by column (the creator's display name). */
|
package/dist/facts/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkZPERNIMP_cjs = require('../chunk-ZPERNIMP.cjs');
|
|
5
5
|
var chunkOUW6G4O2_cjs = require('../chunk-OUW6G4O2.cjs');
|
|
6
6
|
var chunkVPPX5XUF_cjs = require('../chunk-VPPX5XUF.cjs');
|
|
7
|
-
var
|
|
7
|
+
var chunkJGZTRLKL_cjs = require('../chunk-JGZTRLKL.cjs');
|
|
8
8
|
var chunk5B4PXAKI_cjs = require('../chunk-5B4PXAKI.cjs');
|
|
9
9
|
require('../chunk-FX3K6LNZ.cjs');
|
|
10
10
|
require('../chunk-C54XEN5T.cjs');
|
|
@@ -261,7 +261,7 @@ function createFactColumns(slots) {
|
|
|
261
261
|
headerClass: "header-hcenter",
|
|
262
262
|
cellDataType: "boolean",
|
|
263
263
|
valueGetter: (params) => params.data?.shared ?? false,
|
|
264
|
-
cellRenderer: (params) => params.data ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center", children: slots.renderShared(params.data) }) : null
|
|
264
|
+
cellRenderer: (params) => params.data ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center", children: slots.renderShared(params.data, params) }) : null
|
|
265
265
|
},
|
|
266
266
|
{
|
|
267
267
|
colId: "created_by",
|
|
@@ -348,9 +348,16 @@ function createFactColumns(slots) {
|
|
|
348
348
|
var DEFAULT_FACT_ROW_ACTIONS_LABELS = {
|
|
349
349
|
actions: "Fact actions",
|
|
350
350
|
edit: "Edit",
|
|
351
|
+
editRestricted: "Only the creator or a workspace owner can reword this fact",
|
|
351
352
|
delete: "Delete"
|
|
352
353
|
};
|
|
353
|
-
function FactRowActions({
|
|
354
|
+
function FactRowActions({
|
|
355
|
+
onEdit,
|
|
356
|
+
canEdit = true,
|
|
357
|
+
onDelete,
|
|
358
|
+
labels,
|
|
359
|
+
testIds
|
|
360
|
+
}) {
|
|
354
361
|
const l = { ...DEFAULT_FACT_ROW_ACTIONS_LABELS, ...labels };
|
|
355
362
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.DropdownMenu, { children: [
|
|
356
363
|
/* @__PURE__ */ jsxRuntime.jsx(ui.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -369,6 +376,8 @@ function FactRowActions({ onEdit, onDelete, labels, testIds }) {
|
|
|
369
376
|
ui.DropdownMenuItem,
|
|
370
377
|
{
|
|
371
378
|
onSelect: onEdit,
|
|
379
|
+
disabled: !canEdit,
|
|
380
|
+
title: canEdit ? void 0 : l.editRestricted,
|
|
372
381
|
"data-testid": chunkMHVNT4J3_cjs.testIdOr(testIds?.edit, { testId: "fact-action-edit" }),
|
|
373
382
|
children: [
|
|
374
383
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "mr-2 size-4" }),
|
|
@@ -503,7 +512,7 @@ function FactsTable({
|
|
|
503
512
|
]
|
|
504
513
|
);
|
|
505
514
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
506
|
-
|
|
515
|
+
chunkJGZTRLKL_cjs.GridView,
|
|
507
516
|
{
|
|
508
517
|
testId,
|
|
509
518
|
items: facts,
|
|
@@ -1302,7 +1311,7 @@ function FactsViewToggle({
|
|
|
1302
1311
|
testId: testIds?.[o.value]
|
|
1303
1312
|
}));
|
|
1304
1313
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1305
|
-
|
|
1314
|
+
chunkZPERNIMP_cjs.ViewToggle,
|
|
1306
1315
|
{
|
|
1307
1316
|
options,
|
|
1308
1317
|
value: viewMode,
|
|
@@ -1860,7 +1869,7 @@ function FactsBulkBar({
|
|
|
1860
1869
|
const l = { ...DEFAULT_FACTS_BULK_BAR_LABELS, ...labels };
|
|
1861
1870
|
const none = count === 0;
|
|
1862
1871
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-3", "data-slot": "facts-bulk-bar", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1863
|
-
|
|
1872
|
+
chunkJGZTRLKL_cjs.SelectionBar,
|
|
1864
1873
|
{
|
|
1865
1874
|
count,
|
|
1866
1875
|
onClear,
|
|
@@ -1878,7 +1887,7 @@ function FactsBulkBar({
|
|
|
1878
1887
|
) : null,
|
|
1879
1888
|
children: (isCompact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1880
1889
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1881
|
-
|
|
1890
|
+
chunkJGZTRLKL_cjs.SelectionBarAction,
|
|
1882
1891
|
{
|
|
1883
1892
|
icon: allSelectedPinned ? lucideReact.PinOff : lucideReact.Pin,
|
|
1884
1893
|
label: allSelectedPinned ? l.unpin : l.pin,
|
|
@@ -1891,7 +1900,7 @@ function FactsBulkBar({
|
|
|
1891
1900
|
}
|
|
1892
1901
|
),
|
|
1893
1902
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1894
|
-
|
|
1903
|
+
chunkJGZTRLKL_cjs.SelectionBarAction,
|
|
1895
1904
|
{
|
|
1896
1905
|
icon: lucideReact.Tags,
|
|
1897
1906
|
label: l.label,
|