sanity-plugin-latex-input 2.0.6 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Sanity.io
3
+ Copyright (c) 2026 Sanity.io
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  # LaTeX input for Sanity
2
2
 
3
- > This is a **Sanity Studio v3** plugin.
4
3
  > For the v2 version, please refer to the [v2-branch](https://github.com/sanity-io/latex-input/tree/studio-v2).
5
4
 
6
5
  ## What is it?
package/lib/index.esm.js CHANGED
@@ -1 +1 @@
1
- import{defineType as e,definePlugin as t}from"sanity";import{jsx as o,Fragment as r}from"react/jsx-runtime";import{useState as n,useMemo as i}from"react";import a from"katex";import"katex/dist/katex.min.css";const m=e=>{const t=(null==e?void 0:e.body)||"",m="inline"===e.layout,[l,p]=n("");return i((()=>{p(a.renderToString(t,{displayMode:!m,throwOnError:!1}))}),[t,m]),o(r,{children:o(m?"span":"div",{dangerouslySetInnerHTML:{__html:l}})})},l=e({type:"object",name:"latex",components:{preview:m},fields:[{title:"LaTeX content",name:"body",type:"text"}],preview:{select:{body:"body"}}}),p=t({name:"latex-block-plugin",schema:{types:[l]}});export{m as LatexPreview,p as latexInput,l as latexSchema};//# sourceMappingURL=index.esm.js.map
1
+ import{defineType as e,definePlugin as t}from"sanity";import{jsx as o,Fragment as r}from"react/jsx-runtime";import{useState as n,useMemo as i}from"react";import a from"katex";import"katex/dist/katex.min.css";const m=e=>{const t=(null==e?void 0:e.body)||"",m="inline"===e.layout,[l,p]=n("");return i((()=>{p(a.renderToString(t,{displayMode:!m,throwOnError:!1}))}),[t,m]),o(r,{children:o(m?"span":"div",{dangerouslySetInnerHTML:{__html:l}})})},l=e({title:"Latex",type:"object",name:"latex",components:{preview:m},fields:[{title:"LaTeX content",name:"body",type:"text"}],preview:{select:{body:"body"}}}),p=t({name:"latex-block-plugin",schema:{types:[l]}});export{m as LatexPreview,p as latexInput,l as latexSchema};//# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/components/LatexPreview.tsx","../src/schema.ts","../src/plugin.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport KaTeX from 'katex';\nimport 'katex/dist/katex.min.css';\n\nexport interface LatexPreviewProps {\n body?: string;\n layout?: string;\n}\n\nexport const LatexPreview = (props: LatexPreviewProps) => {\n const latex = props?.body || '';\n const isInline = props.layout === 'inline';\n const [html, setHtml] = useState<string>('');\n const createHtml = () => {\n setHtml(\n KaTeX.renderToString(latex, {\n displayMode: !isInline,\n throwOnError: false,\n })\n );\n };\n\n useMemo(createHtml, [latex, isInline]);\n return (\n <>\n {isInline ? (\n // eslint-disable-next-line react/no-danger\n <span dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: html }} />\n )}\n </>\n );\n};\n","import { defineType, ObjectDefinition } from 'sanity';\nimport { LatexPreview } from './components/LatexPreview';\n\nconst latexTypeName = 'latex' as const;\n\n/**\n * @public\n */\nexport interface LatexDefinition\n extends Omit<ObjectDefinition, 'type' | 'fields'> {\n type: typeof latexTypeName;\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'latex' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n latex: LatexDefinition;\n }\n}\n\nexport const latexSchema = defineType({\n type: 'object',\n name: 'latex',\n components: { preview: LatexPreview },\n fields: [\n {\n title: 'LaTeX content',\n name: 'body',\n type: 'text',\n },\n ],\n preview: {\n select: {\n body: 'body',\n },\n },\n});\n","import { definePlugin } from 'sanity';\nimport { latexSchema } from './schema';\n\nexport const latexInput = definePlugin({\n name: 'latex-block-plugin',\n schema: {\n types: [latexSchema],\n },\n});\n"],"names":["defineType","definePlugin","jsx","Fragment","useState","useMemo","KaTeX","LatexPreview","props","latex","body","isInline","layout","html","setHtml","createHtml","renderToString","displayMode","throwOnError","children","dangerouslySetInnerHTML","__html","latexSchema","type","name","components","preview","fields","title","select","latexInput","schema","types"],"mappings":"qBASaA,kBAAAC,MAAA,uBAAAC,cAAAC,MAAA,uCAAAC,aAAAC,MAAA,eAAAC,MAAA,cAAA,2BAAA,MAAAC,EAAgBC,IACrB,MAAAC,SAAQD,WAAOE,OAAQ,GACvBC,EAA4B,WAAjBH,EAAMI,QAChBC,EAAMC,GAAWV,EAAiB,IAWzC,OADAC,GATmBU,KACjBD,EACER,EAAMU,eAAeP,EAAO,CAC1BQ,aAAcN,EACdO,cAAc,IAElB,GAGkB,CAACT,EAAOE,IAGvBT,EAAAC,EAAA,CAAAgB,WAAAR,EAEE,OAGA,MAHK,CAAAS,wBAAyB,CAAEC,OAAQR,MAK7C,ECZSS,EAActB,EAAW,CACpCuB,KAAM,SACNC,KAAM,QACNC,WAAY,CAAEC,QAASnB,GACvBoB,OAAQ,CACN,CACEC,MAAO,gBACPJ,KAAM,OACND,KAAM,SAGVG,QAAS,CACPG,OAAQ,CACNnB,KAAM,WC9BCoB,EAAa7B,EAAa,CACrCuB,KAAM,qBACNO,OAAQ,CACNC,MAAO,CAACV,aAEXf,kBAAAuB,gBAAAR"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/components/LatexPreview.tsx","../src/schema.ts","../src/plugin.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport KaTeX from 'katex';\nimport 'katex/dist/katex.min.css';\n\nexport interface LatexPreviewProps {\n body?: string;\n layout?: string;\n}\n\nexport const LatexPreview = (props: LatexPreviewProps) => {\n const latex = props?.body || '';\n const isInline = props.layout === 'inline';\n const [html, setHtml] = useState<string>('');\n const createHtml = () => {\n setHtml(\n KaTeX.renderToString(latex, {\n displayMode: !isInline,\n throwOnError: false,\n })\n );\n };\n\n useMemo(createHtml, [latex, isInline]);\n return (\n <>\n {isInline ? (\n // eslint-disable-next-line react/no-danger\n <span dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: html }} />\n )}\n </>\n );\n};\n","import { defineType, ObjectDefinition } from 'sanity';\nimport { LatexPreview } from './components/LatexPreview';\n\nconst latexTypeName = 'latex' as const;\n\n/**\n * @public\n */\nexport interface LatexDefinition\n extends Omit<ObjectDefinition, 'type' | 'fields'> {\n type: typeof latexTypeName;\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'latex' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n latex: LatexDefinition;\n }\n}\n\nexport const latexSchema = defineType({\n title: 'Latex',\n type: 'object',\n name: 'latex',\n components: { preview: LatexPreview },\n fields: [\n {\n title: 'LaTeX content',\n name: 'body',\n type: 'text',\n },\n ],\n preview: {\n select: {\n body: 'body',\n },\n },\n});\n","import { definePlugin } from 'sanity';\nimport { latexSchema } from './schema';\n\nexport const latexInput = definePlugin({\n name: 'latex-block-plugin',\n schema: {\n types: [latexSchema],\n },\n});\n"],"names":["defineType","definePlugin","jsx","Fragment","useState","useMemo","KaTeX","LatexPreview","props","latex","body","isInline","layout","html","setHtml","createHtml","renderToString","displayMode","throwOnError","children","dangerouslySetInnerHTML","__html","latexSchema","title","type","name","components","preview","fields","select","latexInput","schema","types"],"mappings":"qBASaA,kBAAAC,MAAA,uBAAAC,cAAAC,MAAA,uCAAAC,aAAAC,MAAA,eAAAC,MAAA,cAAA,2BAAA,MAAAC,EAAgBC,IACrB,MAAAC,SAAQD,WAAOE,OAAQ,GACvBC,EAA4B,WAAjBH,EAAMI,QAChBC,EAAMC,GAAWV,EAAiB,IAWzC,OADAC,GATmBU,KACjBD,EACER,EAAMU,eAAeP,EAAO,CAC1BQ,aAAcN,EACdO,cAAc,IAElB,GAGkB,CAACT,EAAOE,IAGvBT,EAAAC,EAAA,CAAAgB,WAAAR,EAEE,OAGA,MAHK,CAAAS,wBAAyB,CAAEC,OAAQR,MAK7C,ECZSS,EAActB,EAAW,CACpCuB,MAAO,QACPC,KAAM,SACNC,KAAM,QACNC,WAAY,CAAEC,QAASpB,GACvBqB,OAAQ,CACN,CACEL,MAAO,gBACPE,KAAM,OACND,KAAM,SAGVG,QAAS,CACPE,OAAQ,CACNnB,KAAM,WC/BCoB,EAAa7B,EAAa,CACrCwB,KAAM,qBACNM,OAAQ,CACNC,MAAO,CAACV,aAEXf,kBAAAuB,gBAAAR"}
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("sanity"),t=require("react/jsx-runtime"),r=require("react"),n=require("katex");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("katex/dist/katex.min.css");var i=a(n);const o=e=>{const n=(null==e?void 0:e.body)||"",a="inline"===e.layout,[o,s]=r.useState("");return r.useMemo((()=>{s(i.default.renderToString(n,{displayMode:!a,throwOnError:!1}))}),[n,a]),t.jsx(t.Fragment,{children:a?t.jsx("span",{dangerouslySetInnerHTML:{__html:o}}):t.jsx("div",{dangerouslySetInnerHTML:{__html:o}})})},s=e.defineType({type:"object",name:"latex",components:{preview:o},fields:[{title:"LaTeX content",name:"body",type:"text"}],preview:{select:{body:"body"}}}),l=e.definePlugin({name:"latex-block-plugin",schema:{types:[s]}});exports.LatexPreview=o,exports.latexInput=l,exports.latexSchema=s;//# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("sanity"),t=require("react/jsx-runtime"),r=require("react"),n=require("katex");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("katex/dist/katex.min.css");var i=a(n);const o=e=>{const n=(null==e?void 0:e.body)||"",a="inline"===e.layout,[o,s]=r.useState("");return r.useMemo((()=>{s(i.default.renderToString(n,{displayMode:!a,throwOnError:!1}))}),[n,a]),t.jsx(t.Fragment,{children:a?t.jsx("span",{dangerouslySetInnerHTML:{__html:o}}):t.jsx("div",{dangerouslySetInnerHTML:{__html:o}})})},s=e.defineType({title:"Latex",type:"object",name:"latex",components:{preview:o},fields:[{title:"LaTeX content",name:"body",type:"text"}],preview:{select:{body:"body"}}}),l=e.definePlugin({name:"latex-block-plugin",schema:{types:[s]}});exports.LatexPreview=o,exports.latexInput=l,exports.latexSchema=s;//# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/LatexPreview.tsx","../src/schema.ts","../src/plugin.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport KaTeX from 'katex';\nimport 'katex/dist/katex.min.css';\n\nexport interface LatexPreviewProps {\n body?: string;\n layout?: string;\n}\n\nexport const LatexPreview = (props: LatexPreviewProps) => {\n const latex = props?.body || '';\n const isInline = props.layout === 'inline';\n const [html, setHtml] = useState<string>('');\n const createHtml = () => {\n setHtml(\n KaTeX.renderToString(latex, {\n displayMode: !isInline,\n throwOnError: false,\n })\n );\n };\n\n useMemo(createHtml, [latex, isInline]);\n return (\n <>\n {isInline ? (\n // eslint-disable-next-line react/no-danger\n <span dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: html }} />\n )}\n </>\n );\n};\n","import { defineType, ObjectDefinition } from 'sanity';\nimport { LatexPreview } from './components/LatexPreview';\n\nconst latexTypeName = 'latex' as const;\n\n/**\n * @public\n */\nexport interface LatexDefinition\n extends Omit<ObjectDefinition, 'type' | 'fields'> {\n type: typeof latexTypeName;\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'latex' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n latex: LatexDefinition;\n }\n}\n\nexport const latexSchema = defineType({\n type: 'object',\n name: 'latex',\n components: { preview: LatexPreview },\n fields: [\n {\n title: 'LaTeX content',\n name: 'body',\n type: 'text',\n },\n ],\n preview: {\n select: {\n body: 'body',\n },\n },\n});\n","import { definePlugin } from 'sanity';\nimport { latexSchema } from './schema';\n\nexport const latexInput = definePlugin({\n name: 'latex-block-plugin',\n schema: {\n types: [latexSchema],\n },\n});\n"],"names":["Object","defineProperty","exports","value","sanity","require","jsxRuntime","react","KaTeX","_interopDefaultCompat","e","default","KaTeX__default","LatexPreview","props","latex","body","isInline","layout","html","setHtml","useState","useMemo","createHtml","renderToString","displayMode","throwOnError","jsx","Fragment","children","dangerouslySetInnerHTML","__html","latexSchema","defineType","type","name","components","preview","fields","title","select","latexInput","definePlugin","schema","types"],"mappings":"AASa,aAAAA,OAAAC,eAAAC,QAAA,aAAA,CAAAC,OAAA,IAAA,IAAAC,EAAAC,QAAA,UAAAC,EAAAD,QAAA,qBAAAE,EAAAF,QAAA,SAAAG,EAAAH,QAAA,SAAA,SAAAI,EAAAC,GAAA,OAAAA,GAAA,iBAAAA,GAAA,YAAAA,EAAAA,EAAA,CAAAC,QAAAD,EAAA,CAAAL,QAAA,4BAAA,IAAAO,EAAAH,EAAAD,GAAA,MAAAK,EAAgBC,IACrB,MAAAC,SAAQD,WAAOE,OAAQ,GACvBC,EAA4B,WAAjBH,EAAMI,QAChBC,EAAMC,GAAWC,WAAiB,IAWzC,OADAC,EAAAA,SATmBC,KACjBH,EACEZ,EAAAG,QAAMa,eAAeT,EAAO,CAC1BU,aAAcR,EACdS,cAAc,IAElB,GAGkB,CAACX,EAAOE,IAGvBU,MAAAC,EAAAA,SAAA,CAAAC,SAAAZ,QAEE,OAAK,CAAAa,wBAAyB,CAAEC,OAAQZ,WAGxC,MAAI,CAAAW,wBAAyB,CAAEC,OAAQZ,MAE5C,ECZSa,EAAcC,EAAAA,WAAW,CACpCC,KAAM,SACNC,KAAM,QACNC,WAAY,CAAEC,QAASxB,GACvByB,OAAQ,CACN,CACEC,MAAO,gBACPJ,KAAM,OACND,KAAM,SAGVG,QAAS,CACPG,OAAQ,CACNxB,KAAM,WC9BCyB,EAAaC,eAAa,CACrCP,KAAM,qBACNQ,OAAQ,CACNC,MAAO,CAACZ,MAEX9B,QAAAW,aAAAA,EAAAX,QAAAuC,WAAAA,EAAAvC,QAAA8B,YAAAA"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/LatexPreview.tsx","../src/schema.ts","../src/plugin.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport KaTeX from 'katex';\nimport 'katex/dist/katex.min.css';\n\nexport interface LatexPreviewProps {\n body?: string;\n layout?: string;\n}\n\nexport const LatexPreview = (props: LatexPreviewProps) => {\n const latex = props?.body || '';\n const isInline = props.layout === 'inline';\n const [html, setHtml] = useState<string>('');\n const createHtml = () => {\n setHtml(\n KaTeX.renderToString(latex, {\n displayMode: !isInline,\n throwOnError: false,\n })\n );\n };\n\n useMemo(createHtml, [latex, isInline]);\n return (\n <>\n {isInline ? (\n // eslint-disable-next-line react/no-danger\n <span dangerouslySetInnerHTML={{ __html: html }} />\n ) : (\n // eslint-disable-next-line react/no-danger\n <div dangerouslySetInnerHTML={{ __html: html }} />\n )}\n </>\n );\n};\n","import { defineType, ObjectDefinition } from 'sanity';\nimport { LatexPreview } from './components/LatexPreview';\n\nconst latexTypeName = 'latex' as const;\n\n/**\n * @public\n */\nexport interface LatexDefinition\n extends Omit<ObjectDefinition, 'type' | 'fields'> {\n type: typeof latexTypeName;\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'latex' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n latex: LatexDefinition;\n }\n}\n\nexport const latexSchema = defineType({\n title: 'Latex',\n type: 'object',\n name: 'latex',\n components: { preview: LatexPreview },\n fields: [\n {\n title: 'LaTeX content',\n name: 'body',\n type: 'text',\n },\n ],\n preview: {\n select: {\n body: 'body',\n },\n },\n});\n","import { definePlugin } from 'sanity';\nimport { latexSchema } from './schema';\n\nexport const latexInput = definePlugin({\n name: 'latex-block-plugin',\n schema: {\n types: [latexSchema],\n },\n});\n"],"names":["Object","defineProperty","exports","value","sanity","require","jsxRuntime","react","KaTeX","_interopDefaultCompat","e","default","KaTeX__default","LatexPreview","props","latex","body","isInline","layout","html","setHtml","useState","useMemo","createHtml","renderToString","displayMode","throwOnError","jsx","Fragment","children","dangerouslySetInnerHTML","__html","latexSchema","defineType","title","type","name","components","preview","fields","select","latexInput","definePlugin","schema","types"],"mappings":"AASa,aAAAA,OAAAC,eAAAC,QAAA,aAAA,CAAAC,OAAA,IAAA,IAAAC,EAAAC,QAAA,UAAAC,EAAAD,QAAA,qBAAAE,EAAAF,QAAA,SAAAG,EAAAH,QAAA,SAAA,SAAAI,EAAAC,GAAA,OAAAA,GAAA,iBAAAA,GAAA,YAAAA,EAAAA,EAAA,CAAAC,QAAAD,EAAA,CAAAL,QAAA,4BAAA,IAAAO,EAAAH,EAAAD,GAAA,MAAAK,EAAgBC,IACrB,MAAAC,SAAQD,WAAOE,OAAQ,GACvBC,EAA4B,WAAjBH,EAAMI,QAChBC,EAAMC,GAAWC,WAAiB,IAWzC,OADAC,EAAAA,SATmBC,KACjBH,EACEZ,EAAAG,QAAMa,eAAeT,EAAO,CAC1BU,aAAcR,EACdS,cAAc,IAElB,GAGkB,CAACX,EAAOE,IAGvBU,MAAAC,EAAAA,SAAA,CAAAC,SAAAZ,QAEE,OAAK,CAAAa,wBAAyB,CAAEC,OAAQZ,WAGxC,MAAI,CAAAW,wBAAyB,CAAEC,OAAQZ,MAE5C,ECZSa,EAAcC,EAAAA,WAAW,CACpCC,MAAO,QACPC,KAAM,SACNC,KAAM,QACNC,WAAY,CAAEC,QAASzB,GACvB0B,OAAQ,CACN,CACEL,MAAO,gBACPE,KAAM,OACND,KAAM,SAGVG,QAAS,CACPE,OAAQ,CACNxB,KAAM,WC/BCyB,EAAaC,eAAa,CACrCN,KAAM,qBACNO,OAAQ,CACNC,MAAO,CAACZ,MAEX9B,QAAAW,aAAAA,EAAAX,QAAAuC,WAAAA,EAAAvC,QAAA8B,YAAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sanity-plugin-latex-input",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "description": "Latex input for Portable Text Editor in Sanity Studio V3.",
5
5
  "keywords": [
6
6
  "sanity",
@@ -90,9 +90,9 @@
90
90
  "typescript": "^4.8.4"
91
91
  },
92
92
  "peerDependencies": {
93
- "react": "^18",
94
- "react-dom": "^18",
95
- "sanity": "^3.0.0 || ^4.0.0-0"
93
+ "react": "^18 || ^19.2",
94
+ "react-dom": "^18 || ^19.2",
95
+ "sanity": "^3.0.0 || ^4.0.0-0 || ^5.0.0"
96
96
  },
97
97
  "engines": {
98
98
  "node": ">=14"
package/src/schema.ts CHANGED
@@ -19,6 +19,7 @@ declare module '@sanity/types' {
19
19
  }
20
20
 
21
21
  export const latexSchema = defineType({
22
+ title: 'Latex',
22
23
  type: 'object',
23
24
  name: 'latex',
24
25
  components: { preview: LatexPreview },