@arbidocs/blocks 0.5.75 → 0.5.76
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/README.md +23 -0
- package/dist/{ConnectedDocumentViewer-U5TQ4LFJ.js → ConnectedDocumentViewer-4LRZ5N3L.js} +6 -6
- package/dist/{ConnectedDocumentViewer-U5TQ4LFJ.js.map → ConnectedDocumentViewer-4LRZ5N3L.js.map} +1 -1
- package/dist/{ConnectedDocumentViewer-ID2RG5MF.cjs → ConnectedDocumentViewer-FREQM2ES.cjs} +7 -7
- package/dist/{ConnectedDocumentViewer-ID2RG5MF.cjs.map → ConnectedDocumentViewer-FREQM2ES.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-PBMS77ZP.js → ConnectedNativeDocxComparison-P7OJ3UVK.js} +6 -6
- package/dist/{ConnectedNativeDocxComparison-PBMS77ZP.js.map → ConnectedNativeDocxComparison-P7OJ3UVK.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-R4OFGVHY.cjs → ConnectedNativeDocxComparison-RQIKQM5O.cjs} +7 -7
- package/dist/{ConnectedNativeDocxComparison-R4OFGVHY.cjs.map → ConnectedNativeDocxComparison-RQIKQM5O.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-27JZI2D5.js → ConnectedNativeDocxEditor-HX3FDJ2T.js} +5 -5
- package/dist/{ConnectedNativeDocxEditor-27JZI2D5.js.map → ConnectedNativeDocxEditor-HX3FDJ2T.js.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-774XRIP3.cjs → ConnectedNativeDocxEditor-XKQV7A37.cjs} +7 -7
- package/dist/{ConnectedNativeDocxEditor-774XRIP3.cjs.map → ConnectedNativeDocxEditor-XKQV7A37.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-7TNIQTVE.cjs → ConnectedStreamedWordArtifact-CSRL4SCO.cjs} +7 -7
- package/dist/ConnectedStreamedWordArtifact-CSRL4SCO.cjs.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-XEFXYMKS.js → ConnectedStreamedWordArtifact-SSH6M5LN.js} +6 -6
- package/dist/ConnectedStreamedWordArtifact-SSH6M5LN.js.map +1 -0
- package/dist/{DocumentReviewCard-7OPL6PWG.cjs → DocumentReviewCard-3PZJPVQC.cjs} +14 -14
- package/dist/{DocumentReviewCard-7OPL6PWG.cjs.map → DocumentReviewCard-3PZJPVQC.cjs.map} +1 -1
- package/dist/{DocumentReviewCard-NDHCFYYT.js → DocumentReviewCard-KHMHG7A5.js} +9 -9
- package/dist/{DocumentReviewCard-NDHCFYYT.js.map → DocumentReviewCard-KHMHG7A5.js.map} +1 -1
- package/dist/{WorkspaceTableView-4INHJ7QK.js → WorkspaceTableView-4VMCTOFT.js} +5 -5
- package/dist/{WorkspaceTableView-4INHJ7QK.js.map → WorkspaceTableView-4VMCTOFT.js.map} +1 -1
- package/dist/{WorkspaceTableView-BTUSU3N3.cjs → WorkspaceTableView-Q44KNO3Z.cjs} +7 -7
- package/dist/{WorkspaceTableView-BTUSU3N3.cjs.map → WorkspaceTableView-Q44KNO3Z.cjs.map} +1 -1
- package/dist/agents/index.cjs +281 -281
- package/dist/agents/index.js +4 -4
- package/dist/{chunk-E3ILJRG4.cjs → chunk-2HECOUXC.cjs} +4 -3
- package/dist/chunk-2HECOUXC.cjs.map +1 -0
- package/dist/{chunk-AQPZ4QMV.cjs → chunk-3J2ASIM7.cjs} +3 -3
- package/dist/chunk-3J2ASIM7.cjs.map +1 -0
- package/dist/{chunk-QCFNPQWS.cjs → chunk-3LJUTIS6.cjs} +44 -44
- package/dist/{chunk-QCFNPQWS.cjs.map → chunk-3LJUTIS6.cjs.map} +1 -1
- package/dist/chunk-4B6HYQTW.cjs +20 -0
- package/dist/chunk-4B6HYQTW.cjs.map +1 -0
- package/dist/{chunk-4UMVAJJZ.js → chunk-6NEBHZIF.js} +4 -4
- package/dist/{chunk-4UMVAJJZ.js.map → chunk-6NEBHZIF.js.map} +1 -1
- package/dist/{chunk-IMIE5NOQ.js → chunk-7E5GV4R7.js} +4 -4
- package/dist/{chunk-IMIE5NOQ.js.map → chunk-7E5GV4R7.js.map} +1 -1
- package/dist/{chunk-LNXMSIKU.js → chunk-AWFEB4YJ.js} +8 -8
- package/dist/{chunk-LNXMSIKU.js.map → chunk-AWFEB4YJ.js.map} +1 -1
- package/dist/{chunk-JMQLTMJ7.js → chunk-B3BD5IJR.js} +16 -20
- package/dist/chunk-B3BD5IJR.js.map +1 -0
- package/dist/{chunk-5Q2U7GLI.cjs → chunk-CDW3W5U5.cjs} +4 -4
- package/dist/{chunk-5Q2U7GLI.cjs.map → chunk-CDW3W5U5.cjs.map} +1 -1
- package/dist/{chunk-SK5TP4DP.js → chunk-DBPPOJQM.js} +3 -3
- package/dist/{chunk-SK5TP4DP.js.map → chunk-DBPPOJQM.js.map} +1 -1
- package/dist/{chunk-NJ3YV3VM.cjs → chunk-DMYBHKNQ.cjs} +27 -27
- package/dist/{chunk-NJ3YV3VM.cjs.map → chunk-DMYBHKNQ.cjs.map} +1 -1
- package/dist/{chunk-563BHHHO.cjs → chunk-E6S6WHXL.cjs} +9 -9
- package/dist/{chunk-563BHHHO.cjs.map → chunk-E6S6WHXL.cjs.map} +1 -1
- package/dist/{chunk-BV34QPKE.js → chunk-EASXRDYQ.js} +3 -3
- package/dist/{chunk-BV34QPKE.js.map → chunk-EASXRDYQ.js.map} +1 -1
- package/dist/{chunk-JOFUAQTV.js → chunk-HWNVAQBX.js} +3 -3
- package/dist/{chunk-JOFUAQTV.js.map → chunk-HWNVAQBX.js.map} +1 -1
- package/dist/{chunk-PNWSEIWS.cjs → chunk-I3HK46DH.cjs} +4 -4
- package/dist/{chunk-PNWSEIWS.cjs.map → chunk-I3HK46DH.cjs.map} +1 -1
- package/dist/{chunk-GJKXYX47.js → chunk-IJ2CTMA7.js} +3 -3
- package/dist/{chunk-GJKXYX47.js.map → chunk-IJ2CTMA7.js.map} +1 -1
- package/dist/{chunk-7ZL6OVGO.cjs → chunk-IQFHOKQH.cjs} +23 -46
- package/dist/chunk-IQFHOKQH.cjs.map +1 -0
- package/dist/{chunk-7ZCM2GR2.js → chunk-IRCGXKLB.js} +3 -3
- package/dist/{chunk-7ZCM2GR2.js.map → chunk-IRCGXKLB.js.map} +1 -1
- package/dist/{chunk-G4GLDQLY.js → chunk-KG3W76BB.js} +3 -3
- package/dist/chunk-KG3W76BB.js.map +1 -0
- package/dist/{chunk-B66CICTP.cjs → chunk-KHLPBCRZ.cjs} +52 -52
- package/dist/{chunk-B66CICTP.cjs.map → chunk-KHLPBCRZ.cjs.map} +1 -1
- package/dist/{chunk-J4SEJSSV.js → chunk-KPIR4MJV.js} +6 -6
- package/dist/{chunk-J4SEJSSV.js.map → chunk-KPIR4MJV.js.map} +1 -1
- package/dist/{chunk-PA4EGGCI.js → chunk-KSHTODQZ.js} +3 -3
- package/dist/{chunk-PA4EGGCI.js.map → chunk-KSHTODQZ.js.map} +1 -1
- package/dist/{chunk-PT6D5B6L.cjs → chunk-MAUJVVFJ.cjs} +360 -410
- package/dist/chunk-MAUJVVFJ.cjs.map +1 -0
- package/dist/{chunk-MP7XCRHV.js → chunk-NRI5DKJE.js} +4 -3
- package/dist/chunk-NRI5DKJE.js.map +1 -0
- package/dist/{chunk-XXPDAENX.cjs → chunk-PGTDQBMX.cjs} +7 -7
- package/dist/{chunk-XXPDAENX.cjs.map → chunk-PGTDQBMX.cjs.map} +1 -1
- package/dist/{chunk-4JKK6S7U.cjs → chunk-S7G3A52F.cjs} +5 -5
- package/dist/{chunk-4JKK6S7U.cjs.map → chunk-S7G3A52F.cjs.map} +1 -1
- package/dist/{chunk-OUCWTKQT.js → chunk-SBFQF3BU.js} +4 -4
- package/dist/{chunk-OUCWTKQT.js.map → chunk-SBFQF3BU.js.map} +1 -1
- package/dist/{chunk-52VME6ZS.cjs → chunk-SIOBGNRY.cjs} +18 -18
- package/dist/{chunk-52VME6ZS.cjs.map → chunk-SIOBGNRY.cjs.map} +1 -1
- package/dist/chunk-SK3GBHPJ.js +15 -0
- package/dist/chunk-SK3GBHPJ.js.map +1 -0
- package/dist/{chunk-RADE22SM.cjs → chunk-T2OG3CPR.cjs} +4 -4
- package/dist/{chunk-RADE22SM.cjs.map → chunk-T2OG3CPR.cjs.map} +1 -1
- package/dist/{chunk-IGQJ6ET3.js → chunk-TWSOU6SE.js} +421 -501
- package/dist/chunk-TWSOU6SE.js.map +1 -0
- package/dist/{chunk-QRV4XYFJ.js → chunk-UCD7644N.js} +3 -3
- package/dist/{chunk-QRV4XYFJ.js.map → chunk-UCD7644N.js.map} +1 -1
- package/dist/{chunk-TQ4VGQHG.js → chunk-ULUCGL24.js} +3 -3
- package/dist/{chunk-TQ4VGQHG.js.map → chunk-ULUCGL24.js.map} +1 -1
- package/dist/{chunk-IRI6LPDX.cjs → chunk-UR4OSH2Q.cjs} +4 -4
- package/dist/{chunk-IRI6LPDX.cjs.map → chunk-UR4OSH2Q.cjs.map} +1 -1
- package/dist/{chunk-66QN6ZJR.cjs → chunk-URZAK3A3.cjs} +36 -36
- package/dist/{chunk-66QN6ZJR.cjs.map → chunk-URZAK3A3.cjs.map} +1 -1
- package/dist/{chunk-57S2PLCM.js → chunk-V2QWATXQ.js} +3 -3
- package/dist/{chunk-57S2PLCM.js.map → chunk-V2QWATXQ.js.map} +1 -1
- package/dist/{chunk-55JI2IGZ.cjs → chunk-VBLJNOVP.cjs} +4 -4
- package/dist/{chunk-55JI2IGZ.cjs.map → chunk-VBLJNOVP.cjs.map} +1 -1
- package/dist/{chunk-KFAFWPZK.cjs → chunk-VRMACPJR.cjs} +7 -7
- package/dist/{chunk-KFAFWPZK.cjs.map → chunk-VRMACPJR.cjs.map} +1 -1
- package/dist/{chunk-5Y6V7F6W.cjs → chunk-VWUNPAR2.cjs} +15 -19
- package/dist/chunk-VWUNPAR2.cjs.map +1 -0
- package/dist/{chunk-T3GTQXGP.js → chunk-W7CQ5MLR.js} +3 -3
- package/dist/{chunk-T3GTQXGP.js.map → chunk-W7CQ5MLR.js.map} +1 -1
- package/dist/{chunk-AOBNXZLS.cjs → chunk-Y3VXKSW7.cjs} +594 -674
- package/dist/chunk-Y3VXKSW7.cjs.map +1 -0
- package/dist/{chunk-RTYU6ZGO.cjs → chunk-YCABQ5W4.cjs} +4 -4
- package/dist/{chunk-RTYU6ZGO.cjs.map → chunk-YCABQ5W4.cjs.map} +1 -1
- package/dist/{chunk-EWHD3BY5.js → chunk-ZHHUEYSB.js} +25 -48
- package/dist/chunk-ZHHUEYSB.js.map +1 -0
- package/dist/{chunk-5PKIDR2Q.js → chunk-ZHJVABQ6.js} +361 -406
- package/dist/chunk-ZHJVABQ6.js.map +1 -0
- package/dist/connect/docx.cjs +11 -11
- package/dist/connect/docx.js +7 -7
- package/dist/connect/index.cjs +1448 -1367
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/index.d.ts +2 -0
- package/dist/connect/index.js +545 -466
- package/dist/connect/index.js.map +1 -1
- package/dist/connect/viewer.cjs +5 -5
- package/dist/connect/viewer.js +4 -4
- package/dist/connection/account-cluster/ConnectedAccountCluster.d.ts +2 -1
- package/dist/connection/facts/useFactFilters.d.ts +46 -0
- package/dist/connection/files/fields/ConnectedTagForm.d.ts +1 -1
- package/dist/connection/report-problem/ReportProblemDialog.d.ts +10 -8
- package/dist/connection/report-problem/useReportProblem.d.ts +2 -6
- package/dist/connection/tags/ConnectedTagTable.d.ts +1 -1
- package/dist/connection/tags/ConnectedTagsPage.d.ts +3 -1
- package/dist/connection/tags/TagsPageSections.d.ts +5 -3
- package/dist/connection/tags/tagged-content.d.ts +10 -0
- package/dist/connection/threads/useThreadTagFilter.d.ts +10 -0
- package/dist/connection/tips/ConnectedTipBar.d.ts +2 -1
- package/dist/connection/tips/useContextualHints.d.ts +6 -1
- package/dist/embed/index.cjs +13 -12
- package/dist/embed/index.js +8 -7
- package/dist/facts/index.cjs +45 -45
- package/dist/facts/index.js +2 -2
- package/dist/files/index.cjs +226 -226
- package/dist/files/index.js +2 -2
- package/dist/index.cjs +423 -367
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +76 -16
- package/dist/index.js.map +1 -1
- package/dist/settings/FilterChip.d.ts +2 -1
- package/dist/settings/TriStateFilterMenu.d.ts +1 -0
- package/dist/settings/index.cjs +158 -158
- package/dist/settings/index.js +2 -2
- package/dist/shell/index.cjs +14 -14
- package/dist/shell/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tags/TagDetail.d.ts +2 -2
- package/dist/tags/TagTable.d.ts +17 -3
- package/dist/tags/index.d.ts +1 -1
- package/dist/workflow-canvas/index.cjs +29 -29
- package/dist/workflow-canvas/index.js +12 -12
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedStreamedWordArtifact-7TNIQTVE.cjs.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-XEFXYMKS.js.map +0 -1
- package/dist/chunk-5PKIDR2Q.js.map +0 -1
- package/dist/chunk-5Y6V7F6W.cjs.map +0 -1
- package/dist/chunk-7ZL6OVGO.cjs.map +0 -1
- package/dist/chunk-AOBNXZLS.cjs.map +0 -1
- package/dist/chunk-AQPZ4QMV.cjs.map +0 -1
- package/dist/chunk-E3ILJRG4.cjs.map +0 -1
- package/dist/chunk-EWHD3BY5.js.map +0 -1
- package/dist/chunk-G4GLDQLY.js.map +0 -1
- package/dist/chunk-IGQJ6ET3.js.map +0 -1
- package/dist/chunk-JMQLTMJ7.js.map +0 -1
- package/dist/chunk-MP7XCRHV.js.map +0 -1
- package/dist/chunk-PT6D5B6L.cjs.map +0 -1
- package/dist/connection/tags/TagPlacement.d.ts +0 -16
|
@@ -116,7 +116,7 @@ function TriStateFilterMenu({
|
|
|
116
116
|
children: [
|
|
117
117
|
stateIcon,
|
|
118
118
|
option.icon && /* @__PURE__ */ jsx("span", { className: "[&>svg]:size-3.5", children: option.icon }),
|
|
119
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium", children: option.label }),
|
|
119
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium", children: option.displayLabel ?? option.label }),
|
|
120
120
|
/* @__PURE__ */ jsx("span", { className: "ml-auto font-semibold", children: option.count })
|
|
121
121
|
]
|
|
122
122
|
}
|
|
@@ -257,5 +257,5 @@ function TriStateFilterMenu({
|
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
export { DEFAULT_TRI_STATE_FILTER_MENU_LABELS, TriStateFilterMenu };
|
|
260
|
-
//# sourceMappingURL=chunk-
|
|
261
|
-
//# sourceMappingURL=chunk-
|
|
260
|
+
//# sourceMappingURL=chunk-KG3W76BB.js.map
|
|
261
|
+
//# sourceMappingURL=chunk-KG3W76BB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/settings/TriStateFilterMenu.tsx"],"names":["Fragment"],"mappings":"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","file":"chunk-KG3W76BB.js","sourcesContent":["import {\n Fragment,\n useEffect,\n useMemo,\n useRef,\n useState,\n type MouseEvent,\n type ReactNode,\n} from 'react'\nimport { Ban, Check, ChevronDown, ChevronRight, Filter, FunnelX, MoreVertical } from 'lucide-react'\nimport {\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n cn,\n} from '@arbidocs/react/ui'\n\n/** include keeps matches, exclude drops them, null is indifferent. */\nexport type TriState = 'include' | 'exclude' | null\n\nexport interface TriStateOption<T extends string = string> {\n id: T\n label: string\n displayLabel?: ReactNode\n icon?: ReactNode\n count: number\n disabled?: boolean\n /** Indent level (nested options such as folders). */\n depth?: number\n}\n\nexport interface TriStateGroup<T extends string = string> {\n label: string\n options: T[]\n collapsible?: boolean\n}\n\n/** Every fixed string of the filter menu. */\nexport interface TriStateFilterMenuLabels {\n clear: string\n}\n\nexport const DEFAULT_TRI_STATE_FILTER_MENU_LABELS: TriStateFilterMenuLabels = { clear: 'Clear' }\n\nexport interface HoverHandlers {\n onMouseEnter: () => void\n onMouseLeave: () => void\n}\n\nexport interface TriStateFilterMenuProps<T extends string> {\n /** Test id of the trigger. */\n testId: string\n open: boolean\n onOpenChange: (open: boolean) => void\n title?: string\n filterStates: Map<T, TriState>\n onFiltersChange: (filters: Map<T, TriState>) => void\n options: TriStateOption<T>[]\n groups?: TriStateGroup<T>[]\n /** Between the header and the options (e.g. a toggle). */\n topContent?: ReactNode\n /** Before a group, keyed by the group's label. */\n groupTopContent?: Record<string, ReactNode>\n /** After `topContent` (e.g. a folder navigator). */\n folderContent?: ReactNode\n /** After every group (e.g. a source toggle). */\n bottomContent?: ReactNode\n /** Label next to the filter icon of the trigger. */\n triggerLabel?: string\n /** Shows the active styling even with no tri-state filter set. */\n hasExternalActiveState?: boolean\n /** Never show the active styling (chips carry the indication instead). */\n suppressTriggerActiveStyle?: boolean\n /** Replaces the default trigger styling (e.g. flush inside a unified widget). */\n triggerClassName?: string\n /** A chevron after the icon/label instead of the dots: the trigger reads as a dropdown segment. */\n renderChevron?: boolean\n /** Open only on an explicit click, never on hover (trigger embedded in another control). */\n disableHoverOpen?: boolean\n /** Which edge of the trigger the menu lines up with (default: centered on it). */\n align?: 'start' | 'center' | 'end'\n /** Exposes the hover handlers so a wider hover target (a tab header) can drive the menu. */\n onHoverHandlers?: (handlers: HoverHandlers) => void\n labels?: Partial<TriStateFilterMenuLabels>\n}\n\n/**\n * Tri-state filter dropdown. Opens on hover (pointer) or click (locks it open until clicked\n * away); the open state is controlled so a host can persist it. Options cycle\n * neutral, include, exclude.\n */\nexport function TriStateFilterMenu<T extends string>({\n testId,\n open,\n onOpenChange,\n title,\n filterStates,\n onFiltersChange,\n options,\n groups,\n topContent,\n groupTopContent,\n folderContent,\n bottomContent,\n triggerLabel,\n hasExternalActiveState = false,\n suppressTriggerActiveStyle = false,\n triggerClassName,\n renderChevron = false,\n disableHoverOpen = false,\n align = 'center',\n onHoverHandlers,\n labels,\n}: TriStateFilterMenuProps<T>) {\n const l = { ...DEFAULT_TRI_STATE_FILTER_MENU_LABELS, ...labels }\n const [collapsedGroups, setCollapsedGroups] = useState<Set<string>>(\n () => new Set((groups ?? []).filter((g) => g.collapsible).map((g) => g.label))\n )\n // Opened by click: stays open until clicked away.\n const [isClickOpen, setIsClickOpen] = useState(false)\n const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const cancelPendingClose = () => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current)\n hoverTimeoutRef.current = null\n }\n }\n\n const handleMouseEnter = () => {\n if (disableHoverOpen) return\n cancelPendingClose()\n if (!isClickOpen) onOpenChange(true)\n }\n\n const handleMouseLeave = () => {\n if (disableHoverOpen || isClickOpen) return\n // Delay so the pointer can travel to the content.\n hoverTimeoutRef.current = setTimeout(() => {\n if (!isClickOpen) onOpenChange(false)\n }, 150)\n }\n\n const handleTriggerClick = () => {\n setIsClickOpen(!isClickOpen)\n onOpenChange(!isClickOpen)\n }\n\n useEffect(() => {\n onHoverHandlers?.({ onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave })\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => cancelPendingClose, [])\n\n const optionMap = useMemo(() => new Map(options.map((o) => [o.id, o])), [options])\n\n // neutral -> include -> exclude -> neutral\n const handleFilterToggle = (filterId: T) => {\n const next = new Map(filterStates)\n const current = next.get(filterId) ?? null\n next.set(filterId, current === null ? 'include' : current === 'include' ? 'exclude' : null)\n onFiltersChange(next)\n }\n\n const handleClearFilters = (e: MouseEvent) => {\n e.stopPropagation()\n // Only option ids: other keys (e.g. folder filters) stay.\n const cleared = new Map(filterStates)\n options.forEach((opt) => cleared.set(opt.id, null))\n onFiltersChange(cleared)\n }\n\n const clearButton = (\n <Button\n variant=\"ghost\"\n size=\"default\"\n onClick={handleClearFilters}\n className=\"ml-auto h-8 px-3 text-sm text-primary hover:text-primary pointer-coarse:h-11\"\n >\n <FunnelX className=\"mr-1.5 h-4 w-4 text-primary\" />\n {l.clear}\n </Button>\n )\n\n const hasActiveFilters = useMemo(() => {\n const ids = new Set(options.map((o) => o.id))\n return (\n hasExternalActiveState ||\n Array.from(filterStates.entries()).some(([k, v]) => ids.has(k) && v !== null)\n )\n }, [filterStates, options, hasExternalActiveState])\n const isActive = !suppressTriggerActiveStyle && hasActiveFilters\n\n // Without a title the Clear button rides on the first group's label row.\n const showInlineClear =\n !title &&\n hasActiveFilters &&\n !suppressTriggerActiveStyle &&\n !!groups &&\n groups.length > 0 &&\n !groups[0].collapsible\n\n const renderTriStateItem = (option: TriStateOption<T>) => {\n const state = filterStates.get(option.id) ?? null\n const badgeClass =\n state === null\n ? 'bg-card border-border text-foreground hover:bg-muted'\n : state === 'include'\n ? 'bg-primary text-primary-foreground border-primary hover:bg-primary'\n : 'bg-card text-red-text border-red-text hover:bg-red-bg'\n const stateIcon =\n state === null ? (\n <div className=\"size-3.5 rounded-sm border-2 border-border bg-transparent\" />\n ) : state === 'include' ? (\n <Check className=\"size-3\" strokeWidth={3} />\n ) : (\n <Ban className=\"size-3 text-red-text\" strokeWidth={3} />\n )\n const depthPadding = option.depth ? option.depth * 16 : 0\n\n return (\n <DropdownMenuItem\n key={option.id}\n onClick={() => handleFilterToggle(option.id)}\n onSelect={(e) => e.preventDefault()}\n disabled={option.disabled}\n className=\"cursor-pointer p-1\"\n style={depthPadding ? { paddingLeft: `${depthPadding + 4}px` } : undefined}\n >\n <Badge\n variant=\"outline\"\n className={cn(\n 'flex w-full items-center gap-2 px-3 py-1.5 text-sm pointer-coarse:min-h-11',\n badgeClass\n )}\n >\n {stateIcon}\n {option.icon && <span className=\"[&>svg]:size-3.5\">{option.icon}</span>}\n <span className=\"font-medium\">{option.displayLabel ?? option.label}</span>\n <span className=\"ml-auto font-semibold\">{option.count}</span>\n </Badge>\n </DropdownMenuItem>\n )\n }\n\n const toggleGroupCollapse = (label: string) => {\n setCollapsedGroups((prev) => {\n const next = new Set(prev)\n if (!next.delete(label)) next.add(label)\n return next\n })\n }\n\n const renderOptions = () => {\n if (!groups || groups.length === 0) return options.map(renderTriStateItem)\n\n return groups.map((group, groupIndex) => {\n const isCollapsed = !!group.collapsible && collapsedGroups.has(group.label)\n const activeCount = group.collapsible\n ? group.options.filter((id) => (filterStates.get(id) ?? null) !== null).length\n : 0\n\n return (\n <Fragment key={group.label}>\n {groupIndex > 0 && <DropdownMenuSeparator />}\n {groupTopContent?.[group.label] && (\n <>\n <div className=\"px-2 py-1.5\">{groupTopContent[group.label]}</div>\n <DropdownMenuSeparator />\n </>\n )}\n {group.collapsible ? (\n <button\n type=\"button\"\n onClick={() => toggleGroupCollapse(group.label)}\n aria-expanded={!isCollapsed}\n className=\"flex w-full cursor-pointer items-center gap-1 rounded-sm px-2 py-1.5 text-sm font-semibold text-primary hover:bg-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:min-h-11\"\n >\n {isCollapsed ? (\n <ChevronRight className=\"size-3.5\" />\n ) : (\n <ChevronDown className=\"size-3.5\" />\n )}\n <span>{group.label}</span>\n {isCollapsed && activeCount > 0 && (\n <Badge\n variant=\"outline\"\n className=\"ml-auto flex h-4 min-w-4 items-center justify-center rounded-md px-1 text-xs leading-none\"\n >\n {activeCount}\n </Badge>\n )}\n </button>\n ) : groupIndex === 0 && showInlineClear ? (\n <div className=\"flex items-center justify-between pr-1\">\n <DropdownMenuLabel className=\"text-primary\">{group.label}</DropdownMenuLabel>\n {clearButton}\n </div>\n ) : (\n <DropdownMenuLabel className=\"text-primary\">{group.label}</DropdownMenuLabel>\n )}\n {!isCollapsed &&\n group.options\n .map((id) => optionMap.get(id))\n .filter((opt): opt is TriStateOption<T> => opt !== undefined)\n .map(renderTriStateItem)}\n </Fragment>\n )\n })\n }\n\n const tone = isActive ? 'text-primary' : 'text-muted-foreground'\n\n return (\n <DropdownMenu\n modal={false}\n open={open}\n onOpenChange={(next) => {\n // Closed by the menu itself (Escape, choosing): the next click opens it again, rather than\n // toggling a stale click-open state shut as it opens.\n if (!next) setIsClickOpen(false)\n onOpenChange(next)\n }}\n >\n <DropdownMenuTrigger asChild>\n <span\n role=\"button\"\n tabIndex={0}\n data-slot=\"tri-state-filter-trigger\"\n className={\n triggerClassName ??\n 'inline-flex cursor-pointer items-center gap-1 rounded-sm px-1.5 py-0.5 text-sm font-medium transition-colors hover:bg-foreground/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring pointer-coarse:h-11! pointer-coarse:min-w-11 pointer-coarse:justify-center'\n }\n data-testid={testId}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onClick={handleTriggerClick}\n >\n <Filter\n className={cn(\n 'size-3 transition-colors',\n isActive ? 'fill-primary text-primary' : tone\n )}\n />\n {triggerLabel && <span className={tone}>{triggerLabel}</span>}\n {renderChevron ? (\n <ChevronDown className={cn('size-3 transition-colors', tone)} />\n ) : (\n triggerLabel && <MoreVertical className={cn('size-3 transition-colors', tone)} />\n )}\n </span>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align={align}\n className=\"w-80 border-0 bg-muted\"\n onCloseAutoFocus={(e) => e.preventDefault()}\n onMouseEnter={cancelPendingClose}\n onMouseLeave={() => {\n if (!isClickOpen) onOpenChange(false)\n }}\n onPointerDownOutside={(e) => {\n // Click-opened menus close only on a real outside click.\n if (!isClickOpen) return\n if (!(e.target as HTMLElement).closest('[role=\"menu\"]')) {\n setIsClickOpen(false)\n onOpenChange(false)\n } else {\n e.preventDefault()\n }\n }}\n >\n {(title || (hasActiveFilters && !suppressTriggerActiveStyle && !showInlineClear)) && (\n <>\n <div className=\"flex items-center justify-between px-2 py-1.5\">\n {title && <DropdownMenuLabel className=\"p-0 text-primary\">{title}</DropdownMenuLabel>}\n {hasActiveFilters && !showInlineClear && clearButton}\n </div>\n <DropdownMenuSeparator />\n </>\n )}\n {topContent && (\n <>\n <div className=\"px-2 py-1.5\">{topContent}</div>\n <DropdownMenuSeparator />\n </>\n )}\n {folderContent && (\n <>\n <div className=\"px-1 py-0.5\">{folderContent}</div>\n <DropdownMenuSeparator />\n </>\n )}\n {renderOptions()}\n {bottomContent && (\n <>\n <DropdownMenuSeparator />\n <div className=\"px-2 py-1.5\">{bottomContent}</div>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"]}
|
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkHYAYXLIZ_cjs = require('./chunk-HYAYXLIZ.cjs');
|
|
5
5
|
var chunkKWJW5TMH_cjs = require('./chunk-KWJW5TMH.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
6
|
+
var chunkI3HK46DH_cjs = require('./chunk-I3HK46DH.cjs');
|
|
7
|
+
var chunkURZAK3A3_cjs = require('./chunk-URZAK3A3.cjs');
|
|
8
|
+
var chunk2HECOUXC_cjs = require('./chunk-2HECOUXC.cjs');
|
|
9
|
+
var chunkPGTDQBMX_cjs = require('./chunk-PGTDQBMX.cjs');
|
|
10
10
|
var chunkWEYEZBU2_cjs = require('./chunk-WEYEZBU2.cjs');
|
|
11
11
|
var chunkJH6JTI76_cjs = require('./chunk-JH6JTI76.cjs');
|
|
12
12
|
var chunkZ3LFF3YT_cjs = require('./chunk-Z3LFF3YT.cjs');
|
|
13
13
|
var chunkRJWM3F6Q_cjs = require('./chunk-RJWM3F6Q.cjs');
|
|
14
14
|
var chunk54LJBS6B_cjs = require('./chunk-54LJBS6B.cjs');
|
|
15
15
|
var chunkNSD37OF5_cjs = require('./chunk-NSD37OF5.cjs');
|
|
16
|
-
var
|
|
16
|
+
var chunkE6S6WHXL_cjs = require('./chunk-E6S6WHXL.cjs');
|
|
17
17
|
var chunkUICJN7O2_cjs = require('./chunk-UICJN7O2.cjs');
|
|
18
18
|
var chunkP6TPVQRU_cjs = require('./chunk-P6TPVQRU.cjs');
|
|
19
|
-
var
|
|
19
|
+
var chunkT2OG3CPR_cjs = require('./chunk-T2OG3CPR.cjs');
|
|
20
20
|
var chunk555BS22J_cjs = require('./chunk-555BS22J.cjs');
|
|
21
21
|
var chunkQUMUAJ2P_cjs = require('./chunk-QUMUAJ2P.cjs');
|
|
22
22
|
var chunkEKJQJIAT_cjs = require('./chunk-EKJQJIAT.cjs');
|
|
@@ -38,25 +38,25 @@ function useSkillsEnabled() {
|
|
|
38
38
|
}
|
|
39
39
|
function useWorkflowDefinitions() {
|
|
40
40
|
const { data: listings } = react.useSkills();
|
|
41
|
-
const usage =
|
|
41
|
+
const usage = chunkE6S6WHXL_cjs.useWorkflowUsage();
|
|
42
42
|
const skillsEnabled = useSkillsEnabled();
|
|
43
43
|
return react$1.useMemo(() => {
|
|
44
44
|
const { host: builtins, skills: fromServer } = chunk555BS22J_cjs.mergeSkillWorkflows(
|
|
45
|
-
|
|
45
|
+
chunkE6S6WHXL_cjs.WEB_WORKFLOWS,
|
|
46
46
|
listings ?? []
|
|
47
47
|
);
|
|
48
48
|
const all = [...builtins, ...fromServer];
|
|
49
49
|
const byId = new Map(all.map((w) => [w.id, w]));
|
|
50
|
-
const pinned =
|
|
50
|
+
const pinned = chunkE6S6WHXL_cjs.DASHBOARD_PINNED.flatMap((id) => {
|
|
51
51
|
const w = byId.get(id);
|
|
52
52
|
return w ? [w] : [];
|
|
53
53
|
});
|
|
54
54
|
return {
|
|
55
55
|
skills: all,
|
|
56
56
|
skillsEnabled,
|
|
57
|
-
start: skillsEnabled ? [...builtins, ...
|
|
58
|
-
dashboard: [...pinned, ...
|
|
59
|
-
forTasks: [
|
|
57
|
+
start: skillsEnabled ? [...builtins, ...chunkE6S6WHXL_cjs.sortByRecentUse(fromServer, usage)] : [],
|
|
58
|
+
dashboard: [...pinned, ...chunkE6S6WHXL_cjs.DASHBOARD_OPERATIONS],
|
|
59
|
+
forTasks: [chunkE6S6WHXL_cjs.CUSTOM_TASK, ...all.filter((w) => w.schedulable), chunkE6S6WHXL_cjs.REMIND_TASK]
|
|
60
60
|
};
|
|
61
61
|
}, [listings, usage, skillsEnabled]);
|
|
62
62
|
}
|
|
@@ -84,7 +84,7 @@ function useWorkflowTasks() {
|
|
|
84
84
|
);
|
|
85
85
|
const create = react$1.useCallback(
|
|
86
86
|
async (ctx, forceWorkflow = false) => {
|
|
87
|
-
const request =
|
|
87
|
+
const request = chunkE6S6WHXL_cjs.taskComposerToCreateRequest(
|
|
88
88
|
{ ...ctx, documentTitles, plan: ctx.plan ?? null },
|
|
89
89
|
activeWorkspaceId ?? void 0,
|
|
90
90
|
forceWorkflow
|
|
@@ -126,7 +126,7 @@ function useWorkflowTasks() {
|
|
|
126
126
|
);
|
|
127
127
|
const update = react$1.useCallback(
|
|
128
128
|
async (task, ctx) => {
|
|
129
|
-
const patch =
|
|
129
|
+
const patch = chunkE6S6WHXL_cjs.taskComposerToUpdateRequest({ ...ctx, plan: ctx.plan ?? null });
|
|
130
130
|
if (task.is_owner === false) delete patch.shared;
|
|
131
131
|
await updateConversation.mutateAsync({ conversationId: task.external_id, patch });
|
|
132
132
|
},
|
|
@@ -134,7 +134,7 @@ function useWorkflowTasks() {
|
|
|
134
134
|
);
|
|
135
135
|
const updateWorkflow = react$1.useCallback(
|
|
136
136
|
async (workflow, ctx) => {
|
|
137
|
-
const patch =
|
|
137
|
+
const patch = chunkE6S6WHXL_cjs.composerToWorkflowUpdate({ ...ctx, documentTitles, plan: ctx.plan ?? null });
|
|
138
138
|
if (workflow.is_owner === false) delete patch.shared;
|
|
139
139
|
const workspaceId = workflow.workspace_ext_id ?? activeWorkspaceId;
|
|
140
140
|
const updated = await updateWorkflowMutation.mutateAsync({
|
|
@@ -249,7 +249,7 @@ function ConnectedTaskComposer({
|
|
|
249
249
|
const { tasks: allTasks } = react.useWorkItems();
|
|
250
250
|
const { data: documents = [] } = react.useDocuments();
|
|
251
251
|
const { create, update, updateWorkflow, isPending } = useWorkflowTasks();
|
|
252
|
-
const scopeSource =
|
|
252
|
+
const scopeSource = chunkPGTDQBMX_cjs.useConnectedWorkflowScopeSource();
|
|
253
253
|
const activeWorkspaceId = react.useArbiSessionState((s) => s.workspaceId);
|
|
254
254
|
const activeWorkspace = react$1.useMemo(
|
|
255
255
|
() => workspaces.find((w) => w.external_id === activeWorkspaceId) ?? null,
|
|
@@ -266,7 +266,7 @@ function ConnectedTaskComposer({
|
|
|
266
266
|
const label = (t) => t.title?.trim() || "Untitled task";
|
|
267
267
|
if (isWorkflow) return allTasks.map((t) => ({ id: t.external_id, name: label(t) }));
|
|
268
268
|
const subject = task ?? { external_id: "__new__" };
|
|
269
|
-
return
|
|
269
|
+
return chunkE6S6WHXL_cjs.moveTargets(
|
|
270
270
|
[...allTasks.filter((t) => t.external_id !== subject.external_id), subject],
|
|
271
271
|
subject
|
|
272
272
|
).map((t) => ({ id: t.external_id, name: label(t) }));
|
|
@@ -281,33 +281,33 @@ function ConnectedTaskComposer({
|
|
|
281
281
|
);
|
|
282
282
|
const initialValues = react$1.useMemo(() => {
|
|
283
283
|
const ids = {
|
|
284
|
-
customWorkflowId:
|
|
285
|
-
reminderWorkflowId:
|
|
284
|
+
customWorkflowId: chunkE6S6WHXL_cjs.CUSTOM_TASK_ID,
|
|
285
|
+
reminderWorkflowId: chunkE6S6WHXL_cjs.REMIND_TASK_ID,
|
|
286
286
|
definitions: forTasks
|
|
287
287
|
};
|
|
288
288
|
const base = launchWorkflow ? {
|
|
289
|
-
...
|
|
289
|
+
...chunkE6S6WHXL_cjs.workflowToComposerValues(launchWorkflow, ids),
|
|
290
290
|
when: "once",
|
|
291
291
|
runAt: "",
|
|
292
292
|
rrule: "",
|
|
293
293
|
eventKind: "",
|
|
294
294
|
afterTaskId: "",
|
|
295
295
|
name: ""
|
|
296
|
-
} : editingWorkflow ?
|
|
296
|
+
} : editingWorkflow ? chunkE6S6WHXL_cjs.workflowToComposerValues(editingWorkflow, ids) : task ? chunkE6S6WHXL_cjs.taskToComposerValues(task, ids) : isWorkflow ? {
|
|
297
297
|
// Run now is the default start; scheduling is the fallback in the same field.
|
|
298
298
|
assignee: "agent",
|
|
299
|
-
workflowId: initialWorkflowId ??
|
|
299
|
+
workflowId: initialWorkflowId ?? chunkE6S6WHXL_cjs.CUSTOM_TASK_ID,
|
|
300
300
|
when: startLater ? "once" : "now",
|
|
301
301
|
...initialPrompt ? {
|
|
302
302
|
inputs: {
|
|
303
|
-
[initialWorkflowId ===
|
|
303
|
+
[initialWorkflowId === chunkE6S6WHXL_cjs.REMIND_TASK_ID ? "message" : "instruction"]: initialPrompt
|
|
304
304
|
}
|
|
305
305
|
} : {},
|
|
306
306
|
// A scheduled run needs an agent: the owner's Assistant unless another is picked.
|
|
307
307
|
...startLater && defaultAgentId ? { agentId: defaultAgentId } : {}
|
|
308
308
|
} : initialAgentExtId ? (
|
|
309
309
|
// Assigning an agent means agentic work: the free instruction, and tell me when done.
|
|
310
|
-
{ agentId: initialAgentExtId, workflowId:
|
|
310
|
+
{ agentId: initialAgentExtId, workflowId: chunkE6S6WHXL_cjs.CUSTOM_TASK_ID, notifyOnComplete: true }
|
|
311
311
|
) : {};
|
|
312
312
|
return {
|
|
313
313
|
timezone: chunkQUMUAJ2P_cjs.detectTimeZone(),
|
|
@@ -368,7 +368,7 @@ function ConnectedTaskComposer({
|
|
|
368
368
|
const ctx = {
|
|
369
369
|
workflow: chosen,
|
|
370
370
|
values: submitted,
|
|
371
|
-
plan: chosen.id ===
|
|
371
|
+
plan: chosen.id === chunkE6S6WHXL_cjs.CUSTOM_TASK_ID ? plan : null
|
|
372
372
|
};
|
|
373
373
|
try {
|
|
374
374
|
if (isWorkflow && editingWorkflow && !options?.runOnce) {
|
|
@@ -404,7 +404,7 @@ function ConnectedTaskComposer({
|
|
|
404
404
|
}
|
|
405
405
|
};
|
|
406
406
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
407
|
-
|
|
407
|
+
chunkE6S6WHXL_cjs.TaskComposer,
|
|
408
408
|
{
|
|
409
409
|
open,
|
|
410
410
|
onOpenChange,
|
|
@@ -423,10 +423,10 @@ function ConnectedTaskComposer({
|
|
|
423
423
|
isPending,
|
|
424
424
|
planDrafting: planWork.isPending,
|
|
425
425
|
hasPlan: plan !== null,
|
|
426
|
-
renderIcon:
|
|
426
|
+
renderIcon: chunkE6S6WHXL_cjs.renderWorkflowIcon,
|
|
427
427
|
scopeSource,
|
|
428
428
|
renderDocuments: (field, value, onChange) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
429
|
-
|
|
429
|
+
chunkPGTDQBMX_cjs.ConnectedWorkflowDocumentsField,
|
|
430
430
|
{
|
|
431
431
|
field,
|
|
432
432
|
value,
|
|
@@ -457,8 +457,8 @@ function ConnectedTaskComposer({
|
|
|
457
457
|
...plan ? { addAndStart: "Approve plan and start", addAndSchedule: "Approve plan and schedule" } : {}
|
|
458
458
|
},
|
|
459
459
|
onSubmit: submit,
|
|
460
|
-
goal: (values) => values.workflowId ===
|
|
461
|
-
|
|
460
|
+
goal: (values) => values.workflowId === chunkE6S6WHXL_cjs.CUSTOM_TASK_ID ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
461
|
+
chunkE6S6WHXL_cjs.TaskPlan,
|
|
462
462
|
{
|
|
463
463
|
plan,
|
|
464
464
|
onChange: setPlan,
|
|
@@ -504,7 +504,7 @@ function ConnectedWorkflowHistory({
|
|
|
504
504
|
const { openConversation } = chunk3AWP3O5M_cjs.useBlocksEnvironment();
|
|
505
505
|
const { data: runs = [], isLoading } = react.useWorkflowRuns(workflow?.external_id);
|
|
506
506
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
507
|
-
|
|
507
|
+
chunkE6S6WHXL_cjs.TaskRunsDialog,
|
|
508
508
|
{
|
|
509
509
|
inline,
|
|
510
510
|
hideHeader,
|
|
@@ -539,14 +539,14 @@ function ConnectedTaskActivityDialog({
|
|
|
539
539
|
const activity = react.useConversationActivity(conversationId, { live });
|
|
540
540
|
const { data: agents = [] } = react.useAgents();
|
|
541
541
|
const { userId } = chunkURYJ2SFQ_cjs.useConnectedWorkspace();
|
|
542
|
-
const { members } =
|
|
542
|
+
const { members } = chunkPGTDQBMX_cjs.useConnectedWorkspaceRole();
|
|
543
543
|
const renderPerson = react$1.useCallback(
|
|
544
544
|
(id) => {
|
|
545
545
|
const isMe = !!id && id === userId;
|
|
546
546
|
const member = members.find((m) => m.user.external_id === id)?.user;
|
|
547
547
|
const name = member && [member.given_name, member.family_name].filter(Boolean).join(" ") || member?.email;
|
|
548
548
|
const person = { id, label: isMe ? "You" : name || "Someone", isMe };
|
|
549
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
549
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkT2OG3CPR_cjs.PersonPill, { person });
|
|
550
550
|
},
|
|
551
551
|
[userId, members]
|
|
552
552
|
);
|
|
@@ -555,7 +555,7 @@ function ConnectedTaskActivityDialog({
|
|
|
555
555
|
[agents]
|
|
556
556
|
);
|
|
557
557
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
558
|
-
|
|
558
|
+
chunkE6S6WHXL_cjs.TaskActivityDialog,
|
|
559
559
|
{
|
|
560
560
|
open: true,
|
|
561
561
|
onOpenChange: (open) => !open && onClose(),
|
|
@@ -592,7 +592,7 @@ function useRenderTaskPerson() {
|
|
|
592
592
|
return react$1.useCallback(
|
|
593
593
|
(person) => {
|
|
594
594
|
const user = person.id ? byId.get(person.id) : void 0;
|
|
595
|
-
return user ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
595
|
+
return user ? /* @__PURE__ */ jsxRuntime.jsx(chunkURZAK3A3_cjs.DocumentUser, { user, variant: "pill" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkT2OG3CPR_cjs.PersonPill, { person });
|
|
596
596
|
},
|
|
597
597
|
[byId]
|
|
598
598
|
);
|
|
@@ -605,7 +605,7 @@ function ConnectedThreadTaskBar({
|
|
|
605
605
|
renderIcon
|
|
606
606
|
}) {
|
|
607
607
|
const { conversations } = react.useConversationItems();
|
|
608
|
-
const { activity, items, related, signals, startedBy } =
|
|
608
|
+
const { activity, items, related, signals, startedBy } = chunkI3HK46DH_cjs.useConnectedThreadActivity(conversationId);
|
|
609
609
|
const canEditShared = react.useCanEditShared();
|
|
610
610
|
const update = react.useUpdateConversation();
|
|
611
611
|
const actOnStep = react.useActOnStep();
|
|
@@ -642,7 +642,7 @@ function ConnectedThreadTaskBar({
|
|
|
642
642
|
).finally(() => setBusy(false));
|
|
643
643
|
};
|
|
644
644
|
const strip = /* @__PURE__ */ jsxRuntime.jsx(
|
|
645
|
-
|
|
645
|
+
chunkE6S6WHXL_cjs.WorkflowThreadStrip,
|
|
646
646
|
{
|
|
647
647
|
renderIcon,
|
|
648
648
|
...variant === "steps" ? { maxSpan: 3, current: currentStepId, onSelectStep } : {},
|
|
@@ -671,7 +671,7 @@ function ConnectedThreadTaskBar({
|
|
|
671
671
|
renderStepAction: (step, phase) => (
|
|
672
672
|
// A signer or a draft's person acts on their step even on a thread they cannot edit.
|
|
673
673
|
canEdit || phase === "waiting" || phase === "done" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
674
|
-
|
|
674
|
+
chunkE6S6WHXL_cjs.WorkflowStepAction,
|
|
675
675
|
{
|
|
676
676
|
step,
|
|
677
677
|
phase,
|
|
@@ -703,7 +703,7 @@ function ConnectedThreadTaskBar({
|
|
|
703
703
|
// A workflow run: its named steps, with what happened in the thread under each.
|
|
704
704
|
strip
|
|
705
705
|
) : items.length || startedBy ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
706
|
-
startedBy && /* @__PURE__ */ jsxRuntime.jsx(
|
|
706
|
+
startedBy && /* @__PURE__ */ jsxRuntime.jsx(chunkE6S6WHXL_cjs.WorkflowThreadStartedBy, { origin: startedBy }),
|
|
707
707
|
/* @__PURE__ */ jsxRuntime.jsx(chunkUICJN7O2_cjs.TaskFlow, { items: items.filter((item) => !item.step) })
|
|
708
708
|
] }) : (
|
|
709
709
|
// Ordinary chats record no activity events, so an empty ribbon says nothing rather than
|
|
@@ -789,7 +789,7 @@ function ConnectedThreadTaskBar({
|
|
|
789
789
|
] }),
|
|
790
790
|
error && /* @__PURE__ */ jsxRuntime.jsx("span", { role: "alert", className: "text-xs text-destructive", children: error }),
|
|
791
791
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
792
|
-
|
|
792
|
+
chunk2HECOUXC_cjs.RenameDialog,
|
|
793
793
|
{
|
|
794
794
|
open: renameOpen,
|
|
795
795
|
onClose: () => setRenameOpen(false),
|
|
@@ -822,7 +822,7 @@ ${labels.map((l) => `${l.key}=${l.name}`).join("\n")}`;
|
|
|
822
822
|
if (known) return known;
|
|
823
823
|
const setUp = (async () => {
|
|
824
824
|
const existing = await arbi.tags.list({ workspaceId });
|
|
825
|
-
const { ids, missing } =
|
|
825
|
+
const { ids, missing } = chunkE6S6WHXL_cjs.matchRequiredLabels(labels, existing);
|
|
826
826
|
for (const label of missing) {
|
|
827
827
|
const tag = await createTag({
|
|
828
828
|
name: label.name,
|
|
@@ -1013,7 +1013,7 @@ function useWorkflowRunTarget({
|
|
|
1013
1013
|
}) {
|
|
1014
1014
|
const { workspaceId: open } = chunkURYJ2SFQ_cjs.useConnectedWorkspace();
|
|
1015
1015
|
const session = react.useArbiSessionStore();
|
|
1016
|
-
const selectWorkspace =
|
|
1016
|
+
const selectWorkspace = chunkI3HK46DH_cjs.useSelectWorkspace();
|
|
1017
1017
|
const createProject = react.useCreateProject();
|
|
1018
1018
|
const { projects, isLoading: projectsLoading } = useProjectSummaries();
|
|
1019
1019
|
const { data: workspaces } = react.useWorkspaces();
|
|
@@ -1424,7 +1424,7 @@ function useWorkflowThread(workflow, options = {}) {
|
|
|
1424
1424
|
const createThread = react$1.useCallback(
|
|
1425
1425
|
async (values, done) => {
|
|
1426
1426
|
const prepared = await options.beforeStart?.();
|
|
1427
|
-
const planned = prepared?.labelIds ?
|
|
1427
|
+
const planned = prepared?.labelIds ? chunkE6S6WHXL_cjs.withLabelIds(workflow, prepared.labelIds) : workflow;
|
|
1428
1428
|
await ensureWorkspaceOpen();
|
|
1429
1429
|
const created = await createWork.mutateAsync({
|
|
1430
1430
|
title: chunk555BS22J_cjs.runThreadTitle(workflow, values).slice(0, 60),
|
|
@@ -1526,7 +1526,7 @@ function useWorkflowThread(workflow, options = {}) {
|
|
|
1526
1526
|
const anyRunning = Object.values(states).some((s) => s.status === "running");
|
|
1527
1527
|
const needsStart = !threadId || idle && !anyRunning;
|
|
1528
1528
|
const runError = idle ? conversation?.last_error ?? null : null;
|
|
1529
|
-
const view =
|
|
1529
|
+
const view = chunkE6S6WHXL_cjs.useWorkflowView({
|
|
1530
1530
|
steps,
|
|
1531
1531
|
states,
|
|
1532
1532
|
inputs,
|
|
@@ -1662,7 +1662,7 @@ function WorkflowWordDialog({
|
|
|
1662
1662
|
title: title ?? labels.wordTitle,
|
|
1663
1663
|
size: "xl",
|
|
1664
1664
|
testId: "workflow-word-dialog",
|
|
1665
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1665
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkULWRNGGE_cjs.ModalScaffold.Body, { className: "h-[70dvh] p-0", children: /* @__PURE__ */ jsxRuntime.jsx(chunkPGTDQBMX_cjs.ConnectedNativeDocxEditor, { documentId: id, title: title ?? labels.wordTitle }) })
|
|
1666
1666
|
}
|
|
1667
1667
|
);
|
|
1668
1668
|
}
|
|
@@ -1825,7 +1825,7 @@ function RunnerBody({
|
|
|
1825
1825
|
const session = react.useArbiSessionStore();
|
|
1826
1826
|
const openRef = react$1.useRef(workspaceId);
|
|
1827
1827
|
openRef.current = workspaceId;
|
|
1828
|
-
const required =
|
|
1828
|
+
const required = chunkE6S6WHXL_cjs.requiredLabelsOf(given);
|
|
1829
1829
|
const ownEnsureLabels = useEnsureRequiredLabels();
|
|
1830
1830
|
const ensureLabels = page?.ensureLabels ?? ownEnsureLabels;
|
|
1831
1831
|
const [startedLabelIds, setStartedLabelIds] = react$1.useState({});
|
|
@@ -1837,7 +1837,7 @@ function RunnerBody({
|
|
|
1837
1837
|
const pageTarget = page?.target;
|
|
1838
1838
|
const projectStep = pageTarget && typeof projectFrom === "object" ? projectFrom.step : void 0;
|
|
1839
1839
|
const workflow = react$1.useMemo(
|
|
1840
|
-
() => withCommitStep(
|
|
1840
|
+
() => withCommitStep(chunkE6S6WHXL_cjs.withLabelIds(given, labelIds), projectStep),
|
|
1841
1841
|
[given, labelIds, projectStep]
|
|
1842
1842
|
);
|
|
1843
1843
|
const hostBeforeStart = options?.beforeStart;
|
|
@@ -2052,7 +2052,7 @@ function RunnerBody({
|
|
|
2052
2052
|
);
|
|
2053
2053
|
};
|
|
2054
2054
|
const runner = (compact) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2055
|
-
|
|
2055
|
+
chunkE6S6WHXL_cjs.WorkflowRunner,
|
|
2056
2056
|
{
|
|
2057
2057
|
people,
|
|
2058
2058
|
...runnerProps,
|
|
@@ -2113,7 +2113,7 @@ function RunnerBody({
|
|
|
2113
2113
|
pageBar,
|
|
2114
2114
|
inThread && conversationId ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2115
2115
|
!page && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2116
|
-
|
|
2116
|
+
chunkE6S6WHXL_cjs.WorkflowStepBar,
|
|
2117
2117
|
{
|
|
2118
2118
|
run: view,
|
|
2119
2119
|
levels: chunk555BS22J_cjs.stepLevels(view.steps),
|
|
@@ -2196,7 +2196,7 @@ function RunnerPage(props) {
|
|
|
2196
2196
|
workspaceId,
|
|
2197
2197
|
onProjectCreated
|
|
2198
2198
|
});
|
|
2199
|
-
const required =
|
|
2199
|
+
const required = chunkE6S6WHXL_cjs.requiredLabelsOf(workflow);
|
|
2200
2200
|
const ensure = useEnsureRequiredLabels();
|
|
2201
2201
|
const labels = useRequiredLabels(required, target.target, ensure, target.stage === "ready");
|
|
2202
2202
|
const fromStep = typeof projectFrom === "object";
|
|
@@ -2479,5 +2479,5 @@ exports.useWorkflowDefinitions = useWorkflowDefinitions;
|
|
|
2479
2479
|
exports.useWorkflowTasks = useWorkflowTasks;
|
|
2480
2480
|
exports.useWorkflowsPageState = useWorkflowsPageState;
|
|
2481
2481
|
exports.workflowRunView = workflowRunView;
|
|
2482
|
-
//# sourceMappingURL=chunk-
|
|
2483
|
-
//# sourceMappingURL=chunk-
|
|
2482
|
+
//# sourceMappingURL=chunk-KHLPBCRZ.cjs.map
|
|
2483
|
+
//# sourceMappingURL=chunk-KHLPBCRZ.cjs.map
|