@arbidocs/blocks 0.4.88 → 0.4.90
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 +207 -207
- package/dist/agents/index.js +2 -2
- package/dist/{chunk-2CFW2ELM.cjs → chunk-2EI7NCUA.cjs} +2 -8
- package/dist/chunk-2EI7NCUA.cjs.map +1 -0
- package/dist/{chunk-UZV27QLC.js → chunk-NQS7NFGM.js} +3 -3
- package/dist/{chunk-UZV27QLC.js.map → chunk-NQS7NFGM.js.map} +1 -1
- package/dist/{chunk-FNEL2BYV.cjs → chunk-TMKJACMP.cjs} +6 -6
- package/dist/{chunk-FNEL2BYV.cjs.map → chunk-TMKJACMP.cjs.map} +1 -1
- package/dist/{chunk-ZX2VPMBJ.js → chunk-YU2KUMGE.js} +2 -8
- package/dist/chunk-YU2KUMGE.js.map +1 -0
- package/dist/connect/index.cjs +52 -10
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.js +52 -10
- package/dist/connect/index.js.map +1 -1
- package/dist/connection/WorkflowRunnerDialogs.d.ts +2 -0
- package/dist/facts/FactSourceGroup.d.ts +2 -1
- package/dist/facts/index.cjs +6 -6
- package/dist/facts/index.cjs.map +1 -1
- package/dist/facts/index.js +3 -3
- package/dist/facts/index.js.map +1 -1
- package/dist/files/cells/LabelMultiSelect.d.ts +11 -3
- package/dist/files/index.cjs +19 -13
- package/dist/files/index.cjs.map +1 -1
- package/dist/files/index.js +18 -12
- package/dist/files/index.js.map +1 -1
- package/dist/index.cjs +322 -318
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +49 -45
- package/dist/index.js.map +1 -1
- package/dist/shell/FilterInput.d.ts +1 -3
- package/dist/shell/index.cjs +4 -4
- package/dist/shell/index.js +1 -1
- package/dist/tags/TagDetail.d.ts +10 -1
- package/dist/workflow-canvas/index.cjs +9 -9
- package/dist/workflow-canvas/index.js +2 -2
- package/package.json +4 -4
- package/dist/chunk-2CFW2ELM.cjs.map +0 -1
- package/dist/chunk-ZX2VPMBJ.js.map +0 -1
|
@@ -21,7 +21,6 @@ function FilterInput({
|
|
|
21
21
|
hideFieldPicker = false,
|
|
22
22
|
ariaLabel,
|
|
23
23
|
onChange,
|
|
24
|
-
onSubmit,
|
|
25
24
|
fields,
|
|
26
25
|
onFieldsChange,
|
|
27
26
|
filter,
|
|
@@ -53,11 +52,6 @@ function FilterInput({
|
|
|
53
52
|
"aria-label": ariaLabel,
|
|
54
53
|
value,
|
|
55
54
|
onChange: (e) => onChange(e.target.value),
|
|
56
|
-
onKeyDown: onSubmit ? (e) => {
|
|
57
|
-
if (e.key !== "Enter") return;
|
|
58
|
-
e.preventDefault();
|
|
59
|
-
onSubmit(value);
|
|
60
|
-
} : void 0,
|
|
61
55
|
placeholder: l.placeholder,
|
|
62
56
|
"data-testid": testIdOr(testIds?.input, { testId: "facts-filter-input" }),
|
|
63
57
|
className: cn(
|
|
@@ -131,5 +125,5 @@ function FilterInput({
|
|
|
131
125
|
}
|
|
132
126
|
|
|
133
127
|
export { DEFAULT_FILTER_FIELDS, DEFAULT_FILTER_INPUT_LABELS, FilterInput };
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
135
|
-
//# sourceMappingURL=chunk-
|
|
128
|
+
//# sourceMappingURL=chunk-YU2KUMGE.js.map
|
|
129
|
+
//# sourceMappingURL=chunk-YU2KUMGE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shell/FilterInput.tsx"],"names":[],"mappings":"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","file":"chunk-YU2KUMGE.js","sourcesContent":["/** Shared page filter with configurable searchable fields and optional quick-filter control. */\nimport type { ReactNode } from 'react'\nimport { X, Filter, SlidersHorizontal, Check } from 'lucide-react'\nimport {\n Command,\n CommandGroup,\n CommandItem,\n CommandList,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n cn,\n} from '@arbidocs/react/ui'\nimport { testIdOr } from '../chat/test-id'\n\nexport type FilterField = 'text' | 'labels'\n\nexport const DEFAULT_FILTER_FIELDS: { value: FilterField; label: string }[] = [\n { value: 'text', label: 'Text' },\n { value: 'labels', label: 'Labels' },\n]\n\nexport interface FilterInputLabels<Field extends string = FilterField> {\n placeholder: string\n clear: string\n chooseFields: string\n fieldsHeading: string\n /** Display name per searchable field. */\n fieldNames: Partial<Record<Field, string>>\n}\n\nexport const DEFAULT_FILTER_INPUT_LABELS: FilterInputLabels = {\n placeholder: 'Filter...',\n clear: 'Clear filter',\n chooseFields: 'Choose fields to filter',\n fieldsHeading: 'Filter fields',\n fieldNames: { text: 'Text', labels: 'Labels' },\n}\n\nexport interface FilterInputTestIds<Field extends string = FilterField> {\n root: string\n quick: string\n input: string\n fieldsButton: string\n field: (field: Field) => string\n}\n\nexport interface FilterInputProps<Field extends string = FilterField> {\n fieldOptions?: { value: Field; label: string }[]\n value: string\n /** Lists with one searchable field need no field selector. */\n hideFieldPicker?: boolean\n ariaLabel?: string\n onChange: (q: string) => void\n fields: Field[]\n onFieldsChange: (fields: Field[]) => void\n /**\n * The quick-filter dropdown trigger, embedded inside the input on the left\n * (mirroring the Files search box). When absent, a static funnel icon shows.\n */\n filter?: ReactNode\n /** Width classes for the box (default `w-44`). */\n className?: string\n /** No outline: a soft fill instead of the input border, for a header that is already ruled. */\n borderless?: boolean\n labels?: Partial<FilterInputLabels<Field>>\n testIds?: Partial<FilterInputTestIds<Field>>\n}\n\nexport function FilterInput<Field extends string = FilterField>({\n fieldOptions,\n value,\n hideFieldPicker = false,\n ariaLabel,\n onChange,\n fields,\n onFieldsChange,\n filter,\n className,\n borderless = false,\n labels,\n testIds,\n}: FilterInputProps<Field>) {\n const l = { ...DEFAULT_FILTER_INPUT_LABELS, ...labels }\n const options = fieldOptions ?? (DEFAULT_FILTER_FIELDS as { value: Field; label: string }[])\n const toggleField = (field: Field) =>\n onFieldsChange(fields.includes(field) ? fields.filter((f) => f !== field) : [...fields, field])\n\n return (\n <div\n className={cn('flex min-w-0 items-center', className ?? 'w-44 pointer-coarse:w-56')}\n data-testid={testIdOr(testIds?.root, { testId: 'facts-filter' })}\n >\n <div className=\"relative flex-1 min-w-0\">\n {filter ? (\n <div\n className=\"absolute left-1 top-1/2 z-10 -translate-y-1/2\"\n data-testid={testIdOr(testIds?.quick, { testId: 'facts-filter-quick' })}\n >\n {filter}\n </div>\n ) : (\n <Filter className=\"pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground\" />\n )}\n <Input\n aria-label={ariaLabel}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={l.placeholder}\n data-testid={testIdOr(testIds?.input, { testId: 'facts-filter-input' })}\n className={cn(\n 'h-7 pr-12 text-sm shadow-none focus-visible:ring-0 pointer-coarse:h-11 pointer-coarse:pr-12',\n // Touch: the 44px clear button only needs its room while there is text to clear, so\n // an empty field keeps space for its placeholder on a phone.\n value && 'pointer-coarse:pr-24',\n borderless\n ? 'border-transparent bg-muted/50 hover:bg-muted focus-visible:bg-muted'\n : 'border-input bg-background',\n filter ? 'pl-11' : 'pl-7',\n hideFieldPicker && 'pr-7 pointer-coarse:pr-11'\n )}\n />\n {value && (\n <button\n type=\"button\"\n onClick={() => onChange('')}\n aria-label={l.clear}\n className={cn(\n 'absolute top-1/2 z-10 -translate-y-1/2 text-muted-foreground hover:text-foreground pointer-coarse:flex pointer-coarse:size-11 pointer-coarse:items-center pointer-coarse:justify-center',\n hideFieldPicker\n ? 'right-1.5 pointer-coarse:right-0'\n : 'right-7 pointer-coarse:right-11'\n )}\n >\n <X className=\"size-3\" />\n </button>\n )}\n {/* Field picker — inside the input on the right, muted, exactly as the\n Files search box renders it. */}\n {!hideFieldPicker && (\n <Popover>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n aria-label={l.chooseFields}\n data-testid={testIdOr(testIds?.fieldsButton, {\n testId: 'facts-filter-fields-button',\n })}\n className=\"absolute right-1.5 top-1/2 z-10 -translate-y-1/2 !h-5 !w-5 !p-0 text-muted-foreground/60 transition-colors hover:text-foreground pointer-coarse:right-0 pointer-coarse:!flex pointer-coarse:!h-11 pointer-coarse:!w-11 pointer-coarse:items-center pointer-coarse:justify-center\"\n >\n <SlidersHorizontal className=\"size-3.5\" />\n </button>\n </PopoverTrigger>\n <PopoverContent className=\"w-44 p-0\" align=\"end\" sideOffset={4}>\n <Command shouldFilter={false}>\n <CommandList>\n <CommandGroup heading={l.fieldsHeading}>\n {options.map((option) => {\n const isSelected = fields.includes(option.value)\n return (\n <CommandItem\n key={option.value}\n onSelect={() => toggleField(option.value)}\n className=\"cursor-pointer text-sm\"\n data-testid={testIdOr(testIds?.field?.(option.value), {\n testId: `facts-filter-field-${option.value}`,\n })}\n >\n <div\n className={cn(\n 'mr-2 flex size-3.5 items-center justify-center rounded-sm border border-primary',\n isSelected\n ? 'bg-primary text-primary-foreground'\n : 'opacity-50 [&_svg]:invisible'\n )}\n >\n <Check className=\"size-3\" />\n </div>\n {labels?.fieldNames?.[option.value] ?? option.label}\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )}\n </div>\n </div>\n )\n}\n"]}
|
package/dist/connect/index.cjs
CHANGED
|
@@ -13,7 +13,7 @@ var chunk5XZU64E2_cjs = require('../chunk-5XZU64E2.cjs');
|
|
|
13
13
|
var chunkN26CXGXC_cjs = require('../chunk-N26CXGXC.cjs');
|
|
14
14
|
var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
|
|
15
15
|
require('../chunk-DETZZBG2.cjs');
|
|
16
|
-
var
|
|
16
|
+
var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
|
|
17
17
|
require('../chunk-7D737FLE.cjs');
|
|
18
18
|
var chunkQVBZESYQ_cjs = require('../chunk-QVBZESYQ.cjs');
|
|
19
19
|
require('../chunk-ADOKTJHV.cjs');
|
|
@@ -558,6 +558,8 @@ var DEFAULT_WORKFLOW_RUNNER_DIALOG_LABELS = {
|
|
|
558
558
|
reviewDescription: "Each document against each review column.",
|
|
559
559
|
document: "Document",
|
|
560
560
|
empty: "\u2014",
|
|
561
|
+
showMore: "Show more",
|
|
562
|
+
showLess: "Show less",
|
|
561
563
|
wordTitle: "Tracked changes"
|
|
562
564
|
};
|
|
563
565
|
var SIGN_PDF_RETRIES = 4;
|
|
@@ -699,18 +701,25 @@ function WorkflowReviewGridDialog({
|
|
|
699
701
|
labels.loadingDocument
|
|
700
702
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full border-collapse text-sm", children: [
|
|
701
703
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
702
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "sticky left-0 border-b border-border bg-
|
|
703
|
-
columns.map((c) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
704
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "sticky left-0 z-10 border-b border-border bg-background p-2 text-left align-bottom font-medium", children: labels.document }),
|
|
705
|
+
columns.map((c) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
706
|
+
"th",
|
|
707
|
+
{
|
|
708
|
+
className: "border-b border-border p-2 text-left align-bottom font-medium",
|
|
709
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: `${VALUE_WIDTH} line-clamp-2 break-words`, title: c.name, children: c.name })
|
|
710
|
+
},
|
|
711
|
+
c.id
|
|
712
|
+
))
|
|
704
713
|
] }) }),
|
|
705
714
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: (docs.data ?? []).map((d) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { "data-testid": `workflow-review-grid-row-${d.external_id}`, children: [
|
|
706
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "sticky left-0
|
|
715
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "sticky left-0 z-10 border-b border-border bg-background p-2 align-top", children: /* @__PURE__ */ jsxRuntime.jsx(DocumentName, { onClick: onOpenDocument && (() => onOpenDocument(d.external_id)), children: d.file_name ?? d.external_id }) }),
|
|
707
716
|
columns.map((c) => {
|
|
708
717
|
const note = d.doctags?.find((t) => t.tag_ext_id === c.id)?.note;
|
|
709
718
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
710
719
|
"td",
|
|
711
720
|
{
|
|
712
|
-
className: "
|
|
713
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
721
|
+
className: "border-b border-border p-2 align-top text-muted-foreground",
|
|
722
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ReviewValue, { value: note || labels.empty, labels })
|
|
714
723
|
},
|
|
715
724
|
c.id
|
|
716
725
|
);
|
|
@@ -720,16 +729,49 @@ function WorkflowReviewGridDialog({
|
|
|
720
729
|
}
|
|
721
730
|
);
|
|
722
731
|
}
|
|
723
|
-
|
|
732
|
+
var DOCUMENT_WIDTH = "w-40 sm:w-56";
|
|
733
|
+
var VALUE_WIDTH = "min-w-48 max-w-80";
|
|
734
|
+
function DocumentName({ onClick, children }) {
|
|
735
|
+
const className = `${DOCUMENT_WIDTH} line-clamp-2 break-words text-left font-medium`;
|
|
724
736
|
return onClick ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
725
737
|
"button",
|
|
726
738
|
{
|
|
727
739
|
type: "button",
|
|
728
740
|
onClick,
|
|
729
|
-
|
|
741
|
+
title: children,
|
|
742
|
+
className: `${className} text-primary hover:underline`,
|
|
730
743
|
children
|
|
731
744
|
}
|
|
732
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("
|
|
745
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { title: children, className, children });
|
|
746
|
+
}
|
|
747
|
+
function ReviewValue({ value, labels }) {
|
|
748
|
+
const ref = react.useRef(null);
|
|
749
|
+
const [expanded, setExpanded] = react.useState(false);
|
|
750
|
+
const [clamped, setClamped] = react.useState(false);
|
|
751
|
+
react.useLayoutEffect(() => {
|
|
752
|
+
const el = ref.current;
|
|
753
|
+
if (el && !expanded) setClamped(el.scrollHeight > el.clientHeight + 1);
|
|
754
|
+
}, [value, expanded]);
|
|
755
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: VALUE_WIDTH, children: [
|
|
756
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
757
|
+
"div",
|
|
758
|
+
{
|
|
759
|
+
ref,
|
|
760
|
+
title: clamped && !expanded ? value : void 0,
|
|
761
|
+
className: `whitespace-pre-line break-words ${expanded ? "" : "line-clamp-4"}`,
|
|
762
|
+
children: value
|
|
763
|
+
}
|
|
764
|
+
),
|
|
765
|
+
(clamped || expanded) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
766
|
+
"button",
|
|
767
|
+
{
|
|
768
|
+
type: "button",
|
|
769
|
+
onClick: () => setExpanded((e) => !e),
|
|
770
|
+
className: "mt-1 text-xs font-medium text-primary hover:underline",
|
|
771
|
+
children: expanded ? labels.showLess : labels.showMore
|
|
772
|
+
}
|
|
773
|
+
)
|
|
774
|
+
] });
|
|
733
775
|
}
|
|
734
776
|
var DEFAULT_CONNECTED_WORKFLOW_RUNNER_LABELS = {
|
|
735
777
|
notify: "Ask to approve",
|
|
@@ -2985,7 +3027,7 @@ function ConnectedMailbox({
|
|
|
2985
3027
|
compactBreakpoint: 360,
|
|
2986
3028
|
firstTabContent: account ? /* @__PURE__ */ jsxRuntime.jsxs(chunkO4YPVYPO_cjs.FilesFilterBar, { children: [
|
|
2987
3029
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2988
|
-
|
|
3030
|
+
chunk2EI7NCUA_cjs.FilterInput,
|
|
2989
3031
|
{
|
|
2990
3032
|
value: query,
|
|
2991
3033
|
onChange: (q) => {
|