@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.
Files changed (175) hide show
  1. package/README.md +23 -0
  2. package/dist/{ConnectedDocumentViewer-U5TQ4LFJ.js → ConnectedDocumentViewer-4LRZ5N3L.js} +6 -6
  3. package/dist/{ConnectedDocumentViewer-U5TQ4LFJ.js.map → ConnectedDocumentViewer-4LRZ5N3L.js.map} +1 -1
  4. package/dist/{ConnectedDocumentViewer-ID2RG5MF.cjs → ConnectedDocumentViewer-FREQM2ES.cjs} +7 -7
  5. package/dist/{ConnectedDocumentViewer-ID2RG5MF.cjs.map → ConnectedDocumentViewer-FREQM2ES.cjs.map} +1 -1
  6. package/dist/{ConnectedNativeDocxComparison-PBMS77ZP.js → ConnectedNativeDocxComparison-P7OJ3UVK.js} +6 -6
  7. package/dist/{ConnectedNativeDocxComparison-PBMS77ZP.js.map → ConnectedNativeDocxComparison-P7OJ3UVK.js.map} +1 -1
  8. package/dist/{ConnectedNativeDocxComparison-R4OFGVHY.cjs → ConnectedNativeDocxComparison-RQIKQM5O.cjs} +7 -7
  9. package/dist/{ConnectedNativeDocxComparison-R4OFGVHY.cjs.map → ConnectedNativeDocxComparison-RQIKQM5O.cjs.map} +1 -1
  10. package/dist/{ConnectedNativeDocxEditor-27JZI2D5.js → ConnectedNativeDocxEditor-HX3FDJ2T.js} +5 -5
  11. package/dist/{ConnectedNativeDocxEditor-27JZI2D5.js.map → ConnectedNativeDocxEditor-HX3FDJ2T.js.map} +1 -1
  12. package/dist/{ConnectedNativeDocxEditor-774XRIP3.cjs → ConnectedNativeDocxEditor-XKQV7A37.cjs} +7 -7
  13. package/dist/{ConnectedNativeDocxEditor-774XRIP3.cjs.map → ConnectedNativeDocxEditor-XKQV7A37.cjs.map} +1 -1
  14. package/dist/{ConnectedStreamedWordArtifact-7TNIQTVE.cjs → ConnectedStreamedWordArtifact-CSRL4SCO.cjs} +7 -7
  15. package/dist/ConnectedStreamedWordArtifact-CSRL4SCO.cjs.map +1 -0
  16. package/dist/{ConnectedStreamedWordArtifact-XEFXYMKS.js → ConnectedStreamedWordArtifact-SSH6M5LN.js} +6 -6
  17. package/dist/ConnectedStreamedWordArtifact-SSH6M5LN.js.map +1 -0
  18. package/dist/{DocumentReviewCard-7OPL6PWG.cjs → DocumentReviewCard-3PZJPVQC.cjs} +14 -14
  19. package/dist/{DocumentReviewCard-7OPL6PWG.cjs.map → DocumentReviewCard-3PZJPVQC.cjs.map} +1 -1
  20. package/dist/{DocumentReviewCard-NDHCFYYT.js → DocumentReviewCard-KHMHG7A5.js} +9 -9
  21. package/dist/{DocumentReviewCard-NDHCFYYT.js.map → DocumentReviewCard-KHMHG7A5.js.map} +1 -1
  22. package/dist/{WorkspaceTableView-4INHJ7QK.js → WorkspaceTableView-4VMCTOFT.js} +5 -5
  23. package/dist/{WorkspaceTableView-4INHJ7QK.js.map → WorkspaceTableView-4VMCTOFT.js.map} +1 -1
  24. package/dist/{WorkspaceTableView-BTUSU3N3.cjs → WorkspaceTableView-Q44KNO3Z.cjs} +7 -7
  25. package/dist/{WorkspaceTableView-BTUSU3N3.cjs.map → WorkspaceTableView-Q44KNO3Z.cjs.map} +1 -1
  26. package/dist/agents/index.cjs +281 -281
  27. package/dist/agents/index.js +4 -4
  28. package/dist/{chunk-E3ILJRG4.cjs → chunk-2HECOUXC.cjs} +4 -3
  29. package/dist/chunk-2HECOUXC.cjs.map +1 -0
  30. package/dist/{chunk-AQPZ4QMV.cjs → chunk-3J2ASIM7.cjs} +3 -3
  31. package/dist/chunk-3J2ASIM7.cjs.map +1 -0
  32. package/dist/{chunk-QCFNPQWS.cjs → chunk-3LJUTIS6.cjs} +44 -44
  33. package/dist/{chunk-QCFNPQWS.cjs.map → chunk-3LJUTIS6.cjs.map} +1 -1
  34. package/dist/chunk-4B6HYQTW.cjs +20 -0
  35. package/dist/chunk-4B6HYQTW.cjs.map +1 -0
  36. package/dist/{chunk-4UMVAJJZ.js → chunk-6NEBHZIF.js} +4 -4
  37. package/dist/{chunk-4UMVAJJZ.js.map → chunk-6NEBHZIF.js.map} +1 -1
  38. package/dist/{chunk-IMIE5NOQ.js → chunk-7E5GV4R7.js} +4 -4
  39. package/dist/{chunk-IMIE5NOQ.js.map → chunk-7E5GV4R7.js.map} +1 -1
  40. package/dist/{chunk-LNXMSIKU.js → chunk-AWFEB4YJ.js} +8 -8
  41. package/dist/{chunk-LNXMSIKU.js.map → chunk-AWFEB4YJ.js.map} +1 -1
  42. package/dist/{chunk-JMQLTMJ7.js → chunk-B3BD5IJR.js} +16 -20
  43. package/dist/chunk-B3BD5IJR.js.map +1 -0
  44. package/dist/{chunk-5Q2U7GLI.cjs → chunk-CDW3W5U5.cjs} +4 -4
  45. package/dist/{chunk-5Q2U7GLI.cjs.map → chunk-CDW3W5U5.cjs.map} +1 -1
  46. package/dist/{chunk-SK5TP4DP.js → chunk-DBPPOJQM.js} +3 -3
  47. package/dist/{chunk-SK5TP4DP.js.map → chunk-DBPPOJQM.js.map} +1 -1
  48. package/dist/{chunk-NJ3YV3VM.cjs → chunk-DMYBHKNQ.cjs} +27 -27
  49. package/dist/{chunk-NJ3YV3VM.cjs.map → chunk-DMYBHKNQ.cjs.map} +1 -1
  50. package/dist/{chunk-563BHHHO.cjs → chunk-E6S6WHXL.cjs} +9 -9
  51. package/dist/{chunk-563BHHHO.cjs.map → chunk-E6S6WHXL.cjs.map} +1 -1
  52. package/dist/{chunk-BV34QPKE.js → chunk-EASXRDYQ.js} +3 -3
  53. package/dist/{chunk-BV34QPKE.js.map → chunk-EASXRDYQ.js.map} +1 -1
  54. package/dist/{chunk-JOFUAQTV.js → chunk-HWNVAQBX.js} +3 -3
  55. package/dist/{chunk-JOFUAQTV.js.map → chunk-HWNVAQBX.js.map} +1 -1
  56. package/dist/{chunk-PNWSEIWS.cjs → chunk-I3HK46DH.cjs} +4 -4
  57. package/dist/{chunk-PNWSEIWS.cjs.map → chunk-I3HK46DH.cjs.map} +1 -1
  58. package/dist/{chunk-GJKXYX47.js → chunk-IJ2CTMA7.js} +3 -3
  59. package/dist/{chunk-GJKXYX47.js.map → chunk-IJ2CTMA7.js.map} +1 -1
  60. package/dist/{chunk-7ZL6OVGO.cjs → chunk-IQFHOKQH.cjs} +23 -46
  61. package/dist/chunk-IQFHOKQH.cjs.map +1 -0
  62. package/dist/{chunk-7ZCM2GR2.js → chunk-IRCGXKLB.js} +3 -3
  63. package/dist/{chunk-7ZCM2GR2.js.map → chunk-IRCGXKLB.js.map} +1 -1
  64. package/dist/{chunk-G4GLDQLY.js → chunk-KG3W76BB.js} +3 -3
  65. package/dist/chunk-KG3W76BB.js.map +1 -0
  66. package/dist/{chunk-B66CICTP.cjs → chunk-KHLPBCRZ.cjs} +52 -52
  67. package/dist/{chunk-B66CICTP.cjs.map → chunk-KHLPBCRZ.cjs.map} +1 -1
  68. package/dist/{chunk-J4SEJSSV.js → chunk-KPIR4MJV.js} +6 -6
  69. package/dist/{chunk-J4SEJSSV.js.map → chunk-KPIR4MJV.js.map} +1 -1
  70. package/dist/{chunk-PA4EGGCI.js → chunk-KSHTODQZ.js} +3 -3
  71. package/dist/{chunk-PA4EGGCI.js.map → chunk-KSHTODQZ.js.map} +1 -1
  72. package/dist/{chunk-PT6D5B6L.cjs → chunk-MAUJVVFJ.cjs} +360 -410
  73. package/dist/chunk-MAUJVVFJ.cjs.map +1 -0
  74. package/dist/{chunk-MP7XCRHV.js → chunk-NRI5DKJE.js} +4 -3
  75. package/dist/chunk-NRI5DKJE.js.map +1 -0
  76. package/dist/{chunk-XXPDAENX.cjs → chunk-PGTDQBMX.cjs} +7 -7
  77. package/dist/{chunk-XXPDAENX.cjs.map → chunk-PGTDQBMX.cjs.map} +1 -1
  78. package/dist/{chunk-4JKK6S7U.cjs → chunk-S7G3A52F.cjs} +5 -5
  79. package/dist/{chunk-4JKK6S7U.cjs.map → chunk-S7G3A52F.cjs.map} +1 -1
  80. package/dist/{chunk-OUCWTKQT.js → chunk-SBFQF3BU.js} +4 -4
  81. package/dist/{chunk-OUCWTKQT.js.map → chunk-SBFQF3BU.js.map} +1 -1
  82. package/dist/{chunk-52VME6ZS.cjs → chunk-SIOBGNRY.cjs} +18 -18
  83. package/dist/{chunk-52VME6ZS.cjs.map → chunk-SIOBGNRY.cjs.map} +1 -1
  84. package/dist/chunk-SK3GBHPJ.js +15 -0
  85. package/dist/chunk-SK3GBHPJ.js.map +1 -0
  86. package/dist/{chunk-RADE22SM.cjs → chunk-T2OG3CPR.cjs} +4 -4
  87. package/dist/{chunk-RADE22SM.cjs.map → chunk-T2OG3CPR.cjs.map} +1 -1
  88. package/dist/{chunk-IGQJ6ET3.js → chunk-TWSOU6SE.js} +421 -501
  89. package/dist/chunk-TWSOU6SE.js.map +1 -0
  90. package/dist/{chunk-QRV4XYFJ.js → chunk-UCD7644N.js} +3 -3
  91. package/dist/{chunk-QRV4XYFJ.js.map → chunk-UCD7644N.js.map} +1 -1
  92. package/dist/{chunk-TQ4VGQHG.js → chunk-ULUCGL24.js} +3 -3
  93. package/dist/{chunk-TQ4VGQHG.js.map → chunk-ULUCGL24.js.map} +1 -1
  94. package/dist/{chunk-IRI6LPDX.cjs → chunk-UR4OSH2Q.cjs} +4 -4
  95. package/dist/{chunk-IRI6LPDX.cjs.map → chunk-UR4OSH2Q.cjs.map} +1 -1
  96. package/dist/{chunk-66QN6ZJR.cjs → chunk-URZAK3A3.cjs} +36 -36
  97. package/dist/{chunk-66QN6ZJR.cjs.map → chunk-URZAK3A3.cjs.map} +1 -1
  98. package/dist/{chunk-57S2PLCM.js → chunk-V2QWATXQ.js} +3 -3
  99. package/dist/{chunk-57S2PLCM.js.map → chunk-V2QWATXQ.js.map} +1 -1
  100. package/dist/{chunk-55JI2IGZ.cjs → chunk-VBLJNOVP.cjs} +4 -4
  101. package/dist/{chunk-55JI2IGZ.cjs.map → chunk-VBLJNOVP.cjs.map} +1 -1
  102. package/dist/{chunk-KFAFWPZK.cjs → chunk-VRMACPJR.cjs} +7 -7
  103. package/dist/{chunk-KFAFWPZK.cjs.map → chunk-VRMACPJR.cjs.map} +1 -1
  104. package/dist/{chunk-5Y6V7F6W.cjs → chunk-VWUNPAR2.cjs} +15 -19
  105. package/dist/chunk-VWUNPAR2.cjs.map +1 -0
  106. package/dist/{chunk-T3GTQXGP.js → chunk-W7CQ5MLR.js} +3 -3
  107. package/dist/{chunk-T3GTQXGP.js.map → chunk-W7CQ5MLR.js.map} +1 -1
  108. package/dist/{chunk-AOBNXZLS.cjs → chunk-Y3VXKSW7.cjs} +594 -674
  109. package/dist/chunk-Y3VXKSW7.cjs.map +1 -0
  110. package/dist/{chunk-RTYU6ZGO.cjs → chunk-YCABQ5W4.cjs} +4 -4
  111. package/dist/{chunk-RTYU6ZGO.cjs.map → chunk-YCABQ5W4.cjs.map} +1 -1
  112. package/dist/{chunk-EWHD3BY5.js → chunk-ZHHUEYSB.js} +25 -48
  113. package/dist/chunk-ZHHUEYSB.js.map +1 -0
  114. package/dist/{chunk-5PKIDR2Q.js → chunk-ZHJVABQ6.js} +361 -406
  115. package/dist/chunk-ZHJVABQ6.js.map +1 -0
  116. package/dist/connect/docx.cjs +11 -11
  117. package/dist/connect/docx.js +7 -7
  118. package/dist/connect/index.cjs +1448 -1367
  119. package/dist/connect/index.cjs.map +1 -1
  120. package/dist/connect/index.d.ts +2 -0
  121. package/dist/connect/index.js +545 -466
  122. package/dist/connect/index.js.map +1 -1
  123. package/dist/connect/viewer.cjs +5 -5
  124. package/dist/connect/viewer.js +4 -4
  125. package/dist/connection/account-cluster/ConnectedAccountCluster.d.ts +2 -1
  126. package/dist/connection/facts/useFactFilters.d.ts +46 -0
  127. package/dist/connection/files/fields/ConnectedTagForm.d.ts +1 -1
  128. package/dist/connection/report-problem/ReportProblemDialog.d.ts +10 -8
  129. package/dist/connection/report-problem/useReportProblem.d.ts +2 -6
  130. package/dist/connection/tags/ConnectedTagTable.d.ts +1 -1
  131. package/dist/connection/tags/ConnectedTagsPage.d.ts +3 -1
  132. package/dist/connection/tags/TagsPageSections.d.ts +5 -3
  133. package/dist/connection/tags/tagged-content.d.ts +10 -0
  134. package/dist/connection/threads/useThreadTagFilter.d.ts +10 -0
  135. package/dist/connection/tips/ConnectedTipBar.d.ts +2 -1
  136. package/dist/connection/tips/useContextualHints.d.ts +6 -1
  137. package/dist/embed/index.cjs +13 -12
  138. package/dist/embed/index.js +8 -7
  139. package/dist/facts/index.cjs +45 -45
  140. package/dist/facts/index.js +2 -2
  141. package/dist/files/index.cjs +226 -226
  142. package/dist/files/index.js +2 -2
  143. package/dist/index.cjs +423 -367
  144. package/dist/index.cjs.map +1 -1
  145. package/dist/index.js +76 -16
  146. package/dist/index.js.map +1 -1
  147. package/dist/settings/FilterChip.d.ts +2 -1
  148. package/dist/settings/TriStateFilterMenu.d.ts +1 -0
  149. package/dist/settings/index.cjs +158 -158
  150. package/dist/settings/index.js +2 -2
  151. package/dist/shell/index.cjs +14 -14
  152. package/dist/shell/index.js +1 -1
  153. package/dist/styles.css +1 -1
  154. package/dist/tags/TagDetail.d.ts +2 -2
  155. package/dist/tags/TagTable.d.ts +17 -3
  156. package/dist/tags/index.d.ts +1 -1
  157. package/dist/workflow-canvas/index.cjs +29 -29
  158. package/dist/workflow-canvas/index.js +12 -12
  159. package/node_modules/@arbidocs/coedit/package.json +1 -1
  160. package/package.json +5 -5
  161. package/dist/ConnectedStreamedWordArtifact-7TNIQTVE.cjs.map +0 -1
  162. package/dist/ConnectedStreamedWordArtifact-XEFXYMKS.js.map +0 -1
  163. package/dist/chunk-5PKIDR2Q.js.map +0 -1
  164. package/dist/chunk-5Y6V7F6W.cjs.map +0 -1
  165. package/dist/chunk-7ZL6OVGO.cjs.map +0 -1
  166. package/dist/chunk-AOBNXZLS.cjs.map +0 -1
  167. package/dist/chunk-AQPZ4QMV.cjs.map +0 -1
  168. package/dist/chunk-E3ILJRG4.cjs.map +0 -1
  169. package/dist/chunk-EWHD3BY5.js.map +0 -1
  170. package/dist/chunk-G4GLDQLY.js.map +0 -1
  171. package/dist/chunk-IGQJ6ET3.js.map +0 -1
  172. package/dist/chunk-JMQLTMJ7.js.map +0 -1
  173. package/dist/chunk-MP7XCRHV.js.map +0 -1
  174. package/dist/chunk-PT6D5B6L.cjs.map +0 -1
  175. package/dist/connection/tags/TagPlacement.d.ts +0 -16
