@arbidocs/blocks 0.4.100 → 0.4.101

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 (46) hide show
  1. package/dist/agents/index.cjs +207 -207
  2. package/dist/agents/index.js +2 -2
  3. package/dist/{chunk-NJX774HB.js → chunk-5NQIBJPP.js} +3 -3
  4. package/dist/{chunk-NJX774HB.js.map → chunk-5NQIBJPP.js.map} +1 -1
  5. package/dist/{chunk-NW3LFDZL.cjs → chunk-DDYXFALG.cjs} +3 -3
  6. package/dist/{chunk-NW3LFDZL.cjs.map → chunk-DDYXFALG.cjs.map} +1 -1
  7. package/dist/{chunk-B7P73VHX.cjs → chunk-FAGQTB3D.cjs} +30 -214
  8. package/dist/chunk-FAGQTB3D.cjs.map +1 -0
  9. package/dist/{chunk-6HZNFOHW.js → chunk-G5JH2YMQ.js} +3 -3
  10. package/dist/{chunk-6HZNFOHW.js.map → chunk-G5JH2YMQ.js.map} +1 -1
  11. package/dist/{chunk-72PQ42YI.js → chunk-MYALCKDR.js} +34 -217
  12. package/dist/chunk-MYALCKDR.js.map +1 -0
  13. package/dist/{chunk-O24WPHLD.cjs → chunk-Y5XW57U4.cjs} +5 -5
  14. package/dist/{chunk-O24WPHLD.cjs.map → chunk-Y5XW57U4.cjs.map} +1 -1
  15. package/dist/{chunk-E2QWWLK5.js → chunk-YGREW5TZ.js} +3 -3
  16. package/dist/{chunk-E2QWWLK5.js.map → chunk-YGREW5TZ.js.map} +1 -1
  17. package/dist/{chunk-IE55TWIG.cjs → chunk-ZT2EBBSC.cjs} +5 -5
  18. package/dist/{chunk-IE55TWIG.cjs.map → chunk-ZT2EBBSC.cjs.map} +1 -1
  19. package/dist/connect/docx.cjs +6 -6
  20. package/dist/connect/docx.js +4 -4
  21. package/dist/connect/index.cjs +3 -3
  22. package/dist/connect/index.js +2 -2
  23. package/dist/docx/NativeDocxEditor.d.ts +1 -1
  24. package/dist/docx/definitions/DefinedTerms.d.ts +1 -12
  25. package/dist/docx/definitions/commands.d.ts +3 -27
  26. package/dist/docx/index.cjs +35 -39
  27. package/dist/docx/index.d.ts +1 -1
  28. package/dist/docx/index.js +3 -3
  29. package/dist/facts/index.cjs +1 -1
  30. package/dist/facts/index.js +1 -1
  31. package/dist/files/index.cjs +1 -1
  32. package/dist/files/index.js +1 -1
  33. package/dist/home/index.cjs +1 -1
  34. package/dist/home/index.js +1 -1
  35. package/dist/index.cjs +253 -253
  36. package/dist/index.js +3 -3
  37. package/dist/shell/index.cjs +1 -1
  38. package/dist/shell/index.js +1 -1
  39. package/dist/studio/index.cjs +1 -1
  40. package/dist/studio/index.js +1 -1
  41. package/dist/workflow-canvas/index.cjs +9 -9
  42. package/dist/workflow-canvas/index.js +2 -2
  43. package/package.json +4 -4
  44. package/src/docx/README.md +2 -3
  45. package/dist/chunk-72PQ42YI.js.map +0 -1
  46. package/dist/chunk-B7P73VHX.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useConnection } from './chunk-OYMWV45N.js';
3
- import { NativeDocxEditor, loadDocxFonts } from './chunk-72PQ42YI.js';
3
+ import { NativeDocxEditor, loadDocxFonts } from './chunk-MYALCKDR.js';
4
4
  import { useMemo } from 'react';
5
5
  import { useQueryClient, useQuery } from '@tanstack/react-query';
6
6
  import { useArbi, notify, arbiQueryKeys } from '@arbidocs/react';
@@ -88,5 +88,5 @@ function useConnectedNativeDocxAdapter(fontBaseUrl = "/native-docx/fonts") {
88
88
  }
89
89
 
90
90
  export { ConnectedNativeDocxEditor, useConnectedNativeDocxAdapter };
