{"version":3,"sources":["../../src/react/BasicElementsPlugin.ts","../../src/react/BlockquotePlugin.tsx","../../src/lib/BaseBlockquotePlugin.ts","../../src/react/HeadingPlugin.tsx","../../src/lib/BaseHeadingPlugin.ts","../../src/react/HorizontalRulePlugin.tsx","../../src/lib/BaseHorizontalRulePlugin.ts"],"sourcesContent":["import { createPlatePlugin } from '@udecode/plate/react';\n\nimport { BlockquotePlugin } from './BlockquotePlugin';\nimport { HeadingPlugin } from './HeadingPlugin';\nimport { HorizontalRulePlugin } from './HorizontalRulePlugin';\n\n/**\n * Enables support for basic elements:\n *\n * - Block quote\n * - Code block\n * - Heading\n * - Paragraph\n */\nexport const BasicElementsPlugin = createPlatePlugin({\n  plugins: [BlockquotePlugin, HeadingPlugin, HorizontalRulePlugin],\n});\n","import { toPlatePlugin } from '@udecode/plate/react';\n\nimport { BaseBlockquotePlugin } from '../lib/BaseBlockquotePlugin';\n\nexport const BlockquotePlugin = toPlatePlugin(BaseBlockquotePlugin);\n","import { createSlatePlugin, KEYS } from '@udecode/plate';\n\n/** Enables support for block quotes, useful for quotations and passages. */\nexport const BaseBlockquotePlugin = createSlatePlugin({\n  key: KEYS.blockquote,\n  node: { isElement: true },\n  parsers: {\n    html: {\n      deserializer: {\n        rules: [\n          {\n            validNodeName: 'BLOCKQUOTE',\n          },\n        ],\n      },\n    },\n  },\n  render: { as: 'blockquote' },\n});\n","import { toPlatePlugin } from '@udecode/plate/react';\n\nimport {\n  BaseH1Plugin,\n  BaseH2Plugin,\n  BaseH3Plugin,\n  BaseH4Plugin,\n  BaseH5Plugin,\n  BaseH6Plugin,\n  BaseHeadingPlugin,\n} from '../lib/BaseHeadingPlugin';\n\nexport const HeadingPlugin = toPlatePlugin(BaseHeadingPlugin);\n\nexport const H1Plugin = toPlatePlugin(BaseH1Plugin);\nexport const H2Plugin = toPlatePlugin(BaseH2Plugin);\nexport const H3Plugin = toPlatePlugin(BaseH3Plugin);\nexport const H4Plugin = toPlatePlugin(BaseH4Plugin);\nexport const H5Plugin = toPlatePlugin(BaseH5Plugin);\nexport const H6Plugin = toPlatePlugin(BaseH6Plugin);\n","import {\n  type PluginConfig,\n  type SlatePlugin,\n  createTSlatePlugin,\n} from '@udecode/plate';\n\nexport type HeadingConfig = PluginConfig<\n  'heading',\n  {\n    /** Heading levels supported from 1 to `levels` */\n    levels?: HeadingLevel | HeadingLevel[];\n  }\n>;\n\nexport type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const BaseH1Plugin = createTSlatePlugin({\n  key: 'h1',\n  node: { isElement: true },\n  parsers: { html: { deserializer: { rules: [{ validNodeName: 'H1' }] } } },\n  render: { as: 'h1' },\n}).extendTransforms(({ editor, type }) => ({\n  toggle: () => {\n    editor.tf.toggleBlock(type);\n  },\n}));\n\nexport const BaseH2Plugin = createTSlatePlugin({\n  key: 'h2',\n  node: { isElement: true },\n  parsers: { html: { deserializer: { rules: [{ validNodeName: 'H2' }] } } },\n  render: { as: 'h2' },\n}).extendTransforms(({ editor, type }) => ({\n  toggle: () => {\n    editor.tf.toggleBlock(type);\n  },\n}));\n\nexport const BaseH3Plugin = createTSlatePlugin({\n  key: 'h3',\n  node: { isElement: true },\n  parsers: { html: { deserializer: { rules: [{ validNodeName: 'H3' }] } } },\n  render: { as: 'h3' },\n}).extendTransforms(({ editor, type }) => ({\n  toggle: () => {\n    editor.tf.toggleBlock(type);\n  },\n}));\n\nexport const BaseH4Plugin = createTSlatePlugin({\n  key: 'h4',\n  node: { isElement: true },\n  parsers: { html: { deserializer: { rules: [{ validNodeName: 'H4' }] } } },\n  render: { as: 'h4' },\n}).extendTransforms(({ editor, type }) => ({\n  toggle: () => {\n    editor.tf.toggleBlock(type);\n  },\n}));\n\nexport const BaseH5Plugin = createTSlatePlugin({\n  key: 'h5',\n  node: { isElement: true },\n  parsers: { html: { deserializer: { rules: [{ validNodeName: 'H5' }] } } },\n  render: { as: 'h5' },\n}).extendTransforms(({ editor, type }) => ({\n  toggle: () => {\n    editor.tf.toggleBlock(type);\n  },\n}));\n\nexport const BaseH6Plugin = createTSlatePlugin({\n  key: 'h6',\n  node: { isElement: true },\n  parsers: { html: { deserializer: { rules: [{ validNodeName: 'H6' }] } } },\n  render: { as: 'h6' },\n}).extendTransforms(({ editor, type }) => ({\n  toggle: () => {\n    editor.tf.toggleBlock(type);\n  },\n}));\n\n/** Enables support for headings with configurable levels (from 1 to 6). */\nexport const BaseHeadingPlugin = createTSlatePlugin<HeadingConfig>({\n  key: 'heading',\n  options: {\n    levels: [1, 2, 3, 4, 5, 6],\n  },\n}).extend(({ plugin }) => {\n  const {\n    options: { levels },\n  } = plugin;\n\n  // Map of heading levels to their corresponding plugins\n  const headingPlugins = {\n    1: BaseH1Plugin,\n    2: BaseH2Plugin,\n    3: BaseH3Plugin,\n    4: BaseH4Plugin,\n    5: BaseH5Plugin,\n    6: BaseH6Plugin,\n  };\n\n  const headingLevels = Array.isArray(levels)\n    ? levels\n    : Array.from({ length: levels || 6 }, (_, i) => (i + 1) as HeadingLevel);\n\n  const plugins: SlatePlugin[] = headingLevels.map(\n    (level) => headingPlugins[level] as any\n  );\n\n  return { plugins };\n});\n","import { toPlatePlugin } from '@udecode/plate/react';\n\nimport { BaseHorizontalRulePlugin } from '../lib';\n\nexport const HorizontalRulePlugin = toPlatePlugin(BaseHorizontalRulePlugin);\n","import { createSlatePlugin, KEYS } from '@udecode/plate';\n\nexport const BaseHorizontalRulePlugin = createSlatePlugin({\n  key: KEYS.hr,\n  node: { isElement: true, isVoid: true },\n  parsers: {\n    html: {\n      deserializer: {\n        rules: [\n          {\n            validNodeName: 'HR',\n          },\n        ],\n      },\n    },\n  },\n  render: { as: 'hr' },\n});\n"],"mappings":"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","names":["toPlatePlugin","toPlatePlugin","toPlatePlugin","createSlatePlugin","KEYS","toPlatePlugin"]}