@uiw/react-md-editor 3.9.0 → 3.9.1

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <p align="center">
2
2
  <a href="https://uiwjs.github.io/npm-unpkg/#/pkg/@uiw/react-md-editor/file/README.md">
3
- <img alt="react-md-editor logo" src="https://raw.githubusercontent.com/uiwjs/react-markdown-editor/4884f29f2aad59bf7f512184ba3726d76bbd7170/website/logo.svg?sanitize=true">
3
+ <img alt="react-md-editor logo" src="https://user-images.githubusercontent.com/1680273/146292033-0e5e57fc-6f3e-4032-9fa6-0de05f239e36.png">
4
4
  </a>
5
5
  </p>
6
6
 
@@ -54,7 +54,7 @@ export function ToolbarItems(props) {
54
54
 
55
55
  useEffect(() => {
56
56
  if (document) {
57
- document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';
57
+ document.body.style.overflow = !fullscreen ? '' : 'hidden';
58
58
  }
59
59
  }, [fullscreen]);
60
60
  return /*#__PURE__*/_jsx("ul", {
@@ -65,8 +65,8 @@
65
65
  "isChild",
66
66
  "extraCommands"
67
67
  ],
68
- "mappings": "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",
68
+ "mappings": ";AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,UAA1B,EAAsCC,SAAtC,QAAuD,OAAvD;AAEA,SAASC,aAAT,QAAyD,eAAzD;AAEA,OAAOC,KAAP,MAAkB,SAAlB;AACA;;;AASA,OAAO,SAASC,YAAT,CAAsBC,KAAtB,EAA4C;AACjD,MAAM;AAAEC,IAAAA;AAAF,MAAgBD,KAAtB;AACA,MAAM;AAAEE,IAAAA,UAAF;AAAcC,IAAAA,OAAd;AAAuBC,IAAAA,QAAQ,GAAG,EAAlC;AAAsCC,IAAAA,mBAAtC;AAA2DC,IAAAA;AAA3D,MAAwEX,UAAU,CAACE,aAAD,CAAxF;;AACA,WAASU,WAAT,CAAqBC,OAArB,EAAgDC,IAAhD,EAA+D;AAC7D,QAAI,CAACH,QAAL,EAAe;AACf,QAAMI,KAAmB,GAAG;AAAEN,MAAAA,QAAQ,eAAOA,QAAP;AAAV,KAA5B;;AACA,QAAII,OAAO,CAACG,UAAR,KAAuB,SAA3B,EAAsC;AACpCD,MAAAA,KAAK,CAACP,OAAN,GAAgBK,OAAO,CAACI,KAAxB;AACD;;AACD,QAAIJ,OAAO,CAACG,UAAR,KAAuB,YAA3B,EAAyC;AACvCD,MAAAA,KAAK,CAACR,UAAN,GAAmB,CAACA,UAApB;AACD;;AACD,QAAIF,KAAK,CAACa,QAAN,IAAkBL,OAAO,CAACG,UAAR,KAAuB,OAA7C,EAAsD;AACpDX,MAAAA,KAAK,CAACa,QAAN,CAAeC,OAAf,CAAwBC,IAAD,IAAU;AAC/B,YAAIN,IAAI,KAAKM,IAAI,CAACC,SAAlB,EAA6B;AAC3BN,UAAAA,KAAK,CAACN,QAAN,CAAgBK,IAAhB,IAAyB,IAAzB;AACD,SAFD,MAEO,IAAIM,IAAI,CAACJ,UAAT,EAAqB;AAC1BD,UAAAA,KAAK,CAACN,QAAN,CAAgBW,IAAI,CAACC,SAArB,IAAmC,KAAnC;AACD;AACF,OAND;AAOD,KARD,MAQO,IAAIP,IAAI,IAAID,OAAO,CAACS,MAApB,EAA4B;AACjCC,MAAAA,MAAM,CAACC,IAAP,CAAYT,KAAK,CAACN,QAAN,IAAkB,EAA9B,EAAkCU,OAAlC,CAA2CM,OAAD,IAAa;AACrDV,QAAAA,KAAK,CAACN,QAAN,CAAgBgB,OAAhB,IAA2B,KAA3B;AACD,OAFD;AAGD;;AAED,QAAIF,MAAM,CAACC,IAAP,CAAYT,KAAZ,EAAmBW,MAAvB,EAA+B;AAC7Bf,MAAAA,QAAQ,cAAMI,KAAN,EAAR;AACD;;AACDL,IAAAA,mBAAmB,IAAIA,mBAAmB,CAACiB,cAApB,CAAmCd,OAAnC,CAAvB;AACD;;AAEDZ,EAAAA,SAAS,CAAC,MAAM;AACd,QAAI2B,QAAJ,EAAc;AACZA,MAAAA,QAAQ,CAACC,IAAT,CAAcC,KAAd,CAAoBC,QAApB,GAA+B,CAACxB,UAAD,GAAc,EAAd,GAAmB,QAAlD;AACD;AACF,GAJQ,EAIN,CAACA,UAAD,CAJM,CAAT;AAMA,sBACE;AAAA,cACG,CAACF,KAAK,CAACa,QAAN,IAAkB,EAAnB,EAAuBc,GAAvB,CAA2B,CAACZ,IAAD,EAAOa,GAAP,KAAe;AACzC,UAAIb,IAAI,CAACJ,UAAL,KAAoB,SAAxB,EAAmC;AACjC,4BAAO,wBAAkBI,IAAI,CAACc,OAAvB;AAAgC,UAAA,SAAS,EAAK5B,SAAL;AAAzC,YAAS2B,GAAT,CAAP;AACD;;AACD,UAAI,CAACb,IAAI,CAACJ,UAAV,EAAsB,oBAAO,KAAC,QAAD,KAAP;AACtB,UAAMmB,SAAS,GACZ5B,UAAU,IAAIa,IAAI,CAACJ,UAAL,KAAoB,YAAnC,IAAqDI,IAAI,CAACJ,UAAL,KAAoB,SAApB,IAAiCR,OAAO,KAAKY,IAAI,CAACH,KADzG;AAEA,UAAMmB,SAAS,GACbhB,IAAI,CAACiB,QAAL,IAAiB,OAAOjB,IAAI,CAACiB,QAAZ,KAAyB,UAA1C,GACIjB,IAAI,CAACiB,QAAL,CAAc;AACZC,QAAAA,QAAQ,EAAE,MAAM5B,mBAAmB,CAAE4B,QAArB,EADJ;AAEZC,QAAAA,OAAO,EAAE7B,mBAAmB,GAAGA,mBAAmB,CAAE6B,OAAxB,GAAkCC,SAFlD;AAGZC,QAAAA,KAAK,EAAE,MAAM7B,WAAW,CAAC,EAAD,EAAKQ,IAAI,CAACC,SAAV,CAHZ;AAIZqB,QAAAA,OAAO,EAAE,MAAM9B,WAAW,CAAC;AAAE8B,UAAAA,OAAO,EAAEtB,IAAI,CAACsB;AAAhB,SAAD;AAJd,OAAd,CADJ,GAOIF,SARN;AASA,UAAMG,QAAQ,GAAGlC,QAAQ,IAAID,OAAZ,IAAuBA,OAAO,KAAK,SAAnC,IAAgD,CAAC,uBAAuBoC,IAAvB,CAA4BxB,IAAI,CAACJ,UAAjC,CAAlE;AACA,0BACE,yBAAkBI,IAAI,CAACc,OAAvB;AAAgC,QAAA,SAAS,EAAEC,SAAS,cAAc,EAAlE;AAAA,mBACG,CAACf,IAAI,CAACyB,WAAN,IAAqBzB,IAAI,CAAC0B,IAD7B,EAEG1B,IAAI,CAACyB,WAAL,iBACC/C,KAAK,CAACiD,aAAN,CACE,QADF;AAGIC,UAAAA,IAAI,EAAE,QAHV;AAIIL,UAAAA,QAJJ;AAKI,uBAAavB,IAAI,CAACN;AALtB,WAMOM,IAAI,CAACyB,WANZ;AAOII,UAAAA,OAAO,EAAGC,GAAD,IAA0D;AACjEA,YAAAA,GAAG,CAACC,eAAJ;AACAvC,YAAAA,WAAW,CAACQ,IAAD,EAAOA,IAAI,CAACC,SAAZ,CAAX;AACD;AAVL,YAYED,IAAI,CAAC0B,IAZP,CAHJ,EAiBG1B,IAAI,CAACiB,QAAL,iBACC,KAAC,KAAD;AACE,UAAA,SAAS,EAAEjB,IAAI,CAACC,SADlB;AAEE,UAAA,SAAS,EAAEf,SAFb;AAGE,UAAA,QAAQ,EAAE8B,SAHZ;AAIE,UAAA,QAAQ,EAAEgB,KAAK,CAACC,OAAN,CAAcjC,IAAI,CAACiB,QAAnB,IAA+BjB,IAAI,CAACiB,QAApC,GAA+CG;AAJ3D,UAlBJ;AAAA,UAASP,GAAT,CADF;AA4BD,KA7CA;AADH,IADF;AAkDD;AAED,eAAe,SAASqB,OAAT,CAAiBjD,KAAjB,EAA4C;AAAA,MAA3BA,KAA2B;AAA3BA,IAAAA,KAA2B,GAAJ,EAAI;AAAA;;AACzD,MAAM;AAAEC,IAAAA,SAAF;AAAaiD,IAAAA,MAAM,GAAG,EAAtB;AAA0BC,IAAAA;AAA1B,MAAsCnD,KAA5C;AACA,MAAM;AAAEa,IAAAA,QAAF;AAAYuC,IAAAA;AAAZ,MAA8BzD,UAAU,CAACE,aAAD,CAA9C;AACA,sBACE;AAAK,IAAA,SAAS,EAAKI,SAAL,aAAd;AAAwC,IAAA,KAAK,EAAE;AAAEiD,MAAAA;AAAF,KAA/C;AAAA,4BACE,KAAC,YAAD,eAAkBlD,KAAlB;AAAyB,MAAA,QAAQ,EAAEA,KAAK,CAACa,QAAN,IAAkBA,QAAlB,IAA8B;AAAjE,OADF,EAEG,CAACsC,OAAD,iBAAY,KAAC,YAAD,eAAkBnD,KAAlB;AAAyB,MAAA,QAAQ,EAAEoD,aAAa,IAAI;AAApD,OAFf;AAAA,IADF;AAMD",
69
69
  "sourcesContent": [
70
- "import React, { Fragment, useContext, useEffect } from 'react';\nimport { IProps } from '../../Editor';\nimport { EditorContext, PreviewType, ContextStore } from '../../Context';\nimport { ICommand } from '../../commands';\nimport Child from './Child';\nimport './index.less';\n\nexport interface IToolbarProps extends IProps {\n height?: React.CSSProperties['height'];\n onCommand?: (command: ICommand<string>, groupName?: string) => void;\n commands?: ICommand<string>[];\n isChild?: boolean;\n}\n\nexport function ToolbarItems(props: IToolbarProps) {\n const { prefixCls } = props;\n const { fullscreen, preview, barPopup = {}, commandOrchestrator, dispatch } = useContext(EditorContext);\n function handleClick(command: ICommand<string>, name?: string) {\n if (!dispatch) return;\n const state: ContextStore = { barPopup: { ...barPopup } };\n if (command.keyCommand === 'preview') {\n state.preview = command.value as PreviewType;\n }\n if (command.keyCommand === 'fullscreen') {\n state.fullscreen = !fullscreen;\n }\n if (props.commands && command.keyCommand === 'group') {\n props.commands.forEach((item) => {\n if (name === item.groupName) {\n state.barPopup![name!] = true;\n } else if (item.keyCommand) {\n state.barPopup![item.groupName!] = false;\n }\n });\n } else if (name || command.parent) {\n Object.keys(state.barPopup || {}).forEach((keyName) => {\n state.barPopup![keyName] = false;\n });\n }\n\n if (Object.keys(state).length) {\n dispatch({ ...state });\n }\n commandOrchestrator && commandOrchestrator.executeCommand(command);\n }\n\n useEffect(() => {\n if (document) {\n document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';\n }\n }, [fullscreen]);\n\n return (\n <ul>\n {(props.commands || []).map((item, idx) => {\n if (item.keyCommand === 'divider') {\n return <li key={idx} {...item.liProps} className={`${prefixCls}-toolbar-divider`} />;\n }\n if (!item.keyCommand) return <Fragment />;\n const activeBtn =\n (fullscreen && item.keyCommand === 'fullscreen') || (item.keyCommand === 'preview' && preview === item.value);\n const childNode =\n item.children && typeof item.children === 'function'\n ? item.children({\n getState: () => commandOrchestrator!.getState(),\n textApi: commandOrchestrator ? commandOrchestrator!.textApi : undefined,\n close: () => handleClick({}, item.groupName),\n execute: () => handleClick({ execute: item.execute }),\n })\n : undefined;\n const disabled = barPopup && preview && preview === 'preview' && !/(preview|fullscreen)/.test(item.keyCommand);\n return (\n <li key={idx} {...item.liProps} className={activeBtn ? `active` : ''}>\n {!item.buttonProps && item.icon}\n {item.buttonProps &&\n React.createElement(\n 'button',\n {\n type: 'button',\n disabled,\n 'data-name': item.name,\n ...item.buttonProps,\n onClick: (evn: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n evn.stopPropagation();\n handleClick(item, item.groupName);\n },\n },\n item.icon,\n )}\n {item.children && (\n <Child\n groupName={item.groupName}\n prefixCls={prefixCls}\n children={childNode}\n commands={Array.isArray(item.children) ? item.children : undefined}\n />\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport default function Toolbar(props: IToolbarProps = {}) {\n const { prefixCls, height = 29, isChild } = props;\n const { commands, extraCommands } = useContext(EditorContext);\n return (\n <div className={`${prefixCls}-toolbar`} style={{ height }}>\n <ToolbarItems {...props} commands={props.commands || commands || []} />\n {!isChild && <ToolbarItems {...props} commands={extraCommands || []} />}\n </div>\n );\n}\n"
70
+ "import React, { Fragment, useContext, useEffect } from 'react';\nimport { IProps } from '../../Editor';\nimport { EditorContext, PreviewType, ContextStore } from '../../Context';\nimport { ICommand } from '../../commands';\nimport Child from './Child';\nimport './index.less';\n\nexport interface IToolbarProps extends IProps {\n height?: React.CSSProperties['height'];\n onCommand?: (command: ICommand<string>, groupName?: string) => void;\n commands?: ICommand<string>[];\n isChild?: boolean;\n}\n\nexport function ToolbarItems(props: IToolbarProps) {\n const { prefixCls } = props;\n const { fullscreen, preview, barPopup = {}, commandOrchestrator, dispatch } = useContext(EditorContext);\n function handleClick(command: ICommand<string>, name?: string) {\n if (!dispatch) return;\n const state: ContextStore = { barPopup: { ...barPopup } };\n if (command.keyCommand === 'preview') {\n state.preview = command.value as PreviewType;\n }\n if (command.keyCommand === 'fullscreen') {\n state.fullscreen = !fullscreen;\n }\n if (props.commands && command.keyCommand === 'group') {\n props.commands.forEach((item) => {\n if (name === item.groupName) {\n state.barPopup![name!] = true;\n } else if (item.keyCommand) {\n state.barPopup![item.groupName!] = false;\n }\n });\n } else if (name || command.parent) {\n Object.keys(state.barPopup || {}).forEach((keyName) => {\n state.barPopup![keyName] = false;\n });\n }\n\n if (Object.keys(state).length) {\n dispatch({ ...state });\n }\n commandOrchestrator && commandOrchestrator.executeCommand(command);\n }\n\n useEffect(() => {\n if (document) {\n document.body.style.overflow = !fullscreen ? '' : 'hidden';\n }\n }, [fullscreen]);\n\n return (\n <ul>\n {(props.commands || []).map((item, idx) => {\n if (item.keyCommand === 'divider') {\n return <li key={idx} {...item.liProps} className={`${prefixCls}-toolbar-divider`} />;\n }\n if (!item.keyCommand) return <Fragment />;\n const activeBtn =\n (fullscreen && item.keyCommand === 'fullscreen') || (item.keyCommand === 'preview' && preview === item.value);\n const childNode =\n item.children && typeof item.children === 'function'\n ? item.children({\n getState: () => commandOrchestrator!.getState(),\n textApi: commandOrchestrator ? commandOrchestrator!.textApi : undefined,\n close: () => handleClick({}, item.groupName),\n execute: () => handleClick({ execute: item.execute }),\n })\n : undefined;\n const disabled = barPopup && preview && preview === 'preview' && !/(preview|fullscreen)/.test(item.keyCommand);\n return (\n <li key={idx} {...item.liProps} className={activeBtn ? `active` : ''}>\n {!item.buttonProps && item.icon}\n {item.buttonProps &&\n React.createElement(\n 'button',\n {\n type: 'button',\n disabled,\n 'data-name': item.name,\n ...item.buttonProps,\n onClick: (evn: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n evn.stopPropagation();\n handleClick(item, item.groupName);\n },\n },\n item.icon,\n )}\n {item.children && (\n <Child\n groupName={item.groupName}\n prefixCls={prefixCls}\n children={childNode}\n commands={Array.isArray(item.children) ? item.children : undefined}\n />\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport default function Toolbar(props: IToolbarProps = {}) {\n const { prefixCls, height = 29, isChild } = props;\n const { commands, extraCommands } = useContext(EditorContext);\n return (\n <div className={`${prefixCls}-toolbar`} style={{ height }}>\n <ToolbarItems {...props} commands={props.commands || commands || []} />\n {!isChild && <ToolbarItems {...props} commands={extraCommands || []} />}\n </div>\n );\n}\n"
71
71
  ]
72
72
  }
package/esm/index.css CHANGED
@@ -53,7 +53,7 @@
53
53
  .w-md-editor-fullscreen {
54
54
  overflow: hidden;
55
55
  position: fixed;
56
- z-index: 9999;
56
+ z-index: 99999;
57
57
  top: 0;
58
58
  left: 0;
59
59
  right: 0;
package/esm/index.less CHANGED
@@ -54,7 +54,7 @@
54
54
  &-fullscreen {
55
55
  overflow: hidden;
56
56
  position: fixed;
57
- z-index: 9999;
57
+ z-index: 99999;
58
58
  top: 0;
59
59
  left: 0;
60
60
  right: 0;
@@ -68,7 +68,7 @@ function ToolbarItems(props) {
68
68
 
69
69
  (0, _react.useEffect)(function () {
70
70
  if (document) {
71
- document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';
71
+ document.body.style.overflow = !fullscreen ? '' : 'hidden';
72
72
  }
73
73
  }, [fullscreen]);
74
74
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
@@ -61,8 +61,8 @@
61
61
  "isChild",
62
62
  "extraCommands"
63
63
  ],
64
- "mappings": "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",
64
+ "mappings": "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",
65
65
  "sourcesContent": [
66
- "import React, { Fragment, useContext, useEffect } from 'react';\nimport { IProps } from '../../Editor';\nimport { EditorContext, PreviewType, ContextStore } from '../../Context';\nimport { ICommand } from '../../commands';\nimport Child from './Child';\nimport './index.less';\n\nexport interface IToolbarProps extends IProps {\n height?: React.CSSProperties['height'];\n onCommand?: (command: ICommand<string>, groupName?: string) => void;\n commands?: ICommand<string>[];\n isChild?: boolean;\n}\n\nexport function ToolbarItems(props: IToolbarProps) {\n const { prefixCls } = props;\n const { fullscreen, preview, barPopup = {}, commandOrchestrator, dispatch } = useContext(EditorContext);\n function handleClick(command: ICommand<string>, name?: string) {\n if (!dispatch) return;\n const state: ContextStore = { barPopup: { ...barPopup } };\n if (command.keyCommand === 'preview') {\n state.preview = command.value as PreviewType;\n }\n if (command.keyCommand === 'fullscreen') {\n state.fullscreen = !fullscreen;\n }\n if (props.commands && command.keyCommand === 'group') {\n props.commands.forEach((item) => {\n if (name === item.groupName) {\n state.barPopup![name!] = true;\n } else if (item.keyCommand) {\n state.barPopup![item.groupName!] = false;\n }\n });\n } else if (name || command.parent) {\n Object.keys(state.barPopup || {}).forEach((keyName) => {\n state.barPopup![keyName] = false;\n });\n }\n\n if (Object.keys(state).length) {\n dispatch({ ...state });\n }\n commandOrchestrator && commandOrchestrator.executeCommand(command);\n }\n\n useEffect(() => {\n if (document) {\n document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';\n }\n }, [fullscreen]);\n\n return (\n <ul>\n {(props.commands || []).map((item, idx) => {\n if (item.keyCommand === 'divider') {\n return <li key={idx} {...item.liProps} className={`${prefixCls}-toolbar-divider`} />;\n }\n if (!item.keyCommand) return <Fragment />;\n const activeBtn =\n (fullscreen && item.keyCommand === 'fullscreen') || (item.keyCommand === 'preview' && preview === item.value);\n const childNode =\n item.children && typeof item.children === 'function'\n ? item.children({\n getState: () => commandOrchestrator!.getState(),\n textApi: commandOrchestrator ? commandOrchestrator!.textApi : undefined,\n close: () => handleClick({}, item.groupName),\n execute: () => handleClick({ execute: item.execute }),\n })\n : undefined;\n const disabled = barPopup && preview && preview === 'preview' && !/(preview|fullscreen)/.test(item.keyCommand);\n return (\n <li key={idx} {...item.liProps} className={activeBtn ? `active` : ''}>\n {!item.buttonProps && item.icon}\n {item.buttonProps &&\n React.createElement(\n 'button',\n {\n type: 'button',\n disabled,\n 'data-name': item.name,\n ...item.buttonProps,\n onClick: (evn: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n evn.stopPropagation();\n handleClick(item, item.groupName);\n },\n },\n item.icon,\n )}\n {item.children && (\n <Child\n groupName={item.groupName}\n prefixCls={prefixCls}\n children={childNode}\n commands={Array.isArray(item.children) ? item.children : undefined}\n />\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport default function Toolbar(props: IToolbarProps = {}) {\n const { prefixCls, height = 29, isChild } = props;\n const { commands, extraCommands } = useContext(EditorContext);\n return (\n <div className={`${prefixCls}-toolbar`} style={{ height }}>\n <ToolbarItems {...props} commands={props.commands || commands || []} />\n {!isChild && <ToolbarItems {...props} commands={extraCommands || []} />}\n </div>\n );\n}\n"
66
+ "import React, { Fragment, useContext, useEffect } from 'react';\nimport { IProps } from '../../Editor';\nimport { EditorContext, PreviewType, ContextStore } from '../../Context';\nimport { ICommand } from '../../commands';\nimport Child from './Child';\nimport './index.less';\n\nexport interface IToolbarProps extends IProps {\n height?: React.CSSProperties['height'];\n onCommand?: (command: ICommand<string>, groupName?: string) => void;\n commands?: ICommand<string>[];\n isChild?: boolean;\n}\n\nexport function ToolbarItems(props: IToolbarProps) {\n const { prefixCls } = props;\n const { fullscreen, preview, barPopup = {}, commandOrchestrator, dispatch } = useContext(EditorContext);\n function handleClick(command: ICommand<string>, name?: string) {\n if (!dispatch) return;\n const state: ContextStore = { barPopup: { ...barPopup } };\n if (command.keyCommand === 'preview') {\n state.preview = command.value as PreviewType;\n }\n if (command.keyCommand === 'fullscreen') {\n state.fullscreen = !fullscreen;\n }\n if (props.commands && command.keyCommand === 'group') {\n props.commands.forEach((item) => {\n if (name === item.groupName) {\n state.barPopup![name!] = true;\n } else if (item.keyCommand) {\n state.barPopup![item.groupName!] = false;\n }\n });\n } else if (name || command.parent) {\n Object.keys(state.barPopup || {}).forEach((keyName) => {\n state.barPopup![keyName] = false;\n });\n }\n\n if (Object.keys(state).length) {\n dispatch({ ...state });\n }\n commandOrchestrator && commandOrchestrator.executeCommand(command);\n }\n\n useEffect(() => {\n if (document) {\n document.body.style.overflow = !fullscreen ? '' : 'hidden';\n }\n }, [fullscreen]);\n\n return (\n <ul>\n {(props.commands || []).map((item, idx) => {\n if (item.keyCommand === 'divider') {\n return <li key={idx} {...item.liProps} className={`${prefixCls}-toolbar-divider`} />;\n }\n if (!item.keyCommand) return <Fragment />;\n const activeBtn =\n (fullscreen && item.keyCommand === 'fullscreen') || (item.keyCommand === 'preview' && preview === item.value);\n const childNode =\n item.children && typeof item.children === 'function'\n ? item.children({\n getState: () => commandOrchestrator!.getState(),\n textApi: commandOrchestrator ? commandOrchestrator!.textApi : undefined,\n close: () => handleClick({}, item.groupName),\n execute: () => handleClick({ execute: item.execute }),\n })\n : undefined;\n const disabled = barPopup && preview && preview === 'preview' && !/(preview|fullscreen)/.test(item.keyCommand);\n return (\n <li key={idx} {...item.liProps} className={activeBtn ? `active` : ''}>\n {!item.buttonProps && item.icon}\n {item.buttonProps &&\n React.createElement(\n 'button',\n {\n type: 'button',\n disabled,\n 'data-name': item.name,\n ...item.buttonProps,\n onClick: (evn: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n evn.stopPropagation();\n handleClick(item, item.groupName);\n },\n },\n item.icon,\n )}\n {item.children && (\n <Child\n groupName={item.groupName}\n prefixCls={prefixCls}\n children={childNode}\n commands={Array.isArray(item.children) ? item.children : undefined}\n />\n )}\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport default function Toolbar(props: IToolbarProps = {}) {\n const { prefixCls, height = 29, isChild } = props;\n const { commands, extraCommands } = useContext(EditorContext);\n return (\n <div className={`${prefixCls}-toolbar`} style={{ height }}>\n <ToolbarItems {...props} commands={props.commands || commands || []} />\n {!isChild && <ToolbarItems {...props} commands={extraCommands || []} />}\n </div>\n );\n}\n"
67
67
  ]
68
68
  }
package/lib/index.less CHANGED
@@ -54,7 +54,7 @@
54
54
  &-fullscreen {
55
55
  overflow: hidden;
56
56
  position: fixed;
57
- z-index: 9999;
57
+ z-index: 99999;
58
58
  top: 0;
59
59
  left: 0;
60
60
  right: 0;
@@ -294,7 +294,7 @@
294
294
  .w-md-editor-fullscreen {
295
295
  overflow: hidden;
296
296
  position: fixed;
297
- z-index: 9999;
297
+ z-index: 99999;
298
298
  top: 0;
299
299
  left: 0;
300
300
  right: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uiw/react-md-editor",
3
- "version": "3.9.0",
3
+ "version": "3.9.1",
4
4
  "description": "A markdown editor with preview, implemented with React.js and TypeScript.",
5
5
  "homepage": "https://uiwjs.github.io/react-md-editor/",
6
6
  "author": "kenny wang <wowohoo@qq.com>",
@@ -46,7 +46,7 @@ export function ToolbarItems(props: IToolbarProps) {
46
46
 
47
47
  useEffect(() => {
48
48
  if (document) {
49
- document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';
49
+ document.body.style.overflow = !fullscreen ? '' : 'hidden';
50
50
  }
51
51
  }, [fullscreen]);
52
52
 
package/src/index.less CHANGED
@@ -54,7 +54,7 @@
54
54
  &-fullscreen {
55
55
  overflow: hidden;
56
56
  position: fixed;
57
- z-index: 9999;
57
+ z-index: 99999;
58
58
  top: 0;
59
59
  left: 0;
60
60
  right: 0;