From 7c08072536eb60739a231e3f924938df2b0b6fa8 Mon Sep 17 00:00:00 2001 From: Caio Pizzol Date: Thu, 28 May 2026 12:47:13 -0300 Subject: [PATCH 1/4] fix(super-editor): render and round-trip w:smartTag content (SD-2647) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit w:smartTag is a transparent inline wrapper around EG_PContent (ECMA-376 §17.5.1.9). Before this change it fell through to the v2 passthrough path, which wrapped the runs in a display:none span - so any content authored inside Word's smart tags (countries, places, dates, names) disappeared on render. Add a smartTag PM container node (non-atomic, content: inline*, transparent renderDOM) plus a v3 translator that preserves w:element, w:uri, and the optional w:smartTagPr child for round-trip. A small v2 importer entity intercepts w:smartTag before the passthrough catcher and delegates to the v3 translator. The pm-adapter inline converter mirrors structuredContent / bookmarkStart: walk children with inherited marks and forward inlineRunProperties so SD-2781 run-level bidi/script metadata survives. Sdt run-flattening recognises w:smartTag as a run-level wrapper so nested smartTags inside SDT content keep working. Container node, not a mark: smartTags nest in real documents (e.g. ), and ProseMirror marks of the same type don't stack. Verified on the IT-945 customer file: 439 smartTag elements render (matches 439 XML opens), 22/22 sampled country names visible, 0 passthroughInline wrappers. Tests: 11 translator + 4 extension; full super-editor / pm-adapter / layout-engine suites green; workspace check:types clean. --- .../converters/inline-converters/smart-tag.ts | 30 +++ .../pm-adapter/src/converters/paragraph.ts | 5 + .../v2/importer/docxImporter.js | 2 + .../v2/importer/smartTagImporter.js | 37 ++++ .../core/super-converter/v3/handlers/index.js | 2 + .../helpers/convert-sdt-content-to-runs.js | 2 +- .../v3/handlers/w/smartTag/index.js | 1 + .../w/smartTag/smartTag-translator.js | 135 +++++++++++++ .../w/smartTag/smartTag-translator.test.js | 190 ++++++++++++++++++ .../src/editors/v1/extensions/index.js | 3 + .../editors/v1/extensions/smart-tag/index.js | 1 + .../v1/extensions/smart-tag/smart-tag.js | 82 ++++++++ .../v1/extensions/smart-tag/smart-tag.test.js | 48 +++++ .../v1/extensions/types/node-attributes.ts | 24 +++ 14 files changed, 561 insertions(+), 1 deletion(-) create mode 100644 packages/layout-engine/pm-adapter/src/converters/inline-converters/smart-tag.ts create mode 100644 packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.js create mode 100644 packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/index.js create mode 100644 packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.js create mode 100644 packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.test.js create mode 100644 packages/super-editor/src/editors/v1/extensions/smart-tag/index.js create mode 100644 packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.js create mode 100644 packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.test.js diff --git a/packages/layout-engine/pm-adapter/src/converters/inline-converters/smart-tag.ts b/packages/layout-engine/pm-adapter/src/converters/inline-converters/smart-tag.ts new file mode 100644 index 0000000000..d785b56723 --- /dev/null +++ b/packages/layout-engine/pm-adapter/src/converters/inline-converters/smart-tag.ts @@ -0,0 +1,30 @@ +import { type InlineConverterParams } from './common'; + +/** + * pm-adapter inline converter for the SuperDoc `smartTag` node (SD-2647). + * + * A smartTag is a transparent OOXML inline wrapper (``); its + * children are normal inline content. The pm-adapter contribution mirrors + * `structuredContentNodeToBlocks`: visit the children with the inherited + * marks unchanged so the wrapper contributes no run of its own. + * + * SD-2781 (mirrors structured-content / bookmark-start): forward + * `inlineRunProperties` so children inside the smartTag wrapper preserve + * run-level bidi/script metadata. The wrapper itself doesn't introduce a new + * run boundary, so the parent run's inline source still applies. + * + * The wrapper's own attrs (`element`, `uri`, `smartTagPr`) are metadata only; + * they survive round-trip via the v3 translator and don't affect layout. + */ +export function smartTagNodeToBlocks({ + node, + inheritedMarks, + sdtMetadata, + visitNode, + runProperties, + inlineRunProperties, +}: InlineConverterParams): void { + node.content?.forEach((child) => + visitNode(child, inheritedMarks, sdtMetadata, runProperties, false, inlineRunProperties), + ); +} diff --git a/packages/layout-engine/pm-adapter/src/converters/paragraph.ts b/packages/layout-engine/pm-adapter/src/converters/paragraph.ts index a3f5d964e8..32f3c0cd57 100644 --- a/packages/layout-engine/pm-adapter/src/converters/paragraph.ts +++ b/packages/layout-engine/pm-adapter/src/converters/paragraph.ts @@ -48,6 +48,7 @@ import { } from './inline-converters/common.js'; import { runNodeChildrenToRuns } from './inline-converters/run.js'; import { structuredContentNodeToBlocks } from './inline-converters/structured-content.js'; +import { smartTagNodeToBlocks } from './inline-converters/smart-tag.js'; import { pageReferenceNodeToBlock } from './inline-converters/page-reference.js'; import { fieldAnnotationNodeToRun } from './inline-converters/field-annotation.js'; import { bookmarkStartNodeToBlocks } from './inline-converters/bookmark-start.js'; @@ -969,6 +970,10 @@ const INLINE_CONVERTERS_REGISTRY: Record = { inlineConverter: structuredContentNodeToBlocks, extraCheck: (node: PMNode) => Array.isArray(node.content), }, + smartTag: { + inlineConverter: smartTagNodeToBlocks, + extraCheck: (node: PMNode) => Array.isArray(node.content), + }, fieldAnnotation: { inlineConverter: fieldAnnotationNodeToRun, }, diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/docxImporter.js b/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/docxImporter.js index ca8c9cf1a7..9637bd7e97 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/docxImporter.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/docxImporter.js @@ -26,6 +26,7 @@ import { getDefaultStyleDefinition } from '@converter/docx-helpers/index.js'; import { pruneIgnoredNodes } from './ignoredNodes.js'; import { tabNodeEntityHandler } from './tabImporter.js'; import { noBreakHyphenNodeEntityHandler } from './noBreakHyphenImporter.js'; +import { smartTagNodeEntityHandler } from './smartTagImporter.js'; import { footnoteReferenceHandlerEntity } from './footnoteReferenceImporter.js'; import { endnoteReferenceHandlerEntity } from './endnoteReferenceImporter.js'; import { tableNodeHandlerEntity } from './tableImporter.js'; @@ -339,6 +340,7 @@ export const defaultNodeListHandler = () => { endnoteReferenceHandlerEntity, tabNodeEntityHandler, noBreakHyphenNodeEntityHandler, + smartTagNodeEntityHandler, tableOfContentsHandlerEntity, indexHandlerEntity, bibliographyHandlerEntity, diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.js b/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.js new file mode 100644 index 0000000000..f13915a319 --- /dev/null +++ b/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.js @@ -0,0 +1,37 @@ +// @ts-check +import { translator as wSmartTagNodeTranslator } from '../../v3/handlers/w/smartTag/index.js'; + +/** + * Smart-tag node handler (SD-2647 / SD-3298). + * + * Captures `` before it falls through to the passthrough handler. + * Without this entry the wrapper is hidden as `passthroughInline`, dropping + * its visible children (e.g. WIPO ST.3 country-region names inside the + * customer IT-945 doc). + * + * @param {import('../../v3/node-translator').SCEncoderConfig} params + * @returns {Object} Handler result + */ +const handleSmartTagNode = (params) => { + const { nodes } = params; + if (!nodes.length || nodes[0].name !== 'w:smartTag') { + return { nodes: [], consumed: 0 }; + } + const result = wSmartTagNodeTranslator.encode(params); + if (!result) return { nodes: [], consumed: 0 }; + return { + nodes: Array.isArray(result) ? result : [result], + consumed: 1, + }; +}; + +/** + * Smart-tag node handler entity. Slotted into `defaultNodeListHandler` + * BEFORE `passthroughNodeHandlerEntity`. + * + * @type {Object} + */ +export const smartTagNodeEntityHandler = { + handlerName: 'w:smartTagTranslator', + handler: handleSmartTagNode, +}; diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/index.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/index.js index e6bd9fe1f3..544e950224 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/index.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/index.js @@ -151,6 +151,7 @@ import { translator as w_szCs_translator } from './w/szcs/szcs-translator.js'; import { translator as w_t_translator } from './w/t/t-translator.js'; import { translator as w_tab_translator } from './w/tab/tab-translator.js'; import { translator as w_noBreakHyphen_translator } from './w/noBreakHyphen/no-break-hyphen-translator.js'; +import { translator as w_smartTag_translator } from './w/smartTag/smartTag-translator.js'; import { translator as w_tabs_translator } from './w/tabs/tabs-translator.js'; import { translator as w_tbl_translator } from './w/tbl/tbl-translator.js'; import { translator as w_tblBorders_translator } from './w/tblBorders/tblBorders-translator.js'; @@ -360,6 +361,7 @@ const translatorList = Array.from( w_t_translator, w_tab_translator, w_noBreakHyphen_translator, + w_smartTag_translator, w_tabs_translator, w_tbl_translator, w_tblBorders_translator, diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js index 3529f1f495..b8cde17bb3 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js @@ -1,4 +1,4 @@ -const RUN_LEVEL_WRAPPERS = new Set(['w:hyperlink', 'w:ins', 'w:del']); +const RUN_LEVEL_WRAPPERS = new Set(['w:hyperlink', 'w:ins', 'w:del', 'w:smartTag']); /** * Convert SDT child elements into Word run elements. diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/index.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/index.js new file mode 100644 index 0000000000..19b880bd25 --- /dev/null +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/index.js @@ -0,0 +1 @@ +export { config, translator } from './smartTag-translator.js'; diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.js new file mode 100644 index 0000000000..24e4502c50 --- /dev/null +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.js @@ -0,0 +1,135 @@ +// @ts-check +import { NodeTranslator } from '@translator'; +import { translateChildNodes } from '../../../../v2/exporter/helpers/translateChildNodes.js'; +import { cloneXmlNode } from '../r/helpers/helpers.js'; + +/** @type {import('@translator').XmlNodeName} */ +const XML_NODE_NAME = 'w:smartTag'; + +/** @type {import('@translator').SuperDocNodeOrKeyName} */ +const SD_NODE_NAME = 'smartTag'; + +/** + * Helper to create one-to-one attribute handlers between OOXML attrs and + * SuperDoc PM-node attrs. + * @param {string} xmlName + * @param {string} sdName + * @returns {import('@translator').AttrConfig} + */ +const _createAttributeHandler = (xmlName, sdName) => ({ + xmlName, + sdName, + encode: (attributes) => attributes[xmlName], + decode: (attributes) => attributes[sdName], +}); + +/** + * w:smartTag carries two named attributes (ECMA-376 §17.5.1.9): + * w:element - required, the smart tag's local name (e.g. "country-region") + * w:uri - optional, the namespace URI + * + * The optional child element is handled separately during + * encode/decode (preserved as raw XML in the PM-node attrs for round-trip). + * + * @type {import('@translator').AttrConfig[]} + */ +const validXmlAttributes = [_createAttributeHandler('w:element', 'element'), _createAttributeHandler('w:uri', 'uri')]; + +/** + * Encode as a SuperDoc `smartTag` PM container node (SD-2647 / + * SD-3298). The wrapper is transparent: its child runs / inline content are + * imported as the PM node's content. , if present, is preserved + * as raw XML on `attrs.smartTagPr` so export can re-emit it. + * + * Children are full `EG_PContent` (per §17.5.1.9 + the EG_ContentRunContent + * group): runs, hyperlinks, fields, SDTs, nested smartTags, customXml, range + * markers, etc., so we route the entire non-smartTagPr child list back + * through `nodeListHandler.handler` rather than filtering to `w:r` only. + * + * @param {import('@translator').SCEncoderConfig} params + * @param {import('@translator').EncodedAttributes} [encodedAttrs] + * @returns {import('@translator').SCEncoderResult} + */ +function encode(params, encodedAttrs = {}) { + const { nodes, nodeListHandler } = params; + const node = nodes[0]; + + const elements = Array.isArray(node?.elements) ? node.elements : []; + + // Capture if present (round-trip metadata) and strip it from + // the content stream so it doesn't get imported as a visible child. + let smartTagPr = null; + const visibleChildren = []; + for (const child of elements) { + if (child?.name === 'w:smartTagPr') { + smartTagPr = cloneXmlNode(child); + continue; + } + visibleChildren.push(child); + } + + const translatedContent = + visibleChildren.length > 0 + ? nodeListHandler.handler({ + ...params, + nodes: visibleChildren, + path: [...(params.path || []), node], + }) || [] + : []; + + return { + type: SD_NODE_NAME, + content: translatedContent, + attrs: { + element: encodedAttrs.element ?? null, + uri: encodedAttrs.uri ?? null, + smartTagPr, + }, + }; +} + +/** + * Decode a SuperDoc `smartTag` PM node back into , recursively + * translating its inline children and re-emitting the preserved + * when present. + * + * @param {import('@translator').SCDecoderConfig} params + * @param {import('@translator').DecodedAttributes} [decodedAttrs] + * @returns {import('@translator').SCDecoderResult} + */ +function decode(params, decodedAttrs = {}) { + const { node } = params || {}; + if (!node) return null; + + const childContent = translateChildNodes({ ...params, node }); + const childElements = Array.isArray(childContent) ? childContent : childContent ? [childContent] : []; + + const elements = []; + const smartTagPr = node.attrs?.smartTagPr; + if (smartTagPr) { + elements.push(cloneXmlNode(smartTagPr)); + } + elements.push(...childElements); + + return { + name: 'w:smartTag', + attributes: { ...decodedAttrs }, + elements, + }; +} + +/** @type {import('@translator').NodeTranslatorConfig} */ +export const config = { + xmlName: XML_NODE_NAME, + sdNodeOrKeyName: SD_NODE_NAME, + type: NodeTranslator.translatorTypes.NODE, + encode, + decode, + attributes: validXmlAttributes, +}; + +/** + * The NodeTranslator instance for the element. + * @type {import('@translator').NodeTranslator} + */ +export const translator = NodeTranslator.from(config); diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.test.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.test.js new file mode 100644 index 0000000000..0d860b3780 --- /dev/null +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-translator.test.js @@ -0,0 +1,190 @@ +// @ts-check +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import { config, translator } from './smartTag-translator.js'; + +describe('w:smartTag translator', () => { + describe('attribute handlers', () => { + const findAttr = (sdName) => config.attributes.find((a) => a.sdName === sdName); + + it('encodes w:element -> element', () => { + const handler = findAttr('element'); + expect(handler.encode({ 'w:element': 'country-region' })).toBe('country-region'); + expect(handler.decode({ element: 'country-region' })).toBe('country-region'); + }); + + it('encodes w:uri -> uri', () => { + const handler = findAttr('uri'); + expect(handler.encode({ 'w:uri': 'urn:schemas-microsoft-com:office:smarttags' })).toBe( + 'urn:schemas-microsoft-com:office:smarttags', + ); + expect(handler.decode({ uri: 'urn:schemas-microsoft-com:office:smarttags' })).toBe( + 'urn:schemas-microsoft-com:office:smarttags', + ); + }); + }); + + describe('encode (import: -> PM smartTag node)', () => { + let nodeListHandler; + beforeEach(() => { + // Stub nodeListHandler to mirror what the real importer would do for one w:r + nodeListHandler = { + handler: vi.fn(({ nodes }) => { + // Pretend each non-smartTagPr child is a run that became a text node. + return nodes.map((n, i) => ({ type: 'text', text: `child-${i}-${n.name}` })); + }), + }; + }); + + it('produces a smartTag PM node with element + uri attrs from encodedAttrs', () => { + const node = { + name: 'w:smartTag', + attributes: { + 'w:element': 'country-region', + 'w:uri': 'urn:schemas-microsoft-com:office:smarttags', + }, + elements: [{ name: 'w:r', elements: [{ name: 'w:t', elements: [{ type: 'text', text: 'AFGHANISTAN' }] }] }], + }; + const result = config.encode( + { nodes: [node], nodeListHandler, path: [] }, + { element: 'country-region', uri: 'urn:schemas-microsoft-com:office:smarttags' }, + ); + expect(result.type).toBe('smartTag'); + expect(result.attrs.element).toBe('country-region'); + expect(result.attrs.uri).toBe('urn:schemas-microsoft-com:office:smarttags'); + expect(result.attrs.smartTagPr).toBeNull(); + expect(result.content).toEqual([{ type: 'text', text: 'child-0-w:r' }]); + }); + + it('routes the full child list through nodeListHandler.handler (not just w:r)', () => { + // EG_PContent allows runs, hyperlinks, fields, nested smartTags, etc. + // The translator must NOT filter to w:r; that would silently drop these + // siblings inside a smartTag, recreating the SD-2647 bug for richer content. + const node = { + name: 'w:smartTag', + attributes: { 'w:element': 'place' }, + elements: [ + { name: 'w:r', elements: [{ name: 'w:t', elements: [{ type: 'text', text: 'before' }] }] }, + { name: 'w:hyperlink', elements: [] }, + { + name: 'w:smartTag', + attributes: { 'w:element': 'country-region' }, + elements: [{ name: 'w:r' }], + }, + ], + }; + config.encode({ nodes: [node], nodeListHandler, path: [] }, { element: 'place' }); + const handlerCall = nodeListHandler.handler.mock.calls[0][0]; + // Confirm all three siblings (not just w:r) were passed through. + expect(handlerCall.nodes.map((n) => n.name)).toEqual(['w:r', 'w:hyperlink', 'w:smartTag']); + }); + + it('captures into attrs.smartTagPr (round-trip metadata) and strips it from content', () => { + const smartTagPrXml = { + name: 'w:smartTagPr', + elements: [{ name: 'w:attr', attributes: { 'w:name': 'date', 'w:val': '2026-05-28' } }], + }; + const node = { + name: 'w:smartTag', + attributes: { 'w:element': 'stockticker' }, + elements: [smartTagPrXml, { name: 'w:r' }], + }; + const result = config.encode({ nodes: [node], nodeListHandler, path: [] }, { element: 'stockticker' }); + // smartTagPr lives on attrs, not in content. + expect(result.attrs.smartTagPr).not.toBeNull(); + expect(result.attrs.smartTagPr.name).toBe('w:smartTagPr'); + // The child list passed to nodeListHandler must NOT include the smartTagPr. + const handlerCall = nodeListHandler.handler.mock.calls[0][0]; + expect(handlerCall.nodes.map((n) => n.name)).toEqual(['w:r']); + }); + + it('handles empty smartTag (no children) without error', () => { + const node = { name: 'w:smartTag', attributes: { 'w:element': 'empty' }, elements: [] }; + const result = config.encode({ nodes: [node], nodeListHandler, path: [] }, { element: 'empty' }); + expect(result.type).toBe('smartTag'); + expect(result.content).toEqual([]); + // nodeListHandler.handler is NOT called when there are no visible children. + expect(nodeListHandler.handler).not.toHaveBeenCalled(); + }); + + it('nests via the schema content model when the PM importer recurses', () => { + // Simulate a nested smartTag where nodeListHandler returns a PM smartTag + // child (mimicking the recursive import). The outer smartTag's content + // should hold that nested PM node natively, without flattening attrs. + nodeListHandler.handler = vi.fn(() => [ + { + type: 'smartTag', + attrs: { element: 'country-region', uri: null, smartTagPr: null }, + content: [{ type: 'text', text: 'U.S.' }], + }, + ]); + const node = { + name: 'w:smartTag', + attributes: { 'w:element': 'place' }, + elements: [ + { + name: 'w:smartTag', + attributes: { 'w:element': 'country-region' }, + elements: [{ name: 'w:r' }], + }, + ], + }; + const result = config.encode({ nodes: [node], nodeListHandler, path: [] }, { element: 'place' }); + expect(result.attrs.element).toBe('place'); + expect(result.content).toHaveLength(1); + expect(result.content[0].type).toBe('smartTag'); + expect(result.content[0].attrs.element).toBe('country-region'); + expect(result.content[0].content[0].text).toBe('U.S.'); + }); + }); + + describe('decode (export: PM smartTag node -> )', () => { + // The decoder uses translateChildNodes, which is wired through the real + // exporter pipeline. For the unit test we verify the shape and that the + // smartTagPr round-trip path works. + + it('emits with the decoded attributes', () => { + const node = { + type: 'smartTag', + attrs: { element: 'country-region', uri: 'urn:schemas-microsoft-com:office:smarttags', smartTagPr: null }, + content: [], + }; + const result = config.decode( + { node, relationships: [] }, + { 'w:element': 'country-region', 'w:uri': 'urn:schemas-microsoft-com:office:smarttags' }, + ); + expect(result.name).toBe('w:smartTag'); + expect(result.attributes).toEqual({ + 'w:element': 'country-region', + 'w:uri': 'urn:schemas-microsoft-com:office:smarttags', + }); + }); + + it('re-emits when preserved on attrs', () => { + const preservedSmartTagPr = { + name: 'w:smartTagPr', + elements: [{ name: 'w:attr', attributes: { 'w:name': 'date', 'w:val': '2026-05-28' } }], + }; + const node = { + type: 'smartTag', + attrs: { element: 'stockticker', uri: null, smartTagPr: preservedSmartTagPr }, + content: [], + }; + const result = config.decode({ node, relationships: [] }, { 'w:element': 'stockticker' }); + expect(result.elements?.[0]?.name).toBe('w:smartTagPr'); + // Must be a clone, not the same reference, so callers can't accidentally + // mutate the PM-state copy via the exported tree. + expect(result.elements[0]).not.toBe(preservedSmartTagPr); + }); + }); + + describe('config', () => { + it('binds the translator to ', () => { + expect(config.xmlName).toBe('w:smartTag'); + expect(config.sdNodeOrKeyName).toBe('smartTag'); + }); + + it('exports a NodeTranslator instance', () => { + expect(translator).toBeDefined(); + }); + }); +}); diff --git a/packages/super-editor/src/editors/v1/extensions/index.js b/packages/super-editor/src/editors/v1/extensions/index.js index acf4a1e655..a5e16e8548 100644 --- a/packages/super-editor/src/editors/v1/extensions/index.js +++ b/packages/super-editor/src/editors/v1/extensions/index.js @@ -39,6 +39,7 @@ import { TableCell } from './table-cell/index.js'; import { FieldAnnotation, fieldAnnotationHelpers } from './field-annotation/index.js'; import { Image } from './image/index.js'; import { BookmarkStart, BookmarkEnd } from './bookmarks/index.js'; +import { SmartTag } from './smart-tag/index.js'; import { Mention } from './mention/index.js'; import { PageNumber, TotalPageCount } from './page-number/index.js'; import { PageReference } from './page-reference/index.js'; @@ -185,6 +186,7 @@ const getStarterExtensions = () => { Image, BookmarkStart, BookmarkEnd, + SmartTag, Mention, Collaboration, CollaborationCursor, @@ -290,6 +292,7 @@ export { Image, BookmarkStart, BookmarkEnd, + SmartTag, PopoverPlugin, Mention, Collaboration, diff --git a/packages/super-editor/src/editors/v1/extensions/smart-tag/index.js b/packages/super-editor/src/editors/v1/extensions/smart-tag/index.js new file mode 100644 index 0000000000..b13d329802 --- /dev/null +++ b/packages/super-editor/src/editors/v1/extensions/smart-tag/index.js @@ -0,0 +1 @@ +export { SmartTag } from './smart-tag.js'; diff --git a/packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.js b/packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.js new file mode 100644 index 0000000000..1a9cbf2de5 --- /dev/null +++ b/packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.js @@ -0,0 +1,82 @@ +// @ts-nocheck +import { Node } from '@core/Node.js'; +import { Attribute } from '@core/Attribute.js'; + +/** + * Smart tag (OOXML ``): transparent inline wrapper that carries + * semantic metadata around normal paragraph content (ECMA-376 §17.5.1.9). + * + * Renders its children transparently. Per the SD-3298 architectural rule, this + * is a non-atomic inline container node with `content: 'inline*'`, NOT a mark: + * OOXML allows smartTags to nest (e.g. `` wrapping + * `` wrapping a run), and ProseMirror + * marks of the same type don't stack on a single inline node. A container node + * natively nests via the schema's content model. + * + * @module SmartTag + * @sidebarTitle Smart Tag + */ +export const SmartTag = Node.create({ + name: 'smartTag', + + group: 'inline', + + content: 'inline*', + + inline: true, + + // Transparent metadata wrapper, never atomic. + atom: false, + + // Cursor flows through smartTag boundaries freely; metadata only. + isolating: false, + + draggable: false, + + selectable: false, + + addOptions() { + return { + htmlAttributes: { + 'data-sd-smart-tag': '', + 'aria-label': 'Smart tag', + }, + }; + }, + + addAttributes() { + return { + element: { + default: null, + parseDOM: (elem) => elem.getAttribute('data-element'), + renderDOM: (attrs) => { + if (!attrs.element) return {}; + return { 'data-element': attrs.element }; + }, + }, + + uri: { + default: null, + parseDOM: (elem) => elem.getAttribute('data-uri'), + renderDOM: (attrs) => { + if (!attrs.uri) return {}; + return { 'data-uri': attrs.uri }; + }, + }, + + // Raw OOXML stored for round-trip export. Never rendered. + smartTagPr: { + default: null, + rendered: false, + }, + }; + }, + + parseDOM() { + return [{ tag: 'span[data-sd-smart-tag]' }]; + }, + + renderDOM({ htmlAttributes }) { + return ['span', Attribute.mergeAttributes(this.options.htmlAttributes, htmlAttributes), 0]; + }, +}); diff --git a/packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.test.js b/packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.test.js new file mode 100644 index 0000000000..4eb0d824c5 --- /dev/null +++ b/packages/super-editor/src/editors/v1/extensions/smart-tag/smart-tag.test.js @@ -0,0 +1,48 @@ +// @ts-nocheck +import { describe, it, expect } from 'vitest'; +import { SmartTag } from './smart-tag.js'; + +describe('SmartTag PM node', () => { + it('has the correct name', () => { + expect(SmartTag.name).toBe('smartTag'); + }); + + it('is configured as a non-atomic inline container', () => { + const config = SmartTag.config ?? SmartTag; + // Node.create's config sits on the static; key invariants for SD-2647: + expect(config.name).toBe('smartTag'); + expect(typeof SmartTag).toBe('object'); + }); + + it('exposes element, uri, and smartTagPr attrs', () => { + const attrsFn = SmartTag.config?.addAttributes ?? SmartTag.addAttributes; + expect(typeof attrsFn).toBe('function'); + const attrs = attrsFn.call({ options: {} }); + expect(attrs).toHaveProperty('element'); + expect(attrs).toHaveProperty('uri'); + expect(attrs).toHaveProperty('smartTagPr'); + // smartTagPr is preserved for round-trip but never rendered. + expect(attrs.smartTagPr.rendered).toBe(false); + }); + + it('renders transparently with a content hole', () => { + const renderFn = SmartTag.config?.renderDOM ?? SmartTag.renderDOM; + expect(typeof renderFn).toBe('function'); + const result = renderFn.call( + { + options: { + htmlAttributes: { + 'data-sd-smart-tag': '', + 'aria-label': 'Smart tag', + }, + }, + }, + { htmlAttributes: {} }, + ); + expect(Array.isArray(result)).toBe(true); + expect(result[0]).toBe('span'); + // Third element MUST be 0 (PM content placeholder); otherwise children + // would not render. This is the core "transparent" property of the node. + expect(result[2]).toBe(0); + }); +}); diff --git a/packages/super-editor/src/editors/v1/extensions/types/node-attributes.ts b/packages/super-editor/src/editors/v1/extensions/types/node-attributes.ts index 0a16e250b5..7bd04f9c8e 100644 --- a/packages/super-editor/src/editors/v1/extensions/types/node-attributes.ts +++ b/packages/super-editor/src/editors/v1/extensions/types/node-attributes.ts @@ -740,6 +740,27 @@ export interface BookmarkEndAttrs extends InlineNodeAttributes { colLast?: number | null; } +// ============================================ +// SMART TAG (ECMA-376 §17.5.1.9) +// ============================================ + +/** + * Smart-tag node attributes (SD-2647 / SD-3298). + * + * `w:smartTag` is a transparent OOXML inline wrapper around `EG_PContent`. + * The wrapper carries semantic metadata (element + uri) plus an optional + * `` property bag (`` pairs). Children are + * normal inline content; the wrapper itself is invisible at render time. + */ +export interface SmartTagAttrs extends InlineNodeAttributes { + /** Smart-tag element name (w:element), e.g. "country-region", "PlaceName" */ + element?: string | null; + /** Smart-tag namespace URI (w:uri), e.g. "urn:schemas-microsoft-com:office:smarttags" */ + uri?: string | null; + /** @internal Preserved raw `` OOXML for round-trip export. */ + smartTagPr?: Record | null; +} + // ============================================ // SHAPE CONTAINER // ============================================ @@ -1237,6 +1258,9 @@ declare module '../../core/types/NodeAttributesMap.js' { bookmarkStart: BookmarkStartAttrs; bookmarkEnd: BookmarkEndAttrs; + // Smart tags + smartTag: SmartTagAttrs; + // Comments (note: no 'comment' node - only commentRangeStart/End/Reference) commentRangeStart: CommentRangeStartAttrs; commentRangeEnd: CommentRangeEndAttrs; From 4ed82b4f9ded772bcb8daddb23a6e24f2aa620a9 Mon Sep 17 00:00:00 2001 From: Caio Pizzol Date: Thu, 28 May 2026 13:44:41 -0300 Subject: [PATCH 2/4] fix(super-editor): route smartTag through export and preserve smartTagPr in SDT flatten (SD-2647) The initial commit wired w:smartTag for import + render but left two holes on the export path: 1. exporter.js's exportSchemaToJson dispatch table had no smartTag entry, so the v3 decoder was unreachable. Any imported paragraph containing a smartTag would round-trip to null and the entire wrapped subtree would be dropped on save. 2. convertSdtContentToRuns added w:smartTag to RUN_LEVEL_WRAPPERS but then recursed on the full element list, so a w:smartTagPr nested inside an SDT-wrapped smartTag fell through the recursion's catch-all and was rewrapped as a fake . That produces invalid OOXML and corrupts the smartTagPr round-trip in that nesting. Fixes both: - Import wSmartTagNodeTranslator and register it under `smartTag` in the export router. - Partition w:smartTagPr out of the recursive call when the wrapper is w:smartTag, and prepend it back to the wrapper's elements. Kept scoped to the w:smartTag + w:smartTagPr pair; other run-level wrappers are unaffected. New tests: - smartTag-export-routing.test.js exercises exportSchemaToJson directly so the routing wiring cannot regress. - convert-sdt-content-to-runs.test.js asserts w:smartTagPr stays as smartTag metadata instead of becoming a fake w:r. Both new tests fail on the previous commit and pass with this fix. super-editor: 13525 pass / 13 skip. Workspace check:types clean. --- .../v1/core/super-converter/exporter.js | 2 + .../helpers/convert-sdt-content-to-runs.js | 15 +++++- .../convert-sdt-content-to-runs.test.js | 22 +++++++++ .../smartTag/smartTag-export-routing.test.js | 47 +++++++++++++++++++ 4 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js diff --git a/packages/super-editor/src/editors/v1/core/super-converter/exporter.js b/packages/super-editor/src/editors/v1/core/super-converter/exporter.js index bb8151ce75..a7a3882f9b 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/exporter.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/exporter.js @@ -6,6 +6,7 @@ import { translator as wBrNodeTranslator } from './v3/handlers/w/br/br-translato import { translator as wHighlightTranslator } from './v3/handlers/w/highlight/highlight-translator.js'; import { translator as wTabNodeTranslator } from './v3/handlers/w/tab/tab-translator.js'; import { translator as wNoBreakHyphenNodeTranslator } from './v3/handlers/w/noBreakHyphen/no-break-hyphen-translator.js'; +import { translator as wSmartTagNodeTranslator } from './v3/handlers/w/smartTag/smartTag-translator.js'; import { translator as wPNodeTranslator } from './v3/handlers/w/p/p-translator.js'; import { translator as wRNodeTranslator } from './v3/handlers/w/r/r-translator.js'; import { translator as wTcNodeTranslator } from './v3/handlers/w/tc/tc-translator'; @@ -218,6 +219,7 @@ export function exportSchemaToJson(params) { fieldAnnotation: wSdtNodeTranslator, tab: wTabNodeTranslator, noBreakHyphen: wNoBreakHyphenNodeTranslator, + smartTag: wSmartTagNodeTranslator, image: [wDrawingNodeTranslator, pictTranslator], hardBreak: wBrNodeTranslator, commentRangeStart: wCommentRangeStartTranslator, diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js index b8cde17bb3..06ebc1d5ea 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.js @@ -31,7 +31,20 @@ export function convertSdtContentToRuns(elements) { } if (RUN_LEVEL_WRAPPERS.has(element.name)) { - const wrapperElements = convertSdtContentToRuns(element.elements || []); + const children = element.elements || []; + // w:smartTagPr is property metadata for w:smartTag, not run content. + // Preserve it directly on the wrapper instead of feeding it into the + // recursive flatten, which would mangle it into a fake w:r (SD-2647). + const preserved = []; + const rest = []; + for (const child of children) { + if (element.name === 'w:smartTag' && child?.name === 'w:smartTagPr') { + preserved.push(child); + } else { + rest.push(child); + } + } + const wrapperElements = [...preserved, ...convertSdtContentToRuns(rest)]; if (wrapperElements.length) { runs.push({ ...element, diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.test.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.test.js index 941b598363..2884dd7820 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.test.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/sdt/helpers/convert-sdt-content-to-runs.test.js @@ -62,4 +62,26 @@ describe('convertSdtContentToRuns', () => { const result = convertSdtContentToRuns(emptyElement); expect(result).toEqual([]); }); + + it('keeps w:smartTagPr as smartTag metadata, not as a fake w:r (SD-2647)', () => { + const smartTagPr = { + name: 'w:smartTagPr', + elements: [{ name: 'w:attr', attributes: { 'w:name': 'CountryRegion', 'w:val': 'BR' } }], + }; + const innerRun = { name: 'w:r', elements: [{ name: 'w:t', text: 'Brazil' }] }; + const smartTag = { + name: 'w:smartTag', + attributes: { 'w:element': 'country-region' }, + elements: [smartTagPr, innerRun], + }; + + const result = convertSdtContentToRuns([{ name: 'w:sdtPr' }, smartTag]); + + expect(result).toHaveLength(1); + const wrapper = result[0]; + expect(wrapper.name).toBe('w:smartTag'); + expect(wrapper.elements[0]).toEqual(smartTagPr); + expect(wrapper.elements[1]).toBe(innerRun); + expect(wrapper.elements.every((el) => el.name !== 'w:r' || el === innerRun)).toBe(true); + }); }); diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js new file mode 100644 index 0000000000..d7a035b074 --- /dev/null +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js @@ -0,0 +1,47 @@ +import { describe, expect, it } from 'vitest'; +import { exportSchemaToJson } from '../../../../exporter.js'; + +describe('smartTag export routing (SD-2647)', () => { + it('routes a smartTag PM node through exportSchemaToJson to ', () => { + const node = { + type: 'smartTag', + attrs: { element: 'country-region', uri: 'urn:schemas-microsoft-com:office:smarttags' }, + content: [{ type: 'run', attrs: {}, content: [{ type: 'text', text: 'Brazil' }] }], + }; + + const result = exportSchemaToJson({ node }); + + expect(result).not.toBeNull(); + expect(result?.name).toBe('w:smartTag'); + expect(result?.attributes?.['w:element']).toBe('country-region'); + expect(result?.attributes?.['w:uri']).toBe('urn:schemas-microsoft-com:office:smarttags'); + }); + + it('preserves the captured w:smartTagPr when re-emitting through exportSchemaToJson', () => { + const smartTagPr = { + type: 'element', + name: 'w:smartTagPr', + elements: [ + { + type: 'element', + name: 'w:attr', + attributes: { 'w:name': 'CountryRegion', 'w:val': 'BR' }, + }, + ], + }; + + const node = { + type: 'smartTag', + attrs: { element: 'country-region', uri: null, smartTagPr }, + content: [{ type: 'run', attrs: {}, content: [{ type: 'text', text: 'Brazil' }] }], + }; + + const result = exportSchemaToJson({ node }); + + expect(result?.name).toBe('w:smartTag'); + const firstChild = result?.elements?.[0]; + expect(firstChild?.name).toBe('w:smartTagPr'); + expect(firstChild?.elements?.[0]?.name).toBe('w:attr'); + expect(firstChild?.elements?.[0]?.attributes?.['w:val']).toBe('BR'); + }); +}); From 0fc5541d07a6df5bc77bccf94fceb65194c2b571 Mon Sep 17 00:00:00 2001 From: Caio Pizzol Date: Thu, 28 May 2026 13:52:15 -0300 Subject: [PATCH 3/4] test(super-editor): assert smartTag child text survives export round-trip (SD-2647) The previous export-routing tests proved the wrapper and attrs reach the XML, but didn't assert that the child runs survived. Add a tiny recursive text collector and assert the inner "Brazil" text is present in both the bare and smartTagPr-preserving cases, so a future regression that loses the smartTag content (without losing the wrapper) would still fail the test. --- .../handlers/w/smartTag/smartTag-export-routing.test.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js index d7a035b074..bbeabf33be 100644 --- a/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js +++ b/packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/smartTag/smartTag-export-routing.test.js @@ -1,6 +1,13 @@ import { describe, expect, it } from 'vitest'; import { exportSchemaToJson } from '../../../../exporter.js'; +function collectText(xmlNode) { + if (!xmlNode) return ''; + if (typeof xmlNode.text === 'string') return xmlNode.text; + const children = Array.isArray(xmlNode.elements) ? xmlNode.elements : []; + return children.map(collectText).join(''); +} + describe('smartTag export routing (SD-2647)', () => { it('routes a smartTag PM node through exportSchemaToJson to ', () => { const node = { @@ -15,6 +22,7 @@ describe('smartTag export routing (SD-2647)', () => { expect(result?.name).toBe('w:smartTag'); expect(result?.attributes?.['w:element']).toBe('country-region'); expect(result?.attributes?.['w:uri']).toBe('urn:schemas-microsoft-com:office:smarttags'); + expect(collectText(result)).toBe('Brazil'); }); it('preserves the captured w:smartTagPr when re-emitting through exportSchemaToJson', () => { @@ -43,5 +51,6 @@ describe('smartTag export routing (SD-2647)', () => { expect(firstChild?.name).toBe('w:smartTagPr'); expect(firstChild?.elements?.[0]?.name).toBe('w:attr'); expect(firstChild?.elements?.[0]?.attributes?.['w:val']).toBe('BR'); + expect(collectText(result)).toBe('Brazil'); }); }); From f808304804b40c00120bbf8aa14bb73473bff3c0 Mon Sep 17 00:00:00 2001 From: Caio Pizzol Date: Thu, 28 May 2026 15:11:14 -0300 Subject: [PATCH 4/4] test(super-editor): add v2 bridge unit + round-trip behavior coverage (SD-2647) Two test gaps surfaced during PR review that were not blocking by themselves but together left the customer-bug surface unprotected. smartTagImporter.test.js pins the v2 importer bridge invariant: the passthrough handler refuses any node present in v3 registeredHandlers, so without the smartTagNodeEntityHandler claiming w:smartTag, the node silently falls off the end of the reducer chain. Cubic and Codex both read this as "duplicate registration"; the regression-guard test makes the bridge's necessity explicit and reproducible. The behavior round-trip spec exercises the full chain end-to-end with a sanitized real-Word fixture (OOXML surgery on the IT-945 customer .docx, not regenerated through SuperDoc's save path, so the input does not launder through the implementation under test). Asserts: - input fixture already carries w:tc / w:smartTag / w:element / w:smartTagPr (sanity gate before assertions), - table-cell country names render visibly (the customer bug surface, previously hidden as passthroughInline), - zero-edit exportDocx output still contains w:smartTag with the original w:element, the inner country text, and w:smartTagPr. Both tests run green against the SD-2647 fix; the round-trip spec takes ~4s, the importer unit ~2ms. Deferred per review: pm-adapter forwarding test (only common.test.ts currently asserts inlineRunProperties at the helper level; structured- content and other transparent wrappers have no forwarding tests, so a smartTag-only forwarder would set a new bar inconsistent with peers). Layout snapshot + visual pixel tests deferred too; smartTag is transparent metadata, the visible-text behavior assertion already covers what would change. --- .../v2/importer/smartTagImporter.test.js | 64 +++++++++++++++++ .../fixtures/sd-2647-smarttag-roundtrip.docx | Bin 0 -> 179385 bytes .../sd-2647-smarttag-roundtrip.spec.ts | 68 ++++++++++++++++++ 3 files changed, 132 insertions(+) create mode 100644 packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.test.js create mode 100644 tests/behavior/tests/exporting/fixtures/sd-2647-smarttag-roundtrip.docx create mode 100644 tests/behavior/tests/exporting/sd-2647-smarttag-roundtrip.spec.ts diff --git a/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.test.js b/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.test.js new file mode 100644 index 0000000000..7fb68f7490 --- /dev/null +++ b/packages/super-editor/src/editors/v1/core/super-converter/v2/importer/smartTagImporter.test.js @@ -0,0 +1,64 @@ +import { describe, it, expect, vi } from 'vitest'; +import { defaultNodeListHandler } from './docxImporter.js'; +import { smartTagNodeEntityHandler } from './smartTagImporter.js'; +import { registeredHandlers } from '../../v3/handlers/index.js'; + +const baseParams = () => ({ + docx: {}, + converter: {}, + editor: { extensionService: { extensions: [] } }, + nodeListHandler: { handler: vi.fn(() => []), handlerEntities: [] }, + path: [], + extraParams: {}, + importTrackingContext: { addUnhandled: () => {} }, +}); + +describe('smartTagNodeEntityHandler', () => { + it('claims w:smartTag and emits a smartTag PM node (consumed: 1)', () => { + const node = { + name: 'w:smartTag', + attributes: { 'w:element': 'country-region' }, + elements: [{ name: 'w:r', elements: [{ name: 'w:t', elements: [{ type: 'text', text: 'Brazil' }] }] }], + }; + + const result = smartTagNodeEntityHandler.handler({ ...baseParams(), nodes: [node] }); + + expect(result.consumed).toBe(1); + expect(result.nodes).toHaveLength(1); + expect(result.nodes[0].type).toBe('smartTag'); + expect(result.nodes[0].attrs.element).toBe('country-region'); + }); + + it('refuses non-smartTag nodes (consumed: 0)', () => { + const node = { name: 'w:r', elements: [] }; + const result = smartTagNodeEntityHandler.handler({ ...baseParams(), nodes: [node] }); + expect(result).toEqual({ nodes: [], consumed: 0 }); + }); + + it('is the only entity that claims w:smartTag in defaultNodeListHandler (passthrough refuses because w:smartTag is in v3 registeredHandlers)', () => { + // Regression guard: cubic/codex flagged this v2 bridge as "redundant + // duplicate of the v3 registration". It is not. passthroughNodeImporter + // refuses any node present in registeredHandlers, so without this bridge + // w:smartTag would silently fall off the end of the reducer chain. + expect(registeredHandlers['w:smartTag']).toBeDefined(); + + const { handlerEntities } = defaultNodeListHandler(); + const withoutBridge = handlerEntities.filter((e) => e.handlerName !== 'w:smartTagTranslator'); + const node = { + name: 'w:smartTag', + attributes: { 'w:element': 'country-region' }, + elements: [{ name: 'w:r', elements: [{ name: 'w:t', elements: [{ type: 'text', text: 'X' }] }] }], + }; + const params = { + ...baseParams(), + nodes: [node], + nodeListHandler: { handler: () => [], handlerEntities: withoutBridge }, + }; + const result = withoutBridge.reduce((acc, h) => (acc.consumed > 0 ? acc : h.handler(params)), { + nodes: [], + consumed: 0, + }); + expect(result.consumed).toBe(0); + expect(result.nodes).toHaveLength(0); + }); +}); diff --git a/tests/behavior/tests/exporting/fixtures/sd-2647-smarttag-roundtrip.docx b/tests/behavior/tests/exporting/fixtures/sd-2647-smarttag-roundtrip.docx new file mode 100644 index 0000000000000000000000000000000000000000..d31201575511fc434f04002de52150d5a7cc4205 GIT binary patch literal 179385 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 z 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 literal 0 HcmV?d00001 diff --git a/tests/behavior/tests/exporting/sd-2647-smarttag-roundtrip.spec.ts b/tests/behavior/tests/exporting/sd-2647-smarttag-roundtrip.spec.ts new file mode 100644 index 0000000000..7561789911 --- /dev/null +++ b/tests/behavior/tests/exporting/sd-2647-smarttag-roundtrip.spec.ts @@ -0,0 +1,68 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import JSZip from 'jszip'; +import { test, expect } from '../../fixtures/superdoc.js'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const DOC_PATH = path.resolve(__dirname, 'fixtures/sd-2647-smarttag-roundtrip.docx'); + +test.use({ config: { toolbar: 'none' } }); + +/** + * SD-2647: Word-authored content wrapped in must render visibly + * and round-trip back to the same OOXML on zero-edit export. + * + * Fixture is a sanitized subset of the IT-945 customer file (USPTO IDS + * instructions): a short paragraph carrying + the first six + * rows of the WIPO ST.3 country-region table where each country name is + * wrapped in . + * + * Fixture was produced by OOXML surgery on the customer .docx, NOT by + * routing through SuperDoc's own save path - laundering the input through + * the implementation under test would defeat the round-trip assertion. + */ +test('@behavior SD-2647: w:smartTag content renders and round-trips through zero-edit export', async ({ superdoc }) => { + // Sanity: input fixture already carries the constructs we are about to assert. + const inputZip = await JSZip.loadAsync(fs.readFileSync(DOC_PATH)); + const inputXml = await inputZip.file('word/document.xml')!.async('string'); + expect(inputXml).toMatch(/ are visible in the + // body text. Before SD-2647 these fell into hidden passthroughInline spans + // and disappeared. + const bodyText: string = await superdoc.page.evaluate(() => document.body.innerText); + expect(bodyText).toMatch(/AFGHANISTAN/); + expect(bodyText).toMatch(/ALBANIA/); + expect(bodyText).toMatch(/ALGERIA/); + + // Zero-edit export. + const bytes: number[] = await superdoc.page.evaluate(async () => { + const blob: Blob = await (window as any).editor.exportDocx(); + const buffer = await blob.arrayBuffer(); + return Array.from(new Uint8Array(buffer)); + }); + + const outZip = await JSZip.loadAsync(Buffer.from(bytes)); + const outXml = await outZip.file('word/document.xml')!.async('string'); + + // Export assertion 1: w:smartTag wrappers survive with their w:element value + // and at least one country-region instance is present in the output. + expect(outXml).toMatch(/ property metadata is preserved on + // export, not silently dropped (the round-trip half of SD-2647 + the SDT + // flatten fix in convertSdtContentToRuns). + expect(outXml).toMatch(/