/** * Ruler Module - Per-page and interactive ruler rendering * * This module provides everything needed to render rulers in the document editor: * - Core logic for generating ruler definitions (tick marks, margin positions) * - DOM renderer for creating ruler elements * - CSS styles for ruler appearance * * @module ruler * * @example * ```typescript * import { * generateRulerDefinition, * createRulerElement, * ensureRulerStyles, * } from './ruler/index.js'; * * // Generate ruler data * const definition = generateRulerDefinition({ * pageSize: { width: 8.5, height: 11 }, * pageMargins: { left: 1, right: 1, top: 1, bottom: 1 }, * }); * * // Ensure styles are injected * ensureRulerStyles(document); * * // Create display-only ruler for a page * const ruler = createRulerElement({ * definition, * doc: document, * interactive: false, * }); * * // Add to page * pageElement.insertBefore(ruler, pageElement.firstChild); * ``` */ export { generateRulerDefinition, generateRulerDefinitionFromPx, pxToInches, inchesToPx, calculateMarginFromHandle, clampHandlePosition, createHandleStates, type PageSize, type PageMargins, type RulerTick, type RulerDefinition, type RulerConfig, type RulerConfigPx, type RulerHandleState, } from './ruler-core.js'; export { createRulerElement, updateHandlePosition, createIndicatorElement, updateIndicator, RULER_CLASS_NAMES, type CreateRulerElementOptions, } from './ruler-renderer.js'; export { ensureRulerStyles, _resetRulerStylesInjection } from './ruler-styles.js'; //# sourceMappingURL=index.d.ts.map