@arbidocs/blocks 0.4.110 → 0.4.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{NativeDocxEditor-WODZAURG.cjs → NativeDocxEditor-AQZSUGET.cjs} +8 -8
- package/dist/{NativeDocxEditor-WODZAURG.cjs.map → NativeDocxEditor-AQZSUGET.cjs.map} +1 -1
- package/dist/{NativeDocxEditor-4PY4YZYC.js → NativeDocxEditor-MBCBXYDZ.js} +4 -4
- package/dist/{NativeDocxEditor-4PY4YZYC.js.map → NativeDocxEditor-MBCBXYDZ.js.map} +1 -1
- package/dist/agents/index.cjs +208 -208
- package/dist/agents/index.js +3 -3
- package/dist/calendar/EventEditor.d.ts +1 -1
- package/dist/calendar/draft.d.ts +7 -1
- package/dist/calendar/index.cjs +58 -10
- package/dist/calendar/index.cjs.map +1 -1
- package/dist/calendar/index.d.ts +1 -1
- package/dist/calendar/index.js +56 -11
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/types.d.ts +20 -0
- package/dist/calls/CallSidePanel.d.ts +16 -1
- package/dist/calls/ControlBar.d.ts +25 -3
- package/dist/calls/PreJoin.d.ts +6 -2
- package/dist/calls/cards.d.ts +6 -2
- package/dist/calls/index.cjs +1078 -47
- package/dist/calls/index.cjs.map +1 -1
- package/dist/calls/index.d.ts +4 -3
- package/dist/calls/index.js +1067 -51
- package/dist/calls/index.js.map +1 -1
- package/dist/calls/panels.d.ts +11 -0
- package/dist/calls/webinar/ChatPermissionSetting.d.ts +18 -0
- package/dist/calls/webinar/OnStageCheck.d.ts +23 -0
- package/dist/calls/webinar/QAPanel.d.ts +56 -0
- package/dist/calls/webinar/RaiseHandButton.d.ts +14 -0
- package/dist/calls/webinar/WebinarAudiencePanel.d.ts +23 -0
- package/dist/calls/webinar/WebinarViewer.d.ts +39 -0
- package/dist/calls/webinar/WebinarWaiting.d.ts +19 -0
- package/dist/calls/webinar/hooks.d.ts +13 -0
- package/dist/calls/webinar/index.d.ts +14 -0
- package/dist/calls/webinar/live.d.ts +43 -0
- package/dist/calls/webinar/types.d.ts +49 -0
- package/dist/{chunk-GKDWQLVU.js → chunk-3OT37I24.js} +165 -381
- package/dist/chunk-3OT37I24.js.map +1 -0
- package/dist/{chunk-2NIL2ASF.cjs → chunk-ETBB5KMN.cjs} +196 -400
- package/dist/chunk-ETBB5KMN.cjs.map +1 -0
- package/dist/{chunk-SQNAJPNR.js → chunk-GFYGYME3.js} +3 -3
- package/dist/{chunk-SQNAJPNR.js.map → chunk-GFYGYME3.js.map} +1 -1
- package/dist/{chunk-PEHLUB52.js → chunk-GIBRZ54P.js} +3 -3
- package/dist/{chunk-PEHLUB52.js.map → chunk-GIBRZ54P.js.map} +1 -1
- package/dist/chunk-GICUGQNN.cjs +76 -0
- package/dist/chunk-GICUGQNN.cjs.map +1 -0
- package/dist/{chunk-54WBIVHV.cjs → chunk-HF4PAYBM.cjs} +5 -5
- package/dist/{chunk-54WBIVHV.cjs.map → chunk-HF4PAYBM.cjs.map} +1 -1
- package/dist/chunk-I2QSDQQV.cjs +126 -0
- package/dist/chunk-I2QSDQQV.cjs.map +1 -0
- package/dist/chunk-JJLMCV3T.js +73 -0
- package/dist/chunk-JJLMCV3T.js.map +1 -0
- package/dist/{chunk-W7ZDBPJ3.cjs → chunk-OR4CO743.cjs} +3 -3
- package/dist/{chunk-W7ZDBPJ3.cjs.map → chunk-OR4CO743.cjs.map} +1 -1
- package/dist/chunk-QXMR5YHC.js +80 -0
- package/dist/chunk-QXMR5YHC.js.map +1 -0
- package/dist/{chunk-ELDUWTRR.cjs → chunk-RUFNJRLW.cjs} +4 -4
- package/dist/{chunk-ELDUWTRR.cjs.map → chunk-RUFNJRLW.cjs.map} +1 -1
- package/dist/{chunk-JB32KYAH.js → chunk-TKJSCHSX.js} +3 -3
- package/dist/{chunk-JB32KYAH.js.map → chunk-TKJSCHSX.js.map} +1 -1
- package/dist/{chunk-WPVIOGDG.cjs → chunk-US5ASM4G.cjs} +22 -22
- package/dist/{chunk-WPVIOGDG.cjs.map → chunk-US5ASM4G.cjs.map} +1 -1
- package/dist/{chunk-CECWAIHL.js → chunk-XFZ7HNPG.js} +3 -3
- package/dist/{chunk-CECWAIHL.js.map → chunk-XFZ7HNPG.js.map} +1 -1
- package/dist/{chunk-VZKBI2KJ.cjs → chunk-Z2NSU7D5.cjs} +4 -4
- package/dist/{chunk-VZKBI2KJ.cjs.map → chunk-Z2NSU7D5.cjs.map} +1 -1
- package/dist/{chunk-A35KT2II.js → chunk-ZP4IFW2E.js} +4 -4
- package/dist/{chunk-A35KT2II.js.map → chunk-ZP4IFW2E.js.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +7 -7
- package/dist/connect/docx.js +5 -5
- package/dist/connect/index.cjs +38 -38
- package/dist/connect/index.js +8 -8
- package/dist/docx/AgentUndo.d.ts +4 -0
- package/dist/docx/definitions/commands.d.ts +3 -52
- package/dist/docx/definitions/fragment.d.ts +5 -31
- package/dist/docx/definitions/port.d.ts +2 -22
- package/dist/docx/index.cjs +47 -47
- package/dist/docx/index.js +4 -4
- package/dist/docx/references/commands.d.ts +3 -89
- package/dist/docx/references/port.d.ts +2 -11
- package/dist/facts/index.cjs +1 -1
- package/dist/facts/index.js +1 -1
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/index.cjs +278 -278
- package/dist/index.js +8 -8
- package/dist/settings/index.cjs +47 -101
- package/dist/settings/index.cjs.map +1 -1
- package/dist/settings/index.js +9 -69
- package/dist/settings/index.js.map +1 -1
- package/dist/shell/index.cjs +9 -9
- package/dist/shell/index.js +1 -1
- package/dist/tags/definitions.d.ts +4 -25
- package/dist/tags/ooxml.d.ts +1 -19
- package/dist/workflow-canvas/index.cjs +10 -10
- package/dist/workflow-canvas/index.js +3 -3
- package/node_modules/@arbidocs/coedit/dist/commands.cjs +866 -9
- package/node_modules/@arbidocs/coedit/dist/commands.cjs.map +1 -1
- package/node_modules/@arbidocs/coedit/dist/commands.d.cts +342 -156
- package/node_modules/@arbidocs/coedit/dist/commands.d.ts +342 -156
- package/node_modules/@arbidocs/coedit/dist/commands.js +817 -11
- package/node_modules/@arbidocs/coedit/dist/commands.js.map +1 -1
- package/node_modules/@arbidocs/coedit/dist/port-ip7WByvH.d.cts +188 -0
- package/node_modules/@arbidocs/coedit/dist/port-ip7WByvH.d.ts +188 -0
- package/node_modules/@arbidocs/coedit/dist/server.cjs +731 -65
- package/node_modules/@arbidocs/coedit/dist/server.cjs.map +1 -1
- package/node_modules/@arbidocs/coedit/dist/server.d.cts +40 -1
- package/node_modules/@arbidocs/coedit/dist/server.d.ts +40 -1
- package/node_modules/@arbidocs/coedit/dist/server.js +730 -66
- package/node_modules/@arbidocs/coedit/dist/server.js.map +1 -1
- package/node_modules/@arbidocs/coedit/dist/template.d.cts +3 -17
- package/node_modules/@arbidocs/coedit/dist/template.d.ts +3 -17
- package/node_modules/@arbidocs/coedit/dist/track-eYC94jTp.d.cts +17 -0
- package/node_modules/@arbidocs/coedit/dist/track-eYC94jTp.d.ts +17 -0
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +4 -4
- package/dist/chunk-2A4MDHJR.cjs +0 -198
- package/dist/chunk-2A4MDHJR.cjs.map +0 -1
- package/dist/chunk-2NIL2ASF.cjs.map +0 -1
- package/dist/chunk-EPHGD4YV.js +0 -174
- package/dist/chunk-EPHGD4YV.js.map +0 -1
- package/dist/chunk-GKDWQLVU.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { decodeWhitespaceEntities } from './chunk-AF6RDAJF.js';
|
|
3
|
+
import { stylesXml, termKey as termKey$1, parseDefinition as parseDefinition$1, compareTerms, esc } from '@arbidocs/coedit/commands';
|
|
4
|
+
export { DEFINITION_BOOKMARK_PREFIX, compareTerms, definitionBookmark, definitionIdOfBookmark, documentXml, docxPackage, esc, stylesXml } from '@arbidocs/coedit/commands';
|
|
5
|
+
|
|
6
|
+
var DEFINITIONS_LABEL = "Definitions";
|
|
7
|
+
function termKey(term) {
|
|
8
|
+
return termKey$1(decodeWhitespaceEntities(term));
|
|
9
|
+
}
|
|
10
|
+
function parseDefinition(text) {
|
|
11
|
+
return parseDefinition$1(decodeWhitespaceEntities(text));
|
|
12
|
+
}
|
|
13
|
+
function toDefinition(source) {
|
|
14
|
+
const parsed = parseDefinition(source.text);
|
|
15
|
+
return parsed ? { ...source, ...parsed, key: termKey(parsed.term) } : null;
|
|
16
|
+
}
|
|
17
|
+
var time = (iso) => iso ? Date.parse(iso) || 0 : 0;
|
|
18
|
+
function compareDefinitions(a, b) {
|
|
19
|
+
return Number(!!b.confirmed) - Number(!!a.confirmed) || time(b.updatedAt) - time(a.updatedAt) || a.id.localeCompare(b.id);
|
|
20
|
+
}
|
|
21
|
+
function groupDefinitions(sources, options = {}) {
|
|
22
|
+
const byKey = /* @__PURE__ */ new Map();
|
|
23
|
+
const unparsed = [];
|
|
24
|
+
for (const source of sources) {
|
|
25
|
+
if (options.labelId && !source.labels?.some((l) => l.id === options.labelId)) continue;
|
|
26
|
+
const definition = toDefinition(source);
|
|
27
|
+
if (!definition) {
|
|
28
|
+
unparsed.push(source);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const list = byKey.get(definition.key) ?? [];
|
|
32
|
+
list.push(definition);
|
|
33
|
+
byKey.set(definition.key, list);
|
|
34
|
+
}
|
|
35
|
+
const groups = [...byKey.entries()].map(([key, list]) => {
|
|
36
|
+
const definitions = [...list].sort(compareDefinitions);
|
|
37
|
+
return { key, term: definitions[0].term, preferred: definitions[0], definitions };
|
|
38
|
+
});
|
|
39
|
+
groups.sort((a, b) => compareTerms(a.term, b.term));
|
|
40
|
+
return { groups, unparsed };
|
|
41
|
+
}
|
|
42
|
+
function definitionLabels(sources) {
|
|
43
|
+
const byId = /* @__PURE__ */ new Map();
|
|
44
|
+
for (const s of sources) for (const l of s.labels ?? []) byId.set(l.id, l);
|
|
45
|
+
return [...byId.values()].sort((a, b) => compareTerms(a.name, b.name));
|
|
46
|
+
}
|
|
47
|
+
function filterTermGroups(groups, query) {
|
|
48
|
+
const q = termKey(query);
|
|
49
|
+
if (!q) return [...groups];
|
|
50
|
+
const rank = (g) => g.key.startsWith(q) ? 0 : g.key.split(" ").some((w) => w.startsWith(q)) ? 1 : 2;
|
|
51
|
+
return groups.filter((g) => g.key.includes(q)).map((g) => ({ g, r: rank(g) })).sort((a, b) => a.r - b.r || compareTerms(a.g.term, b.g.term)).map(({ g }) => g);
|
|
52
|
+
}
|
|
53
|
+
var DOCX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
|
|
54
|
+
var run = ({ text, bold, italic, muted }) => {
|
|
55
|
+
const props = [bold && "<w:b/>", italic && "<w:i/>", muted && '<w:color w:val="595959"/>'].filter(Boolean).join("");
|
|
56
|
+
const body = text.split(/\r?\n/).map((line) => `<w:t xml:space="preserve">${esc(line)}</w:t>`).join("<w:br/>");
|
|
57
|
+
return `<w:r>${props ? `<w:rPr>${props}</w:rPr>` : ""}${body}</w:r>`;
|
|
58
|
+
};
|
|
59
|
+
var paragraph = (runs, style) => `<w:p>${style ? `<w:pPr><w:pStyle w:val="${style}"/></w:pPr>` : ""}${runs.map(run).join("")}</w:p>`;
|
|
60
|
+
var cell = (paragraphs, width, fill) => `<w:tc><w:tcPr><w:tcW w:w="${width}" w:type="dxa"/>${fill ? `<w:shd w:val="clear" w:color="auto" w:fill="${fill}"/>` : ""}</w:tcPr>${paragraphs.length ? paragraphs.join("") : "<w:p/>"}</w:tc>`;
|
|
61
|
+
function page(landscape) {
|
|
62
|
+
const [short, long] = [11906, 16838];
|
|
63
|
+
const margin = landscape ? 1080 : 1440;
|
|
64
|
+
const width = landscape ? long : short;
|
|
65
|
+
return {
|
|
66
|
+
margin,
|
|
67
|
+
textWidth: width - 2 * margin,
|
|
68
|
+
sectPr: `<w:sectPr><w:pgSz w:w="${landscape ? long : short}" w:h="${landscape ? short : long}"${landscape ? ' w:orient="landscape"' : ""}/><w:pgMar w:top="${margin}" w:right="${margin}" w:bottom="${margin}" w:left="${margin}" w:header="708" w:footer="708" w:gutter="0"/></w:sectPr>`
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
var minuteUtc = (at) => new Date(at).toISOString().slice(0, 16).replace("T", " ");
|
|
72
|
+
var DOC_DEFAULTS = `<w:docDefaults><w:rPrDefault><w:rPr><w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:eastAsia="Calibri" w:cs="Calibri"/><w:sz w:val="22"/><w:szCs w:val="22"/><w:lang w:val="en-GB"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:after="160" w:line="259" w:lineRule="auto"/></w:pPr></w:pPrDefault></w:docDefaults>`;
|
|
73
|
+
var TABLE_DOCUMENT_STYLES = stylesXml(
|
|
74
|
+
DOC_DEFAULTS,
|
|
75
|
+
`<w:style w:type="paragraph" w:default="1" w:styleId="Normal"><w:name w:val="Normal"/><w:qFormat/></w:style><w:style w:type="paragraph" w:styleId="Title"><w:name w:val="Title"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:spacing w:after="80" w:line="240" w:lineRule="auto"/></w:pPr><w:rPr><w:sz w:val="48"/><w:szCs w:val="48"/></w:rPr></w:style><w:style w:type="paragraph" w:customStyle="1" w:styleId="TagTableCell"><w:name w:val="Tag Table Cell"/><w:basedOn w:val="Normal"/><w:qFormat/><w:pPr><w:spacing w:after="40" w:line="240" w:lineRule="auto"/></w:pPr><w:rPr><w:sz w:val="18"/><w:szCs w:val="18"/></w:rPr></w:style><w:style w:type="table" w:default="1" w:styleId="TableNormal"><w:name w:val="Normal Table"/><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="table" w:customStyle="1" w:styleId="TagTableGrid"><w:name w:val="Tag Table"/><w:basedOn w:val="TableNormal"/><w:tblPr><w:tblBorders><w:top w:val="single" w:sz="4" w:space="0" w:color="BFBFBF"/><w:left w:val="single" w:sz="4" w:space="0" w:color="BFBFBF"/><w:bottom w:val="single" w:sz="4" w:space="0" w:color="BFBFBF"/><w:right w:val="single" w:sz="4" w:space="0" w:color="BFBFBF"/><w:insideH w:val="single" w:sz="4" w:space="0" w:color="BFBFBF"/><w:insideV w:val="single" w:sz="4" w:space="0" w:color="BFBFBF"/></w:tblBorders><w:tblCellMar><w:top w:w="60" w:type="dxa"/><w:left w:w="100" w:type="dxa"/><w:bottom w:w="60" w:type="dxa"/><w:right w:w="100" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style>`
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
export { DEFINITIONS_LABEL, DOCX_MIME_TYPE, TABLE_DOCUMENT_STYLES, cell, compareDefinitions, definitionLabels, filterTermGroups, groupDefinitions, minuteUtc, page, paragraph, parseDefinition, termKey, toDefinition };
|
|
79
|
+
//# sourceMappingURL=chunk-QXMR5YHC.js.map
|
|
80
|
+
//# sourceMappingURL=chunk-QXMR5YHC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tags/definitions.ts","../src/tags/ooxml.ts"],"names":["sharedTermKey","sharedParseDefinition"],"mappings":"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","file":"chunk-QXMR5YHC.js","sourcesContent":["/**\n * Defined terms. A definition is an ordinary fact carrying the workspace's \"Definitions\" label; its\n * TERM is read from the start of its text — `\"Shares\" means …`, `**Business Day** shall mean …`,\n * `Completion: the date …` — and facts defining the same term (one per agreement, say) are grouped,\n * a confirmed one preferred over the rest, then the most recent. Pure helpers, no React: the Word\n * editor inserts terms with them and the Tags page prints the glossary with them.\n */\n\nimport {\n compareTerms,\n parseDefinition as sharedParseDefinition,\n termKey as sharedTermKey,\n type ParsedDefinition,\n} from '@arbidocs/coedit/commands'\nimport { decodeWhitespaceEntities } from '../facts/fact-text'\n\n// Shared with the Word-editor commands (and the collaboration service).\nexport {\n DEFINITION_BOOKMARK_PREFIX,\n compareTerms,\n definitionBookmark,\n definitionIdOfBookmark,\n type ParsedDefinition,\n} from '@arbidocs/coedit/commands'\n\n/** The label that marks a fact as a definition. */\nexport const DEFINITIONS_LABEL = 'Definitions'\n\n/** A label on a definition other than {@link DEFINITIONS_LABEL} (e.g. the agreement it is from). */\nexport interface DefinitionLabel {\n id: string\n name: string\n}\n\n/** A definition fact, as the host reads it. */\nexport interface DefinitionSource {\n /** The fact's id (`fct-…`). */\n id: string\n /** The fact text, as written (it may be Markdown). */\n text: string\n /** A human vouched for it: preferred over unconfirmed definitions of the same term. */\n confirmed?: boolean\n /** ISO time it was last written; the most recent wins between equals. */\n updatedAt?: string\n /** Where it comes from: the cited document's name. */\n source?: string\n /** Its other labels, e.g. the agreement (\"SPA\") it defines a term of. */\n labels?: DefinitionLabel[]\n}\n\n/** A parsed definition fact. */\nexport interface Definition extends DefinitionSource, ParsedDefinition {\n /** The term's matching key (case and whitespace folded). */\n key: string\n}\n\n/** Every definition of one term, the preferred one first. */\nexport interface DefinedTermGroup {\n key: string\n /** The term as the preferred definition writes it. */\n term: string\n /** The preferred definition (first of {@link DefinedTermGroup.definitions}). */\n preferred: Definition\n definitions: Definition[]\n}\n\n/** The matching key of a term: case and whitespace folded, quotes and emphasis dropped. */\nexport function termKey(term: string): string {\n return sharedTermKey(decodeWhitespaceEntities(term))\n}\n\n/**\n * Read a definition's term from the start of its text, or `null` when it does not start with one\n * (see `parseDefinition` in `@arbidocs/coedit/commands`); entity-encoded whitespace is decoded first.\n */\nexport function parseDefinition(text: string): ParsedDefinition | null {\n return sharedParseDefinition(decodeWhitespaceEntities(text))\n}\n\n/** A definition parsed, or `null` when its text names no term. */\nexport function toDefinition(source: DefinitionSource): Definition | null {\n const parsed = parseDefinition(source.text)\n return parsed ? { ...source, ...parsed, key: termKey(parsed.term) } : null\n}\n\nconst time = (iso?: string) => (iso ? Date.parse(iso) || 0 : 0)\n\n/** Preferred first: confirmed, then most recently written, then by id (stable). */\nexport function compareDefinitions(a: DefinitionSource, b: DefinitionSource): number {\n return (\n Number(!!b.confirmed) - Number(!!a.confirmed) ||\n time(b.updatedAt) - time(a.updatedAt) ||\n a.id.localeCompare(b.id)\n )\n}\n\n/**\n * Definitions grouped by term, alphabetically, each group's preferred definition first. Facts whose\n * text names no term are returned apart (`unparsed`), so a host can say how many it could not read.\n * With `labelId`, only definitions carrying that label (one agreement's, say) are kept.\n */\nexport function groupDefinitions(\n sources: readonly DefinitionSource[],\n options: { labelId?: string | null } = {}\n): { groups: DefinedTermGroup[]; unparsed: DefinitionSource[] } {\n const byKey = new Map<string, Definition[]>()\n const unparsed: DefinitionSource[] = []\n for (const source of sources) {\n if (options.labelId && !source.labels?.some((l) => l.id === options.labelId)) continue\n const definition = toDefinition(source)\n if (!definition) {\n unparsed.push(source)\n continue\n }\n const list = byKey.get(definition.key) ?? []\n list.push(definition)\n byKey.set(definition.key, list)\n }\n const groups = [...byKey.entries()].map(([key, list]) => {\n const definitions = [...list].sort(compareDefinitions)\n return { key, term: definitions[0].term, preferred: definitions[0], definitions }\n })\n groups.sort((a, b) => compareTerms(a.term, b.term))\n return { groups, unparsed }\n}\n\n/** The labels (agreements) definitions carry besides the Definitions label, by name. */\nexport function definitionLabels(sources: readonly DefinitionSource[]): DefinitionLabel[] {\n const byId = new Map<string, DefinitionLabel>()\n for (const s of sources) for (const l of s.labels ?? []) byId.set(l.id, l)\n return [...byId.values()].sort((a, b) => compareTerms(a.name, b.name))\n}\n\n/** Groups whose term matches a typed query: prefix matches first, then any word, then anywhere. */\nexport function filterTermGroups(\n groups: readonly DefinedTermGroup[],\n query: string\n): DefinedTermGroup[] {\n const q = termKey(query)\n if (!q) return [...groups]\n const rank = (g: DefinedTermGroup) =>\n g.key.startsWith(q) ? 0 : g.key.split(' ').some((w) => w.startsWith(q)) ? 1 : 2\n return groups\n .filter((g) => g.key.includes(q))\n .map((g) => ({ g, r: rank(g) }))\n .sort((a, b) => a.r - b.r || compareTerms(a.g.term, b.g.term))\n .map(({ g }) => g)\n}\n","/**\n * The small WordprocessingML vocabulary the tags exports write: escaped runs, paragraphs, table\n * cells, an A4 page, and the minimal package around a `word/document.xml`. Zipped with `fflate`, so\n * the result opens in the native Word editor and in Word without pulling the editor engine in.\n */\n\nimport { esc, stylesXml } from '@arbidocs/coedit/commands'\n\n// Shared with the Word-editor commands (and the collaboration service).\nexport {\n W_NAMESPACES,\n docxPackage,\n documentXml,\n esc,\n hyperlinkRelationship,\n stylesXml,\n} from '@arbidocs/coedit/commands'\n\nexport const DOCX_MIME_TYPE =\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n\nexport interface Run {\n text: string\n bold?: boolean\n italic?: boolean\n muted?: boolean\n}\n\nexport const run = ({ text, bold, italic, muted }: Run) => {\n const props = [bold && '<w:b/>', italic && '<w:i/>', muted && '<w:color w:val=\"595959\"/>']\n .filter(Boolean)\n .join('')\n // Line breaks inside a value become Word line breaks rather than being lost.\n const body = text\n .split(/\\r?\\n/)\n .map((line) => `<w:t xml:space=\"preserve\">${esc(line)}</w:t>`)\n .join('<w:br/>')\n return `<w:r>${props ? `<w:rPr>${props}</w:rPr>` : ''}${body}</w:r>`\n}\n\nexport const paragraph = (runs: Run[], style?: string) =>\n `<w:p>${style ? `<w:pPr><w:pStyle w:val=\"${style}\"/></w:pPr>` : ''}${runs.map(run).join('')}</w:p>`\n\n/** A table cell: its paragraphs (a cell must hold at least one), shaded when given a fill. */\nexport const cell = (paragraphs: string[], width: number, fill?: string) =>\n `<w:tc><w:tcPr><w:tcW w:w=\"${width}\" w:type=\"dxa\"/>${\n fill ? `<w:shd w:val=\"clear\" w:color=\"auto\" w:fill=\"${fill}\"/>` : ''\n }</w:tcPr>${paragraphs.length ? paragraphs.join('') : '<w:p/>'}</w:tc>`\n\n/** Page geometry in twips (A4), turned for landscape. */\nexport function page(landscape: boolean) {\n const [short, long] = [11906, 16838]\n const margin = landscape ? 1080 : 1440\n const width = landscape ? long : short\n return {\n margin,\n textWidth: width - 2 * margin,\n sectPr: `<w:sectPr><w:pgSz w:w=\"${landscape ? long : short}\" w:h=\"${landscape ? short : long}\"${\n landscape ? ' w:orient=\"landscape\"' : ''\n }/><w:pgMar w:top=\"${margin}\" w:right=\"${margin}\" w:bottom=\"${margin}\" w:left=\"${margin}\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/></w:sectPr>`,\n }\n}\n\n/** `YYYY-MM-DD HH:MM` (UTC) of an ISO time, for a \"taken at\" line. */\nexport const minuteUtc = (at: string) => new Date(at).toISOString().slice(0, 16).replace('T', ' ')\n\n/** Calibri 11pt (en-GB), 8pt after each paragraph: the document defaults the exports share. */\nexport const DOC_DEFAULTS = `<w:docDefaults><w:rPrDefault><w:rPr><w:rFonts w:ascii=\"Calibri\" w:hAnsi=\"Calibri\" w:eastAsia=\"Calibri\" w:cs=\"Calibri\"/><w:sz w:val=\"22\"/><w:szCs w:val=\"22\"/><w:lang w:val=\"en-GB\"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:after=\"160\" w:line=\"259\" w:lineRule=\"auto\"/></w:pPr></w:pPrDefault></w:docDefaults>`\n\n/**\n * Styles of a document that is a title and a table: `Title`, the compact `TagTableCell` paragraph\n * and the bordered `TagTableGrid` table.\n */\nexport const TABLE_DOCUMENT_STYLES = stylesXml(\n DOC_DEFAULTS,\n `<w:style w:type=\"paragraph\" w:default=\"1\" w:styleId=\"Normal\"><w:name w:val=\"Normal\"/><w:qFormat/></w:style><w:style w:type=\"paragraph\" w:styleId=\"Title\"><w:name w:val=\"Title\"/><w:basedOn w:val=\"Normal\"/><w:next w:val=\"Normal\"/><w:qFormat/><w:pPr><w:spacing w:after=\"80\" w:line=\"240\" w:lineRule=\"auto\"/></w:pPr><w:rPr><w:sz w:val=\"48\"/><w:szCs w:val=\"48\"/></w:rPr></w:style><w:style w:type=\"paragraph\" w:customStyle=\"1\" w:styleId=\"TagTableCell\"><w:name w:val=\"Tag Table Cell\"/><w:basedOn w:val=\"Normal\"/><w:qFormat/><w:pPr><w:spacing w:after=\"40\" w:line=\"240\" w:lineRule=\"auto\"/></w:pPr><w:rPr><w:sz w:val=\"18\"/><w:szCs w:val=\"18\"/></w:rPr></w:style><w:style w:type=\"table\" w:default=\"1\" w:styleId=\"TableNormal\"><w:name w:val=\"Normal Table\"/><w:tblPr><w:tblInd w:w=\"0\" w:type=\"dxa\"/><w:tblCellMar><w:top w:w=\"0\" w:type=\"dxa\"/><w:left w:w=\"108\" w:type=\"dxa\"/><w:bottom w:w=\"0\" w:type=\"dxa\"/><w:right w:w=\"108\" w:type=\"dxa\"/></w:tblCellMar></w:tblPr></w:style><w:style w:type=\"table\" w:customStyle=\"1\" w:styleId=\"TagTableGrid\"><w:name w:val=\"Tag Table\"/><w:basedOn w:val=\"TableNormal\"/><w:tblPr><w:tblBorders><w:top w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:left w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:bottom w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:right w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:insideH w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/><w:insideV w:val=\"single\" w:sz=\"4\" w:space=\"0\" w:color=\"BFBFBF\"/></w:tblBorders><w:tblCellMar><w:top w:w=\"60\" w:type=\"dxa\"/><w:left w:w=\"100\" w:type=\"dxa\"/><w:bottom w:w=\"60\" w:type=\"dxa\"/><w:right w:w=\"100\" w:type=\"dxa\"/></w:tblCellMar></w:tblPr></w:style>`\n)\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkMUMH3Z6K_cjs = require('./chunk-MUMH3Z6K.cjs');
|
|
5
5
|
var chunkS24XEVPS_cjs = require('./chunk-S24XEVPS.cjs');
|
|
6
|
-
var
|
|
6
|
+
var chunkETBB5KMN_cjs = require('./chunk-ETBB5KMN.cjs');
|
|
7
7
|
var react$1 = require('react');
|
|
8
8
|
var reactQuery = require('@tanstack/react-query');
|
|
9
9
|
var react = require('@arbidocs/react');
|
|
@@ -14,7 +14,7 @@ function ConnectedNativeDocxEditor({
|
|
|
14
14
|
...props
|
|
15
15
|
}) {
|
|
16
16
|
const adapter = useConnectedNativeDocxAdapter(fontBaseUrl);
|
|
17
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkETBB5KMN_cjs.NativeDocxEditor, { ...props, adapter });
|
|
18
18
|
}
|
|
19
19
|
function useConnectedNativeDocxAdapter(fontBaseUrl = "/native-docx/fonts") {
|
|
20
20
|
const arbi = react.useArbi();
|
|
@@ -92,5 +92,5 @@ function useConnectedNativeDocxAdapter(fontBaseUrl = "/native-docx/fonts") {
|
|
|
92
92
|
|
|
93
93
|
exports.ConnectedNativeDocxEditor = ConnectedNativeDocxEditor;
|
|
94
94
|
exports.useConnectedNativeDocxAdapter = useConnectedNativeDocxAdapter;
|
|
95
|
-
//# sourceMappingURL=chunk-
|
|
96
|
-
//# sourceMappingURL=chunk-
|
|
95
|
+
//# sourceMappingURL=chunk-RUFNJRLW.cjs.map
|
|
96
|
+
//# sourceMappingURL=chunk-RUFNJRLW.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/connection/ConnectedNativeDocxEditor.tsx"],"names":["jsx","NativeDocxEditor","useArbi","useConnection","useQueryClient","useQuery","useMemo","loadDocxFonts","arbiQueryKeys","notify"],"mappings":";;;;;;;;;;AAYO,SAAS,yBAAA,CAA0B;AAAA,EACxC,WAAA,GAAc,oBAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAsE;AACpE,EAAA,MAAM,OAAA,GAAU,8BAA8B,WAAW,CAAA;AACzD,EAAA,uBAAOA,cAAA,CAACC,kCAAA,EAAA,EAAkB,GAAG,KAAA,EAAO,OAAA,EAAkB,CAAA;AACxD;AAEO,SAAS,6BAAA,CAA8B,cAAc,oBAAA,EAAsB;AAChF,EAAA,MAAM,OAAOC,aAAA,EAAQ;AACrB,EAAA,MAAM,EAAE,WAAA,EAAa,MAAA,EAAQ,IAAA,EAAM,mBAAA,KAAwBC,+BAAA,EAAc;AACzE,EAAA,MAAM,UAAUC,yBAAA,EAAe;AAC/B,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAQ,GAAIC,mBAAA,CAAS;AAAA,IACjC,UAAU,CAAC,qBAAA,EAAuB,MAAA,EAAQ,IAAA,EAAM,YAAY,WAAW,CAAA;AAAA,IACvE,OAAA,EAAS,IAAA,CAAK,UAAA,IAAc,CAAC,CAAC,WAAA;AAAA,IAC9B,SAAS,YAAY;AACnB,MAAA,MAAM,mBAAA,EAAoB;AAC1B,MAAA,OAAO,IAAA,CAAK,WAAW,SAAA,EAAU;AAAA,IACnC;AAAA,GACD,CAAA;AACD,EAAA,MAAM,OAAA,GAAUC,eAAA;AAAA,IACd,OAAO;AAAA,MACL,OAAA,EAAS,OAAO,IAAA,EAAM,OAAA,KAAY;AAChC,QAAA,MAAM,mBAAA,EAAoB;AAC1B,QAAA,OAAO,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,IAAA,EAAM,OAAO,CAAA;AAAA,MAC1C,CAAA;AAAA,MACA,IAAA,EAAM,OAAO,EAAA,KAAO;AAClB,QAAA,MAAM,mBAAA,EAAoB;AAC1B,QAAA,OAAA,CACE,MAAM,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,IAAI,kBAAA,CAAmB,EAAE,CAAC,CAAA,QAAA,CAAA,EAAY,EAAE,MAAA,EAAQ,MAAA,EAAQ,GAClF,IAAA,EAAK;AAAA,MACT,CAAA;AAAA,MACA,IAAA,EAAM,OAAO,EAAA,EAAI,KAAA,KAAA,CAEb,MAAM,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,CAAA,CAAA,EAAI,kBAAA,CAAmB,EAAE,CAAC,CAAA,KAAA,CAAA,EAAS;AAAA,QAC3D,MAAA,EAAQ,MAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,kBAAA,EAAmB;AAAA,QAC9C,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,EAAE,OAAO;AAAA,OAC/B,GACD,IAAA,EAAK;AAAA,MACT,SAAA,EAAW,MAAMC,+BAAA,CAAc,WAAW,CAAA;AAAA,MAC1C,OAAA,EAAS,MAAA;AAAA,MACT,MAAA,EAAQ,MAAM,IAAA,IAAQ,KAAA;AAAA,MACtB,cAAA,EAAgB,OAAO,EAAA,KAAO;AAC5B,QAAA,IAAI,CAAC,WAAA,EAAa;AAClB,QAAA,MAAM,GAAA,GAAMC,mBAAA,CAAc,SAAA,CAAU,WAAW,CAAA;AAC/C,QAAA,IAAI;AACF,UAAA,MAAM,YAAY,MAAM,IAAA,CAAK,UAAU,GAAA,CAAI,CAAC,EAAE,CAAC,CAAA;AAC/C,UAAA,IAAI,CAAC,SAAA,CAAU,MAAA,EAAQ,MAAM,IAAI,MAAM,yCAAyC,CAAA;AAChF,UAAA,OAAA,CAAQ,YAAA,CAA8D,GAAA,EAAK,CAAC,QAAA,KAAa;AAAA,YACvF,GAAG,SAAA;AAAA,YACH,GAAA,CAAI,QAAA,IAAY,EAAC,EAAG,MAAA;AAAA,cAClB,CAAC,GAAA,KAAQ,CAAC,SAAA,CAAU,IAAA,CAAK,CAAC,KAAA,KAAU,KAAA,CAAM,WAAA,KAAgB,GAAA,CAAI,WAAW;AAAA;AAC3E,WACD,CAAA;AAAA,QACH,CAAA,CAAA,MAAQ;AACN,UAAA,MAAM,OAAA,CAAQ,iBAAA,CAAkB,EAAE,QAAA,EAAU,KAAK,CAAA;AAAA,QACnD;AAAA,MACF,CAAA;AAAA,MACA,QAAQ,CAAC,OAAA,EAAS,SAASC,YAAA,CAAO,IAAI,EAAE,OAAO,CAAA;AAAA,MAC/C,UAAU,OAAA,EAAS,GAAA,CAAI,CAAC,EAAE,IAAA,EAAM,QAAO,MAAO;AAAA,QAC5C,IAAI,MAAA,CAAO,WAAA;AAAA,QACX,IAAA,EAAM,CAAC,MAAA,CAAO,UAAA,EAAY,MAAA,CAAO,WAAW,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,QACtE,MAAM,MAAA,CAAO,WAAA,CAAY,UAAA,CAAW,MAAM,IAAI,OAAA,GAAU;AAAA,OAC1D,CAAE,CAAA;AAAA,MACF,YAAA,EAAc,OAAO,EAAA,EAAI,OAAA,KAAY;AACnC,QAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,MAAA,CAAO,QAAQ,CAAA,CAAA,EAAI,kBAAA,CAAmB,EAAE,CAAC,CAAA,SAAA,CAAA,EAAa;AAAA,UAChF,MAAA,EAAQ,MAAA;AAAA,UACR,OAAA,EAAS,EAAE,cAAA,EAAgB,kBAAA,EAAmB;AAAA,UAC9C,IAAA,EAAM,KAAK,SAAA,CAAU;AAAA,YACnB,YAAY,OAAA,CAAQ,SAAA;AAAA,YACpB,aAAa,OAAA,CAAQ,WAAA;AAAA,YACrB,YAAY,OAAA,CAAQ,SAAA;AAAA,YACpB,eAAe,OAAA,CAAQ;AAAA,WACxB;AAAA,SACF,CAAA;AACD,QAAA,MAAM,QAAA,GAAY,MAAM,QAAA,CAAS,IAAA,EAAK;AACtC,QAAAA,YAAA,CAAO,QAAQ,oBAAoB,CAAA;AACnC,QAAA,OAAO,EAAE,WAAA,EAAa,QAAA,CAAS,YAAA,IAAgB,EAAC,EAAE;AAAA,MACpD,CAAA;AAAA,MACA,cAAA,EAAgB,OAAO,UAAA,KAAA,CAAgB,MAAM,KAAK,SAAA,CAAU,WAAA,CAAY,UAAU,CAAA,EAAG;AAAA,KACvF,CAAA;AAAA,IACA,CAAC,MAAM,MAAA,EAAQ,IAAA,EAAM,MAAM,OAAA,EAAS,mBAAA,EAAqB,WAAA,EAAa,OAAA,EAAS,WAAW;AAAA,GAC5F;AACA,EAAA,OAAO,OAAA;AACT","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/connection/ConnectedNativeDocxEditor.tsx"],"names":["jsx","NativeDocxEditor","useArbi","useConnection","useQueryClient","useQuery","useMemo","loadDocxFonts","arbiQueryKeys","notify"],"mappings":";;;;;;;;;;AAYO,SAAS,yBAAA,CAA0B;AAAA,EACxC,WAAA,GAAc,oBAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAsE;AACpE,EAAA,MAAM,OAAA,GAAU,8BAA8B,WAAW,CAAA;AACzD,EAAA,uBAAOA,cAAA,CAACC,kCAAA,EAAA,EAAkB,GAAG,KAAA,EAAO,OAAA,EAAkB,CAAA;AACxD;AAEO,SAAS,6BAAA,CAA8B,cAAc,oBAAA,EAAsB;AAChF,EAAA,MAAM,OAAOC,aAAA,EAAQ;AACrB,EAAA,MAAM,EAAE,WAAA,EAAa,MAAA,EAAQ,IAAA,EAAM,mBAAA,KAAwBC,+BAAA,EAAc;AACzE,EAAA,MAAM,UAAUC,yBAAA,EAAe;AAC/B,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAQ,GAAIC,mBAAA,CAAS;AAAA,IACjC,UAAU,CAAC,qBAAA,EAAuB,MAAA,EAAQ,IAAA,EAAM,YAAY,WAAW,CAAA;AAAA,IACvE,OAAA,EAAS,IAAA,CAAK,UAAA,IAAc,CAAC,CAAC,WAAA;AAAA,IAC9B,SAAS,YAAY;AACnB,MAAA,MAAM,mBAAA,EAAoB;AAC1B,MAAA,OAAO,IAAA,CAAK,WAAW,SAAA,EAAU;AAAA,IACnC;AAAA,GACD,CAAA;AACD,EAAA,MAAM,OAAA,GAAUC,eAAA;AAAA,IACd,OAAO;AAAA,MACL,OAAA,EAAS,OAAO,IAAA,EAAM,OAAA,KAAY;AAChC,QAAA,MAAM,mBAAA,EAAoB;AAC1B,QAAA,OAAO,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,IAAA,EAAM,OAAO,CAAA;AAAA,MAC1C,CAAA;AAAA,MACA,IAAA,EAAM,OAAO,EAAA,KAAO;AAClB,QAAA,MAAM,mBAAA,EAAoB;AAC1B,QAAA,OAAA,CACE,MAAM,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,IAAI,kBAAA,CAAmB,EAAE,CAAC,CAAA,QAAA,CAAA,EAAY,EAAE,MAAA,EAAQ,MAAA,EAAQ,GAClF,IAAA,EAAK;AAAA,MACT,CAAA;AAAA,MACA,IAAA,EAAM,OAAO,EAAA,EAAI,KAAA,KAAA,CAEb,MAAM,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,CAAA,CAAA,EAAI,kBAAA,CAAmB,EAAE,CAAC,CAAA,KAAA,CAAA,EAAS;AAAA,QAC3D,MAAA,EAAQ,MAAA;AAAA,QACR,OAAA,EAAS,EAAE,cAAA,EAAgB,kBAAA,EAAmB;AAAA,QAC9C,IAAA,EAAM,IAAA,CAAK,SAAA,CAAU,EAAE,OAAO;AAAA,OAC/B,GACD,IAAA,EAAK;AAAA,MACT,SAAA,EAAW,MAAMC,+BAAA,CAAc,WAAW,CAAA;AAAA,MAC1C,OAAA,EAAS,MAAA;AAAA,MACT,MAAA,EAAQ,MAAM,IAAA,IAAQ,KAAA;AAAA,MACtB,cAAA,EAAgB,OAAO,EAAA,KAAO;AAC5B,QAAA,IAAI,CAAC,WAAA,EAAa;AAClB,QAAA,MAAM,GAAA,GAAMC,mBAAA,CAAc,SAAA,CAAU,WAAW,CAAA;AAC/C,QAAA,IAAI;AACF,UAAA,MAAM,YAAY,MAAM,IAAA,CAAK,UAAU,GAAA,CAAI,CAAC,EAAE,CAAC,CAAA;AAC/C,UAAA,IAAI,CAAC,SAAA,CAAU,MAAA,EAAQ,MAAM,IAAI,MAAM,yCAAyC,CAAA;AAChF,UAAA,OAAA,CAAQ,YAAA,CAA8D,GAAA,EAAK,CAAC,QAAA,KAAa;AAAA,YACvF,GAAG,SAAA;AAAA,YACH,GAAA,CAAI,QAAA,IAAY,EAAC,EAAG,MAAA;AAAA,cAClB,CAAC,GAAA,KAAQ,CAAC,SAAA,CAAU,IAAA,CAAK,CAAC,KAAA,KAAU,KAAA,CAAM,WAAA,KAAgB,GAAA,CAAI,WAAW;AAAA;AAC3E,WACD,CAAA;AAAA,QACH,CAAA,CAAA,MAAQ;AACN,UAAA,MAAM,OAAA,CAAQ,iBAAA,CAAkB,EAAE,QAAA,EAAU,KAAK,CAAA;AAAA,QACnD;AAAA,MACF,CAAA;AAAA,MACA,QAAQ,CAAC,OAAA,EAAS,SAASC,YAAA,CAAO,IAAI,EAAE,OAAO,CAAA;AAAA,MAC/C,UAAU,OAAA,EAAS,GAAA,CAAI,CAAC,EAAE,IAAA,EAAM,QAAO,MAAO;AAAA,QAC5C,IAAI,MAAA,CAAO,WAAA;AAAA,QACX,IAAA,EAAM,CAAC,MAAA,CAAO,UAAA,EAAY,MAAA,CAAO,WAAW,CAAA,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAAA,QACtE,MAAM,MAAA,CAAO,WAAA,CAAY,UAAA,CAAW,MAAM,IAAI,OAAA,GAAU;AAAA,OAC1D,CAAE,CAAA;AAAA,MACF,YAAA,EAAc,OAAO,EAAA,EAAI,OAAA,KAAY;AACnC,QAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,MAAA,CAAO,QAAQ,CAAA,CAAA,EAAI,kBAAA,CAAmB,EAAE,CAAC,CAAA,SAAA,CAAA,EAAa;AAAA,UAChF,MAAA,EAAQ,MAAA;AAAA,UACR,OAAA,EAAS,EAAE,cAAA,EAAgB,kBAAA,EAAmB;AAAA,UAC9C,IAAA,EAAM,KAAK,SAAA,CAAU;AAAA,YACnB,YAAY,OAAA,CAAQ,SAAA;AAAA,YACpB,aAAa,OAAA,CAAQ,WAAA;AAAA,YACrB,YAAY,OAAA,CAAQ,SAAA;AAAA,YACpB,eAAe,OAAA,CAAQ;AAAA,WACxB;AAAA,SACF,CAAA;AACD,QAAA,MAAM,QAAA,GAAY,MAAM,QAAA,CAAS,IAAA,EAAK;AACtC,QAAAA,YAAA,CAAO,QAAQ,oBAAoB,CAAA;AACnC,QAAA,OAAO,EAAE,WAAA,EAAa,QAAA,CAAS,YAAA,IAAgB,EAAC,EAAE;AAAA,MACpD,CAAA;AAAA,MACA,cAAA,EAAgB,OAAO,UAAA,KAAA,CAAgB,MAAM,KAAK,SAAA,CAAU,WAAA,CAAY,UAAU,CAAA,EAAG;AAAA,KACvF,CAAA;AAAA,IACA,CAAC,MAAM,MAAA,EAAQ,IAAA,EAAM,MAAM,OAAA,EAAS,mBAAA,EAAqB,WAAA,EAAa,OAAA,EAAS,WAAW;AAAA,GAC5F;AACA,EAAA,OAAO,OAAA;AACT","file":"chunk-RUFNJRLW.cjs","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,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { NativeDocxEditor } from './chunk-
|
|
2
|
+
import { NativeDocxEditor } from './chunk-3OT37I24.js';
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
function StreamedWordArtifact({
|
|
@@ -37,5 +37,5 @@ function StreamedWordArtifact({
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export { StreamedWordArtifact };
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
40
|
+
//# sourceMappingURL=chunk-TKJSCHSX.js.map
|
|
41
|
+
//# sourceMappingURL=chunk-TKJSCHSX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/docx/StreamedWordArtifact.tsx"],"names":[],"mappings":";;;AAmBO,SAAS,oBAAA,CAAqB;AAAA,EACnC,OAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAA8B;AAC5B,EAAA,IAAI,CAAC,QAAQ,UAAA,EAAY;AACvB,IAAA,uBACE,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QAEC,OAAA;AAAA,QACA,UAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OAAA;AAAA,MAJK;AAAA,KAKP;AAAA,EAEJ;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MAEC,OAAA;AAAA,MACA,UAAA,EAAW,gBAAA;AAAA,MACX,KAAA;AAAA,MACA,YAAA,EAAa,EAAA;AAAA,MACb,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,KAAA;AAAM,KAAA;AAAA,IAL3B;AAAA,GAMN;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/docx/StreamedWordArtifact.tsx"],"names":[],"mappings":";;;AAmBO,SAAS,oBAAA,CAAqB;AAAA,EACnC,OAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAA8B;AAC5B,EAAA,IAAI,CAAC,QAAQ,UAAA,EAAY;AACvB,IAAA,uBACE,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QAEC,OAAA;AAAA,QACA,UAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OAAA;AAAA,MAJK;AAAA,KAKP;AAAA,EAEJ;AACA,EAAA,uBACE,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MAEC,OAAA;AAAA,MACA,UAAA,EAAW,gBAAA;AAAA,MACX,KAAA;AAAA,MACA,YAAA,EAAa,EAAA;AAAA,MACb,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,KAAA;AAAM,KAAA;AAAA,IAL3B;AAAA,GAMN;AAEJ","file":"chunk-TKJSCHSX.js","sourcesContent":["import { NativeDocxEditor, type NativeDocxAdapter } from './NativeDocxEditor'\n\nexport interface StreamedWordArtifactProps {\n adapter: NativeDocxAdapter\n /** Streamed Markdown, shown as a read-only preview while the draft is generated. */\n content: string\n title: string\n busy: boolean\n error?: string | null\n /** The DOCX draft the server stored for this generation (`doc-…`), once known. */\n documentId?: string\n onSaved?: (documentId: string) => void\n}\n\n/**\n * One drafting surface for an AI document draft. The server stores every draft as DOCX, so\n * this component never creates a document: it previews the streamed Markdown until generation\n * ends and the stored DOCX is known, then opens that DOCX in the live collaborative editor.\n */\nexport function StreamedWordArtifact({\n adapter,\n content,\n title,\n busy,\n error,\n documentId,\n onSaved,\n}: StreamedWordArtifactProps) {\n if (!busy && documentId) {\n return (\n <NativeDocxEditor\n key={documentId}\n adapter={adapter}\n documentId={documentId}\n title={title}\n onSaved={onSaved}\n />\n )\n }\n return (\n <NativeDocxEditor\n key=\"stream-preview\"\n adapter={adapter}\n documentId=\"stream-preview\"\n title={title}\n draftContent=\"\"\n stream={{ content, busy, error }}\n />\n )\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkI2QSDQQV_cjs = require('./chunk-I2QSDQQV.cjs');
|
|
5
5
|
var chunkXSUOEJB3_cjs = require('./chunk-XSUOEJB3.cjs');
|
|
6
6
|
var lucideReact = require('lucide-react');
|
|
7
7
|
var ui = require('@arbidocs/react/ui');
|
|
@@ -1130,7 +1130,7 @@ function evidenceParagraphs(row, l) {
|
|
|
1130
1130
|
const threads = links.threads ?? [];
|
|
1131
1131
|
const more = links.doc_count - docs.length + (links.fact_count - facts.length) + (links.thread_count - threads.length);
|
|
1132
1132
|
return [
|
|
1133
|
-
|
|
1133
|
+
chunkI2QSDQQV_cjs.paragraph(
|
|
1134
1134
|
[
|
|
1135
1135
|
{
|
|
1136
1136
|
text: [
|
|
@@ -1144,15 +1144,15 @@ function evidenceParagraphs(row, l) {
|
|
|
1144
1144
|
"TagTableCell"
|
|
1145
1145
|
),
|
|
1146
1146
|
...docs.map(
|
|
1147
|
-
(d) =>
|
|
1147
|
+
(d) => chunkI2QSDQQV_cjs.paragraph(
|
|
1148
1148
|
[{ text: d.file_name, bold: true }, ...d.note ? [{ text: ` \u2014 ${d.note}` }] : []],
|
|
1149
1149
|
"TagTableCell"
|
|
1150
1150
|
)
|
|
1151
1151
|
),
|
|
1152
|
-
...facts.map((f) =>
|
|
1153
|
-
...threads.map((t) =>
|
|
1152
|
+
...facts.map((f) => chunkI2QSDQQV_cjs.paragraph([{ text: `\u201C${f.text}\u201D`, italic: true }], "TagTableCell")),
|
|
1153
|
+
...threads.map((t) => chunkI2QSDQQV_cjs.paragraph([{ text: t.title || l.untitledThread }], "TagTableCell")),
|
|
1154
1154
|
...more > 0 ? [
|
|
1155
|
-
|
|
1155
|
+
chunkI2QSDQQV_cjs.paragraph(
|
|
1156
1156
|
[{ text: l.more.replace("{count}", String(more)), muted: true }],
|
|
1157
1157
|
"TagTableCell"
|
|
1158
1158
|
)
|
|
@@ -1162,8 +1162,8 @@ function evidenceParagraphs(row, l) {
|
|
|
1162
1162
|
function gapParagraphs(row, columns, l) {
|
|
1163
1163
|
const missing = columns.filter((c) => c.type !== "checkbox" && cellText(cellValue(row, c), c) === "").map((c) => c.name);
|
|
1164
1164
|
return [
|
|
1165
|
-
...isGap(row) ? [
|
|
1166
|
-
...missing.length ? [
|
|
1165
|
+
...isGap(row) ? [chunkI2QSDQQV_cjs.paragraph([{ text: l.noEvidence, bold: true }], "TagTableCell")] : [],
|
|
1166
|
+
...missing.length ? [chunkI2QSDQQV_cjs.paragraph([{ text: l.missing.replace("{fields}", missing.join(", ")) }], "TagTableCell")] : []
|
|
1167
1167
|
];
|
|
1168
1168
|
}
|
|
1169
1169
|
function tagTableDocumentXml(table, options) {
|
|
@@ -1171,40 +1171,40 @@ function tagTableDocumentXml(table, options) {
|
|
|
1171
1171
|
const { columns, rows } = table;
|
|
1172
1172
|
const heads = [l.row, ...columns.map((c) => c.name), l.evidence, l.gaps];
|
|
1173
1173
|
const landscape = heads.length > TAG_TABLE_DOCX_LANDSCAPE_AFTER;
|
|
1174
|
-
const { textWidth, sectPr } =
|
|
1174
|
+
const { textWidth, sectPr } = chunkI2QSDQQV_cjs.page(landscape);
|
|
1175
1175
|
const weights = [2, ...columns.map(() => 1), 3, 1.5];
|
|
1176
1176
|
const total = weights.reduce((a, b) => a + b, 0);
|
|
1177
1177
|
const widths = weights.map((w) => Math.floor(textWidth * w / total));
|
|
1178
|
-
const at =
|
|
1178
|
+
const at = chunkI2QSDQQV_cjs.minuteUtc(options.at ?? (/* @__PURE__ */ new Date()).toISOString());
|
|
1179
1179
|
const header = `<w:tr><w:trPr><w:tblHeader/><w:cantSplit/></w:trPr>${heads.map(
|
|
1180
|
-
(h, i) =>
|
|
1180
|
+
(h, i) => chunkI2QSDQQV_cjs.cell([chunkI2QSDQQV_cjs.paragraph([{ text: h, bold: true }], "TagTableCell")], widths[i], "E7E6E6")
|
|
1181
1181
|
).join("")}</w:tr>`;
|
|
1182
1182
|
const body = rows.map((row) => {
|
|
1183
1183
|
const fill = isGap(row) ? "FFF2CC" : void 0;
|
|
1184
1184
|
const cells = [
|
|
1185
|
-
|
|
1185
|
+
chunkI2QSDQQV_cjs.cell([chunkI2QSDQQV_cjs.paragraph([{ text: row.name, bold: true }], "TagTableCell")], widths[0], fill),
|
|
1186
1186
|
...columns.map((c, i) => {
|
|
1187
1187
|
const text = cellText(cellValue(row, c), c, options.nameOf);
|
|
1188
|
-
return
|
|
1188
|
+
return chunkI2QSDQQV_cjs.cell(text ? [chunkI2QSDQQV_cjs.paragraph([{ text }], "TagTableCell")] : [], widths[i + 1], fill);
|
|
1189
1189
|
}),
|
|
1190
|
-
|
|
1191
|
-
|
|
1190
|
+
chunkI2QSDQQV_cjs.cell(evidenceParagraphs(row, l), widths[columns.length + 1], fill),
|
|
1191
|
+
chunkI2QSDQQV_cjs.cell(gapParagraphs(row, columns, l), widths[columns.length + 2], fill)
|
|
1192
1192
|
];
|
|
1193
1193
|
return `<w:tr><w:trPr><w:cantSplit/></w:trPr>${cells.join("")}</w:tr>`;
|
|
1194
1194
|
});
|
|
1195
1195
|
const grid = `<w:tbl><w:tblPr><w:tblStyle w:val="TagTableGrid"/><w:tblW w:w="${textWidth}" w:type="dxa"/><w:tblLayout w:type="fixed"/><w:tblLook w:val="04A0" w:firstRow="1" w:lastRow="0" w:firstColumn="1" w:lastColumn="0" w:noHBand="0" w:noVBand="1"/></w:tblPr><w:tblGrid>${widths.map((w) => `<w:gridCol w:w="${w}"/>`).join("")}</w:tblGrid>${header}${body.join("")}</w:tbl>`;
|
|
1196
|
-
return
|
|
1197
|
-
`${
|
|
1196
|
+
return chunkI2QSDQQV_cjs.documentXml(
|
|
1197
|
+
`${chunkI2QSDQQV_cjs.paragraph(
|
|
1198
1198
|
[{ text: options.title }],
|
|
1199
1199
|
"Title"
|
|
1200
|
-
)}${
|
|
1200
|
+
)}${chunkI2QSDQQV_cjs.paragraph([{ text: l.takenAt.replace("{at}", `${at} UTC`), muted: true }])}${grid}${rows.length ? "" : chunkI2QSDQQV_cjs.paragraph([{ text: l.empty, muted: true }])}<w:p/>${sectPr}`
|
|
1201
1201
|
);
|
|
1202
1202
|
}
|
|
1203
1203
|
function tagTableDocx(table, options) {
|
|
1204
1204
|
const at = new Date(options.at ?? Date.now()).toISOString();
|
|
1205
|
-
return
|
|
1205
|
+
return chunkI2QSDQQV_cjs.docxPackage({
|
|
1206
1206
|
document: tagTableDocumentXml(table, { ...options, at }),
|
|
1207
|
-
styles:
|
|
1207
|
+
styles: chunkI2QSDQQV_cjs.TABLE_DOCUMENT_STYLES,
|
|
1208
1208
|
title: options.title,
|
|
1209
1209
|
at
|
|
1210
1210
|
});
|
|
@@ -1235,5 +1235,5 @@ exports.tagTableDocx = tagTableDocx;
|
|
|
1235
1235
|
exports.tagTableMarkdown = tagTableMarkdown;
|
|
1236
1236
|
exports.workspaceActivityHeadline = workspaceActivityHeadline;
|
|
1237
1237
|
exports.workspaceActivityTarget = workspaceActivityTarget;
|
|
1238
|
-
//# sourceMappingURL=chunk-
|
|
1239
|
-
//# sourceMappingURL=chunk-
|
|
1238
|
+
//# sourceMappingURL=chunk-US5ASM4G.cjs.map
|
|
1239
|
+
//# sourceMappingURL=chunk-US5ASM4G.cjs.map
|