| import Embed from '../blots/embed'; | 
| import Quill from '../core/quill'; | 
| import Module from '../core/module'; | 
|   | 
|   | 
| class FormulaBlot extends Embed { | 
|   static create(value) { | 
|     let node = super.create(value); | 
|     if (typeof value === 'string') { | 
|       window.katex.render(value, node, { | 
|         throwOnError: false, | 
|         errorColor: '#f00' | 
|       }); | 
|       node.setAttribute('data-value', value); | 
|     } | 
|     return node; | 
|   } | 
|   | 
|   static value(domNode) { | 
|     return domNode.getAttribute('data-value'); | 
|   } | 
| } | 
| FormulaBlot.blotName = 'formula'; | 
| FormulaBlot.className = 'ql-formula'; | 
| FormulaBlot.tagName = 'SPAN'; | 
|   | 
|   | 
| class Formula extends Module { | 
|   static register() { | 
|     Quill.register(FormulaBlot, true); | 
|   } | 
|   | 
|   constructor() { | 
|     super(); | 
|     if (window.katex == null) { | 
|       throw new Error('Formula module requires KaTeX.'); | 
|     } | 
|   } | 
| } | 
|   | 
|   | 
| export { FormulaBlot, Formula as default }; |