// Barrel public du BlockEditor.
//
// Importer le composant depuis :
//   import { BlockEditor } from '@zen/core/shared/components';
//
// Pour enregistrer un type de bloc custom dans une app consommatrice :
//   import { registerBlock } from '@zen/core/shared/components/BlockEditor';
//   registerBlock({ type: 'kpi', label: 'KPI', icon: '📊', isText: false,
//                   create: () => ({ id: crypto.randomUUID(), type: 'kpi' }),
//                   Component: MyKpiBlock });

export { default as BlockEditor } from './BlockEditor.client.js';
export { default } from './BlockEditor.client.js';
export {
  registerBlock,
  getBlockDef,
  listBlocks,
  isBlockText,
  DEFAULT_BLOCK_TYPE,
} from './blockRegistry.js';
export { newBlockId } from './utils/ids.js';
export {
  INLINE_COLORS,
  INLINE_COLOR_KEYS,
  isHexColor,
  collectUsedColors,
  inlineLength,
  inlineToPlainText,
  inlineFromText,
  sliceInline,
  concatInline,
  applyMark,
  removeMark,
  toggleMark,
  marksAtOffset,
  marksInRange,
  normalize as normalizeInline,
} from './inline/types.js';
export { inlineToDom, domToInline } from './inline/serialize.js';
export { blocksToHtml, blocksToPlainText, htmlToBlocks } from './inline/clipboard.js';