@@ -118,7 +118,7 @@ function TriStateFilterMenu({
118
118
  children: [
119
119
  stateIcon,
120
120
  option.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "[&>svg]:size-3.5", children: option.icon }),
121
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: option.label }),
121
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: option.displayLabel ?? option.label }),
122
122
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto font-semibold", children: option.count })
123
123
  ]
124
124
  }
@@ -260,5 +260,5 @@ function TriStateFilterMenu({
260
260
 
261
261
  exports.DEFAULT_TRI_STATE_FILTER_MENU_LABELS = DEFAULT_TRI_STATE_FILTER_MENU_LABELS;
262
262
  exports.TriStateFilterMenu = TriStateFilterMenu;
263
- //# sourceMappingURL=chunk-AQPZ4QMV.cjs.map
264
- //# sourceMappingURL=chunk-AQPZ4QMV.cjs.map
263
+ //# sourceMappingURL=chunk-3J2ASIM7.cjs.map
264
+ //# sourceMappingURL=chunk-3J2ASIM7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/settings/TriStateFilterMenu.tsx"],"names":["useState","useRef","useEffect","useMemo","jsxs","Button","jsx","FunnelX","Check","Ban","DropdownMenuItem","Badge","cn","Fragment","DropdownMenuSeparator","ChevronRight","ChevronDown","DropdownMenuLabel","DropdownMenu","DropdownMenuTrigger","Filter","MoreVertical","DropdownMenuContent"],"mappings":"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","file":"chunk-3J2ASIM7.cjs","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,7 +3,7 @@
3
3
 
4
4
  var chunkJHSDIOKU_cjs = require('./chunk-JHSDIOKU.cjs');
5
5
  var chunkX5AG2UZZ_cjs = require('./chunk-X5AG2UZZ.cjs');
6
- var chunkKFAFWPZK_cjs = require('./chunk-KFAFWPZK.cjs');
6
+ var chunkVRMACPJR_cjs = require('./chunk-VRMACPJR.cjs');
7
7
  var chunk324RBHCF_cjs = require('./chunk-324RBHCF.cjs');
8
8
  var chunkXTP4OGDG_cjs = require('./chunk-XTP4OGDG.cjs');
9
9
  var chunkMISPPQBP_cjs = require('./chunk-MISPPQBP.cjs');
@@ -156,7 +156,7 @@ function useViewedDocument(documentId) {
156
156
  const documentData = record?.external_id === documentId ? record : void 0;
157
157
  const { data: tags } = chunkEKJQJIAT_cjs.useConnectedTags();
158
158
  const labelSummaries = React.useMemo(
159
- () => chunkKFAFWPZK_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkKFAFWPZK_cjs.isDocumentLabel)),
159
+ () => chunkVRMACPJR_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkVRMACPJR_cjs.isDocumentLabel)),
160
160
  [documentData, tags]
