d206772decd77b10335026762c519f7794cebe1ed59c6c1a2b3dcbc0b68c540224c0828aec30d14fbafd10cdfbfacf726c807fdf5fd4ab834e0df2fcac3d7d 826 B

123456789101112131415161718192021222324252627282930313233
  1. import Embed from '../blots/embed.js';
  2. class Formula extends Embed {
  3. static blotName = 'formula';
  4. static className = 'ql-formula';
  5. static tagName = 'SPAN';
  6. static create(value) {
  7. // @ts-expect-error
  8. if (window.katex == null) {
  9. throw new Error('Formula module requires KaTeX.');
  10. }
  11. const node = super.create(value);
  12. if (typeof value === 'string') {
  13. // @ts-expect-error
  14. window.katex.render(value, node, {
  15. throwOnError: false,
  16. errorColor: '#f00'
  17. });
  18. node.setAttribute('data-value', value);
  19. }
  20. return node;
  21. }
  22. static value(domNode) {
  23. return domNode.getAttribute('data-value');
  24. }
  25. html() {
  26. const {
  27. formula
  28. } = this.value();
  29. return `<span>${formula}</span>`;
  30. }
  31. }
  32. export default Formula;
  33. //# sourceMappingURL=formula.js.map