@next-bricks/markdown 1.1.0 → 1.2.0
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/dist/bricks.json +8 -3
- package/dist/chunks/295.35002895.js +2 -0
- package/dist/chunks/295.35002895.js.map +1 -0
- package/dist/chunks/369.304c9da8.js +3 -0
- package/dist/chunks/369.304c9da8.js.map +1 -0
- package/dist/chunks/eo-markdown-editor.556a4964.js +2 -0
- package/dist/chunks/eo-markdown-editor.556a4964.js.map +1 -0
- package/dist/chunks/{main.219e48cb.js → main.344fb737.js} +2 -2
- package/dist/chunks/{main.219e48cb.js.map → main.344fb737.js.map} +1 -1
- package/dist/index.0758ecd9.js +2 -0
- package/dist/index.0758ecd9.js.map +1 -0
- package/dist/manifest.json +4 -1
- package/dist/types.json +1 -1
- package/docs/markdown-editor.md +1 -1
- package/package.json +3 -3
- package/dist/chunks/295.fdc1d202.js +0 -2
- package/dist/chunks/295.fdc1d202.js.map +0 -1
- package/dist/chunks/644.cbcf978b.js +0 -3
- package/dist/chunks/644.cbcf978b.js.map +0 -1
- package/dist/chunks/markdown-editor.a69ba614.js +0 -2
- package/dist/chunks/markdown-editor.a69ba614.js.map +0 -1
- package/dist/index.d439dd0c.js +0 -2
- package/dist/index.d439dd0c.js.map +0 -1
- /package/dist/chunks/{644.cbcf978b.js.LICENSE.txt → 369.304c9da8.js.LICENSE.txt} +0 -0
package/dist/bricks.json
CHANGED
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
"bricks": [
|
|
4
4
|
"markdown.markdown-editor"
|
|
5
5
|
],
|
|
6
|
-
"elements": [
|
|
6
|
+
"elements": [
|
|
7
|
+
"eo-markdown-editor"
|
|
8
|
+
],
|
|
7
9
|
"processors": [],
|
|
8
10
|
"dependencies": {
|
|
11
|
+
"eo-markdown-editor": [
|
|
12
|
+
"eo-icon"
|
|
13
|
+
],
|
|
9
14
|
"markdown.markdown-editor": [
|
|
10
|
-
"
|
|
15
|
+
"eo-icon"
|
|
11
16
|
]
|
|
12
17
|
},
|
|
13
|
-
"filePath": "bricks/markdown/dist/index.
|
|
18
|
+
"filePath": "bricks/markdown/dist/index.0758ecd9.js"
|
|
14
19
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_markdown=self.webpackChunk_next_bricks_markdown||[]).push([[295],{7295:(e,t,n)=>{n.r(t);var a,i,o,l,r,c,u,s,m,d,h,k,p,v,b,w,g=n(3028),f=n(4795),Z=n(6234),E=n(3395),y=n(381),C=n(687),N=n(5303),M=n(7896),_=n(8657),j=n.n(_),x=n(72),W=n(8787),I=(n(5254),n(4534)),U=n(8858),V=n(4611),D=n(3991),Q=n(8652),O=n(790),S=n(4426),A=n(948),B=n(4547),F=n(6226),G=n(6784),P=n(3011),T=(0,W.wrapBrick)("eo-icon"),q=e=>{var{icon:t,onClick:n,tooltip:a}=e;return j().createElement("div",{className:"menu-btn-box",onMouseDown:e=>{null==n||n(),e.preventDefault()}},j().createElement(T,(0,M.Z)({style:{verticalAlign:"middle"}},t)),a&&j().createElement("div",{className:"menuIconTooltip"},a))},{defineElement:z,property:J,event:K}=(0,x.createDecorators)();i=z("eo-markdown-editor",{styleTexts:[I.Z],alias:["markdown.markdown-editor"]}),o=J(),r=J(),u=K({type:"image.upload"}),h=K({type:"markdown.value.change"});var L=new WeakMap,R=new WeakMap,X=new WeakMap,Y=new WeakMap,$=new WeakMap,H=new WeakMap;class ee extends W.ReactNextElement{constructor(){super(...arguments),(0,E.Z)(this,H,{get:ie,set:ae}),(0,E.Z)(this,Y,{get:ne,set:te}),(0,E.Z)(this,L,{writable:!0,value:(b(this),l(this))}),(0,E.Z)(this,R,{writable:!0,value:c(this)}),(0,E.Z)(this,X,{writable:!0,value:s(this)}),(0,Z.Z)(this,"handleUploadImage",(e=>{(0,C.Z)(this,Y).emit(e)})),(0,E.Z)(this,$,{writable:!0,value:k(this)}),(0,Z.Z)(this,"handleMarkdownValueChange",(e=>{(0,C.Z)(this,H).emit(e)}))}get value(){return(0,C.Z)(this,L)}set value(e){(0,y.Z)(this,L,e)}get bucketName(){return(0,C.Z)(this,R)}set bucketName(e){(0,y.Z)(this,R,e)}render(){return j().createElement(V.iz,null,j().createElement(oe,{curElement:this,bucketName:this.bucketName,value:this.value,onUploadImage:this.handleUploadImage,onMarkdownValueChange:this.handleMarkdownValueChange}))}}function te(e){d(this,e)}function ne(){return m(this)}function ae(e){v(this,e)}function ie(){return p(this)}function oe(e){var{bucketName:t,value:n,onUploadImage:a,onMarkdownValueChange:i}=e,o=function(){var n=(0,f.Z)((function*(n,i){for(var o=[],l=[],r=0;r<n.length;r++){var c=n.item(r);c&&c.type.includes("image")&&o.push(c)}try{l=yield Promise.all(o.map(function(){var n=(0,f.Z)((function*(n){var o,l=yield(0,F.Q)(t,{file:n,width:1280,height:800}),r=(o=null==l?void 0:l.objectName,"/next/api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/".concat(e.bucketName,"/object/").concat(o)),c=n.name;return a&&a({name:c,src:r}),i.nodes.image.createAndFill({src:r,alt:c})}));return function(e){return n.apply(this,arguments)}}()))}catch(e){}return l}));return function(e,t){return n.apply(this,arguments)}}(),{get:l}=(0,V.jE)((e=>U.ML.make().config((a=>{a.set(U.KP,e),n&&a.set(U.Dn,n),a.get(B.QC).markdownUpdated(((e,t,n)=>{i&&i(t)})),t&&a.update(S.mS.key,(e=>(0,g.Z)((0,g.Z)({},e),{},{uploader:o})))})).config(Q.Q).use(B.X3).use(D.iO).use(O.m8).use(G.r0).use(P.WY).use(S.ws)),[]);function r(e,t){var n;return null===(n=l())||void 0===n?void 0:n.action((0,A.lB)(e,t))}return j().createElement("div",{className:"markdown-container"},j().createElement("div",{className:"menu-container-outter"},j().createElement("div",{className:"menu-container-inner prose"},j().createElement(q,{icon:{lib:"antd",icon:"undo"},onClick:()=>r(O.N7.key),tooltip:"撤销"}),j().createElement(q,{icon:{lib:"antd",icon:"redo"},onClick:()=>r(O.Ow.key),tooltip:"重做"}),j().createElement(q,{icon:{lib:"antd",icon:"bold"},onClick:()=>r(D.gG.key),tooltip:"粗体"}),j().createElement(q,{icon:{lib:"antd",icon:"italic"},onClick:()=>r(D.QF.key),tooltip:"斜体"}),j().createElement(q,{icon:{lib:"antd",icon:"strikethrough"},onClick:()=>r(G.S2.key),tooltip:"删除线"}),j().createElement(q,{icon:{lib:"antd",icon:"table"},onClick:()=>r(G.Jp.key),tooltip:"表格"}),j().createElement(q,{icon:{lib:"antd",icon:"unordered-list"},onClick:()=>r(D.$m.key),tooltip:"无序列表"}),j().createElement(q,{icon:{lib:"antd",icon:"ordered-list"},onClick:()=>r(D.vd.key),tooltip:"有序列表"}),j().createElement(q,{icon:{lib:"fa",icon:"quote-right"},onClick:()=>r(D.vs.key),tooltip:"块引用"}))),j().createElement("div",{className:"editor-container"},j().createElement(V.Nl,null)))}({e:[l,c,s,m,d,k,p,v,b],c:[w,a]}=(0,N.Z)(ee,[[o,1,"value"],[r,1,"bucketName"],[u,1,"uploadImage",function(){return(0,C.Z)(this,X)},function(e){(0,y.Z)(this,X,e)}],[h,1,"markdownValueChange",function(){return(0,C.Z)(this,$)},function(e){(0,y.Z)(this,$,e)}]],[i])),a()}}]);
|
|
2
|
+
//# sourceMappingURL=295.35002895.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/295.35002895.js","mappings":"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","sources":["webpack:///./src/markdown-editor/index.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { CmdKey } from \"@milkdown/core\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./markdown-editor.shadow.css\";\nimport { defaultValueCtx, Editor, rootCtx } from \"@milkdown/core\";\nimport { Milkdown, MilkdownProvider, useEditor } from \"@milkdown/react\";\nimport {\n commonmark,\n toggleStrongCommand,\n toggleEmphasisCommand,\n wrapInBulletListCommand,\n wrapInOrderedListCommand,\n wrapInBlockquoteCommand,\n} from \"@milkdown/preset-commonmark\";\nimport { nord } from \"@milkdown/theme-nord\";\nimport { history, redoCommand, undoCommand } from \"@milkdown/plugin-history\";\nimport { upload, uploadConfig, Uploader } from \"@milkdown/plugin-upload\";\nimport { callCommand } from \"@milkdown/utils\";\nimport type { Node } from \"@milkdown/prose/model\";\nimport { listener, listenerCtx } from \"@milkdown/plugin-listener\";\nimport { ObjectStoreApi_putObject } from \"@next-api-sdk/object-store-sdk\";\nimport {\n gfm,\n toggleStrikethroughCommand,\n insertTableCommand,\n} from \"@milkdown/preset-gfm\";\nimport { indent } from \"@milkdown/plugin-indent\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst Button: FC<{\n icon: GeneralIconProps;\n onClick?: () => void;\n tooltip?: string;\n}> = ({ icon, onClick, tooltip }) => {\n return (\n <div\n className=\"menu-btn-box\"\n onMouseDown={(e) => {\n onClick?.();\n e.preventDefault();\n }}\n >\n <WrappedIcon style={{ verticalAlign: \"middle\" }} {...icon} />\n {tooltip && <div className=\"menuIconTooltip\">{tooltip}</div>}\n </div>\n );\n};\n\nexport interface MarkdownEditorProps {\n curElement: HTMLElement;\n value?: string;\n bucketName?: string;\n onUploadImage?: (value: ImageInfo) => void;\n onMarkdownValueChange?: (value: string) => void;\n}\n\nexport interface ImageInfo {\n name: string;\n src: string;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n@defineElement(\"eo-markdown-editor\", {\n styleTexts: [styleText],\n alias: [\"markdown.markdown-editor\"],\n})\n\n/**\n * markdown编辑器\n * @docKind brick\n * @author kehua\n * @noInheritDoc\n */\nclass MarkdownEditor extends ReactNextElement {\n /**\n * 初始值\n * @group basic\n */\n @property() accessor value: string | undefined;\n\n /**\n * 对象存储桶名字,请在业务编排的时候与后台同学商量创建,一般一个业务需求对应一个存储桶名称。如不传则默认以base64格式转换图片\n * @group advanced\n */\n @property() accessor bucketName: string | undefined;\n\n /**\n * 上传图片时触发的事件\n * @detail\n */\n @event({ type: \"image.upload\" })\n accessor #uploadImage!: EventEmitter<ImageInfo>;\n\n private handleUploadImage = (value: ImageInfo): void => {\n this.#uploadImage.emit(value);\n };\n\n /**\n * 编辑markdown触发的变化事件\n * @detail\n */\n @event({ type: \"markdown.value.change\" })\n accessor #markdownValueChange!: EventEmitter<string>;\n\n private handleMarkdownValueChange = (value: string): void => {\n this.#markdownValueChange.emit(value);\n };\n\n render() {\n return (\n <MilkdownProvider>\n <MarkdownEditorComponent\n curElement={this}\n bucketName={this.bucketName}\n value={this.value}\n onUploadImage={this.handleUploadImage}\n onMarkdownValueChange={this.handleMarkdownValueChange}\n />\n </MilkdownProvider>\n );\n }\n}\n\nexport { MarkdownEditor };\n\nexport function MarkdownEditorComponent(props: MarkdownEditorProps) {\n const { bucketName, value, onUploadImage, onMarkdownValueChange } = props;\n\n const transformResponseToUrl = (objectName: string): string => {\n return `/next/api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/${props.bucketName}/object/${objectName}`;\n };\n\n const uploader: Uploader = async (files: FileList, schema: any) => {\n const images: File[] = [];\n let nodes: Node[] = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files.item(i);\n\n if (!file) {\n continue;\n }\n\n // Only handle image\n if (!file.type.includes(\"image\")) {\n continue;\n }\n\n images.push(file);\n }\n\n // upload file\n try {\n nodes = await Promise.all(\n images.map(async (image) => {\n const response: any = await ObjectStoreApi_putObject(\n bucketName as string,\n {\n file: image,\n width: 1280,\n height: 800,\n }\n );\n const src = transformResponseToUrl(response?.objectName as string);\n const alt = image.name;\n onUploadImage && onUploadImage({ name: alt, src });\n return schema.nodes.image.createAndFill({\n src,\n alt,\n }) as Node;\n })\n );\n } catch (err) {\n // do nothing\n }\n\n return nodes;\n };\n\n const { get } = useEditor((root: any) => {\n return Editor.make()\n .config((ctx: any) => {\n // 配置root\n ctx.set(rootCtx, root);\n // 配置默认值\n value && ctx.set(defaultValueCtx, value);\n // 配置事件监听\n ctx\n .get(listenerCtx)\n .markdownUpdated(\n (ctx: any, markdown: string, prevMarkdown: string) => {\n onMarkdownValueChange && onMarkdownValueChange(markdown);\n }\n );\n // 配置文件上传,不传bucketName则默认把图片转为base64格式\n bucketName &&\n ctx.update(uploadConfig.key, (prev: any) => ({\n ...prev,\n uploader,\n }));\n })\n .config(nord)\n .use(listener)\n .use(commonmark)\n .use(history)\n .use(gfm)\n .use(indent)\n .use(upload);\n }, []);\n\n function call<T>(command: CmdKey<T>, payload?: T) {\n return get()?.action(callCommand(command, payload));\n }\n\n return (\n <div className=\"markdown-container\">\n <div className=\"menu-container-outter\">\n <div className=\"menu-container-inner prose\">\n <Button\n icon={{ lib: \"antd\", icon: \"undo\" }}\n onClick={() => call(undoCommand.key)}\n tooltip=\"撤销\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"redo\" }}\n onClick={() => call(redoCommand.key)}\n tooltip=\"重做\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"bold\" }}\n onClick={() => call(toggleStrongCommand.key)}\n tooltip=\"粗体\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"italic\" }}\n onClick={() => call(toggleEmphasisCommand.key)}\n tooltip=\"斜体\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"strikethrough\" }}\n onClick={() => call(toggleStrikethroughCommand.key)}\n tooltip=\"删除线\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"table\" }}\n onClick={() => call(insertTableCommand.key)}\n tooltip=\"表格\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"unordered-list\" }}\n onClick={() => call(wrapInBulletListCommand.key)}\n tooltip=\"无序列表\"\n />\n <Button\n icon={{ lib: \"antd\", icon: \"ordered-list\" }}\n onClick={() => call(wrapInOrderedListCommand.key)}\n tooltip=\"有序列表\"\n />\n <Button\n icon={{ lib: \"fa\", icon: \"quote-right\" }}\n onClick={() => call(wrapInBlockquoteCommand.key)}\n tooltip=\"块引用\"\n />\n </div>\n </div>\n <div className=\"editor-container\">\n <Milkdown />\n </div>\n </div>\n );\n}\n"],"names":["_MarkdownEditor","WrappedIcon","wrapBrick","Button","_ref","icon","onClick","tooltip","React","className","onMouseDown","e","preventDefault","_extends","style","verticalAlign","defineElement","property","event","createDecorators","_dec","styleTexts","styleText","alias","_dec2","_dec3","_dec4","type","_dec5","_A","WeakMap","_B","_C","_uploadImage","_D","_markdownValueChange","MarkdownEditor","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_markdownValueChange2","set","_set_markdownValueChange2","_get_uploadImage2","_set_uploadImage2","writable","value","_initProto","_init_value","_init_bucketName","_init_uploadImage","_defineProperty","_classPrivateFieldGet","this","emit","_init_markdownValueChange","v","_classPrivateFieldSet","bucketName","render","MilkdownProvider","MarkdownEditorComponent","curElement","onUploadImage","handleUploadImage","onMarkdownValueChange","handleMarkdownValueChange","_set_uploadImage","_get_uploadImage","_set_markdownValueChange","_get_markdownValueChange","props","uploader","_ref2","_asyncToGenerator","files","schema","images","nodes","i","length","file","item","includes","push","Promise","all","map","_ref3","image","objectName","response","ObjectStoreApi_putObject","width","height","src","concat","alt","name","createAndFill","_x3","apply","err","_x","_x2","useEditor","root","Editor","config","ctx","rootCtx","defaultValueCtx","listenerCtx","markdownUpdated","markdown","prevMarkdown","update","uploadConfig","prev","_objectSpread","nord","use","listener","commonmark","history","gfm","indent","upload","call","command","payload","_get","action","callCommand","lib","undoCommand","redoCommand","toggleStrongCommand","toggleEmphasisCommand","toggleStrikethroughCommand","insertTableCommand","wrapInBulletListCommand","wrapInOrderedListCommand","wrapInBlockquoteCommand","Milkdown","c","_initClass","_applyDecs2203R"],"sourceRoot":""}
|