161
161
  );
162
162
  const fileName = documentData?.file_name;
@@ -661,7 +661,7 @@ function PassageTagPanel({
661
661
  [workspaceTags]
662
662
  );
663
663
  return /* @__PURE__ */ jsxRuntime.jsx(
664
- chunkKFAFWPZK_cjs.TagPassagePanel,
664
+ chunkVRMACPJR_cjs.TagPassagePanel,
665
665
  {
666
666
  pageNumber,
667
667
  preview,
@@ -786,7 +786,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
786
786
  ];
787
787
  }) : [];
788
788
  return /* @__PURE__ */ jsxRuntime.jsx(
789
- chunkKFAFWPZK_cjs.HtmlPassage,
789
+ chunkVRMACPJR_cjs.HtmlPassage,
790
790
  {
791
791
  chunkId,
792
792
  highlight: isStrong ? "strong" : isLight ? "light" : void 0,
@@ -963,11 +963,11 @@ function useDocumentLabels(documentId, doctags, orderedChunkIds) {
963
963
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
964
964
  const documentDoctags = React.useMemo(() => doctags ?? [], [doctags]);
965
965
  const tagSummaries = React.useMemo(
966
- () => chunkKFAFWPZK_cjs.summariseDocTags(documentDoctags, workspaceTags),
966
+ () => chunkVRMACPJR_cjs.summariseDocTags(documentDoctags, workspaceTags),
967
967
  [documentDoctags, workspaceTags]
968
968
  );
969
969
  const labelSummaries = React.useMemo(
970
- () => chunkKFAFWPZK_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkKFAFWPZK_cjs.isDocumentLabel)),
970
+ () => chunkVRMACPJR_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkVRMACPJR_cjs.isDocumentLabel)),
971
971
  [documentDoctags, workspaceTags]
