{"version":3,"file":"ngx-editor-schema.mjs","sources":["../../../projects/ngx-editor/schema/marks.ts","../../../projects/ngx-editor/schema/nodes.ts","../../../projects/ngx-editor/schema/schema.ts","../../../projects/ngx-editor/schema/ngx-editor-schema.ts"],"sourcesContent":["import { DOMOutputSpec, Mark, MarkSpec } from 'prosemirror-model';\n\n// :: MarkSpec A link. Has `href` and `title` attributes. `title`\n// defaults to the empty string. Rendered and parsed as an ``\n// element.\nconst link: MarkSpec = {\n attrs: {\n href: {},\n title: { default: null },\n target: { default: '_blank' },\n },\n inclusive: false,\n parseDOM: [\n {\n tag: 'a[href]',\n getAttrs(dom: HTMLElement): Record {\n return {\n href: dom.getAttribute('href'),\n title: dom.getAttribute('title'),\n target: dom.getAttribute('target'),\n };\n },\n },\n ],\n toDOM(node): DOMOutputSpec {\n const { href, title, target } = node.attrs;\n return ['a', { href, title, target }, 0];\n },\n};\n\n// :: MarkSpec An emphasis mark. Rendered as an `` element.\n// Has parse rules that also match `` and `font-style: italic`.\nconst em: MarkSpec = {\n parseDOM: [\n { tag: 'i' },\n { tag: 'em' },\n { style: 'font-style=italic' },\n ],\n toDOM(): DOMOutputSpec {\n return ['em', 0];\n },\n};\n\n// :: MarkSpec A strong mark. Rendered as ``, parse rules\n// also match `` and `font-weight: bold`.\nconst strong: MarkSpec = {\n parseDOM: [\n { tag: 'strong' },\n // This works around a Google Docs misbehavior where\n // pasted content will be inexplicably wrapped in ``\n // tags with a font-weight normal.\n {\n tag: 'b',\n getAttrs: (dom: HTMLElement): Record => {\n return dom.style.fontWeight !== 'normal' && null;\n },\n },\n {\n style: 'font-weight',\n getAttrs: (value: string): Record => {\n return (/^(?:bold(?:er)?|[5-9]\\d{2,})$/).test(value) && null;\n },\n },\n ],\n toDOM(): DOMOutputSpec {\n return ['strong', 0];\n },\n};\n\n// :: MarkSpec Code font mark. Represented as a `` element.\nconst code: MarkSpec = {\n parseDOM: [\n { tag: 'code' },\n ],\n toDOM(): DOMOutputSpec {\n return ['code', 0];\n },\n};\n\n// :: MarkSpec An underline mark. Rendered as an `` element.\n// Has parse rules that also match `text-decoration: underline`.\nconst u: MarkSpec = {\n parseDOM: [\n { tag: 'u' },\n {\n style: 'text-decoration=underline',\n consuming: false,\n },\n ],\n toDOM(): DOMOutputSpec {\n return ['u', 0];\n },\n};\n\n// :: MarkSpec An underline mark. Rendered as an `` element.\n// Has parse rules that also match `strike`, `del` tag and css property `text-decoration: line-through`.\nconst s: MarkSpec = {\n parseDOM: [\n { tag: 's' },\n { tag: 'strike' },\n { style: 'text-decoration=line-through' },\n ],\n toDOM(): DOMOutputSpec {\n return ['s', 0];\n },\n};\n\nconst textColor: MarkSpec = {\n attrs: {\n color: {\n default: null,\n },\n },\n parseDOM: [\n {\n style: 'color',\n getAttrs: (value: string): Record => {\n return { color: value };\n },\n },\n ],\n toDOM(mark: Mark): DOMOutputSpec {\n const { color } = mark.attrs;\n return ['span', { style: `color:${color};` }, 0];\n },\n};\n\nconst textBackgroundColor: MarkSpec = {\n attrs: {\n backgroundColor: {\n default: null,\n },\n },\n parseDOM: [\n {\n style: 'background-color',\n getAttrs: (value: string): Record => {\n return { backgroundColor: value };\n },\n },\n ],\n toDOM(mark: Mark): DOMOutputSpec {\n const { backgroundColor } = mark.attrs;\n return ['span', { style: `background-color:${backgroundColor};` }, 0];\n },\n};\n\nconst marks = {\n link,\n em,\n strong,\n code,\n u,\n s,\n text_color: textColor,\n text_background_color: textBackgroundColor,\n};\n\nexport default marks;\n","import { DOMOutputSpec, Node as ProseMirrorNode, NodeSpec } from 'prosemirror-model';\nimport * as sl from 'prosemirror-schema-list';\n\nimport { toStyleString } from 'ngx-editor/utils';\n\nconst doc: NodeSpec = {\n content: 'block+',\n};\n\n// :: NodeSpec The text node.\nconst text: NodeSpec = {\n group: 'inline',\n};\n\n// :: NodeSpec A plain paragraph textblock. Represented in the DOM\n// as a `

` element.\nconst paragraph: NodeSpec = {\n content: 'inline*',\n group: 'block',\n attrs: {\n align: {\n default: null,\n },\n },\n parseDOM: [\n {\n tag: 'p',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n align,\n };\n },\n },\n ],\n toDOM(node): DOMOutputSpec {\n const { align } = node.attrs;\n\n const styles: Partial = {\n textAlign: align !== 'left' ? align : null,\n };\n const style = toStyleString(styles) || null;\n\n return ['p', { style }, 0];\n },\n};\n\n// :: NodeSpec A blockquote (`

`) wrapping one or more blocks.\nconst blockquote: NodeSpec = {\n content: 'block+',\n group: 'block',\n defining: true,\n parseDOM: [{ tag: 'blockquote' }],\n toDOM(): DOMOutputSpec {\n return ['blockquote', 0];\n },\n};\n\n// :: NodeSpec A horizontal rule (`
`).\nconst horizontalRule: NodeSpec = {\n group: 'block',\n parseDOM: [{ tag: 'hr' }],\n toDOM(): DOMOutputSpec {\n return ['hr'];\n },\n};\n\n// :: NodeSpec A heading textblock, with a `level` attribute that\n// should hold the number 1 to 6. Parsed and serialized as `

` to\n// `

` elements.\nconst heading: NodeSpec = {\n attrs: {\n level: {\n default: 1,\n },\n align: {\n default: null,\n },\n },\n content: 'inline*',\n group: 'block',\n defining: true,\n parseDOM: [\n {\n tag: 'h1',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n level: 1,\n align,\n };\n },\n },\n {\n tag: 'h2',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n level: 2,\n align,\n };\n },\n },\n {\n tag: 'h3',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n level: 3,\n align,\n };\n },\n },\n {\n tag: 'h4',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n level: 4,\n align,\n };\n },\n },\n {\n tag: 'h5',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n level: 5,\n align,\n };\n },\n },\n {\n tag: 'h6',\n getAttrs(dom: HTMLElement): Record {\n const { textAlign } = dom.style;\n const align = dom.getAttribute('align') || textAlign || null;\n\n return {\n level: 6,\n align,\n };\n },\n },\n ],\n toDOM(node): DOMOutputSpec {\n const { level, align } = node.attrs;\n\n const styles: Partial = {\n textAlign: align !== 'left' ? align : null,\n };\n const style = toStyleString(styles) || null;\n\n return [`h${level}`, { style }, 0];\n },\n};\n\n// :: NodeSpec A code listing. Disallows marks or non-text inline\n// nodes by default. Represented as a `
` element with a\n// `` element inside of it.\nconst codeBlock: NodeSpec = {\n  content: 'text*',\n  marks: '',\n  group: 'block',\n  code: true,\n  defining: true,\n  parseDOM: [\n    {\n      tag: 'pre',\n      preserveWhitespace: 'full',\n    },\n  ],\n  toDOM(): DOMOutputSpec {\n    return ['pre', ['code', 0]];\n  },\n};\n\n// :: NodeSpec A hard line break, represented in the DOM as `
`.\nconst hardBreak: NodeSpec = {\n inline: true,\n group: 'inline',\n selectable: false,\n parseDOM: [{ tag: 'br' }],\n toDOM(): DOMOutputSpec {\n return ['br'];\n },\n};\n\n// :: NodeSpec An inline image (``) node. Supports `src`,\n// `alt`, and `href` attributes. The latter two default to the empty\n// string.\nexport const image: NodeSpec = {\n inline: true,\n attrs: {\n src: {},\n alt: { default: null },\n title: { default: null },\n width: { default: null },\n },\n group: 'inline',\n draggable: true,\n parseDOM: [\n {\n tag: 'img[src]',\n getAttrs(dom: HTMLElement): Record {\n return {\n src: dom.getAttribute('src'),\n title: dom.getAttribute('title'),\n alt: dom.getAttribute('alt'),\n width: dom.getAttribute('width'),\n };\n },\n },\n ],\n toDOM(node: ProseMirrorNode): DOMOutputSpec {\n const { src, alt, title, width } = node.attrs;\n return ['img', { src, alt, title, width }];\n },\n};\n\nconst listItem = {\n ...sl.listItem,\n content: 'paragraph block*',\n};\n\nconst orderedList = {\n ...sl.orderedList,\n content: 'list_item+',\n group: 'block',\n};\n\nconst bulletList = {\n ...sl.bulletList,\n content: 'list_item+',\n group: 'block',\n};\n\nconst nodes = {\n doc,\n text,\n paragraph,\n blockquote,\n horizontal_rule: horizontalRule,\n heading,\n hard_break: hardBreak,\n code_block: codeBlock,\n image,\n list_item: listItem,\n ordered_list: orderedList,\n bullet_list: bulletList,\n};\n\nexport default nodes;\n","import { Schema } from 'prosemirror-model';\n\nimport marks from './marks';\nimport nodes from './nodes';\n\nconst schema = new Schema({\n marks,\n nodes,\n});\n\nexport default schema;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}