ultisuite-client/lib/drive/docs-indent.ts
R3D347HR4Y 303b2b1074
Some checks are pending
E2E / Playwright e2e (push) Waiting to run
wow
2026-06-11 01:22:40 +02:00

22 lines
696 B
TypeScript

/** One indent step — 0.5 in at 96 CSS px/in (Google Docs default). */
export const DOCS_INDENT_STEP_PX = 36
export const DOCS_MAX_INDENT_LEVEL = 8
export function clampIndentLevel(level: number): number {
if (!Number.isFinite(level)) return 0
return Math.max(0, Math.min(DOCS_MAX_INDENT_LEVEL, Math.round(level)))
}
export function nextIndentLevel(current: number, delta: number): number {
return clampIndentLevel(current + delta)
}
export function indentLevelToMarginPx(level: number): number {
return clampIndentLevel(level) * DOCS_INDENT_STEP_PX
}
export function isIndentableBlockType(typeName: string): boolean {
return typeName === "paragraph" || typeName === "heading"
}