972
972
  );
973
973
  const labelsByChunk = React.useMemo(() => {
@@ -1475,14 +1475,14 @@ function ParsedTextView({
1475
1475
  }
1476
1476
  }
1477
1477
  }, [maxPageNumber, onLoadSuccess]);
1478
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading parsed document..." });
1478
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading parsed document..." });
1479
1479
  if (error) {
1480
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1480
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1481
1481
  }
1482
1482
  const taggingChunk = labels.taggingChunkId ? processedChunks.flatMap((page) => page.chunks).find((c) => c.chunkExtId === labels.taggingChunkId) : void 0;
1483
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkKFAFWPZK_cjs.HtmlViewerRoot, { children: [
1483
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkVRMACPJR_cjs.HtmlViewerRoot, { children: [
1484
1484
  /* @__PURE__ */ jsxRuntime.jsx(
1485
- chunkKFAFWPZK_cjs.DocumentLabelBar,
1485
+ chunkVRMACPJR_cjs.DocumentLabelBar,
1486
1486
  {
1487
1487
  summaries: labels.labelSummaries,
1488
1488
  activeTagExtId: labels.activeTagExtId,
@@ -1507,15 +1507,15 @@ function ParsedTextView({
1507
1507
  }
1508
1508
  ),
1509
1509
  !citation.factCitationActive && citation.runStartIds.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1510
- chunkKFAFWPZK_cjs.CitedRunNav,
1510
+ chunkVRMACPJR_cjs.CitedRunNav,
1511
1511
  {
1512
1512
  position: citation.runCursor + 1,
1513
1513
  total: citation.runStartIds.length,
1514
1514
  onStep: citation.gotoRun
1515
1515
  }
1516
1516
  ),
1517
- /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1518
- chunkKFAFWPZK_cjs.HtmlPage,
1517
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1518
+ chunkVRMACPJR_cjs.HtmlPage,
1519
1519
  {
1520
1520
  pageNumber: page.pageNumber,
1521
1521
  totalPages,
@@ -1556,7 +1556,7 @@ function ParsedTextView({
1556
1556
  })
1557
1557
  },
1558
1558
  pageIndex
1559
- )) : /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.HtmlViewerEmpty, {}) })
1559
+ )) : /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.HtmlViewerEmpty, {}) })
1560
1560
  ] });
