@me1a/ui 2.6.2 → 2.6.4

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.
@@ -29,8 +29,12 @@ interface MarkdownEditorProps {
29
29
  * whether to focus the editor on mount
30
30
  */
31
31
  autoFocus?: boolean;
32
+ /**
33
+ * whether to immediately render the editor
34
+ */
35
+ immediatelyRender?: boolean;
32
36
  }
33
37
 
34
- declare function MarkdownEditor({ value, onChange, className, placeholder, disabled, onKeyDown, autoFocus }: MarkdownEditorProps): react_jsx_runtime.JSX.Element | null;
38
+ declare function MarkdownEditor({ value, onChange, className, placeholder, disabled, onKeyDown, autoFocus, immediatelyRender }: MarkdownEditorProps): react_jsx_runtime.JSX.Element | null;
35
39
 
36
40
  export { MarkdownEditor, type MarkdownEditorProps };
@@ -1,2 +1,2 @@
1
- import{useEditor as x,EditorContent as b}from"@tiptap/react";import k from"@tiptap/extension-placeholder";import{useEffect as s}from"react";import{clsx as c}from"clsx";import{twMerge as u}from"tailwind-merge";function t(...r){return u(c(r))}import g from"@tiptap/starter-kit";import{Markdown as w}from"tiptap-markdown";var i=[g.configure({heading:{levels:[1,2,3]}}),w];import{jsx as h}from"react/jsx-runtime";function z({value:r,onChange:d,className:a,placeholder:f,disabled:e,onKeyDown:m,autoFocus:p}){let o=x({extensions:[...i,k.configure({placeholder:f??"Write something..."})],content:r,editable:!e,autofocus:p,onUpdate:({editor:n})=>{d?.(n.storage.markdown.getMarkdown())},editorProps:{attributes:{class:t("prose prose-sm dark:prose-invert max-w-none w-full min-h-[60px] rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a)},handleKeyDown:(n,l)=>(m?.(l),!1)}});return s(()=>{o&&r!==void 0&&r!==o.storage.markdown.getMarkdown()&&o.commands.setContent(r)},[r,o]),s(()=>{o?.setEditable(!e)},[o,e]),o?h(b,{editor:o}):null}export{z as MarkdownEditor};
1
+ import{useEditor as g,EditorContent as w}from"@tiptap/react";import b from"@tiptap/extension-placeholder";import x from"@tiptap/starter-kit";import{Markdown as k}from"tiptap-markdown";import{useEffect as i}from"react";import{clsx as u}from"clsx";import{twMerge as c}from"tailwind-merge";function t(...r){return c(u(r))}import{jsx as y}from"react/jsx-runtime";function U({value:r,onChange:s,className:d,placeholder:a,disabled:e,onKeyDown:f,autoFocus:m,immediatelyRender:p}){let o=g({extensions:[x,k,b.configure({placeholder:a??"Write something..."})],content:r,editable:!e,autofocus:m,immediatelyRender:p||!1,onUpdate:({editor:n})=>{s?.(n.storage.markdown.getMarkdown())},editorProps:{attributes:{class:t("prose prose-sm dark:prose-invert max-w-none w-full min-h-[60px] rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",d)},handleKeyDown:(n,l)=>(f?.(l),!1)}});return i(()=>{o&&r!==void 0&&r!==o.storage.markdown.getMarkdown()&&o.commands.setContent(r)},[r,o]),i(()=>{o?.setEditable(!e)},[o,e]),o?y(w,{editor:o}):null}export{U as MarkdownEditor};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/molecules/markdown-editor/markdown-editor.tsx","../../src/utils/cn.ts","../../src/components/molecules/markdown-editor/extensions.ts"],"sourcesContent":["import { useEditor, EditorContent } from \"@tiptap/react\"\nimport Placeholder from \"@tiptap/extension-placeholder\"\nimport { useEffect } from \"react\"\nimport { cn } from \"@/utils\"\nimport { MarkdownEditorProps } from \"./markdown-editor.types\"\nimport { extensions } from \"./extensions\"\n\nexport function MarkdownEditor({\n value,\n onChange,\n className,\n placeholder,\n disabled,\n onKeyDown,\n autoFocus\n}: MarkdownEditorProps) {\n const editor = useEditor({\n extensions: [\n ...extensions,\n Placeholder.configure({\n placeholder: placeholder ?? \"Write something...\"\n })\n ],\n content: value,\n editable: !disabled,\n autofocus: autoFocus,\n onUpdate: ({ editor: e }) => {\n onChange?.((e.storage as any).markdown.getMarkdown())\n },\n editorProps: {\n attributes: {\n class: cn(\n \"prose prose-sm dark:prose-invert max-w-none w-full min-h-[60px] rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )\n },\n handleKeyDown: (view, event) => {\n onKeyDown?.(event)\n return false\n }\n }\n })\n\n // Sync value changes from outside\n useEffect(() => {\n if (editor && value !== undefined && value !== (editor.storage as any).markdown.getMarkdown()) {\n editor.commands.setContent(value)\n }\n }, [value, editor])\n\n useEffect(() => {\n editor?.setEditable(!disabled)\n }, [editor, disabled])\n\n if (!editor) {\n return null\n }\n\n return <EditorContent editor={editor} />\n}\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import StarterKit from \"@tiptap/starter-kit\"\nimport { Markdown } from \"tiptap-markdown\"\n\nexport const extensions = [\n StarterKit.configure({\n heading: {\n levels: [1, 2, 3]\n }\n }),\n Markdown\n]\n"],"mappings":"AAAA,OAAS,aAAAA,EAAW,iBAAAC,MAAqB,gBACzC,OAAOC,MAAiB,gCACxB,OAAS,aAAAC,MAAiB,QCF1B,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CCLA,OAAOC,MAAgB,sBACvB,OAAS,YAAAC,MAAgB,kBAElB,IAAMC,EAAa,CACxBF,EAAW,UAAU,CACnB,QAAS,CACP,OAAQ,CAAC,EAAG,EAAG,CAAC,CAClB,CACF,CAAC,EACDC,CACF,EFgDS,cAAAE,MAAA,oBAnDF,SAASC,EAAe,CAC7B,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,CACF,EAAwB,CACtB,IAAMC,EAASC,EAAU,CACvB,WAAY,CACV,GAAGC,EACHC,EAAY,UAAU,CACpB,YAAaP,GAAe,oBAC9B,CAAC,CACH,EACA,QAASH,EACT,SAAU,CAACI,EACX,UAAWE,EACX,SAAU,CAAC,CAAE,OAAQK,CAAE,IAAM,CAC3BV,IAAYU,EAAE,QAAgB,SAAS,YAAY,CAAC,CACtD,EACA,YAAa,CACX,WAAY,CACV,MAAOC,EACL,+UACAV,CACF,CACF,EACA,cAAe,CAACW,EAAMC,KACpBT,IAAYS,CAAK,EACV,GAEX,CACF,CAAC,EAaD,OAVAC,EAAU,IAAM,CACVR,GAAUP,IAAU,QAAaA,IAAWO,EAAO,QAAgB,SAAS,YAAY,GAC1FA,EAAO,SAAS,WAAWP,CAAK,CAEpC,EAAG,CAACA,EAAOO,CAAM,CAAC,EAElBQ,EAAU,IAAM,CACdR,GAAQ,YAAY,CAACH,CAAQ,CAC/B,EAAG,CAACG,EAAQH,CAAQ,CAAC,EAEhBG,EAIET,EAACkB,EAAA,CAAc,OAAQT,EAAQ,EAH7B,IAIX","names":["useEditor","EditorContent","Placeholder","useEffect","clsx","twMerge","cn","inputs","StarterKit","Markdown","extensions","jsx","MarkdownEditor","value","onChange","className","placeholder","disabled","onKeyDown","autoFocus","editor","useEditor","extensions","Placeholder","e","cn","view","event","useEffect","EditorContent"]}
1
+ {"version":3,"sources":["../../src/components/molecules/markdown-editor/markdown-editor.tsx","../../src/utils/cn.ts"],"sourcesContent":["import { useEditor, EditorContent } from \"@tiptap/react\"\nimport Placeholder from \"@tiptap/extension-placeholder\"\nimport StarterKit from \"@tiptap/starter-kit\"\nimport { Markdown } from \"tiptap-markdown\"\nimport { useEffect } from \"react\"\nimport { cn } from \"@/utils\"\nimport { MarkdownEditorProps } from \"./markdown-editor.types\"\n\nexport function MarkdownEditor({\n value,\n onChange,\n className,\n placeholder,\n disabled,\n onKeyDown,\n autoFocus,\n immediatelyRender\n}: MarkdownEditorProps) {\n const editor = useEditor({\n extensions: [\n StarterKit,\n Markdown,\n Placeholder.configure({\n placeholder: placeholder ?? \"Write something...\"\n })\n ],\n content: value,\n editable: !disabled,\n autofocus: autoFocus,\n immediatelyRender: immediatelyRender || false,\n onUpdate: ({ editor: e }) => {\n onChange?.((e.storage as any).markdown.getMarkdown())\n },\n editorProps: {\n attributes: {\n class: cn(\n \"prose prose-sm dark:prose-invert max-w-none w-full min-h-[60px] rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )\n },\n handleKeyDown: (view, event) => {\n onKeyDown?.(event)\n return false\n }\n }\n })\n\n // Sync value changes from outside\n useEffect(() => {\n if (editor && value !== undefined && value !== (editor.storage as any).markdown.getMarkdown()) {\n editor.commands.setContent(value)\n }\n }, [value, editor])\n\n useEffect(() => {\n editor?.setEditable(!disabled)\n }, [editor, disabled])\n\n if (!editor) {\n return null\n }\n\n return <EditorContent editor={editor} />\n}\n","import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"mappings":"AAAA,OAAS,aAAAA,EAAW,iBAAAC,MAAqB,gBACzC,OAAOC,MAAiB,gCACxB,OAAOC,MAAgB,sBACvB,OAAS,YAAAC,MAAgB,kBACzB,OAAS,aAAAC,MAAiB,QCJ1B,OAA0B,QAAAC,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B,CDyDS,cAAAC,MAAA,oBAtDF,SAASC,EAAe,CAC7B,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,kBAAAC,CACF,EAAwB,CACtB,IAAMC,EAASC,EAAU,CACvB,WAAY,CACVC,EACAC,EACAC,EAAY,UAAU,CACpB,YAAaT,GAAe,oBAC9B,CAAC,CACH,EACA,QAASH,EACT,SAAU,CAACI,EACX,UAAWE,EACX,kBAAmBC,GAAqB,GACxC,SAAU,CAAC,CAAE,OAAQM,CAAE,IAAM,CAC3BZ,IAAYY,EAAE,QAAgB,SAAS,YAAY,CAAC,CACtD,EACA,YAAa,CACX,WAAY,CACV,MAAOC,EACL,+UACAZ,CACF,CACF,EACA,cAAe,CAACa,EAAMC,KACpBX,IAAYW,CAAK,EACV,GAEX,CACF,CAAC,EAaD,OAVAC,EAAU,IAAM,CACVT,GAAUR,IAAU,QAAaA,IAAWQ,EAAO,QAAgB,SAAS,YAAY,GAC1FA,EAAO,SAAS,WAAWR,CAAK,CAEpC,EAAG,CAACA,EAAOQ,CAAM,CAAC,EAElBS,EAAU,IAAM,CACdT,GAAQ,YAAY,CAACJ,CAAQ,CAC/B,EAAG,CAACI,EAAQJ,CAAQ,CAAC,EAEhBI,EAIEV,EAACoB,EAAA,CAAc,OAAQV,EAAQ,EAH7B,IAIX","names":["useEditor","EditorContent","Placeholder","StarterKit","Markdown","useEffect","clsx","twMerge","cn","inputs","jsx","MarkdownEditor","value","onChange","className","placeholder","disabled","onKeyDown","autoFocus","immediatelyRender","editor","useEditor","StarterKit","Markdown","Placeholder","e","cn","view","event","useEffect","EditorContent"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@me1a/ui",
3
- "version": "2.6.2",
3
+ "version": "2.6.4",
4
4
  "private": false,
5
5
  "main": "./dist/index.mjs",
6
6
  "module": "./dist/index.mjs",
@@ -320,7 +320,9 @@
320
320
  "@radix-ui/react-tooltip": "^1.2.6",
321
321
  "@tailwindcss/typography": "^0.5.19",
322
322
  "@tanstack/react-table": "^8.21.3",
323
+ "@tiptap/core": "^3.19.0",
323
324
  "@tiptap/extension-placeholder": "^3.19.0",
325
+ "@tiptap/pm": "^3.19.0",
324
326
  "@tiptap/react": "^3.19.0",
325
327
  "@tiptap/starter-kit": "^3.19.0",
326
328
  "class-variance-authority": "^0.7.1",