{"version":3,"file":"ngx-editor-schema.mjs","sources":["../../../projects/ngx-editor/schema/marks.ts","../../../projects/ngx-editor/schema/nodes.ts","../../../projects/ngx-editor/schema/index.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 `<a>`\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<string, any> {\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 `<em>` element.\n// Has parse rules that also match `<i>` 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 `<strong>`, parse rules\n// also match `<b>` 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 `<b>`\n    // tags with a font-weight normal.\n    {\n      tag: 'b',\n      getAttrs: (dom: HTMLElement): Record<string, any> => {\n        return dom.style.fontWeight !== 'normal' && null;\n      },\n    },\n    {\n      style: 'font-weight',\n      getAttrs: (value: string): Record<string, any> => {\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 `<code>` 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 `<u>` 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 `<s>` 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<string, any> => {\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<string, any> => {\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 `<p>` 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<string, any> {\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<CSSStyleDeclaration> = {\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 (`<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 (`<hr>`).\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 `<h1>` to\n// `<h6>` 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<string, any> {\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<string, any> {\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<string, any> {\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<string, any> {\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<string, any> {\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<string, any> {\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<CSSStyleDeclaration> = {\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 `<pre>` element with a\n// `<code>` 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 `<br>`.\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 (`<img>`) 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<string, any> {\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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"}