1561
1561
  }
1562
1562
  var AnnotatedPdfViewer = React.lazy(
@@ -1606,7 +1606,7 @@ function ViewerPdfPane({
1606
1606
  const showMarkup = markup.hasMarkup && !markup.showOriginal;
1607
1607
  if (isDownloadOnly) {
1608
1608
  return /* @__PURE__ */ jsxRuntime.jsx(
1609
- chunkKFAFWPZK_cjs.ViewerPreviewUnavailable,
1609
+ chunkVRMACPJR_cjs.ViewerPreviewUnavailable,
1610
1610
  {
1611
1611
  extension: fileExtension(documentData?.file_name),
1612
1612
  onDownload
@@ -1616,26 +1616,26 @@ function ViewerPdfPane({
1616
1616
  const loadingLabel = isVideo ? "Loading video..." : isAudio ? "Loading audio..." : isImage ? "Loading image..." : !documentData ? "Loading document..." : ui.friendlyFileType(documentData.file_type, documentData.file_name) === "Text" ? "Loading text..." : "Loading PDF...";
1617
1617
  const errorLabel = isVideo ? "Failed to load video" : isAudio ? "Failed to load audio" : isImage ? "Failed to load image" : "Failed to load PDF";
1618
1618
  if (isDocx && documentData && !["completed", "low-content", "failed"].includes(documentData.status || "")) {
1619
- return /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1619
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1620
1620
  }
1621
- if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: loadingLabel });
1621
+ if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: loadingLabel });
1622
1622
  if (pdfError) {
1623
1623
  return /* @__PURE__ */ jsxRuntime.jsx(
1624
- chunkKFAFWPZK_cjs.ViewerLoadError,
1624
+ chunkVRMACPJR_cjs.ViewerLoadError,
1625
1625
  {
1626
1626
  message: isVideo || isAudio || isImage ? `${errorLabel} \u2014 download it instead.` : "Couldn't display the PDF \u2014 download it instead.",
1627
1627
  onDownload
1628
1628
  }
1629
1629
  );
1630
1630
  }
1631
- if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: loadingLabel });
1631
+ if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: loadingLabel });
1632
1632
  if (isVideo) return /* @__PURE__ */ jsxRuntime.jsx(viewers.VideoViewer, { blob: pdfBlob, title: documentData?.file_name || "Video" });