91
- //# sourceMappingURL=chunk-6HZNFOHW.js.map
92
- //# sourceMappingURL=chunk-6HZNFOHW.js.map
91
+ //# sourceMappingURL=chunk-G5JH2YMQ.js.map
92
+ //# sourceMappingURL=chunk-G5JH2YMQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/connection/ConnectedNativeDocxEditor.tsx"],"names":[],"mappings":"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","file":"chunk-6HZNFOHW.js","sourcesContent":["import { useMemo } from 'react'\nimport { useQuery, useQueryClient } from '@tanstack/react-query'\nimport { useArbi, notify, arbiQueryKeys } from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport {\n NativeDocxEditor,\n type NativeDocxAdapter,\n type NativeDocxEditorProps,\n} from '../docx/NativeDocxEditor'\nimport { loadDocxFonts } from '../docx/fonts'\n\n/** Native Word widget bound to the standard blocks connection and SDK session. */\nexport function ConnectedNativeDocxEditor({\n fontBaseUrl = '/native-docx/fonts',\n ...props\n}: Omit<NativeDocxEditorProps, 'adapter'> & { fontBaseUrl?: string }) {\n const adapter = useConnectedNativeDocxAdapter(fontBaseUrl)\n return <NativeDocxEditor {...props} adapter={adapter} />\n}\n\nexport function useConnectedNativeDocxAdapter(fontBaseUrl = '/native-docx/fonts') {\n const arbi = useArbi()\n const { workspaceId, apiUrl, user, ensureWorkspaceOpen } = useConnection()\n const queries = useQueryClient()\n const { data: members } = useQuery({\n queryKey: ['native-docx-members', apiUrl, user?.externalId, workspaceId],\n enabled: arbi.isLoggedIn && !!workspaceId,\n queryFn: async () => {\n await ensureWorkspaceOpen()\n return arbi.workspaces.listUsers()\n },\n })\n const adapter = useMemo<NativeDocxAdapter>(\n () => ({\n request: async (path, options) => {\n await ensureWorkspaceOpen()\n return arbi.editor.request(path, options)\n },\n open: async (id) => {\n await ensureWorkspaceOpen()\n return (\n await arbi.editor.request(`/${encodeURIComponent(id)}/session`, { method: 'POST' })\n ).json()\n },\n save: async (id, state) =>\n (\n await arbi.editor.request(`/${encodeURIComponent(id)}/save`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ state }),\n })\n ).json(),\n loadFonts: () => loadDocxFonts(fontBaseUrl),\n baseUrl: apiUrl,\n author: user?.name || 'You',\n onVersionSaved: async (id) => {\n if (!workspaceId) return\n const key = arbiQueryKeys.documents(workspaceId)\n try {\n const documents = await arbi.documents.get([id])\n if (!documents.length) throw new Error('The saved version is not available yet.')\n queries.setQueryData<Awaited<ReturnType<typeof arbi.documents.list>>>(key, (previous) => [\n ...documents,\n ...(previous || []).filter(\n (doc) => !documents.some((saved) => saved.external_id === doc.external_id)\n ),\n ])\n } catch {\n await queries.invalidateQueries({ queryKey: key })\n }\n },\n notify: (message, kind) => notify[kind](message),\n mentions: members?.map(({ user: member }) => ({\n id: member.external_id,\n name: [member.given_name, member.family_name].filter(Boolean).join(' '),\n kind: member.external_id.startsWith('agt-') ? 'agent' : 'human',\n })),\n requestAgent: async (id, request) => {\n const response = await arbi.editor.request(`/${encodeURIComponent(id)}/mentions`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n comment_id: request.commentId,\n instruction: request.instruction,\n request_id: request.requestId,\n recipient_ids: request.recipientIds,\n }),\n })\n const delivery = (await response.json()) as { response_ids: string[] }\n notify.success('Mention delivered.')\n return { responseIds: delivery.response_ids || [] }\n },\n getAgentStatus: async (responseId) => (await arbi.assistant.getResponse(responseId)).status,\n }),\n [arbi, apiUrl, user?.name, members, ensureWorkspaceOpen, fontBaseUrl, queries, workspaceId]\n )\n return adapter\n}\n"]}
1
+ {"version":3,"sources":["../src/connection/ConnectedNativeDocxEditor.tsx"],"names":[],"mappings":"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","file":"chunk-G5JH2YMQ.js","sourcesContent":["import { useMemo } from 'react'\nimport { useQuery, useQueryClient } from '@tanstack/react-query'\nimport { useArbi, notify, arbiQueryKeys } from '@arbidocs/react'\nimport { useConnection } from './ConnectionProvider'\nimport {\n NativeDocxEditor,\n type NativeDocxAdapter,\n type NativeDocxEditorProps,\n} from '../docx/NativeDocxEditor'\nimport { loadDocxFonts } from '../docx/fonts'\n\n/** Native Word widget bound to the standard blocks connection and SDK session. */\nexport function ConnectedNativeDocxEditor({\n fontBaseUrl = '/native-docx/fonts',\n ...props\n}: Omit<NativeDocxEditorProps, 'adapter'> & { fontBaseUrl?: string }) {\n const adapter = useConnectedNativeDocxAdapter(fontBaseUrl)\n return <NativeDocxEditor {...props} adapter={adapter} />\n}\n\nexport function useConnectedNativeDocxAdapter(fontBaseUrl = '/native-docx/fonts') {\n const arbi = useArbi()\n const { workspaceId, apiUrl, user, ensureWorkspaceOpen } = useConnection()\n const queries = useQueryClient()\n const { data: members } = useQuery({\n queryKey: ['native-docx-members', apiUrl, user?.externalId, workspaceId],\n enabled: arbi.isLoggedIn && !!workspaceId,\n queryFn: async () => {\n await ensureWorkspaceOpen()\n return arbi.workspaces.listUsers()\n },\n })\n const adapter = useMemo<NativeDocxAdapter>(\n () => ({\n request: async (path, options) => {\n await ensureWorkspaceOpen()\n return arbi.editor.request(path, options)\n },\n open: async (id) => {\n await ensureWorkspaceOpen()\n return (\n await arbi.editor.request(`/${encodeURIComponent(id)}/session`, { method: 'POST' })\n ).json()\n },\n save: async (id, state) =>\n (\n await arbi.editor.request(`/${encodeURIComponent(id)}/save`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ state }),\n })\n ).json(),\n loadFonts: () => loadDocxFonts(fontBaseUrl),\n baseUrl: apiUrl,\n author: user?.name || 'You',\n onVersionSaved: async (id) => {\n if (!workspaceId) return\n const key = arbiQueryKeys.documents(workspaceId)\n try {\n const documents = await arbi.documents.get([id])\n if (!documents.length) throw new Error('The saved version is not available yet.')\n queries.setQueryData<Awaited<ReturnType<typeof arbi.documents.list>>>(key, (previous) => [\n ...documents,\n ...(previous || []).filter(\n (doc) => !documents.some((saved) => saved.external_id === doc.external_id)\n ),\n ])\n } catch {\n await queries.invalidateQueries({ queryKey: key })\n }\n },\n notify: (message, kind) => notify[kind](message),\n mentions: members?.map(({ user: member }) => ({\n id: member.external_id,\n name: [member.given_name, member.family_name].filter(Boolean).join(' '),\n kind: member.external_id.startsWith('agt-') ? 'agent' : 'human',\n })),\n requestAgent: async (id, request) => {\n const response = await arbi.editor.request(`/${encodeURIComponent(id)}/mentions`, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n comment_id: request.commentId,\n instruction: request.instruction,\n request_id: request.requestId,\n recipient_ids: request.recipientIds,\n }),\n })\n const delivery = (await response.json()) as { response_ids: string[] }\n notify.success('Mention delivered.')\n return { responseIds: delivery.response_ids || [] }\n },\n getAgentStatus: async (responseId) => (await arbi.assistant.getResponse(responseId)).status,\n }),\n [arbi, apiUrl, user?.name, members, ensureWorkspaceOpen, fontBaseUrl, queries, workspaceId]\n )\n return adapter\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { stylesXml, definitionBookmark, DEFINITION_BOOKMARK_PREFIX, compareTerms, groupDefinitions, definitionLabels, filterTermGroups, toDefinition, definitionIdOfBookmark, esc, parseDefinition, docxPackage, documentXml } from './chunk-D3QPYKZG.js';
2
+ import { stylesXml, definitionBookmark, groupDefinitions, definitionLabels, filterTermGroups, esc, docxPackage, documentXml, definitionIdOfBookmark, compareTerms, parseDefinition } from './chunk-D3QPYKZG.js';
3
3
  import { filterMentionCandidates, MentionMenu, findMentionQuery, listOptionId, extractMentions, useListKeyNav } from './chunk-AA3PT6KR.js';
4
4
  import { unzipSync, strFromU8, strToU8, zipSync } from 'fflate';
5
5
  import { collectReviewItems, revisionItemsOf } from '@docx-editor.dev/core/store';
6
6
  import React3, { createContext, useContext, useState, useRef, useCallback, useEffect, useLayoutEffect, useMemo, useSyncExternalStore } from 'react';
7
7
  import { useDocxEditor, ReviewRailContext, useEditorSnapshot, useEditorState, useChromeTranslate, DocxEditor, createFontSource, useParagraphStyle, normalizeImageBytes, usePageSetup, useEditorCommand } from '@docx-editor.dev/react';
8
- import { AiMarkdown, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Button, DialogFooter, cn, splitMarkdownBlocks } from '@arbidocs/react/ui';
9
- import { MessageSquarePlus, MessageSquare, PencilLine, ChevronLeft, ChevronRight, X, ChevronUp, ChevronDown, CheckCheck, RotateCcw, CircleCheck, Trash2, Check, SendHorizontal, Loader2, Sparkles, Type, Ellipsis, RefreshCw, WifiOff, Download, Save, BookA, ListRestart, Blocks, Superscript, NotebookText, Columns2, Settings2, BetweenHorizontalStart, BetweenHorizontalEnd, BetweenVerticalStart, BetweenVerticalEnd, Merge, Split, Heading, AlignVerticalJustifyStart, AlignVerticalJustifyCenter, AlignVerticalJustifyEnd, RotateCw, FlipHorizontal2, FlipVertical2, Scaling, RectangleVertical, RectangleHorizontal, FileText, SeparatorHorizontal, Captions } from 'lucide-react';
8
+ import { AiMarkdown, Dialog, DialogContent, DialogHeader, DialogTitle, cn, splitMarkdownBlocks } from '@arbidocs/react/ui';
9
+ import { MessageSquarePlus, MessageSquare, PencilLine, ChevronLeft, ChevronRight, X, ChevronUp, ChevronDown, CheckCheck, RotateCcw, CircleCheck, Trash2, Check, SendHorizontal, Loader2, Sparkles, Type, Ellipsis, RefreshCw, WifiOff, Download, Save, BookA, Blocks, Superscript, NotebookText, Columns2, Settings2, BetweenHorizontalStart, BetweenHorizontalEnd, BetweenVerticalStart, BetweenVerticalEnd, Merge, Split, Heading, AlignVerticalJustifyStart, AlignVerticalJustifyCenter, AlignVerticalJustifyEnd, RotateCw, FlipHorizontal2, FlipVertical2, Scaling, RectangleVertical, RectangleHorizontal, FileText, SeparatorHorizontal, Captions } from 'lucide-react';
10
10
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
11
11
  import { createPortal } from 'react-dom';
12
12
  import { defaultLegalTemplate, listBuildingBlocks, attachedTemplateOf, linkedLevelStyles, styleDivergence, buildingBlockFragment, fragmentClipboardHtml, trackInsertion, newFromTemplate } from '@arbidocs/coedit/template';
@@ -872,18 +872,18 @@ function ReviewCardSlot({ children }) {
872
872
  var DocxEditorReview = Object.assign(DocxEditorReviewRail, { Card: ReviewCardSlot });
873
873
 
874
874
  // src/docx/mentions.ts
875
- function mentionCandidates(mentions2) {
875
+ function mentionCandidates(mentions) {
876
876
  return [
877
877
  { id: "arbi", label: "ARBI", kind: "assistant" },
878
- ...mentions2.filter((person) => person.name.trim()).map((person) => ({
878
+ ...mentions.filter((person) => person.name.trim()).map((person) => ({
879
879
  id: person.id,
880
880
  label: person.name,
881
881
  kind: person.kind === "agent" ? "assistant" : "user"
882
882
  }))
883
883
  ];
884
884
  }
885
- function mentionedDocxRecipients(text, mentions2) {
886
- return extractMentions(text, mentionCandidates(mentions2)).map((person) => person.id);
885
+ function mentionedDocxRecipients(text, mentions) {
886
+ return extractMentions(text, mentionCandidates(mentions)).map((person) => person.id);
887
887
  }
888
888
  var ActivityContext = createContext({});
889
889
  function DocxCommentActivity() {
@@ -959,7 +959,7 @@ function DocxCommentActivity() {
959
959
  }
960
960
  function DocxMentions({
961
961
  children,
962
- mentions: mentions2 = [],
962
+ mentions = [],
963
963
  initialCommentId,
964
964
  requestAgent,
965
965
  getAgentStatus,
@@ -1018,7 +1018,7 @@ function DocxMentions({
1018
1018
  const [suggestions, setSuggestions] = useState(null);
1019
1019
  const [selected, setSelected] = useState(0);
1020
1020
  const candidates = filterMentionCandidates(
1021
- mentionCandidates(mentions2),
1021
+ mentionCandidates(mentions),
1022
1022
  suggestions?.query || ""
1023
1023
  ).slice(0, 8);
1024
1024
  useEffect(() => {
@@ -1039,7 +1039,7 @@ function DocxMentions({
1039
1039
  }));
1040
1040
  };
1041
1041
  const hasAgent = submission.recipientIds.some(
1042
- (id) => id === "arbi" || mentions2.some((person) => person.id === id && person.kind === "agent")
1042
+ (id) => id === "arbi" || mentions.some((person) => person.id === id && person.kind === "agent")
1043
1043
  );
1044
1044
  if (hasAgent) update("delivering");
1045
1045
  void requestAgent({
@@ -1073,7 +1073,7 @@ function DocxMentions({
1073
1073
  "error"
1074
1074
  );
1075
1075
  });
1076
- }, [review.items, requestAgent, getAgentStatus, mentions2, notify]);
1076
+ }, [review.items, requestAgent, getAgentStatus, mentions, notify]);
1077
1077
  const choose = (name) => {
1078
1078
  const field = input.current;
1079
1079
  if (!field || !suggestions) return;
@@ -1091,7 +1091,7 @@ function DocxMentions({
1091
1091
  '[data-testid="review-draft-input"], [data-testid="review-reply-input"]'
1092
1092
  );
1093
1093
  if (!field || field.readOnly || !requestAgent) return false;
1094
- const recipientIds = mentionedDocxRecipients(field.value, mentions2);
1094
+ const recipientIds = mentionedDocxRecipients(field.value, mentions);
1095
1095
  if (!recipientIds.length) return false;
1096
1096
  pending.current = {
1097
1097
  ids: new Set(review.items.filter((i) => i.kind === "comment").map((i) => i.item.id)),
@@ -1138,7 +1138,7 @@ function DocxMentions({
1138
1138
  (entry) => entry.kind === "comment" && entry.parentId === commentId
1139
1139
  );
1140
1140
  const author = replies.at(-1)?.author || target.author;
1141
- const agent = mentions2.find((person) => person.kind === "agent" && person.name === author);
1141
+ const agent = mentions.find((person) => person.kind === "agent" && person.name === author);
1142
1142
  if (agent || author === "ARBI" || author === "Assistant")
1143
1143
  prefixMention(
1144
1144
  field,
@@ -1216,7 +1216,7 @@ function DocxMentions({
1216
1216
  onMouseDown: (event) => event.preventDefault(),
1217
1217
  onClick: (event) => {
1218
1218
  event.stopPropagation();
1219
- if (!mentionedDocxRecipients(field.value, mentions2).includes("arbi"))
1219
+ if (!mentionedDocxRecipients(field.value, mentions).includes("arbi"))
1220
1220
  prefixMention(field);
1221
1221
  else field.focus();
1222
1222
  },
@@ -1271,7 +1271,6 @@ function definitionTooltip(definition) {
1271
1271
  const line = `\u201C${definition.term}\u201D${definition.rest}`.replace(/\s+/g, " ").trim();
1272
1272
  return line.length > 255 ? `${line.slice(0, 254)}\u2026` : line;
1273
1273
  }
1274
- var definitionParagraphText = (definition) => `\u201C${definition.term}\u201D${definition.rest}`;
1275
1274
  function definitionParagraphXml(definition, bookmark, id = 0) {
1276
1275
  return `<w:p><w:bookmarkStart w:id="${id}" w:name="${esc(bookmark)}"/>${textRun("\u201C")}${textRun(
1277
1276
  definition.term,
@@ -1392,95 +1391,6 @@ function insertDefinedTerm(port, definition, options = {}) {
1392
1391
  port.setCaret({ paragraphId: caret.paragraphId, offset: caret.offset + definition.term.length });
1393
1392
  return { addedDefinition };
1394
1393
  }
1395
- var escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1396
- var mentions = (text, term) => new RegExp(`(^|[^\\p{L}\\p{N}])${escapeRegExp(term)}($|[^\\p{L}\\p{N}])`, "iu").test(text);
1397
- function updateDefinitions(port, definitions) {
1398
- const result = {
1399
- added: [],
1400
- refreshed: [],
1401
- reordered: [],
1402
- unused: [],
1403
- unknown: []
1404
- };
1405
- let paragraphs = port.paragraphs();
1406
- const linked = new Set(
1407
- paragraphs.flatMap(
1408
- (p) => p.links.map((l) => l.anchor).filter((a) => a.startsWith(DEFINITION_BOOKMARK_PREFIX))
1409
- )
1410
- );
1411
- const declared = /* @__PURE__ */ new Map();
1412
- for (const p of paragraphs)
1413
- for (const b of p.bookmarks)
1414
- if (b.startsWith(DEFINITION_BOOKMARK_PREFIX) && !declared.has(b)) declared.set(b, p);
1415
- const factOf = (bookmark) => {
1416
- const id = definitionIdOfBookmark(bookmark);
1417
- return id ? definitions.get(id) : void 0;
1418
- };
1419
- for (const bookmark of [...linked, ...declared.keys()])
1420
- if (!factOf(bookmark) && !result.unknown.includes(bookmark)) result.unknown.push(bookmark);
1421
- const section = findDefinitionsSection(paragraphs);
1422
- const rewrite = /* @__PURE__ */ new Map();
1423
- for (const [bookmark, paragraph] of declared) {
1424
- const fact = factOf(bookmark);
1425
- if (fact && paragraph.text !== definitionParagraphText(fact)) {
1426
- rewrite.set(paragraph.id, fact);
1427
- result.refreshed.push(fact.term);
1428
- }
1429
- }
1430
- if (section) {
1431
- let previous = null;
1432
- for (let i = section.start; i < section.end; i++) {
1433
- const p = paragraphs[i];
1434
- const term = termOf(p);
1435
- if (term === null) continue;
1436
- const bookmark = p.bookmarks.find((b) => b.startsWith(DEFINITION_BOOKMARK_PREFIX));
1437
- const fact = bookmark ? factOf(bookmark) : void 0;
1438
- if (previous !== null && compareTerms(term, previous) < 0 && fact) {
1439
- if (!rewrite.has(p.id)) result.reordered.push(fact.term);
1440
- rewrite.set(p.id, fact);
1441
- continue;
1442
- }
1443
- previous = term;
1444
- }
1445
- }
1446
- for (const id of [...rewrite.keys()].reverse()) {
1447
- const index = paragraphs.findIndex((p) => p.id === id);
1448
- const previous = paragraphs[index - 1];
1449
- const target = paragraphs[index];
1450
- if (!previous) continue;
1451
- port.deleteRange(
1452
- { paragraphId: previous.id, offset: previous.text.length },
1453
- { paragraphId: target.id, offset: target.text.length }
1454
- );
1455
- paragraphs = port.paragraphs();
1456
- }
1457
- const toAdd = [...rewrite.values()];
1458
- for (const bookmark of linked) {
1459
- const fact = factOf(bookmark);
1460
- if (fact && !declared.has(bookmark) && !toAdd.some((d) => d.id === fact.id)) {
1461
- toAdd.push(fact);
1462
- result.added.push(fact.term);
1463
- }
1464
- }
1465
- toAdd.sort((a, b) => compareTerms(a.term, b.term));
1466
- for (const definition of toAdd) addDefinition(port, definition);
1467
- paragraphs = port.paragraphs();
1468
- const after = findDefinitionsSection(paragraphs);
1469
- if (after) {
1470
- const inSection = (i) => i >= after.title && i < after.end;
1471
- const outside = paragraphs.filter((_, i) => !inSection(i));
1472
- const linkedNow = new Set(outside.flatMap((p) => p.links.map((l) => l.anchor)));
1473
- const outsideText = outside.map((p) => p.text).join("\n");
1474
- for (let i = after.start; i < after.end; i++) {
1475
- const p = paragraphs[i];
1476
- const term = termOf(p);
1477
- if (term === null) continue;
1478
- const used = p.bookmarks.some((b) => linkedNow.has(b)) || mentions(outsideText, term);
1479
- if (!used) result.unused.push({ term, paragraphId: p.id });
1480
- }
1481
- }
1482
- return result;
1483
- }
1484
1394
  function definitionOfAnchor(anchor, definitions) {
1485
1395
  const id = definitionIdOfBookmark(anchor.replace(/^#/, ""));
1486
1396
  return id ? definitions.get(id) : void 0;
@@ -1688,7 +1598,6 @@ var MAX_GROUPS = 8;
1688
1598
  var STALE_AFTER_MS = 3e4;
1689
1599
  var DEFAULT_DEFINED_TERMS_LABELS = {
1690
1600
  insert: "Defined term",
1691
- update: "Update definitions",
1692
1601
  search: "Search defined terms",
1693
1602
  allAgreements: "All definitions",
1694
1603
  loading: "Loading definitions\u2026",
@@ -1696,18 +1605,7 @@ var DEFAULT_DEFINED_TERMS_LABELS = {
1696
1605
  noMatch: "No defined term matches.",
1697
1606
  hint: "Enter to insert \xB7 Esc to close",
1698
1607
  preferred: "Preferred",
1699
- alsoIn: (source) => `Also defined${source ? ` in ${source}` : ""}`,
1700
- updated: "Definitions updated",
1701
- updateSummary: (r) => [
1702
- r.added.length ? `${r.added.length} added` : "",
1703
- r.refreshed.length ? `${r.refreshed.length} reworded` : "",
1704
- r.reordered.length ? `${r.reordered.length} reordered` : ""
1705
- ].filter(Boolean).join(" \xB7 ") || "The Definitions section is up to date.",
1706
- unusedTitle: "Defined but never used",
1707
- unusedNone: "Every definition in the section is used.",
1708
- unknownTitle: "Links to definitions that no longer exist",
1709
- show: "Show",
1710
- close: "Close"
1608
+ alsoIn: (source) => `Also defined${source ? ` in ${source}` : ""}`
1711
1609
  };
1712
1610
  var DefinedTermsContext = createContext(null);
1713
1611
  var useDefinedTerms = () => useContext(DefinedTermsContext);
@@ -1733,7 +1631,6 @@ function DefinedTermsProvider({
1733
1631
  const [labelId, setLabelId] = useState(null);
1734
1632
  const [picker, setPicker] = useState(null);
1735
1633
  const [selected, setSelected] = useState(0);
1736
- const [report, setReport] = useState(null);
1737
1634
  const marker = useRef(null);
1738
1635
  const dismissedAt = useRef(null);
1739
1636
  const refresh = useCallback(
@@ -1892,31 +1789,9 @@ function DefinedTermsProvider({
1892
1789
  window.addEventListener("keydown", keys, true);
1893
1790
  return () => window.removeEventListener("keydown", keys, true);
1894
1791
  }, [picker, rows, selected, pick]);
1895
- const update = useCallback(() => {
1896
- if (!editor || !editable) return;
1897
- void refresh(true).then((list) => {
1898
- const definitions = new Map(
1899
- list.flatMap((s) => {
1900
- const d = toDefinition(s);
1901
- return d ? [[d.id, d]] : [];
1902
- })
1903
- );
1904
- const surface = editor.surface;
1905
- const before = surface?.state().selection?.head;
1906
- const paraId = before && surface?.session.paraIdOf(before.paragraphId);
1907
- const result = run(() => updateDefinitions(editorPort(editor), definitions));
1908
- const node = paraId && surface?.session.nodeIdOf(paraId);
1909
- if (result && before && node) {
1910
- const point = { paragraphId: node, offset: before.offset };
1911
- surface.setSelection({ anchor: point, head: point });
1912
- holdCaret(editor);
1913
- }
1914
- if (result) setReport(result);
1915
- });
1916
- }, [editor, editable, refresh, run]);
1917
1792
  const value = useMemo(
1918
- () => load && editable ? { openPicker, update, labels: l } : null,
1919
- [load, editable, openPicker, update, l]
1793
+ () => load && editable ? { openPicker, labels: l } : null,
1794
+ [load, editable, openPicker, l]
1920
1795
  );
1921
1796
  return /* @__PURE__ */ jsxs(DefinedTermsContext.Provider, { value, children: [
1922
1797
  /* @__PURE__ */ jsx("span", { ref: marker, hidden: true }),
@@ -1951,50 +1826,7 @@ function DefinedTermsProvider({
1951
1826
  }
1952
1827
  ),
1953
1828
  document.body
1954
- ),
1955
- /* @__PURE__ */ jsx(Dialog, { open: !!report, onOpenChange: (open) => !open && setReport(null), children: /* @__PURE__ */ jsxs(
1956
- DialogContent,
1957
- {
1958
- className: "max-h-[85dvh] overflow-y-auto",
1959
- "data-testid": "docx-definitions-report",
1960
- children: [
1961
- /* @__PURE__ */ jsxs(DialogHeader, { children: [
1962
- /* @__PURE__ */ jsx(DialogTitle, { children: l.updated }),
1963
- /* @__PURE__ */ jsx(DialogDescription, { children: report && l.updateSummary(report) })
1964
- ] }),
1965
- report && /* @__PURE__ */ jsxs("div", { className: "space-y-4 text-sm", children: [
1966
- /* @__PURE__ */ jsxs("section", { children: [
1967
- /* @__PURE__ */ jsx("h3", { className: "mb-1 font-medium", children: l.unusedTitle }),
1968
- report.unused.length ? /* @__PURE__ */ jsx("ul", { className: "space-y-1", "data-testid": "docx-definitions-unused", children: report.unused.map((u) => /* @__PURE__ */ jsxs("li", { className: "flex items-center justify-between gap-2", children: [
1969
- /* @__PURE__ */ jsx("span", { children: u.term }),
1970
- /* @__PURE__ */ jsx(
1971
- Button,
1972
- {
1973
- size: "sm",
1974
- variant: "ghost",
1975
- onClick: () => {
1976
- const surface = editor?.surface;
1977
- surface?.setSelection({
1978
- anchor: { paragraphId: u.paragraphId, offset: 0 },
1979
- head: { paragraphId: u.paragraphId, offset: 0 }
1980
- });
1981
- surface?.revealParagraph(u.paragraphId);
1982
- setReport(null);
1983
- },
1984
- children: l.show
1985
- }
1986
- )
1987
- ] }, u.paragraphId)) }) : /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: l.unusedNone })
1988
- ] }),
1989
- report.unknown.length > 0 && /* @__PURE__ */ jsxs("section", { children: [
1990
- /* @__PURE__ */ jsx("h3", { className: "mb-1 font-medium", children: l.unknownTitle }),
1991
- /* @__PURE__ */ jsx("ul", { className: "list-disc pl-5 text-muted-foreground", children: report.unknown.map((name) => /* @__PURE__ */ jsx("li", { children: name }, name)) })
1992
- ] })
1993
- ] }),
1994
- /* @__PURE__ */ jsx(DialogFooter, { children: /* @__PURE__ */ jsx(Button, { variant: "outline", onClick: () => setReport(null), children: l.close }) })
1995
- ]
1996
- }
1997
- ) })
1829
+ )
1998
1830
  ] });
1999
1831
  }
2000
1832
  function DefinedTermMenu({
@@ -3754,34 +3586,19 @@ function DocxParticipants({ session }) {
3754
3586
  function DefinedTermButtons() {
3755
3587
  const terms = useDefinedTerms();
3756
3588
  if (!terms) return null;
3757
- return /* @__PURE__ */ jsxs(Fragment, { children: [
3758
- /* @__PURE__ */ jsx(
3759
- "button",
3760
- {
3761
- type: "button",
3762
- className: "native-docx-ribbon-trigger",
3763
- "aria-label": terms.labels.insert,
3764
- title: `${terms.labels.insert} (type @@)`,
3765
- "data-testid": "docx-insert-defined-term",
3766
- onMouseDown: (event) => event.preventDefault(),
3767
- onClick: (event) => terms.openPicker(event.currentTarget),
3768
- children: /* @__PURE__ */ jsx(BookA, { size: 16 })
3769
- }
3770
- ),
3771
- /* @__PURE__ */ jsx(
3772
- "button",
3773
- {
3774
- type: "button",
3775
- className: "native-docx-ribbon-trigger",
3776
- "aria-label": terms.labels.update,
3777
- title: terms.labels.update,
3778
- "data-testid": "docx-update-definitions",
3779
- onMouseDown: (event) => event.preventDefault(),
3780
- onClick: () => terms.update(),
3781
- children: /* @__PURE__ */ jsx(ListRestart, { size: 16 })
3782
- }
3783
- )
3784
- ] });
3589
+ return /* @__PURE__ */ jsx(
3590
+ "button",
3591
+ {
3592
+ type: "button",
3593
+ className: "native-docx-ribbon-trigger",
3594
+ "aria-label": terms.labels.insert,
3595
+ title: `${terms.labels.insert} (type @@)`,
3596
+ "data-testid": "docx-insert-defined-term",
3597
+ onMouseDown: (event) => event.preventDefault(),
3598
+ onClick: (event) => terms.openPicker(event.currentTarget),
3599
+ children: /* @__PURE__ */ jsx(BookA, { size: 16 })
3600
+ }
3601
+ );
3785
3602
  }
3786
3603
  function DocxRibbon({
3787
3604
  onSave,
@@ -4359,6 +4176,6 @@ async function loadFonts(baseUrl) {
4359
4176
  };
4360
4177
  }
4361
4178
 
4362
- export { BUILTIN_TEMPLATE_NAME, DEFAULT_DEFINED_TERMS_LABELS, DEFINED_TERM_TRIGGER, DefinedTermsProvider, DocxAuthorContext, DocxCommentActivity, DocxEditorReview, DocxMentions, DocxParticipants, DocxRibbon, GenerateImageButton, HouseTemplateProvider, NativeDocxEditor, builtinHouseTemplate, contentPath, editorPort, findDefinitionsSection, insertDefinedTerm, loadDocxFonts, normalizeDocxExport, resolveHouseTemplate, reviewModule, structuralPort, templateFileName, trackedOrNoted, updateDefinitions, useDefinedTerms, useHouseTemplate, useReview, useReviewItem, useTrackedOrNoted, withDirectEditing };
4363
- //# sourceMappingURL=chunk-72PQ42YI.js.map
4364
- //# sourceMappingURL=chunk-72PQ42YI.js.map
4179
+ export { BUILTIN_TEMPLATE_NAME, DEFAULT_DEFINED_TERMS_LABELS, DEFINED_TERM_TRIGGER, DefinedTermsProvider, DocxAuthorContext, DocxCommentActivity, DocxEditorReview, DocxMentions, DocxParticipants, DocxRibbon, GenerateImageButton, HouseTemplateProvider, NativeDocxEditor, builtinHouseTemplate, contentPath, editorPort, findDefinitionsSection, insertDefinedTerm, loadDocxFonts, normalizeDocxExport, resolveHouseTemplate, reviewModule, structuralPort, templateFileName, trackedOrNoted, useDefinedTerms, useHouseTemplate, useReview, useReviewItem, useTrackedOrNoted, withDirectEditing };
4180
+ //# sourceMappingURL=chunk-MYALCKDR.js.map
4181
+ //# sourceMappingURL=chunk-MYALCKDR.js.map