import type { ContentEditorTableAlignment } from '@admin/utils/editor/content-editor-table-alignment' import type { Editor } from '@tiptap/react' import { getSelectedTableColumnCellPositions } from '@admin/utils/editor/get-selected-table-column-cell-positions' import { isContentEditorTableAlignment } from '@admin/utils/editor/is-content-editor-table-alignment' export function getActiveTableColumnAlignment( editor: Editor | null ): ContentEditorTableAlignment | null { if (!editor) return null const positions = getSelectedTableColumnCellPositions(editor) if (!positions.length) return null let alignment: ContentEditorTableAlignment | null = null for (const position of positions) { const node = editor.state.doc.nodeAt(position) const nodeAlignment = isContentEditorTableAlignment(node?.attrs.align) ? node.attrs.align : 'left' if (alignment === null) { alignment = nodeAlignment continue } if (alignment !== nodeAlignment) return null } return alignment }