1633
1633
  if (isAudio) return /* @__PURE__ */ jsxRuntime.jsx(viewers.AudioViewer, { blob: pdfBlob, title: documentData?.file_name || "Audio" });
1634
1634
  if (isImage) {
1635
1635
  return /* @__PURE__ */ jsxRuntime.jsx(viewers.ImageViewer, { blob: pdfBlob, alt: documentData?.file_name || "Document image" });
1636
1636
  }
1637
1637
  if (signatureFlow?.kind === "prepare") {
1638
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1638
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1639
1639
  SignatureRequestEditor,
1640
1640
  {
1641
1641
  ...viewerProps,
@@ -1653,7 +1653,7 @@ function ViewerPdfPane({
1653
1653
  }
1654
1654
  if (signatureFlow?.kind === "sign" && currentUserId) {
1655
1655
  const { currentPage: _page, scrollTrigger: _trigger, ...guidedProps } = viewerProps;
1656
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1656
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1657
1657
  GuidedSigningViewer,
1658
1658
  {
1659
1659
  ...guidedProps,
@@ -1667,7 +1667,7 @@ function ViewerPdfPane({
1667
1667
  ) });
1668
1668
  }
1669
1669
  if (placingSignature) {
1670
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1670
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1671
1671
  SignaturePlacementViewer,
1672
1672
  {
1673
1673
  ...viewerProps,
@@ -1683,7 +1683,7 @@ function ViewerPdfPane({
1683
1683
  return /* @__PURE__ */ jsxRuntime.jsx(
1684
1684
  React.Suspense,
1685
1685
  {
1686
- fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
1686
+ fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
1687
1687
  children: /* @__PURE__ */ jsxRuntime.jsx(
1688
1688
  AnnotatedPdfViewer,
1689
1689
  {
@@ -1806,17 +1806,17 @@ function DocumentViewerDialog({
1806
1806
  ) });
1807
1807
  }
1808
1808
  var NativeDocxEditor = React.lazy(
1809
- () => import('./ConnectedNativeDocxEditor-774XRIP3.cjs').then((m) => ({
1809
+ () => import('./ConnectedNativeDocxEditor-XKQV7A37.cjs').then((m) => ({
1810
1810
  default: m.ConnectedNativeDocxEditor
1811
1811
  }))
1812
1812
  );
1813
1813
  var StreamedWordArtifact = React.lazy(
1814
- () => import('./ConnectedStreamedWordArtifact-7TNIQTVE.cjs').then((m) => ({
1814
+ () => import('./ConnectedStreamedWordArtifact-CSRL4SCO.cjs').then((m) => ({
1815
1815
  default: m.ConnectedStreamedWordArtifact
1816
1816
  }))
1817
1817
  );
1818
1818
  var NativeDocxComparison = React.lazy(
1819
- () => import('./ConnectedNativeDocxComparison-R4OFGVHY.cjs').then((m) => ({
1819
+ () => import('./ConnectedNativeDocxComparison-RQIKQM5O.cjs').then((m) => ({
1820
1820
  default: m.ConnectedNativeDocxComparison
1821
1821
  }))
1822
1822
  );
@@ -1993,15 +1993,15 @@ function DocumentViewerContent({
1993
1993
  };
1994
1994
  const documentTitle = streamingDoc?.title || draftDoc?.title || documentData?.doc_metadata?.title || documentData?.file_name || "Document";
1995
1995
  const pageNav = totalPages > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1996
- /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
1996
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
1997
1997
  /* @__PURE__ */ jsxRuntime.jsx(
1998
- chunkKFAFWPZK_cjs.PdfPageNav,
1998
+ chunkVRMACPJR_cjs.PdfPageNav,
1999
1999
  {
2000
2000
  canPrev: (viewingDocumentPage || 1) > 1,
2001
2001
  canNext: (viewingDocumentPage || 1) < totalPages,
2002
2002
  onPrev: () => stepPage(-1),
2003
2003
  onNext: () => stepPage(1),
2004
- counter: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2004
+ counter: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2005
2005
  }
2006
2006
  )
2007
2007
  ] });
@@ -2025,7 +2025,7 @@ function DocumentViewerContent({
2025
2025
  );
2026
2026
  const titleBlock = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2027
2027
  isDraft ? support.renderDraftTitle?.(documentId) : /* @__PURE__ */ jsxRuntime.jsx(
2028
- chunkKFAFWPZK_cjs.ViewerTitle,
2028
+ chunkVRMACPJR_cjs.ViewerTitle,
2029
2029
  {
2030
2030
  title: documentTitle,
2031
2031
  versionLabel: currentVersionLabel,
@@ -2050,7 +2050,7 @@ function DocumentViewerContent({
2050
2050
  // A draft's kind replaces the tabs: neither Versions nor the text view means anything
2051
2051
  // before the first save.
2052
2052
  support.renderDraftKind?.(documentId)
2053
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerTabBar, { tabs: viewerTabs, activeId: activeTab, onChange: handleTabChange }),
2053
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerTabBar, { tabs: viewerTabs, activeId: activeTab, onChange: handleTabChange }),
2054
2054
  !isCompact && titleBlock
2055
2055
  ] });
2056
2056
  const annotatable = documentTools.canAnnotate({
@@ -2123,7 +2123,7 @@ function DocumentViewerContent({
2123
2123
  }
2124
2124
  ),
2125
2125
  activeTab === "pdf" && isImage && pdfBlob && /* @__PURE__ */ jsxRuntime.jsx(
2126
- chunkKFAFWPZK_cjs.ViewerImageActions,
2126
+ chunkVRMACPJR_cjs.ViewerImageActions,
2127
2127
  {
2128
2128
  compact: isCompact,
2129
2129
  onUseAsReference: support.useImageAsReference ? () => support.useImageAsReference(documentId) : void 0,
@@ -2192,7 +2192,7 @@ function DocumentViewerContent({
2192
2192
  {
2193
2193
  state: documentData?.shared ? "shared" : "private",
2194
2194
  onToggle: share,
2195
- disabled: !chunkKFAFWPZK_cjs.canChangeVisibility(documentData, currentUserId),
2195
+ disabled: !chunkVRMACPJR_cjs.canChangeVisibility(documentData, currentUserId),
2196
2196
  disabledTooltip: "Only the owner can change visibility",
2197
2197
  tooltip: documentData?.shared ? "Shared with the workspace \u2014 click to share with specific people" : "Share with the workspace, then optionally notify specific people by email",
2198
2198
  variant: "outline",
@@ -2337,7 +2337,7 @@ function DocumentViewerContent({
2337
2337
  onZoomChange: setZoom
2338
2338
  };
2339
2339
  return /* @__PURE__ */ jsxRuntime.jsxs(
2340
- chunkKFAFWPZK_cjs.ViewerFrame,
2340
+ chunkVRMACPJR_cjs.ViewerFrame,
2341
2341
  {
2342
2342
  frameRef: containerRef,
2343
2343
  contentId: documentId,
@@ -2382,7 +2382,7 @@ function DocumentViewerContent({
2382
2382
  )
2383
2383
  ),
2384
2384
  children: [
2385
- isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2385
+ isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2386
2386
  NativeDocxComparison,
2387
2387
  {
2388
2388
  baseId: compareDocumentId,
@@ -2392,7 +2392,7 @@ function DocumentViewerContent({
2392
2392
  ) }),
2393
2393
  isCaptureDraft && support.renderCaptureDraft?.(documentId),
2394
2394
  !isCaptureDraft && (activeTab === "pdf" || isMedia && activeTab === "html") && !isArtifact && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(chunkUWIILWDI_cjs.ViewerPane, { hidden: activeTab !== "pdf", children: [
2395
- /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2395
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2396
2396
  !isMedia && !isImage && signatureBanner,
2397
2397
  activeTab === "pdf" && !isMedia && !isImage && /* @__PURE__ */ jsxRuntime.jsx(
2398
2398
  chunkXTP4OGDG_cjs.MarkupNotices,
@@ -2402,7 +2402,7 @@ function DocumentViewerContent({
2402
2402
  onOpenVersion: (n) => setSnapshotDocumentId(`${documentId}@v${n}`)
2403
2403
  }
2404
2404
  ),
2405
- /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2405
+ /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2406
2406
  ViewerPdfPane,
2407
2407
  {
2408
2408
  documentId,
@@ -2441,7 +2441,7 @@ function DocumentViewerContent({
2441
2441
  }
2442
2442
  ),
2443
2443
  activeTab === "edit" && isArtifact && liveKind && /* @__PURE__ */ jsxRuntime.jsx(chunk7QN7CERW_cjs.ArtifactCodeView, { source: liveSource, fileName: documentData?.file_name ?? void 0 }),
2444
- activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2444
+ activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2445
2445
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkXTP4OGDG_cjs.SignedEditNote, {}),
2446
2446
  /* @__PURE__ */ jsxRuntime.jsx(
2447
2447
  NativeDocxEditor,
@@ -2484,8 +2484,8 @@ function DocumentViewerContent({
2484
2484
  onOpenTranslation: (id) => setViewingDocumentId(id)
2485
2485
  }
2486
2486
  ),
2487
- activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2488
- activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2487
+ activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2488
+ activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2489
2489
  signatureBanner,
2490
2490
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkXTP4OGDG_cjs.SignedEditNote, {}),
2491
2491
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2498,7 +2498,7 @@ function DocumentViewerContent({
2498
2498
  `${snapshotDocumentId || documentId}-${snapshotDocumentId ? "snapshot" : "live"}`
2499
2499
  )
2500
2500
  ] }),
2501
- streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2501
+ streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2502
2502
  StreamedWordArtifact,
2503
2503
  {
2504
2504
  documentId: documentId.startsWith("doc-") ? documentId : void 0,
@@ -2508,7 +2508,7 @@ function DocumentViewerContent({
2508
2508
  },
2509
2509
  documentId
2510
2510
  ) }),
2511
- !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkUWIILWDI_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkKFAFWPZK_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2511
+ !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkUWIILWDI_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkVRMACPJR_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2512
2512
  ParsedTextView,
2513
2513
  {
2514
2514
  documentId: pdfSnapshotId || documentId,
@@ -2524,5 +2524,5 @@ function DocumentViewerContent({
2524
2524
  }
2525
2525
 
2526
2526
  exports.ConnectedDocumentViewer = ConnectedDocumentViewer;
2527
- //# sourceMappingURL=chunk-QCFNPQWS.cjs.map
2528
- //# sourceMappingURL=chunk-QCFNPQWS.cjs.map
2527
+ //# sourceMappingURL=chunk-3LJUTIS6.cjs.map
2528
+ //# sourceMappingURL=chunk-3LJUTIS6.cjs.map