@@ -299,6 +299,10 @@ export type FlowRunLink = {
299299 history ?: boolean ;
300300} ;
301301
302+ export const EMPTY_SDT_PLACEHOLDER_TEXT = 'Click or tap here to enter text' ;
303+
304+ export type SdtVisualPlaceholder = 'emptyInlineSdt' | 'emptyBlockSdt' ;
305+
302306/**
303307 * Common formatting marks that can be applied to any run type.
304308 * Used by TextRun, TabRun, and other run types that support inline formatting.
@@ -351,6 +355,8 @@ export type TextRun = RunMarks & {
351355 */
352356 dataAttrs ?: Record < string , string > ;
353357 sdt ?: SdtMetadata ;
358+ /** Layout-only placeholder for visual affordances that do not represent document text. */
359+ visualPlaceholder ?: SdtVisualPlaceholder ;
354360 link ?: FlowRunLink ;
355361 /** Token annotations for dynamic content (page numbers, etc.). */
356362 token ?: 'pageNumber' | 'totalPageCount' | 'pageReference' ;
@@ -467,10 +473,10 @@ export type ImageRun = {
467473
468474 /**
469475 * Vertical alignment of image relative to text baseline.
470- * Currently only 'bottom' is supported ( image sits on baseline).
471- * Future: 'top', 'middle', ' baseline', 'text-top', 'text-bottom' .
476+ * 'top' keeps the image box inside the measured line height; 'bottom'
477+ * preserves legacy baseline alignment for existing callers .
472478 */
473- verticalAlign ?: 'bottom' ;
479+ verticalAlign ?: 'top' | ' bottom';
474480
475481 /** Absolute ProseMirror position (inclusive) of this image run. */
476482 pmStart ?: number ;
@@ -2224,6 +2230,11 @@ export { isResolvedTableItem, isResolvedImageItem, isResolvedDrawingItem } from
22242230
22252231// Pure transformations on inline-run shapes (used by pm-adapter, layout-bridge,
22262232// and painter-dom). Located in contracts to avoid reverse stage dependencies.
2227- export { expandRunsForInlineNewlines , sliceRunsForLine } from './run-helpers.js' ;
2233+ export {
2234+ expandRunsForInlineNewlines ,
2235+ isEmptyInlineSdtPlaceholderRun ,
2236+ isEmptySdtPlaceholderRun ,
2237+ sliceRunsForLine ,
2238+ } from './run-helpers.js' ;
22282239
22292240export * as Engines from './engines/index.js' ;
0 commit comments